.cinematic-hero.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:20px;min-height:min(810px,calc(100svh - 94px));padding:66px 0 0;overflow:visible;isolation:isolate}
.hero-copy{position:relative;z-index:3;padding-bottom:40px}
.hero-kicker{display:flex;align-items:center;gap:10px;margin:0 0 30px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}
.hero-kicker>span{width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 15px #cbb38a88}
.cinematic-hero.hero h1{font-size:clamp(64px,7.5vw,116px);font-weight:400;line-height:.96;letter-spacing:-.075em;margin:0 0 32px;max-width:none;text-shadow:none}
.hero-line{display:block;overflow:hidden;padding:0 .12em .08em 0;margin-right:-.12em}
.hero-line>span{display:block;animation:hero-arrive 1s cubic-bezier(.2,.8,.2,1) both}
.hero-line:nth-child(2)>span{animation-delay:.12s}
.cinematic-hero h1 em{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.075em;color:var(--accent);font-weight:400}
.hero-description{font-size:clamp(18px,1.6vw,23px);line-height:1.55;color:#c9c6bd;letter-spacing:-.3px;margin:0 0 30px;animation:hero-fade 1s .25s both}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;animation:hero-fade 1s .4s both}
.hero-watch{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 23px;border:1px solid #cbb38a66;border-radius:3px;background:var(--accent);color:#171813;font:inherit;font-size:12px;cursor:pointer;transition:box-shadow .25s,background .25s,transform .25s}
.hero-watch svg{width:18px;height:18px;fill:currentColor}.hero-watch:hover{background:#dfc79e;box-shadow:0 0 35px #cbb38a30;transform:translateY(-2px)}
.hero-contact{display:inline-flex;align-items:center;gap:14px;min-height:48px;font-size:12px;color:var(--fg);transition:color .2s,text-shadow .2s}.hero-contact svg{width:19px;height:19px;transition:transform .25s}.hero-contact:hover{color:var(--accent);text-shadow:0 0 15px #cbb38a55}.hero-contact:hover svg{transform:translateX(4px)}
.hero-stage{position:relative;min-width:0;height:530px;perspective:1000px;--hero-x:0;--hero-y:0;--hero-scroll:0}
.hero-halo{position:absolute;inset:8% -9% 4%;background:radial-gradient(ellipse at 50% 50%,#a7814438 0,#a7814415 34%,transparent 70%);pointer-events:none;animation:hero-breathe 8s ease-in-out infinite alternate}
.hero-orbit{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#cbb38a26;stroke-width:.6;pointer-events:none;animation:hero-orbit 80s linear infinite}
.hero-orbit circle{stroke-dasharray:2 12}.hero-orbit path{stroke:#cbb38a66;stroke-width:1}
.hero-art{position:absolute;inset:25px 0 65px;transform:translate3d(calc(var(--hero-x)*9px),calc(var(--hero-y)*7px - var(--hero-scroll)*16px),0) rotateX(calc(var(--hero-y)*-2deg)) rotateY(calc(var(--hero-x)*3deg));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.hero-drift{position:relative;width:100%;height:100%;animation:hero-float 7s ease-in-out infinite}
.hero-frame{position:absolute;left:50%;top:50%;width:54%;height:91%;margin:0;padding:0;border:0;border-radius:3px;background:#1b1b16;color:var(--fg);cursor:pointer;overflow:hidden;box-shadow:0 20px 60px #0006;transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .6s,box-shadow .18s;transform-origin:50% 70%}
.hero-frame img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero-frame.is-front{z-index:3;transform:translate(-50%,-50%) rotate(-3deg);opacity:1}.hero-frame.is-left{z-index:1;transform:translate(-91%,-47%) rotate(-13deg) scale(.83);opacity:.63}.hero-frame.is-right{z-index:2;transform:translate(-9%,-53%) rotate(11deg) scale(.83);opacity:.7}
.hero-frame:hover{box-shadow:0 20px 60px #0007,0 0 48px #cbb38a22}.hero-frame.is-front:hover{transform:translate(-50%,-53%) rotate(-1deg)}
.hero-frame-tag{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 17px 16px;background:linear-gradient(transparent,#000b);font-size:11px;letter-spacing:.3px}.hero-frame-tag svg{width:19px;height:19px;fill:currentColor}
.hero-stage-foot{position:absolute;left:8%;right:5%;bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-stage-caption{font-size:10px;color:var(--muted);letter-spacing:.3px}.hero-scene-controls{display:flex;align-items:center;gap:0}.hero-dot{position:relative;width:28px;height:44px;padding:0;border:0;background:none;color:var(--accent);cursor:pointer}.hero-dot:after{content:'';position:absolute;left:10px;top:19px;width:6px;height:6px;border:1px solid #cbb38a66;border-radius:50%;transition:background .2s,box-shadow .2s}.hero-dot[aria-pressed=true]:after{background:var(--accent);box-shadow:0 0 12px #cbb38a55}.hero-motion{width:36px;height:44px;display:grid;place-items:center;background:none;border:0;color:var(--muted);cursor:pointer}.hero-motion svg{width:15px;height:15px}
.hero-baseline{grid-column:1/-1;align-self:end;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 30px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.7px;color:var(--muted);margin-top:5px}.hero-baseline i{font-style:normal;color:var(--accent);padding:0 12px}.hero-scroll-note{display:flex;align-items:center;gap:10px}.hero-scroll-note>span{height:22px;width:1px;background:linear-gradient(transparent,var(--accent));transform-origin:top;animation:hero-scroll 2s ease-in-out infinite}
.cinematic-hero.is-motion-paused *{animation-play-state:paused!important}.cinematic-hero.is-motion-paused .hero-art{transform:none}
@keyframes hero-arrive{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes hero-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes hero-breathe{from{opacity:.6;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}
@keyframes hero-orbit{to{transform:rotate(360deg)}}
@keyframes hero-scroll{0%,100%{opacity:.35;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}
@media(min-width:1500px){.hero-stage{height:600px}.cinematic-hero.hero{padding-top:60px}}
@media(max-width:1050px) and (min-width:701px){.cinematic-hero.hero{gap:0;padding-top:50px;min-height:660px}.hero-stage{height:450px}.cinematic-hero.hero h1{font-size:clamp(60px,7.5vw,84px)}.hero-stage-caption{display:none}.hero-stage-foot{justify-content:center}}
@media(max-width:700px){.cinematic-hero.hero{grid-template-columns:1fr;gap:0;padding-top:36px;min-height:0}.hero-copy{padding-bottom:0}.hero-kicker{font-size:8px;letter-spacing:1.6px;margin-bottom:23px}.cinematic-hero.hero h1{font-size:clamp(58px,12.8vw,88px);margin:0 0 18px;letter-spacing:-.07em}.hero-description{font-size:19px;line-height:1.5;margin-bottom:23px}.hero-description br{display:none}.hero-actions{gap:23px}.hero-watch{min-height:48px;padding:0 19px}.hero-contact{font-size:11px;gap:8px}.hero-stage{height:390px;margin:24px 0 0}.hero-art{inset:10px 4% 44px}.hero-frame{width:48%;height:94%}.hero-stage-foot{left:6%;right:4%;bottom:0}.hero-stage-caption{font-size:9px}.hero-baseline{padding:19px 0 25px;margin-top:10px;font-size:8px;letter-spacing:.4px}.hero-baseline i{padding:0 6px}.hero-scroll-note{font-size:8px;gap:7px}.hero-orbit{inset:0 5%;width:90%}}
@media(max-width:360px){.hero-stage{height:340px}.hero-actions{gap:17px}.hero-stage-caption{font-size:8px}.hero-contact{font-size:10px}.cinematic-hero.hero h1{font-size:55px}}
@media(prefers-reduced-motion:reduce){.cinematic-hero *, .cinematic-hero *:before,.cinematic-hero *:after{animation:none!important;transition:none!important}.hero-art{transform:none!important}.hero-motion{display:none}}
.cinematic-hero.is-offscreen *{animation-play-state:paused!important}

.hero-frame.is-away{z-index:0;transform:translate(-50%,-50%) scale(.72);opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:700px){.hero-stage-caption{display:none}.hero-stage-foot{justify-content:center}}

@media(hover:hover) and (pointer:fine){.hero-frame:hover{transition-duration:.8s,.6s,.06s}}

/* Reference masthead and a compact header revealed as the wordmark scrolls away. */
html{max-width:100%;overflow-x:clip}body{width:100%;max-width:100%;overflow-x:clip}.wrap,.projects,.project,.story-copy{min-width:0}img,video{max-width:100%}
.site-nav.nav{position:fixed;inset:0 0 auto;z-index:30;width:100%;max-width:none;height:66px;margin:0;padding:0 max(28px,calc((100% - 1536px)/2));border:0;background:transparent;gap:20px;transition:background-color .22s ease}
.site-nav .logo{font-family:'Times New Roman',Times,serif;font-size:23px;letter-spacing:-.8px;font-weight:700;opacity:0;transform:translateY(-7px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.site-nav.is-visible{background:#111210f7}.site-nav.is-visible .logo{opacity:1;transform:translateY(0);pointer-events:auto}.site-nav .links{margin-left:auto;gap:28px}.site-nav .nav-cta{border:0;border-radius:2px;background:#cbb38a18;padding:12px 17px;color:var(--fg)}.site-nav .nav-cta:hover{background:#cbb38a30}
.cinematic-hero.hero{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;min-height:0;padding:88px 0 16px;overflow:clip}
.hero-copy{display:contents}.cinematic-hero.hero h1{grid-column:1/-1;font-family:'Times New Roman',Times,serif;font-weight:700;font-size:clamp(44px,16.4vw,250px);line-height:.92;letter-spacing:-.055em;white-space:nowrap;max-width:100%;margin:0;text-shadow:none;animation:hero-fade .5s ease-out both}
.hero-description{grid-column:1;align-self:start;font-family:Arial,Helvetica,sans-serif;font-size:clamp(23px,2.8vw,40px);line-height:1.18;letter-spacing:-.035em;font-weight:600;color:var(--fg);margin:6px 0 0;animation:hero-fade .45s .08s both}
.hero-stage{grid-column:2;height:370px;min-width:0;margin:0;overflow:clip;contain:layout paint}.hero-art{inset:8px 8% 48px}.hero-stage-foot{justify-content:center;left:0;right:0;bottom:0}.hero-frame{transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s,box-shadow .18s}.hero-frame.is-front:hover{transform:translate(-50%,-52%) rotate(-2deg)}
#work{padding-top:24px}
@media(max-width:1050px) and (min-width:701px){.cinematic-hero.hero{min-height:0;padding-top:82px}.cinematic-hero.hero h1{font-size:16vw}.hero-stage{height:330px}}
@media(max-width:700px){
  .site-nav.nav{height:58px;padding:0 14px;gap:10px}.site-nav .logo{font-size:17px;letter-spacing:-.6px;white-space:nowrap}.site-nav .links{gap:10px;font-size:10px}.site-nav .links>a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px}.site-nav .nav-cta{font-size:10px;padding:10px 8px}
  .cinematic-hero.hero{display:block;padding:76px 0 14px;min-height:0}.cinematic-hero.hero h1{font-size:16.4vw;line-height:.96;margin:0 0 20px}.hero-description{font-size:clamp(22px,5.6vw,29px);line-height:1.2;margin:0;max-width:100%}.hero-description br{display:block}
  .hero-stage{height:330px;margin:18px 0 0;perspective:none}.hero-art{inset:4px 6% 42px;transform:none!important;transition:none}.hero-orbit{inset:0 5%;width:90%}.hero-orbit,.hero-halo,.hero-drift{animation:none!important}.hero-frame{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .25s,box-shadow .12s}.hero-frame.is-front:hover{transform:translate(-50%,-50%) rotate(-3deg)}.hero-dot{width:27px}.hero-motion{width:32px}.hero-stage-foot{bottom:0}#work{padding-top:14px}
}
@media(max-width:360px){.hero-stage{height:300px}.site-nav .links{gap:8px}.site-nav .logo{font-size:16px}.site-nav .nav-cta{padding:10px 7px}}
@media(prefers-reduced-motion:reduce){.site-nav.nav,.site-nav .logo{transition:none}.cinematic-hero.hero h1,.hero-description{animation:none}}

/* Refinements retain the existing frame dimensions and the mobile composition. */
.cinematic-hero.hero h1{font-weight:400}
@media(min-width:701px){
  .cinematic-hero.hero{overflow:visible}
  .hero-description{align-self:center;margin:0;padding-bottom:24px}
  .hero-stage{overflow:visible;contain:layout}
}

/* Optical spacing and taller, sharper desktop product frames. */
.cinematic-hero.hero h1{font-kerning:none;font-feature-settings:"kern" 0,"liga" 0;letter-spacing:-.008em;word-spacing:.025em;font-size:clamp(44px,15.8vw,244px)}
.hero-frame img{image-rendering:auto;object-position:50% 50%}
.hero-frame.is-left{opacity:.8}.hero-frame.is-right{opacity:.84}
@media(min-width:701px){
  .hero-stage{height:clamp(410px,36vw,540px)}
  .hero-art{inset:20px 8% 54px}
  .hero-frame{width:58%;height:auto;aspect-ratio:3/4}
  .hero-frame.is-front{transform:translate(-50%,-50%) rotate(-1.5deg)}
  .hero-frame.is-front:hover{transform:translate(-50%,-52%) rotate(-.5deg)}
  .hero-description{padding:0 0 0 12px}
}
@media(min-width:701px) and (max-width:1050px){.hero-stage{height:390px}}
@media(max-width:700px){.cinematic-hero.hero h1{font-size:15.8vw}}

/* Match the reference's bold Times wordmark and give navigation comfortable targets. */
.cinematic-hero.hero h1{font-family:'Times New Roman',Times,serif;font-weight:700;letter-spacing:-.008em;word-spacing:.025em}
.site-nav .links{font-size:16px;gap:24px}.site-nav .links>a:not(.nav-cta){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 9px}
@media(max-width:700px){.site-nav .links{font-size:14px;gap:14px}.site-nav .links>a:not(.nav-cta){min-height:48px;padding:0 8px}}

/* Match both wordmarks; add touch-led hero browsing without blocking page scrolling. */
.cinematic-hero.hero h1,.site-nav .logo,footer .logo{font-family:'Times New Roman',Times,serif;font-style:normal;font-weight:700;font-kerning:none;font-feature-settings:"kern" 0,"liga" 0;letter-spacing:-.008em;word-spacing:.025em}
.hero-stage{touch-action:pan-y pinch-zoom;--hero-swipe:0px}.hero-frame{-webkit-user-select:none;user-select:none}.hero-frame img{-webkit-user-drag:none;user-select:none}
.hero-stage.is-dragging .hero-drift{animation:none!important;transform:translate3d(var(--hero-swipe),0,0);transition:none;will-change:transform}
@media(max-width:700px){.hero-drift{transform:translate3d(0,0,0);transition:transform .2s cubic-bezier(.22,1,.36,1)}.hero-frame{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s,box-shadow .12s}}
@media(prefers-reduced-motion:reduce){.hero-drift{transition:none}}
.site-nav .links{font-size:17px}.site-nav .links>a:not(.nav-cta){position:relative;text-decoration:none}
.site-nav .links>a:not(.nav-cta):after{content:'';position:absolute;left:9px;right:9px;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:0;transition:transform .16s ease-out,opacity .16s ease-out;pointer-events:none}
@media(hover:hover){.site-nav .links>a:not(.nav-cta):hover:after{transform:scaleX(1);opacity:1}}
.site-nav .links>a:not(.nav-cta):focus-visible:after{transform:scaleX(1);opacity:1}
.projects{row-gap:64px}
.project-info{align-items:baseline}
.project-info h3{font-size:20px;font-weight:700;line-height:1.35}
.project-info span{font-size:12px;line-height:1.5;color:#bbb9af}
.project-description{font-size:14px;line-height:1.6;color:#bbb9af;margin-top:4px}
@media(max-width:700px){.site-nav .links{font-size:15px}.projects{row-gap:52px}.site-nav .links>a:not(.nav-cta):after{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.site-nav .links>a:not(.nav-cta):after{transition:none}}
@media(min-width:701px){.hero-stage{left:clamp(-28px,-1.8vw,-12px);margin-top:28px;margin-bottom:16px}}

/* One heading style for the hero statement and the editorial sections. */
.hero-description,.studio-story h2,.studio-contact h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(34px,4.2vw,60px);font-style:normal;font-weight:400;line-height:1.1;letter-spacing:-.055em}
@media(max-width:700px){.hero-description,.studio-story h2,.studio-contact h2{font-size:clamp(34px,8vw,46px)}}
@media(max-width:700px){.hero-description{font-size:clamp(30px,7.2vw,40px)}}

/* Let the mobile halo fade naturally beyond the carousel's rectangular box. */
@media(max-width:700px){
  .hero-stage{overflow:visible;contain:layout}
  .hero-halo{inset:-12% -18%;background:radial-gradient(ellipse at center,#a7814428 0,#a7814410 30%,transparent 62%)}
  .hero-frame,.hero-frame:hover{box-shadow:0 14px 34px #0003;outline:none;-webkit-tap-highlight-color:transparent}
  .hero-frame:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
}
