@font-face{font-family:Diatype;src:url('/assets/diatype-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Diatype;src:url('/assets/diatype-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Diatype;src:url('/assets/diatype-300.woff2') format('woff2');font-weight:300;font-display:swap}
:root{--paper:#f8f8f8;--ink:#161616;--muted:#676767;--line:#d9d9d9;--accent:#f65406;--gutter:clamp(20px,3.1vw,64px);--font:Diatype,'Helvetica Neue',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.45 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:white}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:-.055em;line-height:.97}p{max-width:65ch}.wrap{padding-inline:var(--gutter)}.skip{position:fixed;top:0;left:20px;transform:translateY(-150%);padding:12px;background:var(--ink);color:white;z-index:200}.skip:focus{transform:translateY(0)}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);margin-inline:var(--gutter)}.brand{display:flex;align-items:center;flex-shrink:0;white-space:nowrap}.brand img{height:39px;width:37px;object-fit:contain;filter:brightness(0)}.brand span{font-size:21px;letter-spacing:-.045em;line-height:1.02;font-weight:500}.brand sup{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:3px}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{font-size:15px;position:relative}.nav-links a[aria-current=page]:after,.nav-links a:hover:after{content:'';position:absolute;bottom:-7px;left:0;right:0;height:1px;background:currentColor}.header-actions{display:flex;gap:25px;align-items:center}.language{border:0;background:none;font-size:14px;padding:12px 3px}.language span{color:#767676}.language b{font-weight:500}.contact-link{border:1px solid var(--ink);padding:12px 20px;font-size:14px;border-radius:30px;display:flex;gap:22px;align-items:center;transition:background .2s,color .2s}.contact-link:hover{background:var(--ink);color:white}.menu-toggle{display:none;background:none;border:0;padding:12px 0}.eyebrow{font-size:13px;letter-spacing:.025em;text-transform:uppercase}.quiet{color:var(--muted)}.accent{color:var(--accent)}.arrow{display:inline-block;font-family:Arial,sans-serif;line-height:1}.hero{padding-top:55px;padding-bottom:50px}.hero-top{display:flex;justify-content:space-between;gap:25px}.hero-main{display:grid;grid-template-columns:1fr 2.7fr;gap:30px;padding-top:48px}.hero-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding-top:8px;font-size:15px}.hero-side .small-mark{width:60px;filter:brightness(0);margin:30px 0}.hero h1{font-size:clamp(64px,9.4vw,170px);font-weight:400;line-height:.96;letter-spacing:-.075em}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:38px}.hero-bottom p{font-size:clamp(17px,1.35vw,22px);line-height:1.45;max-width:38ch}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:15px;padding-bottom:8px;border-bottom:1px solid;flex-shrink:0}.text-link:hover{color:var(--accent)}.section-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-top:1px solid var(--line);font-size:14px}.section-bar h2{font-size:14px;line-height:1.4;letter-spacing:0}.section-bar .count{color:var(--muted);font-size:12px;vertical-align:super;margin-left:7px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 22px}.work-grid.selected .project-card:nth-child(4n+1){grid-column:1/2}.project-card{min-width:0}.project-card .cover{position:relative;overflow:hidden;aspect-ratio:1.48;background:#e5e5e5}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.project-card:hover img{transform:scale(1.035)}.cover-arrow{position:absolute;right:18px;bottom:18px;width:47px;height:47px;background:var(--paper);color:var(--ink);display:grid;place-items:center;border-radius:50%;font-size:24px;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}.project-card:hover .cover-arrow,.project-card:focus-visible .cover-arrow{opacity:1;transform:none}.project-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-top:15px}.project-caption h3{font-size:clamp(18px,1.8vw,28px);line-height:1.15;letter-spacing:-.025em}.project-caption .year{font-size:13px;padding-top:4px;color:var(--muted)}.work-footer{display:flex;justify-content:center;padding:60px 0 100px}.pill-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border:1px solid var(--ink);padding:17px 28px;border-radius:40px}.pill-link:hover{background:var(--ink);color:white}.manifesto{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2.7fr;gap:30px;padding-top:30px;padding-bottom:110px}.manifesto h2{font-size:clamp(35px,4.4vw,80px);line-height:1.06;max-width:23ch}.manifesto .body-copy{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:36px}.body-copy p{font-size:18px;line-height:1.55;color:#444}.body-copy .text-link{margin-top:26px}.services{background:var(--ink);color:var(--paper);padding:70px var(--gutter) 80px;display:grid;grid-template-columns:1fr 2.7fr;gap:30px}.services .eyebrow{color:#bcbcbc}.service-row{border-top:1px solid #454545;padding:24px 0;display:grid;grid-template-columns:45px 1fr;gap:10px}.service-row:last-child{border-bottom:1px solid #454545}.service-row .number{font-size:13px;color:#969696;padding-top:7px}.service-row h3{font-size:clamp(25px,3vw,48px);letter-spacing:-.045em;line-height:1.1}.service-row p{font-size:16px;color:#bbb;margin-top:11px;max-width:53ch}.services-title p{font-size:19px;margin-top:28px;max-width:20ch}.clients{padding:0 var(--gutter) 100px}.site-footer{background:#f65406;color:#121212;padding:36px var(--gutter) 24px}.footer-top{display:flex;justify-content:space-between;gap:24px}.footer-links{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;font-size:15px}.footer-socials{display:flex;gap:25px;flex-wrap:wrap}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;border-top:1px solid rgba(0,0,0,.35);padding-top:19px}.page-intro{padding:65px var(--gutter) 60px}.page-intro .eyebrow{margin-bottom:35px}.page-intro h1{font-size:clamp(55px,8.5vw,140px);max-width:14ch}.page-intro .intro-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.page-intro .intro-row p{font-size:19px;max-width:31ch}.archive{padding-bottom:100px}.archive .work-grid{grid-template-columns:repeat(3,1fr);gap:42px 22px}.archive .project-caption h3{font-size:21px}.archive .project-card .cover{aspect-ratio:1.278}.archive .section-bar{margin-bottom:10px}.about-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:7vw;padding-bottom:85px}.about-hero h1{font-size:clamp(55px,7.3vw,125px);max-width:12ch}.about-hero .eyebrow{margin-bottom:35px}.about-hero p{font-size:21px;max-width:38ch;margin-top:40px}.about-hero figure{margin:0;align-self:start}.about-hero img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.about-hero figcaption{font-size:13px;color:var(--muted);margin-top:12px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:95px}.stat{padding:35px 0}.stat strong{display:block;font-size:clamp(50px,6.3vw,100px);font-weight:400;letter-spacing:-.06em;line-height:1}.stat p{color:var(--muted);font-size:14px;margin-top:14px}.awards{display:grid;grid-template-columns:1fr 2.7fr;gap:30px;padding-bottom:100px}.awards ul{list-style:none;padding:0;margin:0}.awards li{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:22px;font-size:21px}.awards li span:last-child{font-size:14px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:8vw;padding-bottom:100px}.contact-info>p{font-size:25px;letter-spacing:-.03em;max-width:24ch;margin-bottom:50px}.contact-info dl{font-size:16px}.contact-info dt{font-size:12px;text-transform:uppercase;color:var(--muted);margin-top:28px;margin-bottom:7px}.contact-info dd{margin:0;overflow-wrap:anywhere}.contact-info a{border-bottom:1px solid var(--line)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}.field{display:flex;flex-direction:column;gap:11px;min-width:0}.field label{font-size:14px}.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid #9b9b9b;border-radius:0;padding:12px 0;color:var(--ink);width:100%;min-height:48px}.field textarea{resize:vertical;min-height:120px}.field.full,.form-actions,.form-note,.form-status{grid-column:1/-1}.form-actions{display:flex;gap:16px;flex-wrap:wrap}.button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:17px 24px;border-radius:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.button.secondary{background:none;color:var(--ink)}.button:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.form-note{font-size:13px;color:var(--muted);max-width:60ch}.form-status{font-size:15px;min-height:1em}.project-intro{padding:54px var(--gutter) 48px}.project-intro h1{font-size:clamp(47px,7.6vw,130px);line-height:1.03;max-width:18ch;margin-top:40px;overflow-wrap:anywhere}.project-meta{display:grid;grid-template-columns:1fr 2fr 1fr;gap:35px;padding:38px 0 0;margin-top:35px;border-top:1px solid var(--line)}.meta-label{font-size:12px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:10px}.project-meta p,.project-meta a{font-size:15px;line-height:1.5}.project-meta .owners{display:flex;flex-wrap:wrap;gap:5px 18px}.project-meta a:hover{text-decoration:underline}.project-gallery{max-width:1680px;margin:0 auto 65px;padding:0 var(--gutter)}.module{margin:0}.module.images{display:flex;align-items:flex-start;gap:0}.module.images figure{flex:1;min-width:0;margin:0}.module.images img{width:100%;height:auto}.module.text{max-width:1000px;margin:0 auto;padding:48px clamp(0px,4vw,65px);font-size:18px;line-height:1.65}.module.text p{white-space:pre-line;margin-bottom:24px;max-width:none;overflow-wrap:anywhere}.module.video{aspect-ratio:16/9;background:#111}.module.video iframe{border:0;width:100%;height:100%}.next-project{border-top:1px solid var(--line);margin:0 var(--gutter);padding:35px 0 80px;display:grid;grid-template-columns:1fr 2.7fr;gap:30px}.next-project a{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:clamp(30px,4.5vw,72px);letter-spacing:-.045em;line-height:1.05}.next-project a:hover{color:var(--accent)}.error-page{padding:100px var(--gutter) 150px}.error-page h1{font-size:clamp(60px,10vw,140px);margin-bottom:30px}.error-page p{margin-bottom:35px}
@media(min-width:1100px){.work-grid.selected{grid-template-columns:1.12fr 1fr}.work-grid.selected .project-card:nth-child(even){margin-top:90px}.work-grid.selected .project-card:nth-child(3n) .cover{aspect-ratio:1.3}.hero-bottom{margin-right:3vw}.hero-bottom .text-link{margin-bottom:4px}}
@media(min-width:1800px){.site-header,.wrap,.page-intro,.project-intro,.about-hero,.contact-layout{max-width:1900px;margin-left:auto;margin-right:auto}.site-header{padding-inline:var(--gutter)}}
@media(max-width:900px){.nav-links{gap:22px}.header-actions{gap:17px}.brand span{font-size:18px}.hero-main{grid-template-columns:1fr 3.1fr;gap:25px}.hero h1{font-size:10.4vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px}.hero-side{font-size:13px}.manifesto,.services,.awards{grid-template-columns:1fr 2.4fr;gap:30px}.manifesto .body-copy{grid-template-columns:1fr}.archive .work-grid{grid-template-columns:repeat(2,1fr)}.about-hero{gap:35px}.contact-layout{gap:40px;grid-template-columns:.8fr 1.3fr}.contact-form{grid-template-columns:1fr}.field{grid-column:1/-1}.project-meta{grid-template-columns:1fr 2fr}.project-meta>div:last-child{grid-column:2}.next-project{grid-template-columns:1fr 2.4fr}}
@media(max-width:620px){.site-header{height:80px;gap:15px}.brand img{height:32px;width:30px}.brand span{font-size:17px}.header-actions{gap:15px}.contact-link{display:none}.menu-toggle{display:block;font-size:14px}.nav-links{display:none;position:absolute;z-index:100;top:80px;left:0;right:0;background:var(--paper);padding:30px var(--gutter);border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:15px 0;font-size:25px}.nav-links a[aria-current=page]:after,.nav-links a:hover:after{display:none}.language{font-size:13px}.hero{padding-top:28px;padding-bottom:35px}.hero-top{font-size:11px}.hero-top .location{max-width:16ch;text-align:right}.hero-main{display:block;padding-top:34px}.hero-side{display:none}.hero h1{font-size:clamp(57px,13.5vw,90px)}.hero-bottom{padding-top:26px;gap:27px}.hero-bottom p{font-size:18px;max-width:33ch}.hero-bottom .text-link{font-size:14px}.work-grid{gap:32px}.work-grid.selected{grid-template-columns:1fr}.project-card .cover{aspect-ratio:1.27}.cover-arrow{width:38px;height:38px;font-size:20px;opacity:1;transform:none;right:12px;bottom:12px}.project-caption{padding-top:12px}.project-caption h3{font-size:23px}.work-footer{padding:38px 0 65px}.manifesto,.services,.awards{grid-template-columns:1fr;gap:30px}.manifesto{padding-bottom:65px}.manifesto h2{font-size:39px}.manifesto .body-copy{margin-top:24px;gap:24px}.body-copy p{font-size:17px}.services{padding-top:40px;padding-bottom:50px}.services-title p{max-width:28ch;margin-top:14px;font-size:18px}.service-row{grid-template-columns:30px 1fr;padding:21px 0}.service-row h3{font-size:29px}.clients{padding-bottom:55px}.footer-top{font-size:12px}.footer-top>span:last-child{text-align:right;max-width:16ch}.footer-links{flex-direction:column;gap:24px;font-size:14px}.footer-socials{gap:22px}.footer-bottom{font-size:11px}.page-intro{padding-top:38px;padding-bottom:40px}.page-intro .eyebrow{margin-bottom:24px}.page-intro .intro-row{display:block}.page-intro .intro-row p{margin-top:26px;font-size:18px}.page-intro h1{font-size:16vw}.archive .work-grid{gap:30px 13px}.archive .project-caption{display:block}.archive .project-caption h3{font-size:17px;line-height:1.16}.archive .project-caption .year{display:block;font-size:12px;margin-top:6px}.archive .cover-arrow{display:none}.archive{padding-bottom:60px}.about-hero{display:flex;flex-direction:column;padding-top:38px;padding-bottom:40px;gap:40px}.about-hero h1{font-size:16vw}.about-hero p{font-size:19px;margin-top:25px}.about-hero figure{width:100%}.about-hero img{aspect-ratio:1;object-position:50% 67%}.about-hero .eyebrow{margin-bottom:25px}.stats{margin-bottom:60px}.stat{padding:25px 6px 25px 0}.stat strong{font-size:13vw}.stat p{font-size:12px;max-width:12ch}.awards{padding-bottom:60px}.awards li{font-size:18px}.awards li span:last-child{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:65px}.contact-info>p{font-size:22px;margin-bottom:25px}.contact-info dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contact-info dl div:first-child{grid-column:1/-1}.contact-info dt{margin-top:18px}.contact-form{gap:26px}.form-actions{gap:12px}.button{font-size:14px;padding:15px 20px}.project-intro{padding-top:32px;padding-bottom:30px}.project-intro h1{font-size:13.3vw;margin-top:28px}.project-meta{margin-top:26px;padding-top:24px;gap:23px;grid-template-columns:1fr 2fr}.project-meta p,.project-meta a{font-size:14px}.project-gallery{padding:0;margin-bottom:40px}.module.text{padding:28px var(--gutter);font-size:16px}.next-project{padding-top:25px;padding-bottom:50px;grid-template-columns:1fr;gap:24px}.next-project a{font-size:36px}.module.images:has(figure:nth-child(4)){flex-wrap:wrap}.module.images:has(figure:nth-child(4)) figure{flex-basis:50%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.mobile-contact{display:none}.module.images video{display:block;width:100%;height:auto}.button:disabled{opacity:.5;cursor:wait}@media(max-width:620px){.nav-links .mobile-contact{display:block}}

/* Project sequence: a single photograph, generous scale, a glimpse of the next. */
.arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.project-showcase{padding:26px 0 78px;overflow:hidden}
.showcase-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:24px}
.showcase-heading h2{font-size:clamp(24px,2.4vw,38px);line-height:1.15;letter-spacing:-.045em}
.showcase-heading .eyebrow{color:var(--muted);font-size:11px}
.slide-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:0 var(--gutter);scroll-padding-inline:var(--gutter)}
.slide-track::-webkit-scrollbar{display:none}
.project-slide{flex:0 0 86%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.project-slide:last-child{margin-right:var(--gutter)}
.project-slide>a{display:block}
.slide-image{position:relative;height:clamp(320px,48vw,730px);overflow:hidden;background:#e5e5e5}
.slide-image>img{width:100%;height:100%;object-fit:cover;object-position:var(--image-position,50% 50%);transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.project-slide a:hover .slide-image>img{transform:scale(1.018)}
.slide-open{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:28px;background:var(--paper);padding:14px 20px;border-radius:40px;font-size:13px;color:var(--ink)}
.slide-open .arrow{width:20px;height:20px}
.slide-caption{display:flex;justify-content:space-between;gap:24px;padding-top:16px;align-items:baseline}
.slide-caption h3{font-size:clamp(21px,2.5vw,38px);letter-spacing:-.04em;line-height:1.15}
.slide-caption>span{font-size:13px;color:var(--muted)}
.showcase-controls{display:flex;align-items:center;gap:30px;padding-top:24px}
.slide-count{font-size:14px;font-variant-numeric:tabular-nums;min-width:64px}
.slide-progress{height:1px;background:var(--line);flex:1;position:relative}
.slide-progress>span{display:block;position:absolute;top:-1px;left:0;width:1.25%;height:3px;background:var(--ink);transition:width .3s}
.slide-buttons{display:flex;gap:9px}
.slide-buttons button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;background:transparent;transition:background .2s,color .2s}
.slide-buttons button:hover{background:var(--ink);color:var(--paper)}
.slide-previous .arrow{transform:rotate(180deg)}
.slide-track:focus-visible{outline-offset:-3px}

/* The actual client artwork stays visible until its particle transition begins. */
.clients{background:var(--ink);color:var(--paper);padding:0 var(--gutter) 64px}
.clients .section-bar{border-color:#454545;padding-block:24px}
.clients .quiet{color:#aaa}
.client-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid #383838;border-top:1px solid #383838;margin-top:20px}
.client-logo{position:relative;isolation:isolate;height:150px;padding:0;border:0;border-right:1px solid #383838;border-bottom:1px solid #383838;background:transparent;overflow:hidden}
.client-logo .client-original,.client-logo .client-destination{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:64%;max-height:72px;pointer-events:none;transition:opacity .12s}
.client-logo .client-destination{height:72px;width:auto;opacity:0}
.client-logo canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.client-logo.is-morphing canvas{opacity:1}
.client-logo.is-morphing .client-original,.client-logo.is-formed .client-original{opacity:0}
.client-logo.is-formed .client-destination{opacity:1}
.client-name{position:absolute;bottom:13px;left:8px;right:8px;font-size:11px;letter-spacing:.015em;color:#aaa;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s;pointer-events:none}
.client-logo:hover .client-name,.client-logo:focus-visible .client-name,.client-logo.is-formed .client-name{opacity:1;transform:none}
.client-logo:focus-visible{z-index:1;outline-offset:-3px}

/* A clear invitation followed by a quieter signature. */
.site-footer{padding-top:42px}
.footer-invitation{display:grid;grid-template-columns:1.6fr 1fr;gap:8vw;align-items:center;padding:28px 0 35px;border-bottom:1px solid rgba(0,0,0,.35);margin-bottom:27px}
.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-cta>span:first-child{font-size:clamp(30px,4.8vw,76px);line-height:1.02;letter-spacing:-.065em}
.footer-cta .arrow{width:clamp(32px,4.2vw,64px);height:clamp(32px,4.2vw,64px);transition:transform .2s}
.footer-cta:hover .arrow{transform:translate(4px,-4px)}
.footer-invitation>p{font-size:clamp(17px,1.5vw,22px);max-width:29ch;line-height:1.45}
.footer-socials{gap:23px}
.footer-socials a{display:inline-flex;align-items:center;gap:5px}
.footer-socials .arrow{height:15px;width:15px}
.footer-signature{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:56px 0 30px}
.footer-wordmark{font-size:clamp(30px,4.8vw,76px);font-weight:500;line-height:1;letter-spacing:-.06em}
.footer-wordmark sup{font-size:.25em;letter-spacing:0;vertical-align:top;position:relative;top:.2em;margin-left:.3em}
.footer-signature img{width:44px;height:auto;filter:brightness(0)}
@media(min-width:1800px){.project-slide{flex-basis:76%}}
@media(max-width:1000px){.client-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.client-logo{height:145px}.footer-invitation{grid-template-columns:1.5fr 1fr;gap:40px}}
@media(max-width:620px){
  .project-showcase{padding-top:15px;padding-bottom:50px}
  .showcase-heading{display:block;padding-bottom:18px}
  .showcase-heading .eyebrow{display:block;margin-top:9px}
  .slide-track{gap:12px}.project-slide{flex-basis:92%}
  .slide-image{height:clamp(290px,100vw,470px)}
  .slide-open{right:14px;bottom:14px;padding:11px 15px;gap:18px;font-size:12px}
  .slide-caption h3{font-size:24px}.slide-caption>span{font-size:12px}
  .showcase-controls{gap:18px;padding-top:19px}.slide-buttons button{width:43px;height:43px}
  .clients{padding-bottom:44px}.clients .section-bar h2{max-width:22ch}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:8px}
  .client-logo{height:140px}.client-name{opacity:1;transform:none;font-size:10px}
  .site-footer{padding-top:30px}.footer-top>span:last-child{text-align:left;max-width:none}.footer-invitation{grid-template-columns:1fr;gap:24px;padding:23px 0 28px}
  .footer-cta>span:first-child{font-size:clamp(26px,7vw,42px)}
  .footer-cta .arrow{width:39px;height:39px}.footer-invitation>p{font-size:17px;max-width:31ch}
  .footer-signature{padding-top:40px;padding-bottom:26px;gap:16px}.footer-wordmark{font-size:clamp(26px,7vw,42px)}
  .footer-signature img{width:30px}.footer-bottom{flex-wrap:wrap;gap:8px;font-size:11px}
}

/* Reference-led 3D header: responsive canvas, quiet typography, black studio. */
.motion-hero{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#000;color:#f8f8f8;min-height:600px;height:calc(100svh - 102px);max-height:1100px;overflow:hidden;padding:28px var(--gutter) 30px}
.motion-top,.motion-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:24px;pointer-events:none}
.motion-top h1{font-size:clamp(26px,3.1vw,48px);line-height:1.1;letter-spacing:-.05em}
.motion-top sup{font-size:.32em;vertical-align:top;display:inline-block;margin:.25em 0 0 .3em;letter-spacing:0}
.motion-role{text-align:right;font-size:14px;line-height:1.35;color:#c7c2ce}
.motion-stage{position:absolute;inset:22px 0 66px;z-index:0;overflow:hidden}
.motion-stage canvas{position:absolute;width:100%;height:100%;inset:0;display:block;opacity:0}
.motion-poster{position:absolute;inset:0;margin:auto;width:100%;height:100%;object-fit:contain;max-width:850px;transition:opacity .35s}
.motion-ready .motion-poster{opacity:0;pointer-events:none}
.motion-ready canvas{opacity:1}
.motion-bottom{grid-row:3;font-size:14px;line-height:1.5;color:#bdb8c5;align-items:flex-end}
.motion-actions{display:flex;align-items:center;gap:24px;pointer-events:auto;color:#f8f8f8}
.motion-actions .text-link{font-size:14px;border-color:#625c6c}
.motion-toggle{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;padding:10px;background:transparent;border:1px solid #625c6c;border-radius:50%;color:#f8f8f8}
.motion-toggle[hidden]{display:none}
.motion-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.motion-toggle .play-icon,.motion-toggle.is-paused .pause-icon{display:none}
.motion-toggle.is-paused .play-icon{display:block}
.motion-toggle:hover{border-color:#f8f8f8}
.motion-hero + script + .project-showcase{padding-top:36px;padding-bottom:0}
@media(max-width:620px){
 .motion-hero{height:calc(100svh - 80px);min-height:540px;max-height:950px;padding-top:24px;padding-bottom:24px}
 .motion-top{align-items:flex-start;gap:16px}.motion-top h1{font-size:28px}
 .motion-role{font-size:12px;max-width:15ch}
 .motion-stage{inset:20px 0 96px}
 .motion-bottom{gap:16px;font-size:12px;align-items:flex-end}
 .motion-actions{gap:12px;align-items:flex-end}.motion-actions .text-link{font-size:13px;gap:10px;max-width:13ch}
 .motion-toggle{width:36px;height:36px;padding:8px}
}
@media(max-height:600px) and (min-width:621px){.motion-hero{height:650px}}
@media(prefers-reduced-motion:reduce){.motion-poster{transition:none}}

.client-entry{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding-bottom:100px}
.entry-option{border-top:1px solid var(--line);padding-top:24px;min-width:0}
.entry-option h2{font-size:clamp(34px,4.3vw,64px);margin:26px 0;line-height:1.02}
.entry-option>p{font-size:18px;line-height:1.5;color:#555;max-width:45ch}
.entry-option>.pill-link{margin-top:32px;font-size:15px}
.client-gate{margin-top:30px}.client-gate label{display:block;font-size:14px;margin-bottom:12px}
.client-gate-row{display:flex;gap:15px;align-items:stretch}
.client-gate-row input{flex:1;min-width:0;width:100%;font-size:18px;padding:12px;border:1px solid #999;border-radius:0;background:transparent}
.client-gate-row .button{padding:14px 22px;gap:18px}
.gate-error{font-size:15px;margin-top:12px;color:#ab2400}
.entry-option .gate-help{font-size:14px;margin-top:22px}.gate-help a{text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:1000px) and (min-width:621px){.nav-links{gap:16px}.header-actions{gap:14px}.contact-link{padding:10px 14px;gap:12px}}
@media(max-width:700px){.client-entry{grid-template-columns:1fr;gap:55px;padding-bottom:65px}.entry-option h2{font-size:41px}.client-gate-row .button{padding:14px 18px}.entry-option>p{font-size:17px}}

:root{--brand-gradient:linear-gradient(90deg,#f65406 0%,#a000ff 100%)}
#page-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--brand-gradient);transform:scaleX(0);transform-origin:left;z-index:9999;pointer-events:none;box-shadow:0 0 12px #a000ff50}
.nav-links a[aria-current=page]:after,.nav-links a:hover:after{background:var(--brand-gradient);height:2px}
.slide-progress>span{background:var(--brand-gradient)}
.site-footer{border-top:4px solid transparent;border-image:var(--brand-gradient) 1}

/* The original 42-image slideshow alongside the native symbol animation. */
.hero-pair{display:grid;grid-template-columns:1fr 1fr;background:#000}
.hero-pair>.motion-hero{height:calc(100svh - 102px);min-height:600px;max-height:1050px;padding-inline:var(--gutter)}
.hero-pair .motion-top h1{font-size:clamp(25px,2.5vw,42px)}
.hero-pair .motion-role{display:none}
.hero-pair .motion-bottom{font-size:12px;gap:16px}
.hero-pair .motion-actions{gap:15px}.hero-pair .motion-actions .text-link{font-size:12px;gap:10px}
.original-showcase{position:relative;min-width:0;min-height:600px;height:calc(100svh - 102px);max-height:1050px;background:#0a0a0a;overflow:hidden}
.original-stage{position:absolute;inset:0;overflow:hidden;touch-action:pan-y}
.original-frame{position:absolute;inset:0;display:block;margin:0;object-fit:cover;object-position:var(--slide-focus,50% 50%);width:100%;height:100%;max-width:none;max-height:none;opacity:0;transition:opacity .28s ease;pointer-events:none}
.original-frame.is-active{opacity:1}
.original-controls{position:absolute;left:20px;right:20px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:white;z-index:2;pointer-events:none}
.original-count{font-size:12px;padding:8px 12px;background:#000b;border-radius:20px}
.original-controls>div{display:flex;gap:6px;pointer-events:auto}
.original-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff60;border-radius:50%;padding:9px;background:#000b;color:white}
.original-controls button:hover{background:#a000ff}
.original-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
.original-prev svg{transform:rotate(180deg)}
.original-pause .play-icon,.original-pause.is-paused .pause-icon{display:none}
.original-pause.is-paused .play-icon{display:block}
@media(max-width:800px){
 .hero-pair{grid-template-columns:1fr}
 .hero-pair>.motion-hero{height:65svh;min-height:470px;max-height:700px}
 .original-showcase{min-height:0;height:auto;aspect-ratio:3/4;max-height:1000px}
 .hero-pair .motion-role{display:block}.hero-pair .motion-top h1{font-size:30px}
 .hero-pair .motion-actions .text-link{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.original-frame{transition:none}}

/* A single wordmark in the header; the animated artwork owns the hero. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:621px) and (max-width:860px){.contact-link{display:none}.site-header{gap:18px}}

/* Context for experience, reach and recognition */
.stat{padding-right:28px}
.stat p.stat-context{font-size:15px;line-height:1.55;max-width:34ch;margin-top:16px;color:var(--muted)}
@media(max-width:640px){.stats{grid-template-columns:1fr}.stat{padding:26px 0}.stat+.stat{border-top:1px solid var(--line)}.stat p.stat-context{font-size:15px;max-width:44ch}.stat p:not(.stat-context){font-size:14px;max-width:none}}
