/* Final photography, layout and character layer. One owner for every hero transition. */
:root{--bg:#0d0e0c;--surface:#171815;--muted:#a3a59a;--line:#ffffff1c;--accent:#f1e539}
html{scroll-padding-top:90px}body{background:var(--bg);color:#eeeFE8;-webkit-font-smoothing:antialiased}
header{height:88px;background:#0d0e0ce8;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
header .logo{width:135px}header .logo .brand-logo{height:43px}.languages button{min-width:30px;min-height:36px}.header-book{padding:13px 18px;border-radius:3px}
.section-pad{padding:100px var(--pad)}.section-label{font-size:11px;letter-spacing:.11em;color:#b3b5a7}
.button,.submit{border-radius:3px;min-height:48px}.button{transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}
a,button{-webkit-tap-highlight-color:transparent}.cursor{display:none!important}
/* The hero is a contained, sticky stage. The canvas never changes size while scrolling. */
.hero-sequence{position:relative;background:var(--bg)}
.hero,.motion-ready .hero{position:sticky;top:0;height:100svh;min-height:620px;max-height:none;padding:120px var(--pad) 0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 72% 65%,#262719 0,transparent 56%),var(--bg)}
.hero:before,.hero-art,.hero-aura{display:none!important}
.hero-top,.motion-ready .hero-top{position:absolute;top:115px;left:var(--pad);right:var(--pad);opacity:var(--intro-opacity,1);z-index:5}
.hero-top .eyebrow{font-size:10px;letter-spacing:.08em}.hero-top .edition{color:#95978a}
.hero-title{position:absolute;left:var(--pad);top:26%;width:49%;padding:0;min-height:0;z-index:4;pointer-events:none}
.hero-signature,.motion-ready .hero-signature{width:100%;max-width:none;margin:0;opacity:var(--intro-opacity,1);transform:none;will-change:opacity}
.signature-drawing{width:100%;max-height:270px;filter:none;stroke-width:3.4}.signature-caption{width:84%;margin:14px 0 0 9%;font-size:8px;letter-spacing:.15em}
.hero-bottom,.motion-ready .hero-bottom{position:absolute;left:var(--pad);right:auto;bottom:22%;width:44%;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;opacity:var(--intro-opacity,1);z-index:5}
.hero-bottom p{font-size:14px;line-height:1.8;max-width:255px}.hero-bottom .round-link{font-size:9px;flex-shrink:0}.hero-bottom .round-link b{width:50px;height:50px;font-size:27px}.hero-bottom .scroll-link{display:none}
.hero-index,.motion-ready .hero-index{opacity:var(--intro-opacity,1);bottom:30px;font-size:9px;z-index:5}.hero-index>span{font-size:9px}
.hero-character{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;contain:layout paint}
.hero-character canvas{display:block;width:100%;height:100%;pointer-events:none}
.hero-character .figure-controls,.hero-character .figure-orbit{display:none}
#figure-status{position:absolute;right:15%;top:53%;color:var(--muted);font-size:12px;max-width:200px;text-align:center}
#figure-status[hidden]{display:none}
.character-type{position:absolute;left:53%;right:var(--pad);top:31%;z-index:4;opacity:var(--second-opacity,0);transform:translateY(var(--copy-rise,18px));pointer-events:none}
.character-type>span{display:block;font-size:clamp(38px,5.2vw,82px);font-weight:800;line-height:1.02;letter-spacing:-.055em;color:var(--accent)}
.character-type>span:nth-of-type(2){color:#f0f0e8}.character-type small{display:block;font-size:10px;line-height:1.8;letter-spacing:.15em;color:var(--muted);margin:0 0 24px}.character-type small:last-of-type{margin:26px 0 0;max-width:300px}
.scene-track{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:10px;opacity:var(--scene-fade,1)}
.scene-step{width:23px;height:3px;background:#ffffff27;border-radius:10px;transition:background .3s,width .3s}.scene-step.active{background:var(--accent);width:44px}
.hero-ground{position:absolute;left:var(--figure-center,73%);top:86%;width:24%;height:5%;transform:translateX(-50%);border-radius:50%;background:#0008;filter:blur(18px);opacity:var(--scene-fade,1);z-index:2;pointer-events:none}
/* Real work, consistently framed. */
.work{background:#181916;color:var(--ink)}.work h2{font-size:clamp(40px,5vw,76px)}.work .arrow{color:var(--ink);border-color:#ffffff35}.work .arrow:hover{background:var(--accent);color:var(--bg)}
.work-card .artwork{background:#242521;border:1px solid #ffffff15;border-radius:5px;overflow:hidden}
.portfolio-real .artwork img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;filter:none;padding:0}
.portfolio-real .image-category{background:#0d0e0ce0;color:#eeeee7;padding:8px 11px;border-radius:2px;font-size:9px;max-width:90%;letter-spacing:.06em}
.caption{margin-top:16px;gap:12px}.caption h3{font-size:13px}.caption>span{color:var(--muted);font-size:9px}
.gallery-line{background:#ffffff20;height:2px}.gallery-line>span{background:var(--accent)}.gallery-end .asterisk{color:var(--accent)}.gallery-end p{color:var(--muted);font-size:12px}.gallery-end .button{color:var(--bg);background:var(--accent)}
.interlude-art img{object-fit:cover;filter:none;mix-blend-mode:normal}.interlude-copy{z-index:3}.coordinate{line-height:1.7}
.vision-print{overflow:hidden;border-radius:4px}.vision-print img{object-fit:cover;filter:none;mix-blend-mode:normal}
.principles p,.studio-content>p,.visit-grid p{font-size:15px;line-height:1.85;color:var(--muted)}
.flash-section{background:#141512;color:var(--ink)}.flash-heading h2 em{color:var(--accent)}.flash-heading p{color:var(--muted);font-size:15px;line-height:1.8}
.flash-filters{border-color:var(--line)}.flash-filters button{border-color:#ffffff33;color:var(--ink);font-size:11px;min-height:40px;padding:10px 20px}.flash-filters button.active,.flash-filters button:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.flash-sheet{background:#232420;border:1px solid #ffffff1c;border-radius:5px;box-shadow:none;aspect-ratio:4/5}
.flash-sheet img{width:100%;height:100%;object-fit:cover;transform:none;mix-blend-mode:normal;filter:none}.flash-stamp,.sheet-corner{display:none}
.flash-piece:nth-child(n) .flash-sheet{transform:none}.flash-piece:hover .flash-sheet{transform:translateY(-5px)}
.flash-meta{align-items:start;gap:12px;flex-wrap:wrap}.flash-meta h3{font-size:14px}.flash-meta div>span{color:var(--muted);font-size:10px}.flash-meta button{font-size:11px;color:var(--accent);border-color:#f1e53955;white-space:normal;line-height:1.6}
.flash-foot{border-color:var(--line)}.flash-foot .eyebrow{color:var(--muted);font-size:10px}.flash-section :focus-visible{outline-color:var(--accent)!important}
.studio-section{background:#1a1b17}.studio-visual{min-height:720px}.studio-visual img{object-fit:cover;object-position:center 35%;filter:none}.studio-visual-label{color:#fff;background:#0d0e0cbf;padding:9px 12px;font-size:10px}.studio-content{padding:80px 5vw}.studio-note p{font-size:11px}.studio-cta{font-size:14px;line-height:1.5}
.behind{background:#11120f}.behind-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:40px 0}.behind h2{font-size:clamp(40px,5.3vw,78px);line-height:1;letter-spacing:-.055em}.behind h2 em{color:var(--accent);font-style:normal}.behind-heading p{max-width:320px;font-size:15px;line-height:1.8;color:var(--muted)}
.behind-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:22px;align-items:start}.behind figure{margin:0;min-width:0}.behind figure:nth-child(2){margin-top:60px}.behind figure:nth-child(3){margin-top:120px}.behind img{width:100%;height:430px;object-fit:cover;border-radius:5px}.behind figure:nth-child(2) img{object-position:43% center}.behind figcaption{font-size:10px;letter-spacing:.1em;line-height:1.6;color:var(--muted);padding-top:15px}
.process-heading p,.visit-heading>p{font-size:15px;line-height:1.8}.steps details>p,.faq details>p{font-size:15px;line-height:1.8}.visit-section{background:#181916}.visit-grid h3{font-size:25px}.visit-grid .eyebrow{font-size:10px}
.booking{background:var(--accent);color:var(--bg)}.booking .section-label{color:#434526}.booking p.booking-note{font:12px/1.8 Arial,sans-serif;opacity:.75;max-width:360px}.booking-chat-cta{border-radius:6px}.booking-chat-cta>p{font-size:15px!important;line-height:1.8!important}.booking-chat-cta .button{min-height:54px}.booking .button:focus-visible{outline-color:var(--bg)}
.faq .section-label{margin-bottom:30px}.faq summary>span:first-child{line-height:1.4}.footer-signature>span{font-size:10px}.footer-bottom{font-size:10px}
@media(prefers-reduced-motion:no-preference){
  .motion-ready .hero-sequence{height:260svh}
  .motion-ready .manifesto{height:160svh}
  .motion-ready .interlude{height:240svh}
  .behind img{animation:photo-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
  @keyframes photo-reveal{from{opacity:.5;transform:translateY(28px)}to{opacity:1;transform:none}}
}
@media(min-width:760px){.motion-ready .work-sticky{padding-top:110px}.gallery{gap:24px}.work-card{flex-basis:31vw}.work-card:nth-child(n){padding-top:0}.artwork{min-height:0}.gallery-end{padding:20px}}
@media(max-width:1050px){header nav{gap:18px}.header-book{display:none}.hero-bottom{width:45%;gap:20px}.hero-bottom p{font-size:12px;max-width:180px}.hero-bottom .round-link{font-size:8px}.behind img{height:350px}.studio-content{padding:65px 5vw}.studio-visual{min-height:650px}.flash-meta{flex-direction:column}}
@media(max-width:759px){
  :root{--pad:6vw}.section-pad{padding:72px var(--pad)}header{height:76px}header .logo{width:115px}header .logo .brand-logo{height:38px}.header-right{gap:14px}.languages{font-size:10px}
  .hero,.motion-ready .hero{height:100svh;min-height:640px;padding:0}
  .hero-top,.motion-ready .hero-top{top:99px;left:6vw;right:6vw}.hero-top .eyebrow{font-size:8px}.hero-top .edition{display:none}
  .hero-title{top:18%;left:8%;width:84%;padding:0;min-height:0}.hero-signature,.motion-ready .hero-signature{width:100%;margin:0}.signature-drawing{max-height:160px}.signature-caption{font-size:6px;margin-top:6px;letter-spacing:.08em}
  .hero-bottom,.motion-ready .hero-bottom{left:6vw;right:6vw;bottom:8%;width:auto;gap:18px;margin:0}.hero-bottom p{font-size:11px;line-height:1.7;max-width:52%}.hero-bottom .round-link{font-size:8px}.hero-bottom .round-link b{width:43px;height:43px;font-size:24px}.hero-index,.motion-ready .hero-index{bottom:20px;font-size:7px}.hero-index>span{display:none}
  .character-type{left:8%;right:8%;top:18%;text-align:center}.character-type>span{font-size:clamp(33px,9vw,55px)}.character-type small{font-size:8px;margin-bottom:14px}.character-type small:last-of-type{margin:14px auto 0;max-width:240px;font-size:8px}
  .hero-ground{top:81%;width:42%;height:4%;filter:blur(10px)}.scene-track{bottom:25px;left:auto;right:6vw;transform:none;gap:6px}.scene-step{width:14px;height:2px}.scene-step.active{width:25px}
  #figure-status{left:25%;right:25%;top:62%}
  .work-heading{padding-bottom:28px}.work h2{font-size:9.5vw}.work-card{height:470px;flex-basis:79vw}.work-card:nth-child(n){padding-top:0}.gallery{gap:18px}.caption h3{font-size:12px}.caption>span{font-size:8px}.image-category{font-size:8px!important}.gallery-end{height:470px}
  .flash-heading h2,.behind h2{font-size:10vw}.flash-heading p{font-size:14px}.flash-board{gap:32px}.flash-meta{flex-direction:row}.flash-sheet{aspect-ratio:4/5}.flash-foot .eyebrow{font-size:9px}.flash-meta button{max-width:48%;text-align:right}
  .studio-section{grid-template-columns:1fr}.studio-visual{height:65svh;min-height:400px;max-height:580px}.studio-content{padding:65px var(--pad)}.studio-content h2{font-size:11vw}.studio-content>p{font-size:15px}.studio-visual-label{font-size:9px}
  .behind-heading{display:block;margin:32px 0}.behind-heading p{margin-top:22px;font-size:14px}.behind-grid{grid-template-columns:1fr;gap:30px}.behind figure:nth-child(n){margin-top:0}.behind img{height:auto;max-height:540px;aspect-ratio:4/5}.behind figure:nth-child(2) img{aspect-ratio:4/3;object-position:50% 40%}
  .principles p,.visit-grid p,.steps details>p,.faq details>p{font-size:14px}.process-heading p{font-size:14px}.visit-grid h3{font-size:23px}.booking p.booking-note{font-size:12px}.footer-signature>span{font-size:8px}.footer-bottom{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .hero-sequence{height:auto}.hero,.motion-ready .hero{position:relative}.character-type,.scene-track{display:none}.hero-signature{opacity:1;transform:none}.hero-top,.hero-bottom,.hero-index{opacity:1}.behind img{animation:none}.button:hover,.flash-piece:hover .flash-sheet{transform:none}
}
.menu-open header{background:var(--accent);border-bottom-color:#1112;backdrop-filter:none;color:var(--bg)}.menu-open header .languages button,.menu-open header .languages span{color:var(--bg)}.menu>a{text-transform:uppercase}.menu-open .menu-toggle span{background:var(--bg)}
/* Studio identity: sign lettering, ink-board details and an early view of the artist. */
.studio-hero-title{font-size:clamp(22px,3.2vw,48px);font-weight:800;letter-spacing:.22em;line-height:1.1;margin:22px 0 0 8%;color:#f0f0e6}.signature-caption{margin-top:20px;font-size:8px;letter-spacing:.1em}.hero-title{top:23%}.signature-drawing{max-height:230px}.hero-bottom,.motion-ready .hero-bottom{bottom:17%}.hero-bottom p{font-size:14px}.hero-index{border-top:1px solid #ffffff1c;padding-top:15px}.ticker{padding:19px 0}.ticker>div{font:700 20px Arial,sans-serif;letter-spacing:.03em}.ticker span{font-size:17px;margin:0 28px}.studio-section{border-top:1px solid #ffffff1c;background:#181916}.studio-visual{min-height:780px}.studio-content{position:relative}.studio-content:before{content:'DAROSA';position:absolute;right:-10px;bottom:35px;writing-mode:vertical-rl;font-size:76px;font-weight:800;letter-spacing:-.06em;color:#ffffff04;pointer-events:none}.studio-content h2{font-size:clamp(38px,4.5vw,70px);line-height:1.02;margin:30px 0}.studio-services{display:flex;gap:8px;flex-wrap:wrap;margin:27px 0 5px}.studio-services span{font-size:9px;letter-spacing:.08em;border:1px solid #ffffff30;padding:9px 12px;border-radius:2px;color:#eee}.studio-signature{padding:10px 0}.studio-signature img{height:65px}.studio-content .studio-lead{font-size:22px}.studio-note{margin-top:10px}.work-heading .section-label{color:var(--accent)}.work h2{font-size:clamp(38px,4.6vw,70px)}.image-category{border-left:2px solid var(--accent)}.flash-heading h2{font-size:clamp(36px,4.8vw,72px)}.flash-sheet{border-radius:2px}.behind{border-top:1px solid #ffffff18}.behind .section-label{color:var(--accent)}.behind figcaption{display:flex;align-items:center;gap:10px}.behind figcaption:before{content:'+';color:var(--accent);font-size:17px}.visit-grid article{background:#1e201a;padding:28px 23px;border:1px solid #ffffff16;border-top:2px solid #f1e53999;border-radius:3px}.booking h2{font-size:clamp(38px,4.8vw,75px);line-height:1.04}.booking .booking-star{font-size:65px}.footer-signature>img{max-height:250px}.footer-signature{padding-bottom:40px}
@media(max-width:759px){.studio-hero-title{font-size:23px;letter-spacing:.2em;margin:12px 0 0;text-align:center}.signature-caption{margin-top:12px;font-size:6px}.hero-title{top:17%}.signature-drawing{max-height:130px}.hero-bottom,.motion-ready .hero-bottom{bottom:8%}.hero-bottom p{font-size:11px}.hero-index{padding-top:12px}.ticker{padding:16px 0}.ticker>div{font-size:17px}.studio-visual{min-height:390px;height:58svh}.studio-content{padding:55px var(--pad)}.studio-content h2{font-size:11vw}.studio-services span{font-size:8px}.work h2{font-size:9.6vw}.flash-heading h2{font-size:9.5vw}.visit-grid{gap:14px}.visit-grid article{padding:23px 18px}.booking h2{font-size:10.7vw}.footer-signature>img{max-height:180px}}
