@font-face{font-family:Inter;src:url('assets/Inter-Light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Inter;src:url('assets/Inter-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}

:root{
  --black:#0a0a0a;
  --white:#fafaf8;
  --muted:#a5a49f;
  --quiet:#85837d;
  --gold:#ffd96b;
  --line:#fafaf826;
  --gutter:clamp(24px,5vw,100px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0;background:var(--black);color:var(--white);font:300 16px/1.65 Inter,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:var(--white);color:var(--black)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:7px}
button:active{transform:translateY(1px)}
img{display:block;max-width:100%;height:auto}
p,h1,h2{margin:0}
h1,h2{font-weight:300}
.skip{position:fixed;top:15px;left:24px;z-index:100;padding:12px 18px;background:var(--white);color:var(--black);transform:translateY(-180%)}
.skip:focus{transform:none}
.eyebrow,.small-label,.section-index,.arrival-bottom,.film-controls,.footer-bottom{font:300 11px/1.6 Inter,sans-serif;letter-spacing:.13em}
.eyebrow,.small-label{color:var(--muted)}
.header,.arrival,.about,.intro,.public-work,.contact,footer{width:100%;max-width:1920px;margin-inline:auto}

.header{position:relative;z-index:5;height:112px;padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between}
.brand{width:320px;margin-left:-29px}
.header nav{display:flex;align-items:center;gap:48px;font-size:13px}
.header nav a{padding-block:12px}
.header nav a:hover{color:var(--muted)}
.contact-nav{display:inline-flex;align-items:center;gap:22px}
.contact-nav span{font-size:21px}
.arrival{position:relative;isolation:isolate;overflow:clip;min-height:min(850px,calc(100svh - 112px));padding:100px var(--gutter) 130px;display:flex;align-items:center}
.arrival-art{position:absolute;z-index:-1;top:-7%;right:0;width:66%;height:108%;overflow:hidden}
#light-field{width:100%;height:100%;opacity:0;transition:opacity 1.5s ease}
.arrival-art.ready #light-field{opacity:1}
.art-fallback{position:absolute;width:70%;left:17%;top:20%;opacity:.3}
.arrival-art.ready .art-fallback{display:none}
.arrival-copy{position:relative;width:72%}
.arrival-copy .eyebrow{margin-bottom:35px}
h1{font-size:clamp(80px,9.8vw,186px);line-height:.98;letter-spacing:-.065em}
h1>span{display:block}
.arrival-description{margin-top:36px;font-size:clamp(16px,1.25vw,21px);line-height:1.65;color:var(--muted)}
.arrival-bottom{position:absolute;bottom:33px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;text-transform:uppercase}
.explore-link{display:inline-flex;align-items:center;gap:22px;min-height:44px}
.scroll-line{height:1px;width:54px;background:var(--quiet);transform-origin:left;transition:transform .5s var(--ease)}
.explore-link:hover .scroll-line{transform:scaleX(.65)}
.arrival-caption{margin-left:auto;margin-right:70px;color:var(--muted)}
#ambient-toggle{background:none;border:0;padding:14px 0 14px 14px;font-size:10px;letter-spacing:.13em;color:var(--muted)}
#ambient-toggle span{display:inline-block;width:24px;margin-left:10px;color:var(--white)}

.about{padding:150px var(--gutter) 120px}
.section-index{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}
.about-content{margin:85px 0 110px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:7%;align-items:end}
h2{font-size:clamp(48px,5.9vw,110px);line-height:1.06;letter-spacing:-.055em}
h2>span{color:var(--quiet)}
.about-copy{max-width:440px;padding-bottom:5px}
.about-copy p{color:var(--muted);font-size:17px;line-height:1.85;margin-bottom:25px;text-wrap:pretty}
.about-copy p:first-child{color:var(--white)}
.text-link{display:inline-flex;align-items:center;gap:20px;padding-block:12px;border-bottom:1px solid #fafaf84a;font-size:13px}
.text-link span,.email-address>span,.back-top span{transition:transform .5s var(--ease)}
.text-link:hover span,.email:hover .email-address>span{transform:translate(4px,-4px)}
.approach-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6%}
.approach-layout>.eyebrow{padding-top:30px}
.approach{list-style:none;margin:0;padding:0}
.approach>li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:24px;padding:31px 0 37px;border-top:1px solid var(--line)}
.approach>li:last-child{border-bottom:1px solid var(--line)}
.step-number{color:var(--quiet);font-size:11px;padding-top:3px;font-variant-numeric:tabular-nums}
.small-label{display:block;font-size:10px}
.approach p{margin-top:12px;font-size:clamp(22px,2vw,34px);line-height:1.4;letter-spacing:-.025em}

.intro{padding:80px var(--gutter) 0}
.sequence-heading{display:grid;grid-template-columns:1fr 2fr;gap:32px 6%;padding-bottom:60px}
.sequence-heading>.eyebrow{padding-top:10px}
.sequence-heading h2{font-size:clamp(40px,4.7vw,80px)}
.sequence-heading>p{grid-column:2;font-size:15px;color:var(--muted)}
.film{position:relative;container-type:inline-size;aspect-ratio:16/9;overflow:hidden;background:var(--black);border-block:1px solid var(--line)}
.film video,.motion-stage{display:none}
.film video{width:100%;height:100%;object-fit:contain}
.film-still{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}
.film-still img{width:min(75%,700px)}
.film-still p{font-size:20px;text-align:center;color:var(--muted)}
.film[data-renderer="embedded"] .motion-stage,.film[data-renderer="video"] video{display:block}
.film[data-renderer="embedded"] .film-still,.film[data-renderer="video"] .film-still{display:none}
.film[data-renderer="still"] .play-controls{display:none}
.motion-stage{position:absolute;inset:0;pointer-events:none}
.motion-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.motion-copy{position:absolute;inset:0;opacity:0}
.motion-copy>span{position:absolute;left:7.8%;top:20%;font-size:1.05cqw;letter-spacing:.13em;color:var(--muted)}
.motion-copy h2{position:absolute;left:7.8%;top:30%;font-size:3.96cqw;letter-spacing:-.03em;line-height:1.26}
.motion-copy>p{position:absolute;left:7.8%;top:52.5%;font-size:1.41cqw;line-height:1.6;color:var(--muted)}
.portrait-break{display:none}
.motion-mark,.motion-wordmark{position:absolute;opacity:0}
.motion-mark svg,.motion-wordmark svg{display:block;width:100%;height:auto}
.motion-wordmark{width:78.125%;left:10.9375%;top:30.09%;text-align:center}
.motion-wordmark>p{font-size:1.67cqw;line-height:1.6;color:var(--muted)}
.motion-progress{position:absolute;bottom:16.2%;left:7.8%;right:7.8%;height:1px;background:#fafaf817}
.motion-progress:after{content:'';display:block;width:var(--sequence-progress,0%);height:1px;background:#fafaf870}
.film-controls{position:absolute;bottom:22px;left:7.8%;right:7.8%;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}
.film-label{display:flex;align-items:center;gap:12px}
.film-label i{font-style:normal;color:var(--quiet)}
.duration{margin-left:-8px}
.play-controls{display:flex;gap:26px}
.play-controls button{min-height:44px;border:0;background:none;padding:8px 0;font-size:10px;letter-spacing:.13em}
.play-controls button:hover{color:var(--gold)}
.play-controls span{font-size:16px;margin-left:6px}
.no-js{padding-block:20px}
.no-js a{text-decoration:underline}

.public-work{min-height:650px;padding:180px var(--gutter);display:grid;grid-template-columns:1fr 2fr;align-content:center;gap:6%}
.public-work .eyebrow{padding-top:13px}
.public-work h2{font-size:clamp(50px,6.3vw,110px)}
.contact{padding:0 var(--gutter) 70px}
.contact-top{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:end;margin:80px 0 70px}
.contact-top h2{font-size:clamp(64px,8vw,146px)}
.contact-top p{color:var(--muted);font-size:clamp(17px,1.6vw,25px);line-height:1.7;padding-bottom:5px}
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5%}
.email{position:relative;min-width:0;border-top:1px solid var(--line);display:grid;gap:22px;padding:28px 0 34px}
.email:before{content:'';position:absolute;inset:-1px 0 auto;height:1px;background:var(--white);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}
.email:hover:before{transform:scaleX(1)}
.email-address{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:clamp(18px,2.25vw,36px);letter-spacing:-.035em}
.email-address>span{color:var(--muted);font-size:26px;flex-shrink:0}
.email-note{font-size:13px;color:var(--muted)}
footer{padding:0 var(--gutter) 30px}
.footer-signature{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:55px 65px}
.footer-wordmark{display:block;width:clamp(320px,50vw,760px);margin-left:calc(clamp(320px,50vw,760px) * -.0916)}
.footer-wordmark img{width:100%}
.footer-signature p{font-size:14px;color:var(--muted)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px}
.back-top{display:inline-flex;gap:24px;min-height:44px;align-items:center}
.back-top:hover span{transform:translateY(-4px)}

.arrival-enter{animation:arrival-in 1.3s var(--ease) both}
.arrival-copy .eyebrow{animation-delay:.08s}
h1>span:first-child{animation-delay:.18s}
h1>span:last-child{animation-delay:.3s}
.arrival-description{animation-delay:.5s}
@keyframes arrival-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
[data-reveal]{transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].reveal-pending{opacity:0;transform:translateY(22px)}

@media(min-width:1800px){
  .about,.intro,.public-work,.contact,footer{max-width:1720px}
}
@media(max-width:1000px){
  .header{height:100px}.header nav{gap:30px}
  .arrival{min-height:740px;padding-top:90px}.arrival-art{width:75%;right:-5%}
  .about-content{grid-template-columns:1.2fr 1fr;gap:7%;margin-block:65px 80px}.about-copy p{font-size:15px}
  .text-link{font-size:12px;gap:10px}.about{padding-top:100px}
  .approach-layout,.sequence-heading,.public-work{grid-template-columns:.65fr 2fr}
  .contact-top{grid-template-columns:1.4fr 1fr}.public-work{min-height:530px;padding-block:140px}
}
@media(max-width:600px){
  .header{height:90px}.brand{width:76px;flex-shrink:0;margin-left:-16px}.focus-nav{display:none}
  .header nav{font-size:11px}.contact-nav{gap:9px;white-space:nowrap}.contact-nav span{font-size:18px}
  .arrival{display:block;padding-top:57px;padding-bottom:100px;min-height:790px}.arrival-copy{width:100%}
  .arrival-copy .eyebrow{font-size:9px;margin-bottom:28px}h1{font-size:clamp(76px,16.8vw,100px)}
  .arrival-description{margin-top:26px;font-size:15px}.arrival-art{width:100%;height:400px;top:340px;right:0}
  .arrival-bottom{bottom:20px;font-size:9px}.arrival-caption{display:none}.explore-link{gap:14px}.scroll-line{width:28px}#ambient-toggle{font-size:9px}
  .section-index{font-size:9px;letter-spacing:.09em}.section-index>span:last-child{max-width:95px;text-align:right}
  .about{padding-block:70px}.about-content{display:block;margin-block:50px 65px}h2{font-size:clamp(41px,9.5vw,57px)}.desktop-break{display:none}
  .about-copy{margin-top:38px;max-width:100%}.about-copy p{font-size:16px}.approach-layout{display:block}
  .approach-layout>.eyebrow{padding-top:0;margin-bottom:26px}.approach-layout>.eyebrow br{display:none}
  .approach>li{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:27px 0 30px}.approach p{font-size:23px}
  .intro{padding-top:45px}.sequence-heading{display:block;padding-bottom:35px}.sequence-heading h2{font-size:42px;margin-block:26px}.sequence-heading>p{font-size:14px}
  .film{aspect-ratio:3/4;margin-inline:calc(-1 * var(--gutter));width:calc(100% + 2 * var(--gutter))}
  .motion-copy>span{top:10.5%;font-size:2.69cqw}.motion-copy h2{top:22.8%;font-size:8.51cqw}.motion-copy>p{top:42%;font-size:3.36cqw;max-width:84%}
  .motion-copy[data-start="11"]>p{top:50.5%}.portrait-break{display:inline}.motion-wordmark{width:88.54%;left:5.73%;top:33.98%}.motion-wordmark>p{font-size:2.67cqw;margin-top:6.2%}
  .motion-progress{bottom:12%}.film-controls{left:7.8%;right:7.8%;bottom:8px;font-size:8px;letter-spacing:.07em}.film-label{gap:7px}.duration{display:none}
  .play-controls{gap:16px}.play-controls button{font-size:8px}.film-still p{font-size:15px}
  .public-work{display:block;min-height:470px;padding-block:125px}.public-work h2{font-size:49px;margin-top:32px}
  .contact{padding-bottom:50px}.contact-top{display:block;margin-block:50px}.contact-top h2{font-size:clamp(59px,13.5vw,81px)}.contact-top p{margin-top:30px;font-size:18px}
  .contact-options{grid-template-columns:minmax(0,1fr);gap:10px}.email{gap:19px}.email-address{font-size:clamp(19px,5.6vw,30px)}.email-note{font-size:12px}
  .footer-signature{display:block;padding-block:35px 40px}.footer-wordmark{width:calc(100% + 30px);max-width:none;margin-left:-30px}.footer-signature p{font-size:13px;margin-top:22px}.footer-bottom{font-size:9px;letter-spacing:.06em}
}
@media(max-width:360px){
  .header nav{font-size:10px}.contact-nav{gap:6px}h1{font-size:64px}.arrival-copy .eyebrow{font-size:8px}
  .footer-wordmark{display:block;width:96px;margin-left:-20px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  [data-reveal].reveal-pending{opacity:1;transform:none}
  .film video,.film .motion-stage,.play-controls,#ambient-toggle{display:none!important}
  .film .film-still{display:flex!important}
}
