:root{--bg:#151618;--ink:#ededeb;--muted:#aaaeb4;--line:#36383c;--accent:#c5cad2;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button,a,video{-webkit-tap-highlight-color:transparent}::selection{background:var(--accent);color:var(--bg)}.masthead{position:sticky;top:0;z-index:10;background:#151618f5;border-bottom:1px solid var(--line);padding:20px 5vw;display:flex;align-items:center;justify-content:space-between}.wordmark{font:500 23px/1.1 var(--sans);letter-spacing:-.045em}nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav-contact{border:1px solid var(--line);padding:8px 17px}main{max-width:1550px;padding:0 5vw;margin:auto}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:44px 0 50px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--accent);margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(46px,5.5vw,80px)/1.07 var(--sans);letter-spacing:-.055em;margin-bottom:26px}em{font-weight:400;font-style:normal}h1 em{color:var(--accent)}.hero-description{font-size:18px;max-width:420px;line-height:1.65;margin-bottom:16px}.hero-meta{font-size:14px;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.solid-button{display:inline-block;padding:13px 21px;background:var(--accent);color:#151618;font-size:14px}.text-button{font-size:14px;border-bottom:1px solid #787c83;padding:10px 0}.hero-film{margin:0;max-width:410px;width:100%;justify-self:center}.hero-frame{position:relative;background:#1c1e21}.hero-frame video{width:100%;height:min(63vh,600px);min-height:380px;object-fit:contain;display:block}.media-label{position:absolute;top:16px;left:16px;background:#151618cc;backdrop-filter:blur(8px);padding:6px 9px;font-size:12px;letter-spacing:.06em;pointer-events:none}figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding-top:12px;color:var(--muted)}.hero-film figcaption{align-items:flex-start;font-size:12px}.hero-film figcaption button{font-size:14px;color:var(--accent);padding:0;min-height:26px;text-align:right}.discipline-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;font-size:14px;color:var(--muted)}.work-section{padding:85px 0 75px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:18px}h2{font:400 clamp(34px,3.6vw,52px)/1.13 var(--sans);letter-spacing:-.045em;margin-bottom:0}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:4px}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 22px}.film{margin:0;min-width:0}.work-video,.embed-stage{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#1c1e21}.embed-stage{position:relative}.embed-stage img{display:block;width:100%;height:100%;object-fit:cover}.embed-button{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:12px 20px;font-size:14px;white-space:nowrap}.embed-stage.is-open{height:auto;aspect-ratio:auto;background:#fff;min-height:550px}.embed-stage .instagram-media{width:100%!important;min-width:0!important;margin:0!important}.embed-stage iframe{max-width:100%!important}.number{color:#9399a2;margin-left:8px}.film figcaption a{font-size:14px;border-bottom:1px solid #727781}.services,.about{padding:80px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.service-list article{display:flex;gap:25px;padding:26px 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.service-number{font-size:12px;color:var(--accent);padding-top:5px}h3{font-size:20px;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin-bottom:12px}.service-list p{font-size:16px;color:var(--muted);margin:0;max-width:470px}.about>div>p{max-width:600px;font-size:18px;color:var(--muted);margin-top:24px;margin-bottom:0}.contact{border-top:1px solid var(--line);padding:80px 0;display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.contact>div>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:25px}.contact-details{align-self:center;min-width:0}.contact-line{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:22px 0}.contact-line>div{min-width:0}.contact-line span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.contact-line a{font-size:clamp(16px,1.7vw,23px);overflow-wrap:anywhere}.contact-line button{font-size:14px;border:1px solid #60656d;min-height:44px;padding:8px 12px}.contact-details>p{font-size:13px!important}footer{margin:0 5vw;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.skip{position:fixed;top:-100px;z-index:20;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:10px}#copy-status{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:30;background:var(--ink);color:var(--bg);font-size:14px;padding:12px 18px;display:none}#copy-status.visible{display:block}
h2 em{color:var(--muted)}.solid-button,.nav-contact,.text-button,.contact-line button{transition:background .2s ease,color .2s ease,border-color .2s ease}.solid-button{background:var(--ink);font-weight:500}.solid-button:hover{background:var(--accent)}.nav-contact:hover,.contact-line button:hover{border-color:var(--accent);background:#ffffff08}.text-button:hover{color:var(--accent);border-color:var(--accent)}nav a:not(.nav-contact):hover,footer a:hover{color:var(--accent)}
@media(max-width:900px){.hero{gap:28px}.hero-frame video{height:530px;min-height:0}.hero-description{font-size:17px}.hero-actions{gap:14px}.services,.about,.contact{gap:35px}.film-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html{scroll-padding-top:82px}.masthead{padding:18px 20px}.wordmark{font-size:21px}nav{gap:16px;font-size:14px}nav a:nth-child(2){display:none}.nav-contact{padding:5px 10px}main{padding:0 20px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:29px 0 27px;gap:26px}.eyebrow{font-size:12px;margin-bottom:15px}h1{font-size:clamp(40px,10.8vw,60px);letter-spacing:-.05em;margin-bottom:18px;line-height:1.04}h1 br:last-of-type{display:none}h1 em{margin-right:4px}.hero-description{font-size:16px;line-height:1.6;margin-bottom:10px;max-width:360px}.hero-meta{font-size:12px;margin-bottom:19px}.hero-actions{gap:18px}.solid-button{padding:11px 15px;font-size:14px}.text-button{font-size:14px}.hero-film{max-width:none}.hero-frame{overflow:hidden}.hero-frame video{height:auto;min-height:0;max-height:none;width:100%;aspect-ratio:9/16;object-fit:cover}.hero-film figcaption{font-size:12px}.hero-film figcaption button{font-size:14px}.discipline-line{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:19px 0;font-size:13px}.work-section{padding:52px 0}.section-heading{display:block;margin-bottom:23px}.section-heading>p{margin-top:19px;font-size:14px}h2{font-size:34px;letter-spacing:-.045em}.film-grid{display:block}.film{margin-bottom:30px}.film:last-child{margin-bottom:0}.film figcaption{font-size:13px}.services,.about,.contact{padding:50px 0;grid-template-columns:1fr;gap:28px}.service-list article{gap:17px}.service-list p{font-size:16px}.about>div>p{font-size:17px}.contact-line a{font-size:16px}.contact-line button{font-size:14px;padding:8px 10px}.contact>div>p:not(.eyebrow){margin-top:18px}footer{margin:0 20px;font-size:12px;gap:20px}#copy-status{width:max-content;max-width:90vw;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

@media(max-width:600px){.film{scroll-margin-top:90px}.work-video{max-height:calc(100svh - 155px);object-fit:contain}}

/* Motion stays on opacity and transform so scrolling remains native. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
.header-sentinel{position:absolute;top:0;left:0;width:1px;height:24px;pointer-events:none}
.masthead{transition:background-color .25s ease,box-shadow .25s ease;padding-top:max(20px,env(safe-area-inset-top))}
.masthead.is-scrolled{background:#151618;box-shadow:0 8px 28px #00000024}
.hero-copy{min-width:0}
h1,h2{text-wrap:balance}p{text-wrap:pretty}
.hero-film{min-width:0}
.hero-frame,.work-video,.embed-stage{border-radius:4px;overflow:hidden;outline:1px solid #ffffff0d;outline-offset:-1px}
.media-label{background:#151618eb;backdrop-filter:none}
.full-film{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink);text-decoration:underline;text-decoration-color:#656a73;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .2s ease,text-decoration-color .2s ease}
.hero-film figcaption .full-film{padding:0;justify-content:flex-end;text-align:right;min-height:44px;line-height:1.4;max-width:190px}
.film>.full-film{margin-top:4px}
.film figcaption{min-height:42px}
.film figcaption a{display:inline-flex;align-items:center;min-height:44px;border-bottom:0;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#656a73}
.solid-button,.nav-contact,.text-button,.contact-line button,.embed-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:transform .25s var(--ease-out),background-color .2s ease,color .2s ease,border-color .2s ease}
nav a{display:inline-flex;align-items:center;min-height:44px}
.solid-button:active,.nav-contact:active,.contact-line button:active{transform:scale(.97)}
.embed-stage.is-open>a,.embed-stage blockquote>a{display:block;padding:16px;color:#151618;font-size:16px}
#copy-status{display:block;opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:opacity .2s ease,transform .25s var(--ease-out),visibility .2s;border:1px solid var(--line);bottom:max(25px,env(safe-area-inset-bottom));pointer-events:none}
#copy-status.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
footer{padding-bottom:max(25px,env(safe-area-inset-bottom))}
@media(hover:hover) and (pointer:fine){
 .solid-button:hover,.nav-contact:hover,.contact-line button:hover{transform:translateY(-2px)}
 .full-film:hover,.film figcaption a:hover{text-decoration-color:var(--ink);color:#fff}
 .service-list article{transition:border-color .25s ease}
 .service-list article:hover{border-color:#737882}
}
@media(max-width:600px){
 .masthead{padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top))}
 .hero-frame video{max-height:calc(100svh - 150px);object-fit:contain;background:#1c1e21}
 .hero-film figcaption{align-items:center}
 .hero-film figcaption>span{max-width:130px;line-height:1.5}
 .film>.full-film{margin-top:0}
 .film{margin-bottom:38px}
}
@media(max-width:380px){
 .masthead{padding-left:16px;padding-right:16px}
 .wordmark{font-size:19px;white-space:nowrap}
 nav{gap:10px}.nav-contact{padding:5px 9px}
 .hero-actions{gap:12px}
 .hero-film figcaption .full-film{max-width:165px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
}
