@font-face{font-family:'Acid Grotesk';src:url('assets/fonts/acid-grotesk-regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Acid Grotesk';src:url('assets/fonts/acid-grotesk-medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Acid Grotesk';src:url('assets/fonts/acid-grotesk-bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
:root{--charcoal:#0d1011;--panel:#171c1d;--cream:#f0dec2;--paper:#f7f7f2;--teal:#82b9af;--purple:#b49cd1;--muted:#a9aeaa;--line:#343b3c;--gutter:clamp(24px,5vw,90px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--charcoal);color:var(--paper);font:400 16px/1.56 'Acid Grotesk',Arial,sans-serif;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img,video{display:block;max-width:100%}button{border:0}p,h1,h2,h3,figure{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:7px}::selection{background:var(--teal);color:var(--charcoal)}.muted{color:var(--muted)}.purple{color:var(--purple)}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;line-height:1.5;color:var(--teal)}.eyebrow.muted{color:var(--muted)}.body-large{font-size:22px;line-height:1.45}.section{padding:96px var(--gutter);max-width:1800px;margin:0 auto;position:relative;scroll-margin-top:70px}.section-heading{display:grid;gap:28px;margin-bottom:40px}.section-description{max-width:650px}h1,h2,h3{font-weight:500}h1{font-size:clamp(58px,7.78vw,132px);line-height:.97;letter-spacing:-.05em;color:var(--cream)}h2{font-size:clamp(40px,4.45vw,76px);line-height:1.065;letter-spacing:-.03em;color:var(--cream)}h3{font-size:28px;letter-spacing:-.01em;line-height:1.22}.line-mask{display:block;overflow:hidden}.line-mask>span{display:block;padding-bottom:.08em}.skip-link{position:fixed;top:-90px;left:24px;background:var(--cream);color:var(--charcoal);padding:16px;z-index:100}.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;background:#0d1011ed;backdrop-filter:blur(18px);z-index:30;padding:0 var(--gutter)}.nav-shell{max-width:1620px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);min-height:82px;gap:24px}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand span{font-size:12px;font-weight:500;letter-spacing:.08em}.brand img{max-width:none}.site-header nav{display:flex;gap:32px;align-items:center}.site-header nav a{font-size:14px;padding:14px 0;position:relative}.site-header nav a:after{content:'';position:absolute;left:0;bottom:7px;width:100%;height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.reading-progress{position:absolute;bottom:0;left:0;height:1px;width:100%;background:var(--teal);transform:scaleX(0);transform-origin:left}
.hero{padding-top:64px;padding-bottom:64px}.hero-eyebrow{display:flex;justify-content:space-between;gap:12px;margin-bottom:32px}.hero-message{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(320px,1fr);gap:32px;align-items:end;margin-bottom:32px}.hero-intro{display:grid;gap:24px;padding-bottom:9px}.actions{display:flex;gap:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:14px 24px;background:var(--cream);color:var(--charcoal);border:1px solid var(--cream);font-size:14px;font-weight:500;white-space:nowrap;transition:background .3s,color .3s,transform .3s}.button:hover{background:var(--paper);transform:translateY(-2px)}.button span{transition:transform .3s}.button:hover span{transform:translate(2px,-2px)}.button.secondary{background:transparent;border-color:var(--line);color:var(--paper)}.button.secondary:hover{border-color:var(--teal);background:var(--panel)}.hero-intro .button{flex:1;padding:14px 18px}.hero-screen{position:relative;display:block;width:100%;height:clamp(340px,34.72vw,625px);padding:0;background:var(--panel);overflow:hidden}.hero-screen>img{width:100%;height:100%;object-fit:cover}.play-mark{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border:1px solid #f0dec280;background:#0d10113b;backdrop-filter:blur(8px);border-radius:50%;font-size:18px;color:var(--cream);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:background .3s,scale .3s}.hero-screen:hover .play-mark{background:#0d101177;scale:1.1}.hero-film figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:16px;align-items:center}.text-button{background:none;padding:0;color:var(--cream);font-size:14px}.text-button:hover{text-decoration:underline;text-underline-offset:6px}.disciplines{display:flex;justify-content:space-between;margin-top:32px;color:var(--paper)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}.project-card{min-width:0;position:relative}.project-link{display:block}.project-media{aspect-ratio:16/9;background:var(--panel);position:relative;overflow:hidden;margin-bottom:16px}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.project-media.contain img{object-fit:contain}.project-link:hover .project-media img{transform:scale(1.035)}.project-card h3{margin:9px 0 8px;color:var(--paper)}.project-card .summary{color:var(--muted)}.watch-row{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;color:var(--cream)}.duration{font-size:12px;letter-spacing:.08em;color:var(--muted)}
@media(min-width:1800px){.site-header{padding-left:max(90px,calc((100vw - 1620px)/2));padding-right:max(90px,calc((100vw - 1620px)/2))}}
@media(max-width:1000px){.hero-message{grid-template-columns:1fr}.hero-intro{max-width:620px;grid-template-columns:1fr 1fr;align-items:end;gap:24px}.hero-intro .actions{flex-direction:column;gap:10px}.hero-intro .button{flex:none}.site-header nav{gap:20px}h1{font-size:clamp(62px,10vw,96px)}}
@media(max-width:600px){.section{padding:64px 24px}.site-header{padding:0 24px}.nav-shell{min-height:76px}.site-header nav{gap:22px}.site-header nav a:not(:first-child):not(:last-child){display:none}.hero{padding-top:40px;padding-bottom:40px}.hero-eyebrow{flex-direction:column;gap:8px}.hero-message{gap:32px}h1{font-size:clamp(48px,13.9vw,78px);line-height:1.04;letter-spacing:-.045em}h2{font-size:40px;line-height:1.06}h3{font-size:28px}.hero-intro{display:grid;grid-template-columns:1fr;padding-bottom:0}.hero-intro .actions{flex-direction:row;gap:12px}.hero-intro .button{flex:1;padding:14px 12px;gap:12px}.body-large{font-size:22px}.hero-screen{height:300px}.hero-film figcaption{align-items:flex-start;flex-direction:column;gap:8px}.hero-film figcaption .eyebrow{font-size:11px}.disciplines{gap:16px}.project-grid{grid-template-columns:1fr;gap:40px}.section-heading{gap:28px}.brand img{width:84.63px;height:18.66px}.brand span{font-size:10px}}
.panel-section{background:var(--panel);position:relative;scroll-margin-top:82px;overflow:clip}.services-layout{display:grid;grid-template-columns:456fr 768fr;gap:72px}.services-intro{display:flex;flex-direction:column;gap:24px}.services-intro>p.muted{max-width:360px}.sculpture-space{height:210px;margin-top:6px;position:relative;overflow:visible}.sculpture-space canvas{width:100%;height:100%;display:block;pointer-events:none}.services-list{align-self:start}.service{border-top:1px solid var(--line);padding:24px 0;position:relative}.service>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:24px}.service:before{content:'';position:absolute;inset:0 -16px;background:var(--teal);opacity:0;transition:opacity .3s}.service:hover:before{opacity:.035}.service h3{color:var(--cream)}.process-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.process-step{display:flex;flex-direction:column;gap:12px;position:relative}.process-step h3{font-size:21px;line-height:28px;color:var(--cream)}.step-rule{width:100%;height:1px;background:var(--line);display:block;position:relative;margin-bottom:2px}.step-rule:after{content:'';position:absolute;inset:0;background:var(--teal);transform:scaleX(var(--step-fill,0));transform-origin:left}.process-step:nth-child(even) .step-rule:after{background:var(--purple)}.process-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}.proof-image{height:230px;overflow:hidden;background:var(--panel)}.proof-image img{width:100%;height:100%;object-fit:cover}.proof-image.contain img{object-fit:contain}.process-proof figcaption{margin-top:12px}.about-layout{display:grid;grid-template-columns:420fr 780fr;gap:96px}.portrait{aspect-ratio:1;overflow:hidden}.portrait img{height:100%;width:100%;object-fit:cover}.identity figcaption{margin-top:16px}.about-copy{display:flex;flex-direction:column;gap:24px;padding-top:32px;align-items:flex-start}.contact{padding-top:120px;padding-bottom:64px;display:flex;flex-direction:column;gap:32px}.display{font-size:clamp(58px,7.78vw,132px);line-height:.97;letter-spacing:-.05em}.contact>.body-large{max-width:700px}.contact-actions{display:flex;gap:24px;align-items:center}footer{border-top:1px solid var(--line);margin-top:16px;padding-top:32px;display:flex;justify-content:space-between;gap:28px;align-items:center}.motion-toggle{font-size:12px;background:none;border-bottom:1px solid var(--line);padding:5px 0;color:var(--muted)}.stills{border-top:1px solid var(--line);margin-top:48px;padding-top:24px}.stills-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.still-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;perspective:1200px}.still-grid a{display:block;overflow:hidden;aspect-ratio:4/5}.still-grid img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}.still-grid a:hover img{transform:scale(1.04)}
.project-hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s;pointer-events:none}.project-media.contain .project-hover-video{object-fit:contain}.project-media.is-playing .project-hover-video{opacity:1}.project-play{position:absolute;right:20px;bottom:20px;width:46px;height:46px;border-radius:50%;background:#0d101175;border:1px solid #f0dec280;display:grid;place-items:center;color:var(--cream);font-size:14px;opacity:0;transform:translateY(8px);transition:.4s var(--ease);backdrop-filter:blur(8px)}.project-link:hover .project-play,.project-link:focus-visible .project-play{opacity:1;transform:translateY(0)}.hero-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}.hero-loop.is-playing{opacity:1}.hero-pause{position:absolute;bottom:20px;right:20px;z-index:2;padding:8px 12px;border:1px solid #f0dec260;background:#0d101199;color:var(--cream);font-size:12px;backdrop-filter:blur(8px)}.hero-film{position:relative}.video-dialog{position:fixed;max-width:1100px;width:calc(100vw - 64px);max-height:calc(100dvh - 48px);padding:24px;background:var(--charcoal);border:1px solid var(--line);color:var(--paper);overflow:auto;box-shadow:0 40px 100px #0008}.video-dialog::backdrop{background:#050606e8;backdrop-filter:blur(20px)}.player-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:20px}.player-head h2{font-size:28px;margin-top:8px}.close-player{min-width:44px;min-height:44px;background:var(--panel);border:1px solid var(--line);color:var(--cream)}#project-player{width:100%;max-height:65dvh;background:#050606;aspect-ratio:16/9;object-fit:contain}.player-foot{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-top:16px;font-size:14px;color:var(--muted)}.player-foot a{white-space:nowrap}#player-error{color:var(--cream);margin-top:16px}body.player-open{overflow:hidden}.reveal-line-mask{overflow:clip;padding-bottom:.08em;margin-bottom:-.08em}.motion-paused .project-hover-video{opacity:0!important}
@media(max-width:1000px){.services-layout{gap:40px;grid-template-columns:1fr 1.2fr}.about-layout{gap:48px;grid-template-columns:1fr 1.5fr}.process-steps{grid-template-columns:repeat(3,1fr);gap:32px}.process-proof{grid-template-columns:1fr 1fr}.still-grid{grid-template-columns:repeat(3,1fr)}footer{flex-wrap:wrap}.sculpture-space{height:170px}.display{font-size:clamp(54px,8vw,96px)}}
@media(max-width:600px){.services-layout,.about-layout{grid-template-columns:1fr;gap:32px}.sculpture-space{height:150px;margin-top:0}.process-steps{grid-template-columns:1fr;gap:24px}.process-step h3{font-size:24px}.process-proof{grid-template-columns:1fr}.proof-image{height:180px}.about-copy{padding-top:0}.contact{padding-top:64px}.display{font-size:clamp(48px,13.9vw,78px);line-height:1.04;letter-spacing:-.045em}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions>.button{width:100%}.stills-heading{align-items:flex-start;flex-direction:column;gap:8px}.still-grid{grid-template-columns:repeat(2,1fr);gap:12px}footer{align-items:flex-start;flex-direction:column}.video-dialog{width:calc(100vw - 24px);padding:16px;max-height:calc(100dvh - 24px)}.player-head h2{font-size:23px}.player-head{gap:12px}.player-foot{flex-direction:column;align-items:flex-start;gap:12px}.hero-pause{bottom:86px;right:12px}.project-play{opacity:1;transform:none;width:36px;height:36px;right:12px;bottom:12px}.brand img{width:94.0329px;height:20.736px}.site-header nav{gap:18px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=enabled]){scroll-behavior:auto}html:not([data-motion=enabled]) *,html:not([data-motion=enabled]) *:before,html:not([data-motion=enabled]) *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html:not([data-motion=enabled]) .hero-loop,html:not([data-motion=enabled]) .project-hover-video,html:not([data-motion=enabled]) .sculpture-space{display:none}}
.panel-section{border-radius:var(--panel-radius,0) var(--panel-radius,0) 0 0}

html{scroll-padding-top:82px}.section,.panel-section{scroll-margin-top:0}.hero-pause{bottom:56px}@media(max-width:600px){html{scroll-padding-top:76px}.hero-pause{bottom:80px}}

.play-mark{z-index:1}
