@font-face{font-family:Geist;src:url('/assets/geist-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:GeistMono;src:url('/assets/geist-mono.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#141314;--ink:#efefed;--muted:#aaa6a5;--accent:#ff501b;--paper:#efefed;--gutter:32px;--mono:GeistMono,monospace;--sans:Geist,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px;scrollbar-width:thin;scrollbar-color:#686463 var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0;font-weight:400}h1,h2,h3{line-height:1.03;letter-spacing:-.055em}h2{font-size:clamp(48px,6.4vw,96px)}em{font-style:normal}::selection{background:var(--accent);color:var(--bg)}.eyebrow{font:13px/1.5 var(--mono);letter-spacing:-.025em}.accent{color:#bf3410}.inline-link{display:inline-block;border-bottom:1px solid;padding:0 0 3px;transition:color .2s}.inline-link:hover{color:var(--accent)}
.site-header{position:fixed;z-index:40;inset:0 0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:30px var(--gutter);transition:background .3s,padding .3s}.site-header.scrolled{padding-top:17px;padding-bottom:17px;background:#141314e8;backdrop-filter:blur(15px)}.home-link{justify-self:start;font:900 27px/.83 Arial,sans-serif;letter-spacing:-2px;display:flex;flex-direction:column;align-items:flex-start;transform:scaleX(.83);transform-origin:left center}.home-link span{font:9px/1 var(--mono);letter-spacing:.16em;margin-top:6px}.menu-toggle{display:flex;align-items:center;gap:18px;justify-self:center;font:14px var(--mono);padding:10px 15px}.menu-symbol{display:block;width:17px;height:12px;position:relative}.menu-symbol i{width:17px;height:1px;background:currentColor;position:absolute;left:0;top:3px}.menu-symbol i+i{top:8px}.header-contact{justify-self:end}.split-button{display:inline-flex;align-items:stretch;gap:5px;font:13px/1.25 var(--mono);color:#111;text-align:center}.split-button>span,.split-button>i{background:var(--accent);padding:14px 16px;transition:background .2s,color .2s,transform .3s}.split-button>i{font:20px/1 var(--sans);font-style:normal;display:grid;place-items:center;width:42px;padding:0}.split-button:hover>span,.split-button:hover>i{background:var(--ink);color:var(--bg)}.split-button:hover>i{transform:rotate(90deg)}
.hero{min-height:780px;height:100svh;max-height:1250px;position:relative;overflow:hidden;padding:0 var(--gutter);display:flex;align-items:center;isolation:isolate}.hero-copy{position:relative;z-index:2;width:64%;padding-bottom:10px;pointer-events:none}.hero-copy>*{pointer-events:auto}.hero h1{font-size:clamp(68px,7.1vw,112px);line-height:1.03;letter-spacing:-.059em}.hero-copy>p{max-width:565px;color:var(--muted);font-size:16px;line-height:1.55;margin-top:34px}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:32px}.hero-art{position:absolute;right:-3%;top:65px;width:53%;height:calc(100% - 35px);z-index:0;pointer-events:none;overflow:hidden}.hero-art canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}.hero-art canvas.ready{opacity:1}.statue-fallback{height:110%;width:100%;object-fit:contain;object-position:center top;filter:sepia(1) saturate(6) hue-rotate(335deg);mix-blend-mode:screen;opacity:.55;transition:opacity 1s}.hero-art.loaded .statue-fallback{opacity:0}.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:45px;font:12px var(--mono);color:var(--muted);z-index:3}.hero-bottom>a{margin-left:auto;display:flex;gap:25px;color:var(--ink)}.local-time{margin-left:10px;font-variant-numeric:tabular-nums}
.light-section{background:var(--paper);color:var(--bg);color-scheme:light}.section-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.approach{padding:65px var(--gutter) 0}.approach-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:9%;align-items:start;padding:105px 0 125px}.approach h2{font-size:clamp(50px,6vw,90px)}.approach-copy{max-width:470px}.approach-copy p{font-size:23px;line-height:1.4;letter-spacing:-.035em}.approach-copy p+p{font-size:17px;color:#666;margin-top:25px;letter-spacing:-.02em}.approach-copy a{margin-top:30px}.discipline-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bbb8b7;padding:35px 0;gap:20px}.discipline-strip span{font-size:clamp(20px,2.8vw,42px);letter-spacing:-.055em}.discipline-strip span:not(:first-child){text-align:center}
.work{padding:80px var(--gutter) 115px;overflow:hidden}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:82px 0 75px;gap:40px}.work-heading>div{width:31%;color:var(--muted);line-height:1.55}.work-heading .inline-link{margin-top:24px;color:var(--ink)}.work-controls{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid #454143;margin-bottom:24px}.work-controls>div{display:flex;gap:23px}.project-tab{font:13px var(--mono);padding:9px 0;color:var(--muted)}.project-tab.active{color:var(--ink)}.project-tab.active:before{content:'';width:7px;height:7px;display:inline-block;margin-right:10px;background:var(--accent)}.slide-arrows{gap:8px!important}.slide-arrows button{width:42px;height:37px;border:1px solid #565253;font-size:23px;line-height:1;transition:background .2s,color .2s}.slide-arrows button:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.project-track{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.project-track::-webkit-scrollbar{display:none}.project-card{flex:0 0 86%;min-width:0;scroll-snap-align:start;scroll-margin-top:120px}.project-art{width:100%;position:relative;display:block;aspect-ratio:1.77;overflow:hidden;text-align:left;padding:0}.project-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s}.project-art:hover img{transform:scale(1.04);filter:brightness(.87)}.art-brand{position:absolute;inset:10% auto auto 6%;font-size:clamp(65px,10vw,158px);letter-spacing:-.075em;line-height:.9;color:#fff}.art-brand small{display:block;font:12px/1.5 var(--mono);letter-spacing:.08em;margin-top:18px}.project-enter{position:absolute;right:24px;bottom:24px;font:13px var(--mono);color:#fff;background:#141314bf;padding:13px 17px;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s}.project-art:hover .project-enter,.project-art:focus-visible .project-enter{opacity:1;transform:none}.project-caption{display:flex;align-items:center;gap:35px;margin-top:24px}.project-caption h3{font-size:29px;letter-spacing:-.04em}.project-caption p{font:12px/1.5 var(--mono);color:var(--muted)}.project-open{margin-left:auto;font-size:26px}
.services{padding:65px var(--gutter) 120px}.services-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;padding-top:95px}.services-intro{align-self:start;position:sticky;top:135px}.services-intro h2{font-size:clamp(46px,5.2vw,78px)}.services-intro>p{margin-top:32px;color:#686463}.services-intro>.split-button{margin-top:30px}.light-section .split-button:hover>span,.light-section .split-button:hover>i{background:var(--bg);color:var(--ink)}.service{border-top:1px solid #bdbab9}.service:last-child{border-bottom:1px solid #bdbab9}.service summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;padding:30px 0}.service summary::-webkit-details-marker{display:none}.service-number{font:13px var(--mono);color:#76716e}.service h3{font-size:clamp(25px,2.5vw,38px);letter-spacing:-.04em}.service-plus{width:14px;height:14px;position:relative;margin-left:auto;flex:none}.service-plus:before,.service-plus:after{content:'';position:absolute;top:6px;left:0;width:14px;height:1px;background:currentColor}.service-plus:after{transform:rotate(90deg);transition:transform .25s}.service[open] .service-plus:after{transform:rotate(0)}.service[open] .service-number{color:var(--accent)}.service-content{padding:0 20px 35px 38px;color:#605c59;font-size:16px;max-width:550px;line-height:1.6}.service-content ul{list-style:none;padding:0;margin:23px 0 0;font:13px/1.9 var(--mono);color:var(--bg)}.service-content li:before{content:'— ';color:#8a827e}
.contact{padding:65px var(--gutter) 24px;overflow:hidden}.contact-main{padding:105px 0 110px;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:end}.contact h2{font-size:clamp(60px,7.5vw,115px);line-height:1}.contact h2 span{color:var(--accent)}.contact-side{padding-bottom:7px}.contact-side>p{color:var(--muted);margin-bottom:30px}.contact-link{display:block;margin-top:32px;width:fit-content;font-size:20px;letter-spacing:-.025em;border-bottom:1px solid #777}.footer-nav{display:flex;gap:45px;padding:30px 0;border-top:1px solid #454143;border-bottom:1px solid #454143;font:13px var(--mono)}.footer-nav a:hover{color:var(--accent)}.footer-wordmark{font:900 clamp(100px,23.9vw,400px)/.99 Arial,sans-serif;letter-spacing:-.085em;white-space:nowrap;margin:30px -.8vw 20px;position:relative}.footer-wordmark>span{font-size:2.8vw;letter-spacing:-.03em;vertical-align:top;display:inline-block;margin:2.8vw 0 0 2.1vw;font-weight:400}footer{display:flex;gap:30px;align-items:center;justify-content:space-between;font:11px/1.6 var(--mono);color:var(--muted);padding:15px 0}.legal-link{font:inherit;padding:0;text-align:left}.sound-toggle{font:inherit;display:flex;align-items:center;gap:8px;padding:5px 0}.sound-bars{display:flex;gap:2px;height:11px;align-items:center}.sound-bars i{width:1px;height:4px;background:currentColor}.sound-bars i:nth-child(2){height:9px}.sound-toggle[aria-pressed=true] .sound-bars i{animation:sound .7s infinite alternate}.sound-bars i:nth-child(2){animation-delay:.2s}.sound-bars i:nth-child(3){animation-delay:.4s}@keyframes sound{to{height:11px}}
.overlay{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;border:0;margin:0;padding:0;background:var(--bg);color:var(--ink);overscroll-behavior:contain;overflow-y:auto;opacity:0;transform:translateY(20px);transition:opacity .35s,transform .45s}.overlay[open]{opacity:1;transform:none;animation:dialog-in .45s cubic-bezier(.22,.8,.2,1)}.overlay.closing{opacity:0;transform:translateY(16px)}@keyframes dialog-in{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}.overlay::backdrop{background:#141314aa;backdrop-filter:blur(12px)}.overlay-close{position:fixed;right:32px;top:30px;z-index:5;display:flex;align-items:center;gap:30px;padding:13px 17px;font:13px var(--mono);background:var(--accent);color:var(--bg)}.overlay-close>span{font:22px/1 var(--sans)}.studio-dialog{background:var(--accent);color:var(--bg)}.studio-dialog .overlay-close{background:var(--bg);color:var(--ink)}.studio-layout{padding:65px 7vw 55px;min-height:100%;display:flex;flex-direction:column}.studio-layout nav{padding:65px 0 60px}.studio-layout nav>a{display:flex;align-items:baseline;gap:28px;font-size:clamp(47px,6.6vw,95px);letter-spacing:-.06em;line-height:1.12;width:fit-content;transition:transform .3s}.studio-layout nav>a:hover{transform:translateX(18px)}.studio-layout nav>a>span{font:12px var(--mono);letter-spacing:0;width:25px}.studio-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #14131466;padding-top:24px;font-size:17px}.studio-bottom a{border-bottom:1px solid}
.index-layout{padding:115px var(--gutter) 70px}.index-layout>h2{margin:30px 0 60px}.index-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.index-grid>:is(button,a){padding:0;text-align:left}.index-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}.index-grid>:is(button,a)>span{display:flex;justify-content:space-between;font-size:32px;letter-spacing:-.045em;margin-top:20px}.index-grid small{display:block;font:12px var(--mono);color:var(--muted);margin-top:10px}.detail-image{height:80svh;min-height:400px;position:relative;overflow:hidden}.detail-image>img{width:100%;height:100%;object-fit:cover}.detail-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,var(--bg))}.detail-brand{position:absolute;left:6vw;top:15%;font-size:clamp(95px,20vw,310px);letter-spacing:-.07em;line-height:1}.detail-image-label{position:absolute;left:6vw;bottom:55px;font:12px var(--mono);z-index:1}.detail-body{padding:50px 10vw 90px}.detail-body>h2{margin:25px 0 40px}.detail-lead{font-size:23px;line-height:1.45;max-width:690px;letter-spacing:-.025em;color:var(--muted)}.detail-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin:80px 0 100px}.detail-columns h3{font-size:29px;margin-bottom:20px;line-height:1.13}.detail-columns p{font-size:16px;line-height:1.6;color:var(--muted)}.formats{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:25px;margin-top:30px}.format{position:relative;overflow:hidden;aspect-ratio:4/5;background:#393433;padding:22px;color:#fff}.format:nth-child(2){aspect-ratio:9/16;margin-top:40px}.format:nth-child(3){aspect-ratio:1;margin-top:80px}.format img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.68)}.format span,.format p{position:relative}.format>span{font:12px var(--mono)}.format p{font-size:clamp(27px,3.7vw,60px);letter-spacing:-.065em;line-height:.95;margin-top:35%}.format small{position:absolute;bottom:20px;left:22px;font:11px var(--mono)}.detail-end{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #494444;margin-top:80px;padding-top:30px}.detail-end p{font-size:28px;letter-spacing:-.035em}.text-link{border-bottom:1px solid;padding-bottom:5px}.concept-note{font-size:13px;line-height:1.7;color:var(--muted);max-width:630px;margin:50px 0}.next-project{display:flex;width:100%;justify-content:space-between;border-top:1px solid #494444;padding:30px 0 0;font-size:36px;letter-spacing:-.04em}.legal-dialog>div{padding:130px 32px 75px;margin:auto;max-width:800px}.legal-dialog h2{margin:25px 0 50px;font-size:70px}.legal-dialog p:not(.eyebrow){margin-top:25px;color:var(--muted);line-height:1.65}
.skip-link{position:fixed;top:0;left:30px;transform:translateY(-120%);z-index:200;background:var(--accent);color:var(--bg);padding:15px}.skip-link:focus{transform:none}.noscript-note{position:fixed;bottom:0;left:0;background:var(--bg);padding:10px;z-index:50;font-size:14px}.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){:root{--gutter:3vw}.hero-art{right:0;width:48%}.hero-copy{width:60%}}
@media(max-width:1000px){:root{--gutter:24px}.hero{min-height:760px}.hero h1{font-size:8.2vw}.hero-copy{width:69%}.hero-copy>p{max-width:440px}.hero-art{right:-12%;width:67%;opacity:.8}.hero-bottom{gap:22px}.hero-bottom>a{font-size:0;gap:0}.hero-bottom>a>span{font-size:20px}.approach-layout{gap:7%;padding:80px 0 95px}.approach-copy p{font-size:20px}.work-heading>div{width:38%}.services-layout{gap:5%;grid-template-columns:1fr 1.25fr}.service h3{font-size:27px}.service-content{padding-left:0}.contact-main{gap:6%}footer{gap:18px;font-size:10px}.project-caption{gap:20px}.project-caption p{font-size:11px}.footer-nav{gap:30px}}
@media(max-width:700px){:root{--gutter:20px}.site-header{padding-top:20px;padding-bottom:20px;grid-template-columns:1fr auto auto;gap:22px}.home-link{font-size:25px}.header-contact{display:none}.menu-toggle{grid-column:3;padding-right:0}.hero{height:100svh;min-height:750px;max-height:1000px;align-items:flex-start}.hero-copy{width:100%;padding:172px 0 0}.hero h1{font-size:clamp(48px,10.8vw,75px);line-height:1.04;letter-spacing:-.055em}.hero-copy>p{font-size:15px;max-width:330px;margin-top:28px;padding-right:10px;color:#b9b4b2}.hero-actions{gap:18px;margin-top:27px;align-items:center;flex-wrap:wrap}.hero-actions .inline-link{font-size:14px}.split-button{font-size:12px}.split-button>span{padding:14px 12px}.split-button>i{width:38px}.hero-art{height:82%;width:110%;top:150px;right:-45%;opacity:.52;mask-image:linear-gradient(to bottom,transparent,black 16%,black 90%,transparent)}.hero-bottom{bottom:24px;gap:18px;flex-wrap:wrap;font-size:10px;max-width:75%}.hero-bottom>span:first-child{width:100%}.hero-bottom>a{margin-left:0}.hero-copy:before{content:'';position:absolute;inset:160px -25px -30px;background:linear-gradient(90deg,#141314f0 10%,#141314b0 64%,transparent);z-index:-1;pointer-events:none}.section-top{align-items:start}.section-top>.eyebrow{font-size:10px;max-width:48%}.section-top>:last-child{text-align:right}.approach{padding-top:40px}.approach-layout{grid-template-columns:1fr;gap:37px;padding:65px 0 70px}.approach h2{font-size:clamp(43px,10.8vw,65px)}.approach-copy{max-width:90%}.approach-copy p{font-size:21px}.approach-copy p+p{font-size:16px}.discipline-strip{grid-template-columns:1fr 1fr;padding:25px 0;gap:18px}.discipline-strip span,.discipline-strip span:not(:first-child){font-size:23px;text-align:left}.work{padding-top:40px;padding-bottom:75px}.work-heading{display:block;padding:60px 0 40px}.work-heading h2{font-size:62px}.work-heading>div{width:auto;margin-top:32px}.work-heading>div p{font-size:16px}.work-heading .inline-link{margin-top:18px}.project-tab{font-size:11px}.work-controls>div{gap:16px}.slide-arrows button{width:34px;height:34px;font-size:20px}.project-card{flex-basis:100%}.project-art{aspect-ratio:4/5}.project-art img{object-position:46% center}.art-brand{font-size:78px;left:7%;top:9%}.art-brand small{font-size:10px;margin-top:15px;letter-spacing:.02em}.project-enter{opacity:1;transform:none;font-size:11px;right:16px;bottom:16px}.project-caption{position:relative;display:block;padding-right:28px;margin-top:18px}.project-caption h3{font-size:29px}.project-caption p{font-size:10px;margin-top:10px;line-height:1.8}.project-open{position:absolute;right:0;top:0}.services{padding-top:40px;padding-bottom:75px}.services-layout{grid-template-columns:1fr;gap:50px;padding-top:60px}.services-intro{position:static}.services-intro h2{font-size:55px}.services-intro>p{margin-top:25px}.service summary{gap:14px;padding:26px 0}.service h3{font-size:27px}.service-content{padding-bottom:28px;padding-right:4px}.contact{padding-top:40px}.contact-main{grid-template-columns:1fr;gap:40px;padding:65px 0 65px}.contact h2{font-size:clamp(57px,13vw,86px)}.contact-side>p{font-size:16px}.contact-link{font-size:19px}.footer-nav{gap:25px 21px;flex-wrap:wrap;font-size:11px;padding:25px 0}.footer-wordmark{font-size:23vw;margin:30px -2px 15px}.footer-wordmark>span{font-size:12px;margin-top:10px;margin-left:10px}footer{flex-wrap:wrap;gap:17px 24px;font-size:10px;justify-content:start}footer>:nth-child(odd){width:calc(65% - 24px)}footer>:nth-child(even){margin-left:auto}.overlay-close{right:20px;top:20px;font-size:11px;padding:11px 13px}.studio-layout{padding:85px 25px 40px}.studio-layout nav{padding:45px 0 50px}.studio-layout nav>a{font-size:54px;line-height:1.18;gap:18px}.studio-bottom{display:block;font-size:16px}.studio-bottom a{display:inline-block;margin-top:25px}.index-layout{padding:100px 20px 50px}.index-layout>h2{font-size:49px;margin:25px 0 35px}.index-grid{grid-template-columns:1fr;gap:40px}.index-grid>:is(button,a)>span{font-size:28px}.detail-image{height:65svh;min-height:400px}.detail-brand{font-size:105px;left:20px;top:25%}.detail-image-label{left:20px;bottom:30px;font-size:10px}.detail-body{padding:30px 20px 60px}.detail-body>h2{font-size:51px}.detail-lead{font-size:20px}.detail-columns{grid-template-columns:1fr;gap:35px;margin:50px 0 65px}.detail-columns h3{font-size:29px;margin-bottom:14px}.formats{grid-template-columns:1fr;gap:25px;max-width:400px;margin:25px auto 0}.format:nth-child(n){margin-top:0}.format p{font-size:62px}.detail-end{display:block;margin-top:50px}.detail-end p{font-size:28px;margin-bottom:20px}.next-project{font-size:27px;gap:15px}.legal-dialog>div{padding:115px 24px 60px}.legal-dialog h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}.project-art:hover img{transform:none}}
.home-link{transform:none;flex-direction:row;gap:11px;align-items:center;letter-spacing:-1.4px;font-size:23px}.home-link .brand-mark>img{width:auto;height:43px;object-fit:contain;flex:none}.home-link .brand-name{font:900 23px/.85 Arial,sans-serif;letter-spacing:-1.3px;margin:0}.home-link small{display:block;font:9px/1 var(--mono);letter-spacing:.2em;margin-top:6px}.footer-wordmark{display:flex;align-items:center;gap:3.5vw;font-size:21vw}.footer-wordmark>img{width:8.8vw;height:16vw;object-fit:contain;flex:none}
/* Light editorial menu, with the existing campaign previews. */
.studio-dialog{background:var(--paper);color:var(--bg);height:auto;min-height:590px;max-height:90svh}.studio-dialog .overlay-close{background:transparent;color:var(--bg);right:calc(50% - 88px)}.studio-layout{display:grid;grid-template-columns:1fr .8fr 1.45fr;gap:50px 35px;padding:30px var(--gutter) 65px;min-height:0}.studio-layout>#studio-heading{grid-column:1/-1;display:flex;align-items:center;gap:12px;height:44px}.studio-layout>#studio-heading img{filter:brightness(0);height:42px;width:auto;flex:none}.studio-layout nav{padding:12px 0 0}.studio-layout nav>a{font-size:clamp(36px,4.25vw,65px);line-height:1.27;gap:18px}.studio-layout nav>a:hover{color:#d83c0e;transform:translateX(8px)}.studio-layout nav>a>span{color:#79736f;font-size:11px;width:17px}.studio-bottom{border:0;padding:20px 0 0;display:block;margin:0;font-size:16px;align-self:start}.studio-bottom a{display:inline-block;margin-top:8px;overflow-wrap:anywhere;border:0}.studio-bottom>p:nth-of-type(2){margin-top:32px}.studio-bottom>p:last-child{margin-top:40px;color:#605c59;font-size:12px;line-height:1.9}.menu-projects{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:10px}.menu-projects button{padding:0;text-align:left;align-self:start}.menu-projects img{width:100%;height:340px;object-fit:cover;filter:grayscale(1);transition:filter .4s}.menu-projects button:hover img{filter:grayscale(0)}.menu-projects span{display:block;font:11px var(--mono);margin-top:13px}
@media(max-width:1000px) and (min-width:701px){.studio-layout{grid-template-columns:1fr 1fr}.menu-projects{grid-column:1/-1}.menu-projects img{height:240px}.studio-dialog{max-height:100svh}}
@media(max-width:700px){.studio-dialog{height:100%;max-height:100%;min-height:0}.studio-layout{display:block;padding:23px 20px 40px}.studio-dialog .overlay-close{right:15px;top:20px}.studio-layout>#studio-heading{font-size:11px}.studio-layout nav{padding:46px 0 40px}.studio-layout nav>a{font-size:52px;line-height:1.22}.studio-bottom{padding-top:23px;border-top:1px solid #aaa5a1}.studio-bottom>p:nth-of-type(2){display:none}.studio-bottom>p:last-child{margin-top:24px}.menu-projects{display:none}}
.studio-dialog{bottom:auto}

/* Motion vocabulary observed on good-fella.com; original Kaiman implementation. */
:root{--ease:cubic-bezier(.625,.05,0,1);--square:42px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-curtain{position:fixed;inset:0;z-index:1000;background:var(--accent);color:var(--bg);display:grid;place-items:center;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}
.page-curtain.done{visibility:hidden}
.layout-grid{position:fixed;inset:0 var(--gutter);z-index:900;display:grid;grid-template-columns:repeat(12,1fr);gap:24px;pointer-events:none;opacity:0;transition:opacity .25s}.layout-grid i{background:color-mix(in srgb,var(--accent) 16%,transparent);border-inline:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.grid-on .layout-grid{opacity:1}
.split-button{position:relative;display:inline-grid;grid-template-columns:auto var(--square);align-items:stretch;gap:6px;padding:0;isolation:isolate;color:var(--bg);min-height:var(--square);font:13px/1.25 var(--mono);vertical-align:middle;margin-right:0}
/* One label and one fixed icon; the same footprint before and after JS starts. */
.split-button>span{grid-column:1;grid-row:1;padding:13px 16px;display:flex;align-items:center;justify-content:center;background:var(--accent);white-space:nowrap;transition:background .2s,color .2s}
.split-button>i{font:20px/1 var(--sans);font-style:normal;display:grid;place-items:center;grid-column:2;grid-row:1;width:var(--square);padding:0;background:var(--accent);transition:background .2s,color .2s}
.split-button:is(:hover,:focus-visible)>span,.split-button:is(:hover,:focus-visible)>i,.light-section .split-button:is(:hover,:focus-visible)>span,.light-section .split-button:is(:hover,:focus-visible)>i{background:color-mix(in srgb,var(--accent) 88%,#fff);color:var(--bg);transform:none}
.split-button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.light-section .split-button:focus-visible{outline-color:var(--bg)}
.inline-link,.contact-link,.text-link{position:relative;border:0;padding-bottom:3px;transition:color .25s;width:fit-content}
.inline-link:before,.text-link:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor}.inline-link.underline-ready:before,.text-link.underline-ready:before{display:none}.underline-track{position:absolute;bottom:0;left:0;width:100%;height:1px;overflow:hidden;pointer-events:none}.underline-track>i{position:absolute;inset:0;background:currentColor;transform:scaleX(0);transform-origin:left;pointer-events:none}.inline-link.underline-ready[data-underline-active=true],.text-link.underline-ready[data-underline-active=true]{color:var(--accent)}
.underline-track,.underline-track>i{transition:none!important}
.scramble{display:inline-block;position:relative}.scramble-original{color:transparent!important}.scramble-live{position:absolute;inset:0;pointer-events:none;white-space:pre-wrap}.scramble-noise{color:var(--accent)}
.wipe-line{position:relative;display:block;width:fit-content;max-width:100%;isolation:isolate;padding-right:.04em}.wipe-text{opacity:1}.js .wipe-ready:not(.wiped) .wipe-text{opacity:0}.wipe-brand,.wipe-ink{position:absolute;inset:-.025em 0 -.06em;pointer-events:none;transform:scaleX(0);transform-origin:left;z-index:2;background:var(--accent)}.wipe-ink{background:currentColor;z-index:3}
.js .wipe-playing .wipe-brand{animation:line-wipe .95s var(--ease) both;animation-delay:var(--line-delay)}.js .wipe-playing .wipe-ink{animation:line-wipe .87s var(--ease) both;animation-delay:calc(var(--line-delay) + .09s)}.js .wipe-playing .wipe-text{animation:line-text .95s linear both;animation-delay:var(--line-delay)}
@keyframes line-wipe{0%{transform:scaleX(0);transform-origin:left}43%{transform:scaleX(1);transform-origin:left}49.9%{transform:scaleX(1);transform-origin:left}50%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}@keyframes line-text{0%,42%{opacity:0}43%,100%{opacity:1}}
.site-header{inset:0 var(--gutter) auto;padding:30px 16px;transition:background .55s,padding .55s,top .55s,color .35s}.site-header:not(.scrolled){inset-inline:16px}.site-header.scrolled{top:16px;padding:16px;background:#ffffff21;backdrop-filter:blur(18px);color:var(--ink)}.site-header.on-light{color:var(--bg);background:#1413141a}.site-header.on-light .home-link .brand-mark>img{filter:brightness(0)}.header-contact{margin-right:calc(-1 * (var(--square) + 6px))}.home-link .brand-mark>img{transition:filter .4s}.brand-name{overflow:hidden}
.menu-symbol i{transition:transform .55s var(--ease),top .55s var(--ease)}.menu-toggle[aria-expanded=true] .menu-symbol i{top:5px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-symbol i+i{transform:rotate(-45deg)}
.hero{min-height:650px;max-height:none}.hero h1{font-size:clamp(64px,6.65vw,105px)}.hero-art{pointer-events:auto;outline-offset:-10px!important;cursor:grab;right:0;width:45%;top:65px;height:calc(100% - 65px)}.hero-art:active{cursor:grabbing}.hero-art:focus-visible{outline:1px dashed var(--accent)}.hero-copy{width:66%}.hero-copy>p{max-width:580px}.hero-bottom>a span{animation:scroll-cue 2s var(--ease) infinite}@keyframes scroll-cue{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
.approach{padding-bottom:100px}.approach-layout{padding:90px 0}.approach h2{font-size:clamp(48px,5.3vw,80px)}.studio-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;align-items:end}.stat-art{aspect-ratio:1.15;position:relative;overflow:hidden;background:var(--bg)}.stat-art>img:first-child{height:100%;width:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter 1s}.stat-art:hover>img:first-child{transform:scale(1.12);filter:saturate(.4)}.stat-art>span{position:absolute;top:20px;left:20px;color:white;font:12px/1.4 var(--mono)}.stat-art .stat-glyph{position:absolute;bottom:20px;right:20px;width:30px;height:52px;transition:transform .8s var(--ease)}.stat-art:hover .stat-glyph{transform:rotateY(180deg)}.stat{border-bottom:1px solid #bdbab9;padding-bottom:25px}.stat>p{font:11px/1.5 var(--mono);margin-top:20px}.odometer{display:flex;font-size:clamp(70px,8.5vw,135px);line-height:1;letter-spacing:-.07em;height:1em;overflow:hidden;font-variant-numeric:tabular-nums}.digit-window{position:relative;height:1em;width:.65em;overflow:hidden}.digit-reel{display:flex;flex-direction:column;will-change:transform}.digit-reel>span{height:1em;flex:none}
.process{position:relative;height:340svh;padding:0 var(--gutter)}.process-pin{position:sticky;top:0;height:100svh;min-height:690px;display:flex;align-items:center}.process-inner{width:min(100%,970px);margin:auto;padding:115px 0 55px}.process-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:55px}.process-heading h2{font-size:clamp(44px,4.3vw,64px)}.process-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.process-steps{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.process-step{display:flex;align-items:baseline;text-align:left;gap:16px;padding:0 0 0 12px;color:#999;transform:translateX(0);transition:color .65s,transform .8s var(--ease)}.process-step>span:last-child{display:block}.step-number{font:13px var(--mono);flex:none;opacity:.65}.process-step strong{display:block;font-size:clamp(22px,2.3vw,33px);line-height:1.1;letter-spacing:-.05em;font-weight:400;margin-bottom:12px}.process-step>span>span{display:block;line-height:1.5;font-size:15px;max-width:360px;opacity:.65}.process-step.active{color:var(--bg);transform:translateX(36px)}.process-step.active>span>span{opacity:.75}.process-step:hover{color:var(--bg)}.process-indicator{position:absolute;top:8px;left:20px;width:10px;height:10px;background:var(--accent);transition:transform .8s var(--ease)}.process-visual{position:relative;aspect-ratio:2/3;min-height:420px;background:var(--bg);overflow:hidden}.process-frame{position:absolute;inset:0;clip-path:inset(100% 0 0);z-index:0;visibility:hidden}.process-frame.active{clip-path:inset(0);z-index:2;visibility:visible}.process-frame.departing{visibility:visible;z-index:1}.process-frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.75)}.process-frame:first-child img{object-position:50% 20%;object-fit:contain}.process-frame:last-of-type img{object-fit:cover}.process-visual-copy{position:absolute;top:35px;left:30px;color:white;font-size:clamp(27px,3.1vw,44px);letter-spacing:-.055em;line-height:1.05}.process-counter{position:absolute;bottom:24px;left:30px;z-index:4;color:var(--ink);font:12px var(--mono)}.process-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff30;z-index:5}.process-progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(var(--process-progress,0));transform-origin:left}
.work{overflow:visible;padding:128px var(--gutter);display:grid;grid-template-columns:1fr 2fr;gap:40px;position:relative}.work-rail{position:sticky;top:135px;align-self:start;height:calc(100svh - 170px);min-height:500px;max-height:900px;display:flex;align-items:flex-start;flex-direction:column}.work-rail>h2{font-size:clamp(50px,5vw,76px);margin:25px 0 30px}.work-rail>p:not(.eyebrow){font-size:16px;color:#8f8b8b;max-width:330px;line-height:1.55}.work-rail>.split-button{margin-top:auto}.work-thumbnails{position:relative;display:flex;flex-direction:column;gap:8px;margin:50px 0 30px;padding-right:20px;width:150px}.project-tab{position:relative;text-align:left;padding:0;opacity:.35;transition:opacity .5s}.project-tab img{width:130px;aspect-ratio:1.7;object-fit:cover;filter:grayscale(1);transition:filter .7s,transform .7s var(--ease)}.project-tab span{position:absolute;inset:auto 8px 6px;font-size:9px;color:white}.project-tab.active,.project-tab:hover{opacity:1}.project-tab.active img,.project-tab:hover img{filter:grayscale(0)}.project-tab.active:before{display:none}.work-progress{position:absolute;right:0;top:0;width:6px;height:calc((100% - 8px)/2);background:var(--accent);transition:transform .6s var(--ease)}.project-track{display:flex;flex-direction:column;gap:85px;overflow:visible;scroll-snap-type:none;min-width:0}.project-card{flex:none;width:100%;scroll-margin-top:125px}.project-art{aspect-ratio:1.7;isolation:isolate;cursor:none}.project-art>img{transform:scale(1.12) translateY(var(--image-y,0px));transition:filter .65s;will-change:transform}.project-art:hover>img{transform:scale(1.12) translateY(var(--image-y,0px));filter:brightness(.82)}.project-art:after,.image-reveal:after{content:'';position:absolute;inset:0;background:var(--accent);transform-origin:right;transform:scaleX(0);pointer-events:none}.js .project-card:not(.image-visible) .project-art:after,.js .image-reveal:not(.image-visible):after{transform:scaleX(1)}.project-card.image-visible .project-art:after,.image-reveal.image-visible:after{transition:transform 1.1s var(--ease)}.art-brand{font-size:clamp(70px,8vw,140px)}.project-enter{inset:0 auto auto 0;right:auto;bottom:auto;padding:7px 10px;background:var(--accent);color:var(--bg);font:12px var(--mono);white-space:nowrap;opacity:0;transform:translate(-50%,-50%) scale(.7);transition:opacity .2s,scale .45s var(--ease);pointer-events:none;z-index:5;will-change:left,top}.project-art:hover .project-enter{transform:translate(-50%,-50%);opacity:1}.project-art:focus-visible .project-enter{left:50%!important;top:50%!important;opacity:1;transform:translate(-50%,-50%)}.project-caption{gap:15px;flex-wrap:wrap;margin-top:20px}.project-caption h3{font:18px var(--mono);letter-spacing:-.05em}.project-caption p{margin-left:auto;font-size:10px}.project-open{display:none}
.services{padding-block:110px}.services-layout{grid-template-columns:1fr;padding-top:60px;gap:60px}.services-intro{position:static;display:grid;grid-template-columns:1.2fr 1fr;align-items:start;gap:30px}.services-intro h2{grid-row:span 2;font-size:clamp(44px,4.5vw,68px)}.services-intro>p{margin:5px 0 0}.services-intro>.split-button{margin-top:0;justify-self:start}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 65px}.service{border-top:1px solid #bdbab9;position:relative}.service:last-child{border-bottom:0}.service .service-heading{padding:30px 0 20px;gap:15px}.service h3{font:20px var(--mono);text-transform:uppercase;letter-spacing:-.05em;transition:transform .6s var(--ease)}.service:hover h3{transform:translateX(14px)}.service:hover .service-number{color:var(--accent)}.service:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--bg);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}.service:hover:before{transform:scaleX(1)}.service-content{padding:0 15px 36px 31px;max-width:560px}.service-content ul{font-size:12px}.service-plus:after{transition:transform .65s var(--ease)}details[open]>.summary .service-plus:after,details[open]>summary .service-plus:after{transform:rotate(0)}
.faq{padding:110px var(--gutter);display:grid;grid-template-columns:1fr 1.5fr;gap:8%}.faq>h2{font-size:clamp(50px,5.2vw,78px)}.faq-item{border-bottom:1px solid #444}.faq-item:first-child{border-top:1px solid #444}.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0;font:13px/1.6 var(--mono);cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{max-width:90%}.faq-item summary:hover .service-plus{color:var(--accent)}.faq-answer{padding:0 35px 30px 0;font-size:16px;color:var(--muted);line-height:1.65;max-width:660px}
.contact{padding:70px var(--gutter) 125px;position:relative;z-index:2;overflow:visible}.contact-main{padding:70px 0 0;grid-template-columns:1fr .8fr;gap:10%;align-items:center}.contact h2{font-size:clamp(58px,5.6vw,84px)}.contact-image{position:relative;overflow:hidden;aspect-ratio:1.6;margin-top:45px;background:var(--bg)}.contact-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}.contact-image:hover img{transform:scale(1.08)}.contact-side h3{font-size:clamp(26px,2.5vw,38px);line-height:1.2;letter-spacing:-.045em}.contact-side>.contact-link{margin-top:32px;font-size:18px}.contact-side>.split-button{margin-top:26px}.contact-side>p{margin-top:70px;color:#666;font-size:15px;margin-bottom:0}
.footer-reveal{height:88svh;min-height:690px;position:relative;clip-path:inset(0);background:var(--bg)}.footer-stage{position:fixed;inset:auto 0 0;height:88svh;min-height:690px;width:100%;padding:55px var(--gutter) 30px;display:block;color:var(--ink);overflow:hidden;background:var(--bg);font:14px/1.5 var(--sans)}.footer-content{position:relative;z-index:2;opacity:var(--footer-opacity,1);transform:translateY(var(--footer-y,0px));pointer-events:none}.footer-content a,.footer-content button{pointer-events:auto}.footer-top{display:grid;grid-template-columns:1fr 1fr .9fr;gap:50px;align-items:start}.footer-brand{display:flex;align-items:center;gap:15px;width:fit-content;font:26px/.88 var(--sans);letter-spacing:-.04em}.footer-brand img{width:auto;height:47px;transition:transform .8s var(--ease)}.footer-top>div:first-child>p{color:#aaa;margin:24px 0 20px}.footer-top .inline-link{display:block;font-size:14px}.footer-nav{display:flex;flex-direction:column;gap:13px;padding:0;border:0;text-align:center;align-items:center;font:14px var(--mono)}.footer-tools>.inline-link{margin-bottom:10px;color:#bbb}.play-controls{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:35px}.play-controls button{display:flex;align-items:center;gap:10px;font:12px var(--mono);padding:0;color:#aaa;transition:color .3s}.play-controls button:hover,.play-controls button[aria-pressed=true]{color:var(--accent)}kbd{font:inherit;background:#ffffff15;padding:4px;min-width:23px;display:inline-block;text-align:center}.footer-signoff{position:absolute;top:calc(88svh - 260px);left:50%;transform:translateX(-50%);text-align:center;color:#999;font-size:13px;line-height:1.7;white-space:nowrap}.footer-signoff a{font:10px var(--mono);margin:16px auto 0;display:block}.footer-hands{position:absolute;inset:29% 0 -5%;display:flex;transform:translateY(var(--hands-y,0px));will-change:transform}.hand-stage{position:relative;flex:1;min-width:0;padding:0;overflow:visible;cursor:grab}.hand-stage:active{cursor:grabbing}.hand-stage>img{position:absolute;width:200%;max-width:none;inset:0 auto 0 0;height:100%;object-fit:cover;object-position:center;filter:sepia(1) saturate(5);opacity:.35;pointer-events:none}.hand-stage:last-child>img{left:-100%}.hand-stage.loaded>img{opacity:0}.hand-stage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .8s}.hand-stage canvas.ready{opacity:1}
.studio-dialog{overflow-x:hidden;transform-origin:top;transition:clip-path .6s var(--ease),opacity .6s;animation:none!important;clip-path:inset(0)}.studio-dialog[open]{animation:menu-open .85s var(--ease)!important}.studio-dialog.closing{transform:none;clip-path:inset(0 0 100%);opacity:1}.studio-dialog[open] .studio-layout nav>a,.studio-dialog[open] .studio-bottom,.studio-dialog[open] .menu-projects button{animation:menu-item .8s var(--ease) both;animation-delay:calc(.14s + var(--item-delay,0s))}.studio-layout nav>a{position:relative;transition:transform .7s var(--ease),color .4s}.studio-layout nav>a>span{opacity:0;width:12px}.studio-layout nav>a:before{content:'';width:11px;height:11px;position:absolute;top:50%;left:0;background:var(--accent);transform:translateY(-50%) rotate(-45deg) scale(0);transition:transform .65s var(--ease)}.studio-layout nav>a:is(:hover,:focus-visible):before{transform:translateY(-50%) rotate(0) scale(1)}.studio-layout nav>a:hover{transform:translateX(16px);color:var(--bg)}.menu-projects button{overflow:hidden}.menu-projects img{transition:filter .8s,transform 1s var(--ease)}.menu-projects button:hover img{transform:scale(1.045)}.menu-projects span{position:relative;background:var(--paper);padding-top:12px;margin:0}.studio-dialog .overlay-close{transition:color .3s}.studio-dialog .overlay-close:hover{color:var(--accent)}@keyframes menu-open{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes menu-item{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}
.contact-dialog{inset:5svh auto auto 50%;transform:translateX(-50%);width:min(740px,calc(100% - 40px));height:auto;max-height:90svh;border:1px solid #424040;animation:none!important;overflow:auto}.contact-dialog[open]{transform:translateX(-50%);animation:brief-in .65s var(--ease)!important}.contact-dialog.closing{transform:translateX(-50%) translateY(35px);opacity:0}.contact-dialog .overlay-close{position:absolute;top:24px;right:24px;font-size:10px;gap:20px;background:#ffffff12;color:var(--ink)}.brief-layout{padding:50px}.brief-layout>h2{font-size:65px;margin:35px 0 24px}.brief-layout>p:not(.eyebrow){color:var(--muted)}#brief-form{margin-top:35px}.brief-field{display:block;position:relative;margin:22px 0;border-bottom:1px solid #555}.brief-field:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}.brief-field:focus-within:after{transform:scaleX(1)}.brief-field>span,.brief-topics legend{display:block;font:10px var(--mono);color:#999;transition:color .3s}.brief-field:focus-within>span{color:var(--accent)}.brief-field input,.brief-field textarea{border:0;border-radius:0;background:transparent;color:var(--ink);width:100%;padding:12px 0;font:17px/1.5 var(--sans);outline:0;resize:vertical}.brief-field input::placeholder,.brief-field textarea::placeholder{color:#777}.brief-topics{border:0;padding:8px 0 0;display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.brief-topics legend{margin-bottom:12px}.brief-topics label{position:relative;cursor:pointer}.brief-topics input{position:absolute;opacity:0}.brief-topics label>span{display:block;padding:9px 14px;font:12px var(--mono);border:1px solid #555;transition:background .4s,color .4s,transform .6s var(--ease)}.brief-topics input:checked+span{background:var(--accent);color:var(--bg);border-color:var(--accent)}.brief-topics label:hover>span{transform:translateY(-3px)}.brief-topics input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}.form-note,.form-status{font-size:12px;color:#999;line-height:1.6;margin-top:20px;max-width:450px}.form-status{color:var(--ink)}@keyframes brief-in{from{opacity:0;transform:translateX(-50%) translateY(50px) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
@media(max-width:1000px){.process-layout{gap:50px}.process-inner{padding-top:105px}.process-heading{margin-bottom:35px}.process-visual{min-height:380px}.process-step strong{font-size:27px}.process-step>span>span{font-size:14px}.process-steps{gap:20px}.work{gap:26px;grid-template-columns:1fr 1.7fr}.project-caption p{width:100%;margin:0}.work-rail{top:115px}.footer-top{gap:30px}.footer-signoff{top:calc(88svh - 220px)}}
@media(max-height:760px) and (min-width:761px){.process-pin{min-height:580px}.process-inner{padding-top:100px;padding-bottom:25px;width:min(100%,1020px)}.process-heading{margin-bottom:25px}.process-heading h2{font-size:45px}.process-layout{grid-template-columns:1.2fr 1fr;gap:70px}.process-visual{aspect-ratio:auto;height:410px;min-height:0}.process-steps{gap:15px}.process-step strong{font-size:25px;margin-bottom:8px}.process-step>span>span{font-size:13px}.process-step.active{transform:translateX(28px)}.process-indicator{left:14px}.work-rail{min-height:440px;top:110px}.work-thumbnails{margin-top:25px}.work-rail>h2{margin:18px 0;font-size:55px}.work-rail>p:not(.eyebrow){font-size:14px}.work-thumbnails{width:115px}.project-tab img{width:95px}.project-tab span{font-size:8px}.footer-reveal,.footer-stage{min-height:610px}.footer-stage{padding-top:35px}.footer-hands{inset:35% 0 -15%}.footer-signoff{top:390px}}
@media(max-width:760px){:root{--square:39px}.site-header{inset-inline:16px;padding-inline:8px}.site-header:not(.scrolled){inset-inline:12px}.site-header.scrolled{top:10px;padding:12px 8px}.header-contact{font-size:10px}.split-button>span{padding:12px 13px}.home-link .brand-name{font-size:18px}.home-link .brand-mark>img{width:auto;height:33px}.home-link{gap:8px}.menu-toggle{font-size:11px;gap:10px;padding:10px}.hero{height:100svh;min-height:700px;align-items:flex-start;padding-top:165px}.hero-copy{width:100%}.hero h1{font-size:clamp(48px,8.8vw,66px)}.hero-copy>p{font-size:15px;max-width:80%;margin-top:25px}.hero-actions{margin-top:24px;gap:15px;font-size:13px}.hero-art{width:63%;right:-8%;top:38%;height:65%;opacity:.8}.hero-copy{pointer-events:none}.hero-copy>*{pointer-events:auto}.hero-bottom{font-size:10px;bottom:22px;gap:20px}.hero-bottom>span:first-child{display:none}.hero-bottom>a{gap:10px}.approach{padding-bottom:70px}.approach-layout{padding:55px 0;gap:35px;grid-template-columns:1fr}.approach-copy p{font-size:20px}.approach h2{font-size:47px}.studio-stats{grid-template-columns:1fr 1fr;gap:35px 20px}.odometer{font-size:80px}.stat-art{aspect-ratio:1.35}.stat>p{font-size:10px}.process{height:auto;padding-block:50px 65px}.process-pin{position:static;height:auto;min-height:0}.process-inner{padding:0;width:100%}.process-heading{display:block;margin-bottom:35px}.process-heading h2{font-size:43px}.process-heading>p{margin-top:18px}.process-layout{display:flex;flex-direction:column;gap:32px}.process-steps{gap:0}.process-step{padding:20px 0;border-top:1px solid #ccc;transform:none!important;width:100%;gap:13px}.process-step strong{font-size:25px}.process-step>span>span{font-size:14px;max-width:none;opacity:.8}.process-step.active{padding-left:18px}.process-indicator{left:0;top:24px;width:7px;height:7px}.process-visual{aspect-ratio:1.2;min-height:0;order:-1}.process-frame:first-child img{object-position:50% 35%;object-fit:cover}.process-visual-copy{font-size:38px}.work{padding-block:65px;display:block}.work-rail{position:static;height:auto;min-height:0;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:25px 15px;margin-bottom:45px}.work-rail>.eyebrow{grid-column:1/-1}.work-rail>h2{margin:0;font-size:51px;grid-row:span 2}.work-rail>p:not(.eyebrow){font-size:13px;align-self:center}.work-rail>.split-button{margin-top:0;align-self:end;justify-self:start;font-size:10px}.work-thumbnails{grid-column:1/-1;flex-direction:row;width:100%;margin:5px 0 0;padding:0;gap:12px}.project-tab img{width:88px}.project-tab span{font-size:8px}.work-progress{left:0;top:auto;bottom:-7px;right:auto;width:88px;height:3px}.project-track{gap:55px}.project-art{aspect-ratio:1.2;cursor:pointer}.art-brand{font-size:75px}.art-brand small{font-size:9px}.project-caption{gap:10px}.project-caption p{font-size:9px}.project-caption h3{font-size:20px}.project-enter{display:none}.project-open{display:block;margin:0 0 0 auto}.services{padding-block:65px}.services-intro{display:block}.services-intro h2{font-size:48px}.services-intro>p{margin-top:25px}.services-intro>.split-button{margin-top:25px}.services-layout{padding-top:40px;gap:45px}.service-list{display:block}.service .service-heading{padding:25px 0 20px}.service h3{font-size:18px}.service-content{font-size:15px}.faq{padding-block:65px;display:block}.faq>h2{font-size:52px;margin-bottom:40px}.faq-item summary{font-size:12px;padding:24px 0}.faq-answer{font-size:15px;padding-right:15px}.contact{padding-block:55px 75px}.contact-main{padding-top:45px;display:block}.contact h2{font-size:57px}.contact-image{margin-top:30px}.contact-side{margin-top:40px}.contact-side h3{font-size:28px}.contact-side>p{margin-top:35px}.footer-reveal{height:850px;min-height:0}.footer-stage{height:850px;min-height:0;padding-top:40px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-top>div:first-child>p{font-size:13px}.footer-top>div:first-child>.inline-link{font-size:12px;max-width:155px}.footer-nav{align-items:flex-end;font-size:12px;gap:14px}.footer-tools{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 30px;align-items:start}.footer-tools>.inline-link{font-size:12px;display:inline-block;margin:0}.play-controls{margin:12px 0 0;width:100%;flex-direction:row;gap:22px;flex-wrap:wrap}.play-controls button{font-size:10px}.footer-hands{inset:42% -10% -5%}.footer-signoff{top:680px;font-size:12px}.footer-signoff a{font-size:9px}.contact-dialog{inset:12px auto auto 50%;width:calc(100% - 24px);max-height:calc(100svh - 24px)}.brief-layout{padding:75px 25px 35px}.brief-layout>h2{font-size:54px;margin-top:28px}.contact-dialog .overlay-close{top:16px;right:16px}.layout-grid{gap:10px;grid-template-columns:repeat(6,1fr)}.layout-grid i:nth-child(n+7){display:none}}
@media(prefers-reduced-motion:reduce){.page-curtain{display:none}.wipe-text{opacity:1!important}.wipe-brand,.wipe-ink{display:none}.scramble-live{display:none}.scramble-original{color:inherit!important}.hero-art{cursor:default}.footer-content,.footer-hands{transform:none!important;opacity:1!important}.process{height:auto;padding-block:90px}.process-pin{position:static;height:auto}.process-frame{transition:none}.project-art>img{transform:scale(1.03)!important}.digit-reel{will-change:auto}.process-progress{display:none}.footer-reveal{clip-path:none}.footer-stage{position:absolute}.js .image-reveal:after,.js .project-art:after{display:none}}
.transition-veil{position:fixed;inset:0;background:var(--accent);z-index:2000;pointer-events:auto;clip-path:none}

.service-heading{display:flex;align-items:center;gap:15px}.service:after{content:"";position:absolute;left:0;top:36px;width:8px;height:8px;background:var(--accent);transform:scale(0) rotate(-45deg);transition:transform .6s var(--ease)}.service:hover:after{transform:scale(1) rotate(0)}.service .service-number{transition:opacity .4s}.service:hover .service-number{opacity:0}
.footer-stage>.footer-content{width:100%}.footer-stage>.footer-hands{margin:0}.footer-nav{flex-wrap:nowrap}
@media(max-width:760px){.site-header{grid-template-columns:1fr auto;gap:20px}.site-header .header-contact{display:none}.menu-toggle{grid-column:2}.hero-copy{padding:0}.hero-copy:before{inset:0 -25px -30px}.hero-bottom{max-width:none}.hero-bottom>a{margin-left:auto}.footer-stage,.footer-reveal{height:100svh;min-height:760px}.footer-stage{padding-top:105px}.footer-signoff{top:calc(100svh - 215px)}.footer-hands{inset:42% -10% -5%}}
@media(max-width:760px) and (max-height:760px){.footer-stage{position:absolute;inset:0;height:820px}.footer-reveal{height:820px}.footer-signoff{top:610px}}
.faq-item[data-expanding=false] .service-plus:after{transform:rotate(90deg)}
.overlay[open]::backdrop{animation:backdrop-in .6s both}.overlay.closing::backdrop{animation:backdrop-out .55s both}
@keyframes backdrop-in{from{background:#14131400;backdrop-filter:blur(0)}to{background:#141314aa;backdrop-filter:blur(12px)}}@keyframes backdrop-out{from{background:#141314aa;backdrop-filter:blur(12px)}to{background:#14131400;backdrop-filter:blur(0)}}
@media(min-width:761px){.project-card:last-child{min-height:calc(100svh - 140px)}}

/* Shared rolling markers, Mowa-inspired project composition and footer geometry. */
.studio-layout nav{position:relative}.studio-layout nav>a:before{display:none}.nav-indicator{position:absolute;top:0;left:0;width:12px;height:12px;background:var(--accent);pointer-events:none;will-change:transform;z-index:2}.process-indicator{transition:none;will-change:transform}
.work{display:block;overflow:visible;padding:125px 40px 90px;background:#101010;isolation:isolate}.work:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 1px),#ffffff05 calc(20% - 1px),#ffffff05 20%);pointer-events:none}.mowa-work-heading{display:flex;align-items:center;justify-content:space-between;gap:55px;margin-bottom:85px}.mowa-work-heading h2{font-size:clamp(80px,12vw,184px);letter-spacing:-.075em;line-height:1;display:flex;align-items:center;gap:35px}.mowa-work-heading h2>span{font-size:1.08em;line-height:.8;display:inline-block;transition:transform .8s var(--ease)}.mowa-work-heading h2:hover>span{transform:translate(8px,-8px)}.work-intro{flex:0 0 29%;max-width:390px;position:relative;padding-top:22px}.work-intro>p{font-size:15px;line-height:1.6;color:var(--ink);margin-bottom:25px}.project-filter{position:relative;z-index:8;width:fit-content}.project-filter summary{display:flex;align-items:center;gap:14px;list-style:none;padding:12px 20px;background:#232323;border-radius:30px;cursor:pointer;font:13px var(--sans)}.project-filter summary::-webkit-details-marker{display:none}.project-filter summary>span{color:#999}.project-filter strong{font-weight:400}.project-filter summary>i{font-style:normal;margin-left:8px;transition:transform .4s var(--ease)}.project-filter[open] summary>i{transform:rotate(180deg)}.filter-options{position:absolute;top:calc(100% + 10px);left:0;width:205px;padding:8px;background:#272727;border:1px solid #ffffff10;border-radius:17px;box-shadow:0 15px 50px #0005;transform-origin:top;animation:filter-in .3s var(--ease)}.filter-options button{display:flex;justify-content:space-between;width:100%;text-align:left;padding:11px 13px;border-radius:10px;font-size:14px;transition:background .3s,color .3s}.filter-options button:hover{background:#ffffff13}.filter-options button[aria-pressed=true]{color:var(--accent)}.filter-options button>span{font:11px var(--mono);opacity:.55}.project-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px;overflow:visible}.project-card,.project-card:last-child{min-height:0;flex:none;width:auto}.project-card[hidden]{display:none!important}.project-art{aspect-ratio:16/10;border-radius:12px;cursor:pointer;background:#232323;isolation:isolate}.project-art>img{transform:scale(1.015);transition:transform 1s cubic-bezier(.22,1,.36,1),filter .6s}.project-art:hover>img{transform:scale(1.065);filter:none}.project-art:after{display:none}.project-card.image-visible{opacity:1;transform:none}.js .project-card:not(.image-visible){opacity:0;transform:translateY(55px) scale(.97)}.project-card{transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.project-card:nth-child(2){transition-delay:.12s}.project-enter{display:none!important}.art-brand{font-size:clamp(60px,7vw,105px);top:9%;left:6%}.art-brand small{font-size:11px;letter-spacing:.06em;line-height:1.5}.project-caption{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;padding:0;margin-top:15px;position:relative}.project-caption h3{font:18px/1.3 var(--sans);letter-spacing:-.045em;color:#aaa;transition:color .4s}.project-card:hover h3{color:var(--ink)}.project-open{display:grid;place-items:center;position:relative;inset:auto;width:37px;height:37px;border:1px solid #bbb;border-radius:50%;padding:0;margin:0;flex:none;overflow:hidden;transition:background .4s,color .4s,border-color .4s;font:20px/1 var(--sans)}.project-open span{transition:transform .55s var(--ease)}.project-card:hover .project-open{background:var(--ink);color:var(--bg);border-color:var(--ink)}.project-card:hover .project-open span{animation:arrow-travel .65s var(--ease)}.project-caption p{width:auto!important;margin:0 0 0 auto;display:flex;gap:13px;white-space:nowrap;border-radius:40px;background:#232323;color:#aaa;font:14px var(--sans);padding:9px 15px;line-height:1.1}.project-caption p>span{color:#777}.work-end{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:60px}.project-count{font:11px var(--mono);color:#777}.work-all{font:14px var(--sans);display:flex;align-items:center;gap:35px;padding:14px 24px;border:1px solid #888;border-radius:40px;transition:background .35s,color .35s}.work-all:hover{color:var(--bg);background:var(--ink)}.work-all span{display:inline-block;transition:transform .4s var(--ease)}.work-all:hover span{transform:rotate(45deg)}@keyframes arrow-travel{0%{transform:translate(0,0)}45%{transform:translate(28px,-28px)}46%{transform:translate(-28px,28px)}100%{transform:translate(0,0)}}@keyframes filter-in{from{opacity:0;transform:translateY(-8px) scaleY(.93)}to{opacity:1;transform:none}}
/* The footer uses normal document sizing; the hand plane never intersects its links. */
.footer-reveal{height:auto;min-height:0;clip-path:none;overflow:hidden}.footer-stage{position:relative;inset:auto;height:auto;min-height:0;padding:75px var(--gutter) 30px;display:flex;flex-direction:column;overflow:hidden}.footer-stage>.footer-content{position:relative;display:contents;transform:none;opacity:1;pointer-events:auto}.footer-top{position:relative;z-index:3;width:100%;grid-template-columns:1.1fr .65fr 1fr;gap:70px;padding-bottom:35px;border-bottom:1px solid #ffffff20;transform:translateY(var(--footer-y,0px));opacity:var(--footer-opacity,1)}.footer-top>div:first-child>.inline-link{text-align:left}.footer-nav{align-items:flex-start;text-align:left;gap:14px}.footer-tools{justify-self:end}.footer-tools>.inline-link{font-size:15px}.footer-top .footer-brand{font-size:32px;line-height:.87}.footer-brand img{width:auto;height:54px;flex:none}.footer-top>div:first-child>p{font-size:15px}.play-controls{margin-top:28px}.footer-hands{position:relative;inset:auto;order:1;display:flex;height:clamp(330px,36vw,580px);width:calc(100% + var(--gutter)*2);margin:0 calc(-1 * var(--gutter))!important;transform:translateY(var(--hands-y,0px));z-index:1;flex:none}.hand-stage{width:50%;flex:none;overflow:hidden;min-width:0}.hand-stage>canvas{width:100%;height:100%}.footer-signoff{position:relative;inset:auto;transform:none;order:2;display:flex;justify-content:space-between;align-items:flex-end;gap:25px;width:100%;text-align:left;white-space:normal;font:12px/1.6 var(--mono);padding-top:25px;margin-top:0;border-top:1px solid #ffffff20;z-index:3}.footer-signoff>a{margin:0;font-size:11px;white-space:nowrap}.footer-signoff p{max-width:70%}
@media(max-width:1050px){.mowa-work-heading{gap:30px}.mowa-work-heading h2{font-size:11.5vw;gap:22px}.work-intro{flex-basis:34%}.work-intro p{font-size:14px}.project-caption p{font-size:12px;gap:8px;padding:9px 11px}.project-caption h3{font-size:17px}.footer-top{gap:35px;grid-template-columns:1fr .55fr 1fr}.footer-tools>.inline-link{font-size:13px}.footer-top>div:first-child>.inline-link{font-size:13px}}
@media(max-width:760px){.work{padding:75px 20px 65px}.mowa-work-heading{display:block;margin-bottom:40px}.mowa-work-heading h2{font-size:clamp(68px,16vw,100px);gap:22px}.work-intro{max-width:none;width:100%;padding-top:28px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.work-intro>p{font-size:13px;margin:0;max-width:210px}.project-filter summary{font-size:12px;gap:9px;padding:12px 15px}.project-filter summary>span{display:none}.project-filter summary>i{margin:0}.filter-options{left:auto;right:0;width:175px}.project-track{grid-template-columns:1fr;gap:32px}.project-art{aspect-ratio:16/10}.project-caption{gap:10px}.project-caption h3{font-size:18px}.project-caption p{font-size:12px;padding:9px 12px;gap:10px}.project-open{width:32px;height:32px;font-size:18px}.art-brand{font-size:70px}.art-brand small{font-size:9px}.work-end{margin-top:40px;gap:15px;align-items:flex-start}.work-all{font-size:12px;padding:12px 16px;gap:20px}.project-count{max-width:90px;line-height:1.7}.footer-stage{height:auto;min-height:0;padding:50px 20px 25px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:35px 25px;padding-bottom:30px}.footer-tools{grid-column:1/-1;justify-self:stretch;display:flex;gap:15px 30px;align-items:start;flex-wrap:wrap}.footer-tools>.inline-link{margin:0}.footer-nav{align-items:flex-end;font-size:13px;gap:16px}.footer-top .footer-brand{font-size:29px}.footer-top>div:first-child>p{font-size:14px;margin:22px 0}.footer-top>div:first-child>.inline-link{max-width:210px;font-size:13px}.play-controls{width:100%;margin:6px 0 0;flex-direction:row;gap:25px}.play-controls button{font-size:11px}.footer-hands{height:310px;inset:auto;width:calc(100% + 40px);margin:0 -20px!important}.footer-signoff{inset:auto;display:flex;align-items:center;gap:20px;padding-top:22px;top:auto;font-size:10px}.footer-signoff>a{font-size:9px}.footer-signoff p{max-width:60%}}
@media(prefers-reduced-motion:reduce){.nav-indicator,.process-indicator{will-change:auto}.project-card{transition:none}.footer-top{transform:none!important;opacity:1!important}.footer-stage{position:relative}.footer-hands{transform:none!important}}
.project-art{transition:transform .6s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-art{transform:scale(.985)}.project-art>img,.project-art:hover>img{transform:none;filter:none}.project-art:after{content:'';display:block;position:absolute;inset:0;background:#0a0a0a40;opacity:0;transform:none;transition:opacity .4s;z-index:2}.project-card:hover .project-art:after{opacity:1}.project-art:before{content:'↗';position:absolute;top:16px;right:16px;z-index:3;display:grid;place-items:center;width:48px;height:48px;border:1px solid white;border-radius:50%;color:white;font-size:22px;transform:scale(0);transition:transform .5s cubic-bezier(.22,1,.36,1)}.project-card:hover .project-art:before,.project-art:focus-visible:before{transform:scale(1)}.project-card:hover .project-open{background:transparent;color:var(--ink);transform:scale(1.15)}.project-open{transition:transform .3s}.project-card:hover .project-open span{animation:none}

/* Shared document transitions and the measured Good Fella menu push. */
.site-header,.site-header:not(.scrolled){inset:0 16px auto;padding:30px 16px;background:transparent;color:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;transition:padding .55s,top .55s,left .55s,right .55s,color .35s;isolation:isolate}
.site-header.scrolled{inset:16px var(--gutter) auto;padding:16px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header:before{content:'';position:absolute;inset:0;z-index:-1;background:#ffffff21;border:1px solid #ffffff0d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transition:opacity .4s,background .4s;pointer-events:none}
.site-header.scrolled:before{opacity:1}.site-header.on-light{color:var(--bg)}.site-header.on-light:before{background:#1413141a;border-color:#14131408}.site-header .home-link .brand-mark>img{filter:none}.site-header.on-light .home-link .brand-mark>img{filter:brightness(0)}.site-header .brand-name,.site-header .menu-toggle{color:inherit}
.hero-about-link,.hero-about-link:hover,.hero-about-link:focus-visible,.hero-about-link.underline-ready[data-underline-active=true]{color:#fff!important}
.hero-about-link .underline-track>i{background:var(--underline-color,#fff)}.hero-about-link[data-underline-active=true]{--underline-color:var(--accent)}
@media(max-width:760px){.site-header,.site-header:not(.scrolled),.site-header.scrolled{inset:12px 12px auto;padding:12px 8px}}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:clamp(20px,3vw,64px);align-items:center;height:100svh;min-height:620px;padding:110px var(--gutter) 92px}
.hero-copy{grid-column:1;grid-row:1;width:100%;min-width:0;padding:0}.hero h1{font-size:clamp(43px,6.6vw,105px);line-height:1.03}.hero-copy>p{max-width:565px}.hero-copy:before{content:none}
.hero-art{position:relative;grid-column:2;grid-row:1;align-self:stretch;overflow:visible;mask-image:none;width:100%;height:100%;min-width:0;min-height:0;right:auto;top:auto;opacity:1}.hero-art canvas{max-width:none}
.hero-art .statue-fallback{height:100%;filter:none;mix-blend-mode:normal;object-position:center;opacity:.8}
@media(min-width:701px) and (max-width:1050px){.hero-copy>p{font-size:15px;line-height:1.5;margin-top:26px}.hero-actions{gap:12px;flex-wrap:wrap}.hero-actions .inline-link{font-size:13px}.hero-actions .split-button{font-size:11px}.hero-actions .split-button>span{padding:14px 12px}.hero-actions .split-button>i{width:36px}}
@media(max-width:700px){.hero{grid-template-columns:minmax(0,1fr);column-gap:0;align-items:start;padding:clamp(140px,21svh,185px) 20px 100px;min-height:620px}.hero-copy{align-self:start}.hero h1{font-size:clamp(44px,10.8vw,75px);line-height:1.04}.hero-copy>p{max-width:360px;color:#c4bfbc;font-size:15px;margin-top:28px;padding-right:0}.hero-art{grid-column:1;grid-row:1;align-self:start;height:clamp(340px,60svh,540px);margin-top:-52px;opacity:.66}.hero:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#141314db 3%,#14131470 58%,#14131412 100%)}.hero-actions{gap:14px;flex-wrap:wrap}.hero-actions .inline-link{font-size:14px}}
@media(max-width:380px){.hero-actions{gap:10px}.hero-actions .inline-link{font-size:13px}}
.transition-veil,.page-curtain{clip-path:none;transform:none}
.transition-veil{display:block;color:#ff501b}
.transition-veil[popover]{margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}
.page-curtain .loading-mark{display:none}
.page-curtain{pointer-events:auto}.page-curtain.done{pointer-events:none}
.studio-layout nav{overflow:visible;--marker-size:32px}
.studio-layout nav>a{display:block;width:100%;position:relative;transform:none!important;gap:0;padding:0;line-height:1.3;color:var(--bg)}
.studio-layout nav>a>.nav-word{display:block;opacity:1;width:fit-content;font:inherit;letter-spacing:inherit;color:inherit;transform:translateX(var(--nav-push,0px));will-change:transform}
.studio-layout nav>a.marker-active{color:var(--accent)}
.studio-layout nav>a:hover{color:var(--accent)}
.nav-indicator{width:var(--marker-size);height:var(--marker-size);left:0;top:0}
.menu-projects>a{display:block;overflow:hidden;align-self:start}.menu-projects a:hover img{filter:grayscale(0);transform:scale(1.045)}
.menu-projects>a:first-child img{object-position:50% 62%}
.about-portrait img,.menu-projects a img{transition:filter .8s,transform 1.2s var(--ease)}
.approach-copy>.inline-link{margin-top:22px;display:inline-block;font-size:15px}
.prices-preview{padding:65px var(--gutter) 110px}
.prices-preview-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:75px}
.prices-preview h2{font-size:clamp(45px,5.2vw,78px);letter-spacing:-.06em;line-height:1.05}
.price-preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:25px;border-top:1px solid #bbb;padding:25px 0;font-size:clamp(18px,2vw,28px);letter-spacing:-.035em}
.price-preview-row>span:last-child{white-space:nowrap}.price-preview-row small{font-size:12px;letter-spacing:0;color:#777}.price-preview-row i{display:inline-block;font-style:normal;margin-left:15px;transition:transform .6s var(--ease)}.price-preview-row:hover i{transform:translate(5px,-5px)}.price-preview-row:hover{color:var(--accent)}
.price-preview-note{margin:15px 0 30px;font-size:15px;color:#666}
.page-intro{padding:160px var(--gutter) 90px;position:relative}
.page-topline{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:65px}
.page-topline>.inline-link{font-size:13px;color:#aaa}
.page-topline .eyebrow:last-child{color:#888}
.page-intro h1{font-size:clamp(65px,7.8vw,120px);line-height:1.02;letter-spacing:-.068em}
.about-hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:center}
.about-lead{font-size:clamp(18px,1.8vw,25px);line-height:1.5;max-width:525px;color:#aaa;margin:35px 0}
.about-portrait{margin:0;position:relative;min-width:0}
.about-portrait>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%;filter:grayscale(1)}
.about-portrait:hover>img{filter:grayscale(0)}
.about-portrait>.client-portrait{object-position:50% 64%;filter:grayscale(.15)}
.about-portrait:hover>.client-portrait{filter:grayscale(0)}
.stat-portrait>img:first-child{object-position:50% 63%}
.stat-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0007,transparent 45%);pointer-events:none}
.stat-portrait>span,.stat-portrait>.stat-glyph{z-index:1}
.about-portrait figcaption{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 var(--mono);margin-top:15px;color:#888}
.about-story{padding:90px var(--gutter) 110px}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:55px;align-items:start}
.about-story h2{font-size:clamp(48px,5vw,76px);letter-spacing:-.055em;line-height:1.06}
.about-story-grid p{font-size:clamp(20px,2.1vw,30px);line-height:1.4;letter-spacing:-.03em}
.about-story-grid p+p{font-size:18px;line-height:1.6;color:#666;margin-top:25px;letter-spacing:0}
.about-story-grid .inline-link{display:inline-block;margin-top:30px;font-size:15px}
.about-principles{padding:80px var(--gutter) 110px}
.about-principles>.section-top{margin-bottom:55px}
.principle{display:grid;grid-template-columns:60px 1fr 1fr;gap:5%;align-items:start;border-top:1px solid #444;padding:35px 0}
.principle>span{font:12px var(--mono);color:var(--accent);padding-top:8px}
.principle h3{font-size:clamp(32px,4vw,57px);line-height:1;letter-spacing:-.055em}
.principle p{font-size:17px;line-height:1.6;max-width:455px;color:#999}
.page-cta{padding:85px var(--gutter) 100px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px}
.page-cta>.eyebrow{grid-column:1/-1}
.page-cta h2{font-size:clamp(48px,6.2vw,94px);letter-spacing:-.055em;line-height:1.05}
.page-cta>.split-button{justify-self:start;margin-right:0}
.prices-hero{padding-bottom:75px}.prices-hero>p{font-size:19px;color:#999;margin-top:35px;max-width:400px;line-height:1.6}
.price-packages{padding:0 var(--gutter) 110px}
.price-package{border-top:1px solid #555}
.price-package:last-of-type{border-bottom:1px solid #555}
.price-package>summary{list-style:none;display:grid;grid-template-columns:50px 1fr auto 30px;align-items:center;gap:25px;padding:38px 0;cursor:pointer}
.price-package>summary::-webkit-details-marker{display:none}
.package-number{font:12px var(--mono);color:#777}.price-package summary h2{font-size:clamp(34px,4vw,60px);letter-spacing:-.055em;line-height:1.1;transition:transform .6s var(--ease),color .4s}
.price-package summary:hover h2{transform:translateX(15px);color:var(--accent)}
.package-price{font-size:clamp(22px,2.5vw,37px);letter-spacing:-.04em;white-space:nowrap}.package-price small{font:12px var(--mono);letter-spacing:0;color:#888}
.price-package .service-plus{color:var(--accent);justify-self:end}
.price-package[open] .service-plus:after{transform:rotate(0)}
.price-package[data-expanding=false] .service-plus:after{transform:rotate(90deg)}
.package-body{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:0 55px 50px 75px}
.package-description>p{font-size:18px;color:#999;line-height:1.6;max-width:460px;margin-bottom:30px}
.package-options>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #333;font-size:18px}
.package-options small{font:11px var(--mono);color:#888;display:block;margin-top:7px}
.package-options strong{font-weight:400;white-space:nowrap;text-align:right}
.package-options>div>span{min-width:0;overflow-wrap:anywhere;hyphens:auto}.package-options>div>strong{flex-shrink:0}
@media(max-width:760px){.package-description>.split-button{font-size:11px}.package-options>div{gap:12px}.package-options>div>strong{max-width:45%}.package-options strong small{white-space:normal}}
.package-options>p{font-size:13px;line-height:1.6;color:#888;margin-top:20px;max-width:460px}
.pricing-note{font-size:12px;color:#888;max-width:500px;line-height:1.7;margin-top:30px}
@media(max-width:1050px){.about-hero-grid{gap:5%;grid-template-columns:1.15fr 1fr}.page-intro h1{font-size:8.2vw}.page-intro{padding-top:145px}.page-topline{margin-bottom:45px}.package-body{padding-right:0;gap:7%}.price-package>summary{grid-template-columns:30px 1fr auto 20px;gap:20px}.package-body{padding-left:50px}.package-price small{display:block;text-align:right;margin-top:8px}.page-cta{grid-template-columns:1fr}.page-cta>.eyebrow{grid-column:auto}}
@media(max-width:760px){.studio-layout nav{--marker-size:24px}.page-intro{padding:125px 20px 60px}.page-topline{align-items:start;gap:20px;margin-bottom:38px}.page-topline .eyebrow{font-size:10px}.page-topline>.inline-link{max-width:145px;font-size:11px;line-height:1.5}.about-hero-grid{display:flex;flex-direction:column;gap:40px;align-items:stretch}.page-intro h1{font-size:clamp(51px,10.9vw,78px)}.about-lead{font-size:18px;max-width:340px;margin:25px 0}.about-portrait>img{aspect-ratio:1;object-position:center 33%}.about-portrait figcaption{font-size:9px}.about-story{padding:60px 20px}.about-story-grid{display:block;margin-top:35px}.about-story h2{font-size:46px;margin-bottom:35px}.about-story-grid p{font-size:23px}.about-story-grid p+p{font-size:16px}.about-principles{padding:60px 20px}.about-principles>.section-top{margin-bottom:35px}.principle{grid-template-columns:25px 1fr;gap:20px;padding:28px 0}.principle h3{font-size:36px}.principle p{grid-column:2;font-size:15px}.page-cta{padding:55px 20px 65px;gap:28px}.page-cta h2{font-size:49px}.prices-preview{padding:45px 20px 65px}.prices-preview-layout{display:block;padding-top:40px}.prices-preview h2{font-size:46px;margin-bottom:38px}.price-preview-row{font-size:19px;gap:16px;padding:20px 0}.price-preview-row small{font-size:10px}.price-preview-row i{margin-left:5px}.prices-hero>p{font-size:16px;margin-top:28px;max-width:280px}.price-packages{padding:0 20px 65px}.price-package>summary{grid-template-columns:22px 1fr 20px;gap:13px;padding:27px 0}.price-package summary h2{font-size:34px}.package-price{grid-column:2;grid-row:2;font-size:23px}.package-price small{display:inline;text-align:left;font-size:11px}.price-package .service-plus{grid-column:3;grid-row:1/3}.package-number{font-size:10px}.package-body{display:flex;flex-direction:column;gap:25px;padding:0 0 35px 35px}.package-description>p{font-size:16px;margin-bottom:24px}.package-options>div{font-size:16px}.package-options>p{font-size:12px}.pricing-note{font-size:11px}.price-package summary:hover h2{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.nav-word{will-change:auto}.transition-veil,.page-curtain{display:none}.about-portrait img{transition:none}}

/* Native portrait reels and the Stöger identity. */
.reel-track{max-width:1080px;margin-inline:auto;gap:36px}.reel-card .project-art{aspect-ratio:9/16;display:block;width:100%;background:#161616}.reel-card .project-art>video{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.reel-card .project-caption{align-items:center}.reel-card .project-caption h3{color:var(--ink);font-size:20px}.reel-card .project-caption h3 small{display:block;font-size:13px;letter-spacing:0;color:#888;margin-top:5px}.reel-open-hint{position:absolute;bottom:20px;left:20px;z-index:3;font:11px var(--mono);color:white;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.project-art:hover .reel-open-hint,.project-art:focus-visible .reel-open-hint{opacity:1;transform:none}.reel-toggle{font-size:12px;color:#aaa}.work-end{flex-wrap:wrap}.reel-dialog .detail-image{width:min(490px,calc(100% - 48px));height:auto;min-height:0;aspect-ratio:9/16;margin:100px auto 0;border-radius:8px;overflow:hidden}.reel-dialog .detail-image>video{width:100%;height:100%;display:block;object-fit:contain}.reel-dialog .detail-body{padding-top:65px}.reel-dialog .detail-end{margin-top:70px}.index-grid img{aspect-ratio:9/12;object-fit:cover}.menu-monogram{display:flex;flex-direction:column;justify-content:space-between;gap:30px;min-height:280px;height:100%;padding:26px;background:var(--accent);color:var(--bg)}.menu-monogram>img{width:35px!important;height:65px!important;object-fit:contain;filter:brightness(0)!important}.menu-monogram>strong{font-size:clamp(30px,3.2vw,52px);font-weight:400;line-height:1.03;letter-spacing:-.06em}.about-signature{aspect-ratio:4/5;background:var(--accent);color:var(--bg);padding:36px;display:flex;flex-direction:column;justify-content:space-between}.about-signature>img{width:48px;height:90px;filter:brightness(0)}.about-signature>span{font-size:clamp(55px,6vw,96px);letter-spacing:-.07em;line-height:.95}.contact-side>button.contact-link{font-size:clamp(18px,2.1vw,31px);text-align:left}.studio-bottom>button{font-size:16px;text-align:left}.brand-name small{letter-spacing:.22em}
@media(max-width:1050px){.reel-card .project-caption{flex-wrap:wrap}.reel-card .project-caption p{margin-left:44px;margin-top:0}.menu-monogram{min-height:230px}}
@media(max-width:760px){.reel-track{max-width:430px;gap:45px}.reel-card .project-caption{flex-wrap:nowrap}.reel-card .project-caption p{margin-left:auto}.reel-card .project-caption p>span{display:none}.reel-toggle{margin-left:auto}.work-all{width:100%;justify-content:space-between}.reel-dialog .detail-image{margin-top:80px;width:calc(100% - 40px)}.about-signature{padding:28px}.about-signature>span{font-size:70px}.menu-monogram{min-height:220px}.site-header,.site-header:not(.scrolled),.site-header.scrolled{inset:12px 12px auto;padding:12px 8px}}
.reel-dialog .detail-image:after{display:none}

/* More real reels, with a single shared filter and pagination state. */
.reel-tools{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.reel-tools button{font-size:12px;color:#aaa}.work-all[hidden]{display:none}.work-all:disabled{opacity:.45;pointer-events:none}.reel-card{scroll-margin-top:120px}.reel-card .project-art:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
/* The closing invitation replaces the two ASCII hands. */
.footer-level{order:1;position:relative;width:100%;padding:65px 0 70px;transform:translateY(var(--footer-art-y,0px));z-index:1}
.footer-level>.eyebrow{font-size:10px;color:#777;margin-bottom:36px;letter-spacing:.04em}
.footer-level h2{font-weight:400;margin:0}.footer-level-link{display:flex;align-items:center;justify-content:space-between;gap:4vw;width:100%;text-align:left;font:inherit;cursor:pointer}
.footer-level-link>span:first-child{font-size:clamp(48px,7.9vw,128px);font-weight:400;line-height:1.03;letter-spacing:-.067em}.footer-level-link em{color:var(--accent);font-style:normal}
.level-arrow{display:block;width:clamp(110px,16vw,250px);aspect-ratio:1;flex:none;overflow:hidden;color:var(--accent)}.level-arrow svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:7;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.footer-level-link.lift-playing .level-arrow svg{animation:level-lift 1s cubic-bezier(.22,1,.36,1)}.footer-level-link:focus-visible{outline:1px solid var(--accent);outline-offset:15px}.footer-level-note{display:flex;justify-content:space-between;gap:25px;font-size:14px;line-height:1.5;color:#888;margin-top:40px}.footer-level-note>span{color:var(--ink)}
.contact-image>img{object-fit:contain;filter:none!important;mix-blend-mode:normal!important}.contact-image{background:transparent}
@keyframes level-lift{0%{transform:none}40%{transform:translate(100%,-100%)}40.01%{transform:translate(-100%,100%)}100%{transform:none}}
@media(max-width:760px){.reel-tools{margin-left:auto;gap:20px}.reel-tools button{font-size:11px}.footer-level{padding:45px 0 50px}.footer-level>.eyebrow{font-size:9px;margin-bottom:30px}.footer-level-link{align-items:flex-start;gap:12px}.footer-level-link>span:first-child{font-size:clamp(34px,7.7vw,58px);letter-spacing:-.055em}.level-arrow{width:14vw;min-width:44px;margin-top:4px}.level-arrow svg{stroke-width:9}.footer-level-note{font-size:12px;flex-direction:column;gap:15px;margin-top:28px}.footer-level-link:focus-visible{outline-offset:8px}}
@media(prefers-reduced-motion:reduce){.footer-level{transform:none}.footer-level-link .level-arrow svg{animation:none!important;transition:none}}

/* One orange radial surface, continuous across document and dialog changes. */
.radial-cover,.page-curtain,.transition-veil{transform:none;perspective:none;backface-visibility:visible;overflow:hidden;isolation:isolate}
.page-curtain{background:#141314}.radial-arriving .page-curtain{background:#ff501b}.page-curtain.radial-cover,.transition-veil{background:transparent}.page-curtain.done{display:none}
.radial-surface{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden;fill:#ff501b;pointer-events:none}
.radial-cover[popover]::backdrop{background:transparent}
@media(prefers-reduced-motion:reduce){.radial-cover,.page-curtain,.transition-veil{display:none!important}}

/* Contact: a continuously running jet sends heat across the headline only. */
.jet-contact{position:relative;overflow:clip;background:#eaeae7;padding-bottom:0}.jet-contact>.section-top{position:relative;z-index:5}
.jet-stage{position:relative;isolation:isolate;min-height:810px;padding:160px 0 75px;display:flex;flex-direction:column;align-items:flex-start}
.jet-contact .jet-headline{position:relative;z-index:3;width:65%;margin:0;font-size:clamp(54px,6.3vw,94px);line-height:1.05;letter-spacing:-.062em;font-weight:400;white-space:nowrap}
.jet-contact .jet-headline span{color:inherit}.jet-impact{display:inline-block}
.jet-visual{position:absolute;inset:0 calc(-1 * var(--gutter)) 0 auto;width:78%;height:100%;pointer-events:none;z-index:1}
.jet-engine{position:absolute;right:0;top:0;width:100%;height:auto;max-width:none;object-fit:contain}
.jet-exhaust{position:absolute;inset:auto;z-index:3;pointer-events:none;display:none}.heat-ready .jet-exhaust{display:block}.jet-headline.heat-gpu-title{opacity:0}
.jet-contact .jet-contact-copy{position:relative;z-index:4;width:40%;max-width:460px;margin:115px 0 0;padding:0}
.jet-contact-copy h3{font-size:clamp(24px,2.2vw,33px);line-height:1.15;letter-spacing:-.045em;font-weight:400}
.jet-contact .jet-contact-copy>.contact-link{font-size:16px;margin-top:27px}.jet-contact-copy>.split-button{margin-top:25px}.jet-contact .jet-contact-copy>p{font-size:13px;line-height:1.6;margin:29px 0 0;color:#757575}
@media(min-width:761px) and (max-width:1050px){.jet-stage{padding-top:125px;min-height:720px}.jet-contact .jet-headline{font-size:clamp(44px,5.9vw,63px);width:73%}.jet-visual{width:85%;right:calc(-1 * var(--gutter) - 5%)}.jet-contact .jet-contact-copy{width:45%;margin-top:110px}}
@media(max-width:760px){.jet-contact{padding:55px 20px 0}.jet-stage{min-height:0;padding:70px 0 65px}.jet-contact .jet-headline{width:100%;font-size:clamp(37px,7.6vw,57px);line-height:1.06;letter-spacing:-.06em}.jet-visual{width:470px;right:-175px;inset-block:0 auto;height:440px}.jet-contact .jet-contact-copy{width:100%;max-width:420px;margin-top:235px}.jet-contact-copy h3{font-size:27px}.jet-contact .jet-contact-copy>.contact-link{font-size:16px;margin-top:23px}.jet-contact .jet-contact-copy>p{margin-top:25px;font-size:13px}}
@media(max-width:380px){.jet-contact .jet-headline{font-size:35px}.jet-visual{width:430px;right:-155px}}
@media(prefers-reduced-motion:reduce){.jet-headline.heat-gpu-title{opacity:1}.heat-ready .jet-exhaust{display:none}}

/* A light typography pass within the existing Geist / Geist Mono system. */
.eyebrow{letter-spacing:.025em}
.hero h1{letter-spacing:-.052em}
.hero-copy>p{font-size:clamp(15px,1.3vw,18px);line-height:1.65;letter-spacing:-.012em;color:#b9b6b3}
.about-lead{line-height:1.55;letter-spacing:-.018em;color:#b4b0ae}
.approach-copy p{line-height:1.5;letter-spacing:-.025em}
.about-story-grid p{line-height:1.5;letter-spacing:-.022em}
.about-story-grid p+p{line-height:1.65;letter-spacing:0}
.prices-hero>p,.principle p,.package-description>p{color:#aaa6a4}
.package-price,.package-options strong,.price-preview-row>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.button-label .scramble-noise{color:inherit;opacity:.55}
.project-open{transition:transform .4s cubic-bezier(.22,1,.36,1),background .35s,color .35s,border-color .35s}
.price-preview-row{transition:color .3s}
@media(max-width:700px){.hero-copy>p{font-size:15px;line-height:1.6;color:#c4bfbc}}
@media(prefers-reduced-motion:reduce){.project-open,.price-preview-row{transition:none}}

/* Final editorial pass: the existing layout, with real information and fewer duplicate controls. */
.process{height:270svh}
.process-pin{height:100svh;min-height:0;align-items:stretch}
.process-inner{width:min(100%,1060px);display:flex;flex-direction:column;padding:120px 0 42px}
.process-heading{flex:none;margin-bottom:32px;align-items:baseline}
.process-heading h2{font-size:clamp(38px,4.1vw,58px)}
.process-heading>.eyebrow{font-size:11px;letter-spacing:0;white-space:nowrap}
.process-layout{flex:1;min-height:0;grid-template-columns:1.15fr 1fr;gap:64px}
.process-steps{gap:16px;justify-content:space-between}
.process-step{color:#595956;padding-left:12px}
.process-step strong{font-size:clamp(22px,2.15vw,30px);margin-bottom:8px;letter-spacing:-.045em}
.process-step>span>span,.process-step.active>span>span{opacity:1;font-size:14px;line-height:1.5;max-width:360px}
.process-step.active{color:#171717;transform:translateX(26px)}
.process-step:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.process-visual{height:100%;min-height:0;aspect-ratio:auto}
.process-frame img,.process-frame:first-child img{object-fit:cover;object-position:50% 45%;filter:none}
.process-frame:first-child img{object-position:50% 37%}
.process-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0009,transparent 37%,transparent 70%,#0008);pointer-events:none}
.process-visual-copy{top:25px;left:24px;z-index:1;font:11px/1.7 var(--mono);letter-spacing:.025em;color:#fff}
.process-counter{left:24px;bottom:22px;color:#fff}
.studio-facts{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:34px;align-items:stretch}
.fact-portrait{margin:0;aspect-ratio:1;overflow:hidden}
.fact-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.fact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0}
.fact-list>div{padding-top:20px;border-top:1px solid #b9b9b5;min-width:0}
.fact-list dt{font:10px/1.6 var(--mono);letter-spacing:.025em;color:#575754;margin-bottom:24px}
.fact-list dd{margin:0;font-size:clamp(22px,2.05vw,31px);line-height:1.12;letter-spacing:-.04em}
.fact-list dd>span{display:block;font:14px/1.6 var(--sans);letter-spacing:0;color:#5d5d59;margin-top:20px}
.footer-top{grid-template-columns:1.25fr .7fr 1fr;gap:55px;transform:none;opacity:1}
.footer-top>div:first-child>p{color:#aaa6a3;font-size:14px;line-height:1.6;margin:24px 0 0}
.footer-nav{font-size:12px;gap:15px}
.footer-tools{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.footer-tools>.eyebrow{font-size:11px;color:#a9a6a3;margin:0 0 3px}
.footer-tools>.inline-link{margin:0;font-size:14px}
.footer-signoff{font-size:12px;color:#aaa6a3}
.footer-level{padding:64px 0;transform:none}
.footer-level-link>span:first-child{line-height:1.06}
.brief-direct{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:25px}
.brief-direct a{font-size:16px;overflow-wrap:anywhere;max-width:100%}
.brief-layout>.eyebrow{font-size:11px}
.brief-field>span,.brief-topics legend{font-size:11px;color:#b3aeaa}
.form-note{color:#b4afaa;font-size:13px;max-width:100%}
.contact-dialog .brief-layout>p:not(.eyebrow){line-height:1.65;color:#b4afaa}
.studio-bottom>p:last-child{font-size:13px;line-height:1.6;color:#62625e}
@media(min-width:761px) and (max-width:1050px){
 .process-layout{gap:34px;grid-template-columns:1.2fr 1fr}
 .process-heading{align-items:start;gap:20px}.process-heading>.eyebrow{white-space:normal;max-width:145px}
 .process-step strong{font-size:23px}.process-step>span>span{font-size:13px}
 .studio-facts{grid-template-columns:1fr 2.5fr;gap:25px}.fact-list{gap:20px}.fact-list dd{font-size:23px}
 .fact-list dd>span{font-size:13px}.fact-list dt{font-size:10px}
 .footer-top{gap:30px}
}
@media(min-width:761px) and (max-height:649px){
 .process{height:auto;padding-block:90px 70px}.process-pin{position:static;height:auto}
 .process-inner{padding:0}.process-layout{min-height:450px}.process-visual{height:100%;min-height:450px}
}
@media(max-width:760px){
 .process{height:auto;padding-block:65px}.process-pin{position:static;height:auto;min-height:0}
 .process-inner{padding:0;width:100%}.process-heading{display:block;margin-bottom:28px}
 .process-heading h2{font-size:clamp(35px,9vw,45px)}.process-heading>.eyebrow{margin-top:16px;font-size:11px}
 .process-layout{display:flex;gap:26px}.process-visual{height:auto;aspect-ratio:1.15;min-height:0}
 .process-steps{gap:0}.process-step{padding:20px 0;gap:12px;color:#595956}
 .process-step strong{font-size:24px}.process-step>span>span{font-size:14px;line-height:1.6;max-width:none}
 .process-step.active{padding-left:20px}.process-step:focus-visible{outline-offset:3px}
 .process-visual-copy{top:20px;left:20px;font-size:11px}.process-counter{left:20px;bottom:18px;font-size:11px}
 .studio-facts{grid-template-columns:1fr;gap:30px}.fact-portrait{aspect-ratio:1.25;max-width:420px}
 .fact-portrait img{object-position:50% 32%}.fact-list{grid-template-columns:1fr;gap:25px}
 .fact-list>div{padding-top:19px}.fact-list dt{font-size:11px;margin-bottom:12px}
 .fact-list dd{font-size:29px;line-height:1.15}.fact-list dd br{display:none}
 .fact-list dd>span{font-size:15px;line-height:1.6;margin-top:12px;max-width:34ch}
 .footer-top{grid-template-columns:1fr auto;gap:30px 22px}.footer-tools{grid-column:1/-1;gap:17px}
 .footer-top>div:first-child>p{font-size:13px;margin-top:20px}.footer-nav{font-size:11px;gap:16px}
 .footer-tools>.inline-link{font-size:14px}.footer-level{padding:45px 0}
 .footer-signoff{font-size:11px}.footer-signoff a{font-size:11px}
 .brief-layout{padding:70px 22px 32px}.brief-layout>h2{font-size:47px}
 .brief-direct a{font-size:15px}.form-note{font-size:12px}
 .page-topline .eyebrow,.section-top .eyebrow{font-size:11px;line-height:1.6}
 .reel-card .project-caption h3 small,.package-options small{font-size:12px;color:#aaa6a3}
 .principle p,.prices-hero>p{color:#b4afaa}
}
@media(max-width:700px){
 .hero{height:min(100svh,760px);min-height:640px}
 .hero-bottom{color:#aaa6a3;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .process{height:auto;padding-block:75px}.process-pin{position:static;height:auto}
 .process-inner{padding:0}.process-layout{min-height:440px}.process-visual{min-height:440px}
 .process-step{transition:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.process-layout{min-height:0}.process-visual{min-height:0}}

.brief-direct{margin-top:35px;padding-top:25px;border-top:1px solid #45413f;gap:18px}
.brief-direct>.eyebrow{font-size:11px;color:#b4afaa}
.brief-direct .contact-number{font-size:clamp(22px,5.8vw,31px);letter-spacing:-.025em}
.brief-direct>p{font-size:14px;line-height:1.6;color:#b4afaa;margin:0}
.contact-dialog .contact-topic{color:var(--accent);font-size:14px;margin-top:20px}

/* Steady neon: bright outline, warm halo, no animation or hover dependency. */
.brand-mark{position:relative;display:inline-flex;flex:none;line-height:0;isolation:isolate}
.brand-mark>img{display:block}
.site-header.on-light .home-link .brand-mark>img,.studio-layout>#studio-heading .brand-mark>img{filter:none}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('/assets/logo.svg') center/100% 100% no-repeat}
.brand-mark::before{opacity:.65;filter:drop-shadow(0 0 2px #ff9b69) drop-shadow(0 0 6px #ff6b35) drop-shadow(0 0 12px #ff6b3580)}
.brand-mark::after{opacity:1;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #ffc49e) drop-shadow(0 0 10px #ff743d) drop-shadow(0 0 17px #ff6b3580)}
/* The header bolt has a thicker vector contour and a steady white neon halo. */
.site-header .brand-mark::before,.site-header .brand-mark::after{background-image:url('/assets/logo-header.svg')}
.site-header .brand-mark::before{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px #ffffff80)}
.site-header .brand-mark::after{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #ffffffcc) drop-shadow(0 0 12px #ffffff55)}

/* Keep the umlaut clear and align the two-line wordmark with the bolt. */
.site-header .home-link .brand-mark{margin:0}
.site-header .home-link .brand-name{display:flex;flex-direction:column;justify-content:space-between;height:43px;overflow:visible;line-height:1.15;white-space:nowrap}
.site-header .home-link .brand-name small{margin:0 -.1em 0 0;font-size:9px;line-height:1.25;letter-spacing:.1em}
@media(max-width:760px){
  .site-header .home-link .brand-name{height:33px}
  .site-header .home-link .brand-name small{margin-right:-.1em;font-size:7px;letter-spacing:.1em}
}

/* Audit: readable secondary copy on its actual light/dark surface. */
.process-step .step-number{opacity:1}
.price-preview-row small{color:#646461}
.jet-contact .jet-contact-copy>p{color:#535350;opacity:1}
.package-number{color:#999}
.about-principles .accent{color:#ff805c}

/* Only internal route arrivals get a curtain; direct visits and reloads paint immediately. */
html:not(.radial-arriving) .page-curtain{display:none}

/* Six services, all visible together on a desktop viewport. */
.service-overview{position:relative;z-index:2;background:var(--paper);color:var(--bg);padding:clamp(110px,12svh,160px) var(--gutter) clamp(52px,7svh,90px);min-height:min(800px,calc(100svh - 105px));display:flex;flex-direction:column;justify-content:center;scroll-margin-top:0}
.service-overview-heading{padding-bottom:clamp(32px,5svh,58px);text-align:left}
.service-overview-heading h2,.mowa-work-heading h2{font-size:clamp(56px,6.5vw,100px);line-height:1.06;letter-spacing:-.055em}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(28px,4vw,76px)}
.service-tile{position:relative;border-top:1px solid #14131433;padding:22px 0 28px;min-width:0}
.service-tile h3{font-size:clamp(24px,2.4vw,36px);line-height:1.16;letter-spacing:-.045em;margin-bottom:18px}
.service-tile ul{list-style:none;margin:0;padding:0}
.service-tile li,.service-tile>p{color:#5b5856;font-size:clamp(15px,1.2vw,18px);line-height:1.7;overflow-wrap:break-word}
.service-tile li{position:relative;padding-left:19px}
.service-tile li::before{content:"";position:absolute;left:1px;top:.85em;width:6px;height:6px;background:var(--accent);transform:translateY(-50%) rotate(var(--bullet-turn,0deg));pointer-events:none}
@media(min-width:1051px) and (max-height:850px){.service-overview{padding-top:100px;padding-bottom:38px}.service-overview-heading{padding-bottom:28px}.service-overview-heading h2,.mowa-work-heading h2{font-size:64px}.service-tile{padding:18px 0 22px}.service-tile h3{font-size:28px;margin-bottom:12px}.service-tile li,.service-tile>p{font-size:16px}}
@media(min-width:761px) and (max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-overview{min-height:0}.service-tile h3{font-size:28px}}
@media(max-width:760px){.service-overview{min-height:0;padding:120px 20px 38px}.service-overview-heading{display:block;padding-bottom:34px}.service-overview-heading h2,.mowa-work-heading h2{font-size:clamp(48px,11vw,72px)}.service-grid{grid-template-columns:1fr}.service-tile{padding:24px 0 28px}.service-tile h3{font-size:29px;margin-bottom:13px}.service-tile li,.service-tile>p{font-size:16px}}

/* Main home sections fill a screen; the final FAQ flows directly into the footer.
   The large viewport unit keeps the next section below collapsing mobile chrome. */
body:not(.subpage) main>section:not(#home):not(.faq){min-height:100svh;min-height:100lvh}
main>.lightning-hero.hero{min-height:max(720px,100svh);min-height:max(720px,100lvh);max-height:none}
body:not(.subpage) main>.faq{align-items:start;min-height:0;padding-bottom:24px}
@media(max-width:700px){main>.lightning-hero.hero{min-height:max(720px,100svh);min-height:max(720px,100lvh)}}
@media(max-height:650px) and (min-width:701px){main>.lightning-hero.hero{min-height:max(680px,100svh);min-height:max(680px,100lvh)}}

/* A single header control continues into the modal menu's top layer. */
.menu-placeholder{visibility:hidden!important;pointer-events:none!important}
.menu-toggle.menu-handoff{position:fixed;z-index:10;right:auto;bottom:auto;margin:0;color:var(--menu-rest-color,#fff);transition:color .3s ease;touch-action:manipulation}
.menu-continuity.menu-visible .menu-handoff{color:var(--bg)}
.menu-continuity[data-menu-closing] .menu-handoff{transition-delay:.2s}
.menu-toggle .menu-symbol i{top:5px;transform:translateY(-3px);transition:transform .56s cubic-bezier(.22,1,.36,1)}
.menu-toggle .menu-symbol i+i{top:5px;transform:translateY(3px)}
.menu-toggle[aria-expanded=true] .menu-symbol i{top:5px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-symbol i+i{transform:rotate(-45deg)}
/* Opposing line motion gives the same control a small magnetic hover gesture.
   Transitions live on the resting pose, so leaving or re-entering stays smooth. */
.menu-toggle>span:first-child{position:relative;transform:translateX(0);transition:transform .56s cubic-bezier(.22,1,.36,1)}
.menu-toggle>span:first-child::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .56s cubic-bezier(.22,1,.36,1)}
.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(hover:hover) and (pointer:fine){
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible)>span:first-child{transform:translateX(-3px)}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible)>span:first-child::after{transform:scaleX(1)}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible) .menu-symbol i{transform:translate(3px,-4px) scaleX(1.18)}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible) .menu-symbol i+i{transform:translate(-2px,4px) scaleX(.72)}
}
.studio-dialog.menu-continuity,.studio-dialog.menu-continuity[open],.studio-dialog.menu-continuity.closing{background:transparent;opacity:1;transform:none;clip-path:none;animation:none!important;transition:none;overflow-x:hidden;overscroll-behavior:contain}
.menu-continuity>.overlay-close{display:none}
.menu-continuity::backdrop{background:#14131480;backdrop-filter:blur(12px);opacity:0;transition:opacity .56s ease}
.menu-continuity.menu-visible::backdrop{opacity:1}
.menu-continuity .studio-layout{background:var(--paper);min-height:590px;transform:translateY(-102%);transition:transform .56s cubic-bezier(.22,1,.36,1)}
.menu-continuity.menu-visible .studio-layout{transform:none}
.studio-dialog.menu-continuity[open] .studio-layout nav>a,.studio-dialog.menu-continuity[open] .studio-bottom,.studio-dialog.menu-continuity[open] .menu-projects button{animation:none}
.menu-handoff:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
/* Use the header's complete lockup and steady white neon bolt in the menu. */
.studio-layout>#studio-heading.home-link{gap:11px}
.studio-layout>#studio-heading .brand-mark{margin:0}
.studio-layout>#studio-heading .brand-mark>img{height:43px;filter:none}
.studio-layout>#studio-heading .brand-mark::before,.studio-layout>#studio-heading .brand-mark::after{background-image:url('/assets/logo-header.svg')}
.studio-layout>#studio-heading .brand-mark::before{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 8px #ffffff80)}
.studio-layout>#studio-heading .brand-mark::after{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 4px #ffffffcc) drop-shadow(0 0 12px #ffffff55)}
.studio-layout>#studio-heading .brand-name{display:flex;flex-direction:column;justify-content:space-between;height:43px;overflow:visible;line-height:1.15;white-space:nowrap}
.studio-layout>#studio-heading .brand-name small{margin:0 -.1em 0 0;font-size:9px;line-height:1.25;letter-spacing:.1em}
@media(max-width:760px){
  .studio-layout>#studio-heading.home-link{gap:8px}
  .studio-layout>#studio-heading .brand-mark>img,.studio-layout>#studio-heading .brand-name{height:33px}
  .studio-layout>#studio-heading .brand-name small{margin-right:-.1em;font-size:7px;letter-spacing:.1em}
}
@media(max-width:700px){
  .menu-continuity .studio-layout{min-height:100%;padding-top:26px}
  .menu-continuity .studio-layout nav{padding-top:46px}
  .menu-continuity .studio-layout nav>a{font-size:clamp(42px,12vw,52px)}
}
@media(prefers-reduced-motion:reduce){
  .menu-toggle .menu-symbol i,.menu-toggle>span:first-child,.menu-toggle>span:first-child::after,.menu-toggle.menu-handoff,.menu-continuity::backdrop,.menu-continuity .studio-layout{transition:none}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible)>span:first-child{transform:none}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible) .menu-symbol i{transform:translateY(-3px)}
  .menu-toggle:not([aria-expanded=true]):is(:hover,:focus-visible) .menu-symbol i+i{transform:translateY(3px)}
}
/* Keep the menu at the right edge, including its placeholder during hand-off. */
@media(min-width:761px){
  .site-header{grid-template-columns:minmax(0,1fr) auto;column-gap:24px}
  .site-header>.home-link{grid-column:1;grid-row:1}
  .site-header>.menu-toggle{grid-column:2;grid-row:1;justify-self:end}
}
/* The hero inherits the former header CTA's dimensions at every viewport. */
.lightning-hero .hero-actions>.split-button{--square:42px;font:13px/1.25 var(--mono)}
.lightning-hero .hero-actions>.split-button>span{min-width:112px;padding:13px 16px}
.lightning-hero .hero-actions>.split-button>i{width:42px}
/* The menu introduces the agency; customer work lives in the projects section. */
.menu-projects.menu-projects--single{grid-template-columns:minmax(0,1fr);justify-self:end;width:min(100%,290px)}
@media(max-width:1000px) and (min-width:701px){.menu-projects.menu-projects--single{justify-self:start;width:min(100%,320px)}}

/* Match the visible edges of STÖGER with larger, unscaled Geist Mono lettering. */
.site-header .home-link .brand-name small,
.studio-layout>#studio-heading .brand-name small{margin:0 0 0 .5px;font-size:11.5px;letter-spacing:.063em}
@media(max-width:760px){
  .site-header .home-link .brand-name small,
  .studio-layout>#studio-heading .brand-name small{margin-left:.38px;font-size:9px;letter-spacing:.049em}
}

/* The language choice belongs to the menu, alongside the direct contact. */
.language-switcher{display:inline-flex;align-items:center;gap:2px;border:1px solid #b8b4af;padding:3px;margin:0 0 27px}
.studio-bottom .language-switcher a{display:grid;place-items:center;min-width:42px;min-height:34px;margin:0;padding:0 10px;font:11px/1 var(--mono);color:#615d58;text-decoration:none;transition:background .25s,color .25s}
.studio-bottom .language-switcher a[aria-current=true]{color:var(--bg);background:var(--accent)}
.studio-bottom .language-switcher a:hover{color:var(--bg);background:#dedbd7}
.studio-bottom .language-switcher a[aria-current=true]:hover{background:var(--accent)}
.studio-bottom .language-switcher a:focus-visible{outline:2px solid var(--bg);outline-offset:2px}
@media(max-width:700px){.studio-bottom .language-switcher{margin-bottom:24px}.studio-bottom .language-switcher a{min-width:46px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.studio-bottom .language-switcher a{transition:none}}

/* Keep the complete portrait frame inside the visible window, including its
   native playback controls. Project information remains below and scrollable. */
.reel-dialog{
  --reel-window:100svh;
  --reel-top:88px;
  --reel-bottom:24px;
  scroll-padding-top:var(--reel-top);
}
@supports(height:100dvh){.reel-dialog{--reel-window:100dvh}}
.reel-dialog .detail-image{
  width:min(490px,calc(100% - 48px),calc((var(--reel-window) - var(--reel-top) - var(--reel-bottom)) * .5625));
  height:auto;
  min-height:0;
  max-height:none;
  aspect-ratio:9/16;
  margin:var(--reel-top) auto 0;
  border-radius:5px;
  background:#080808;
}
.reel-dialog .detail-image>video{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  image-rendering:auto;
}
.reel-dialog .detail-body{padding-top:48px}
.reel-card .project-art>video{image-rendering:auto;filter:none}
@media(max-width:760px){
  .reel-dialog{--reel-top:76px;--reel-bottom:20px}
  .reel-dialog .detail-image{width:min(490px,calc(100% - 40px),calc((var(--reel-window) - var(--reel-top) - var(--reel-bottom)) * .5625))}
  .reel-dialog .detail-body{padding-top:36px}
}
@media(max-height:480px){
  .reel-dialog{--reel-top:68px;--reel-bottom:16px}
  .reel-dialog>.overlay-close{top:16px;right:20px;padding:10px 13px}
}

/* A quiet night sky and a single, deliberate lightning arrival. */
.lightning-hero.hero{display:flex;justify-content:center;align-items:center;min-height:720px;height:100svh;max-height:1200px;padding:130px var(--gutter) 180px;background:#101011;isolation:isolate}
.lightning-hero:after{content:none}
.lightning-hero .hero-copy{width:100%;max-width:1120px;text-align:center;padding:0;align-self:center;z-index:2}
.lightning-hero .hero-copy:before{content:none}
.lightning-hero h1{font-size:clamp(62px,7.3vw,116px);font-weight:400;line-height:.99;letter-spacing:-.064em}
.lightning-hero #hero-title{transform-origin:50% 65%;backface-visibility:hidden}
.js .lightning-hero[data-title-intro="waiting"] #hero-title{opacity:0}
.hero-title-line{display:block}
.lightning-word{display:inline-block;position:relative;margin-top:.06em;color:#fff;text-shadow:0 0 7px #ffffff75,0 0 22px #e2edff65,0 0 52px #bdd6ff3b,0 0 100px #b7d2ff21}
.js .lightning-hero[data-electric-state="waiting"] .lightning-word{opacity:0}
.lightning-hero[data-electric-state="striking"] .lightning-word{opacity:var(--arrival-opacity,0);color:#fff;text-shadow:0 0 5px #fff9,0 0 24px #dae8ff70,0 0 65px #c3daff40}
.lightning-hero[data-electric-state="charged"] .lightning-word{text-shadow:0 0 7px #ffffff75,0 0 22px #e2edff65,0 0 52px #bdd6ff3b,0 0 100px #b7d2ff21}
.lightning-aura{position:absolute;inset:0;color:#fff;text-shadow:0 0 4px #fff,0 0 17px #dceaffaa,0 0 42px #c1dbff85,0 0 85px #b9d3ff35;pointer-events:none;opacity:0}
.lightning-hero[data-electric-state="charged"] .lightning-aura{animation:word-current 6.7s linear infinite}
.lightning-hero[data-electric-paused="true"] .lightning-aura{animation-play-state:paused}
@keyframes word-current{0%,70%,74%,77%,100%{opacity:calc(.13 + var(--charge-strength,0)*.55)}71.5%{opacity:calc(.5 + var(--charge-strength,0)*.5)}72.5%{opacity:calc(.2 + var(--charge-strength,0)*.55)}75%{opacity:calc(.34 + var(--charge-strength,0)*.55)}}
.lightning-hero .hero-copy>p{max-width:510px;margin:28px auto 0;font-size:15px;line-height:1.65;color:#aaa8a7;padding:0;letter-spacing:-.01em}
.lightning-hero .hero-actions{justify-content:center;margin-top:27px;gap:24px}
.lightning-hero .hero-scroll{display:grid;place-items:center;width:44px;height:44px;margin:32px auto 0;color:#d5d5d5;border-radius:50%;text-decoration:none}
.lightning-hero .hero-scroll:hover{color:var(--accent)}
.lightning-hero .hero-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.lightning-hero .hero-scroll svg{display:block;pointer-events:none;animation:hero-scroll-float 2.8s ease-in-out infinite}
@keyframes hero-scroll-float{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
.hero-stars{position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(ellipse at 50% 60%,#93b8fb08,transparent 55%),url('/assets/hero-stars.svg');background-position:center;background-size:cover}
.hero-meteors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hero-charge{position:absolute;pointer-events:none;z-index:3}
.hero-electricity{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.footer-playground{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px;min-height:440px}
.footer-playground h2{position:relative;z-index:2}
.footer-playground .footer-level-link>span:first-child{font-size:clamp(42px,5.3vw,82px);line-height:1.07}
.footer-art{position:relative;width:100%;height:clamp(350px,33vw,510px);min-width:0;overflow:visible;cursor:grab;touch-action:pan-y;outline-offset:0}
.footer-art:active{cursor:grabbing}
.footer-art:focus-visible{outline:1px dashed var(--accent)}
.footer-art .statue-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:.8;filter:none;mix-blend-mode:normal}
.footer-art canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s;pointer-events:none}
.footer-art canvas.ready{opacity:1}.footer-art.loaded .statue-fallback{opacity:0}
.figure-hint{position:absolute;right:0;bottom:26px;width:47%;text-align:center;color:#aaa6a3;font:10px/1.5 var(--mono);letter-spacing:.04em;pointer-events:none}
@media(max-width:700px){
 .lightning-hero.hero{min-height:660px;height:100svh;max-height:1000px;padding:125px 20px 165px}
 .lightning-hero h1{font-size:clamp(32px,9.7vw,61px);line-height:1.06;letter-spacing:-.058em}
 .lightning-word{font-size:1.5em;margin-top:.1em;line-height:1.05}
 .lightning-hero .hero-copy>p{max-width:335px;font-size:14px;line-height:1.65;margin-top:28px}
 .lightning-hero .hero-actions{gap:20px;margin-top:27px;flex-wrap:wrap}
 .lightning-hero .hero-actions .inline-link{font-size:13px}
 .hero-stars{background-size:auto 100%}
 .footer-playground{grid-template-columns:1fr;gap:0;padding-bottom:38px;min-height:0}
 .footer-playground .footer-level-link>span:first-child{font-size:clamp(38px,9vw,62px)}
 .footer-art{height:330px;max-width:450px;justify-self:center}
 .figure-hint{width:100%;bottom:20px;font-size:9px}
}
@media(max-height:650px) and (min-width:701px){.lightning-hero.hero{min-height:680px}.lightning-hero h1{font-size:68px}}
@media(prefers-reduced-motion:reduce){
 .lightning-hero .hero-scroll svg{animation:none;transform:none}
 .js .lightning-hero #hero-title{opacity:1!important;transform:none!important}
 .js .lightning-hero .lightning-word{opacity:1!important;transition:none!important}
 .hero-electricity,.hero-meteors,.hero-charge,.lightning-aura{display:none}.footer-art canvas,.footer-art .statue-fallback{transition:none}
}

/* Original client marks flow through the same night sky as the opening. */
.brand-band{position:absolute;inset:auto 0 24px;z-index:2;padding:12px 0;overflow:hidden;mix-blend-mode:screen}
.brand-band>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brand-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brand-track{display:flex;width:max-content;transform:translateZ(0)}
.brand-group{display:flex;align-items:center;list-style:none;margin:0;padding:0 80px 0 0;gap:80px;flex:none}
.brand-group li{display:flex;align-items:center;justify-content:center;flex:none;width:230px;height:80px}
.brand-logo{display:block;object-fit:contain;max-width:100%;max-height:80px;height:auto;opacity:.78}
.brand-logo-nuss{width:142px}
.brand-logo-stoeger{width:230px;filter:invert(1)}
.brand-logo-grahofer{width:80px;filter:brightness(0) invert(1)}
.brand-logo-dafert{width:147px}
.brand-logo-kaiman{width:110px;max-height:none}
.brand-logo-milano{width:100px;filter:brightness(0) invert(1)}
.brand-logo-kubicek{width:88px;filter:grayscale(1) invert(1) brightness(2.3)}
.brand-band[data-marquee-ready="true"] .brand-track{animation:brand-drift 40s linear infinite}
@keyframes brand-drift{to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.brand-band[data-marquee-ready="true"] .brand-track{animation-duration:30.769230769s}.brand-band{bottom:22px;padding:10px 0}.brand-group{gap:52px;padding-right:52px}.brand-group li{width:190px;height:65px}.brand-logo-nuss{width:120px}.brand-logo{max-height:65px}.brand-logo-kaiman{width:90px;max-height:none}.brand-logo-grahofer{width:65px}.brand-logo-milano{width:81px}.brand-logo-dafert{width:119px}.brand-logo-kubicek{width:72px}}
@media(prefers-reduced-motion:reduce){.brand-band .brand-track{animation:none!important;transform:none;width:100%}.brand-window{mask-image:none;overflow-x:auto;scrollbar-width:thin}.brand-group{width:max-content;padding:0 var(--gutter);gap:32px;justify-content:flex-start}.brand-group li{width:min(230px,40vw);min-width:0}.brand-group [aria-hidden="true"],.brand-copy{display:none}}

/* Real cards stack with the scroll, each arriving over the previous one. */
.project-deck{--deck-sticky-top:178px;--deck-step:20px;display:block;padding:120px var(--gutter) 100px;background:#141314;overflow:visible;min-height:100svh}
.project-deck:before{display:none}
.project-deck .mowa-work-heading{display:flex;align-items:flex-end;gap:40px;margin-bottom:76px}
.work-selection-intro{max-width:390px;margin:0;font-size:15px;line-height:1.6;color:#a8a5a2}
.deck-shell{position:relative;max-width:1280px;margin:0 auto;isolation:isolate}
.deck-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:110px;z-index:20;min-height:48px;margin-bottom:24px;background:#141314;box-shadow:0 -14px 0 #141314,0 12px 18px #141314;transform:translateY(var(--deck-toolbar-offset,0px))}
.deck-tabs{display:flex;gap:24px;color:#aaa6a3;font:10px/1.4 var(--mono);letter-spacing:.08em}
.deck-tabs span:last-child{color:#ff8059}
.deck-viewport{display:grid;gap:24px;position:relative;padding-bottom:1px;overflow:visible}
.project-deck .deck-card,.project-deck .deck-card:last-child{display:grid;position:sticky;top:calc(var(--deck-sticky-top) + var(--card-index,0)*var(--deck-step));z-index:calc(1 + var(--card-index,0));grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch;gap:0;width:100%;height:clamp(360px,calc(100svh - 258px),540px);min-height:360px;margin:0;padding:0;border:1px solid #ffffff20;border-radius:8px;color:#141314;background:#eeece6;opacity:1;transform:none;transform-origin:50% 0;transition:none;overflow:hidden;scroll-margin-top:calc(var(--deck-sticky-top) + var(--card-index,0)*var(--deck-step));box-shadow:0 -8px 32px #0002}
.project-deck .deck-card::after{content:'';position:absolute;inset:0;z-index:5;background:#141314;opacity:var(--deck-shade,0);pointer-events:none}
.project-deck .deck-card[hidden]{display:none}
.project-deck .project-art{display:block;position:relative;width:100%;height:100%;min-width:0;aspect-ratio:auto;padding:0;background:#222120;border:0;border-radius:0;overflow:hidden;transform:none;transition:none;cursor:pointer;isolation:isolate}
.project-deck .project-art::before,.project-deck .project-art::after{display:none}
.project-deck .project-art>img,.project-deck .project-art:hover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none;transition:none}
.project-deck .website-card .project-art>.work-website-image{object-fit:contain;padding:16px}
.project-deck .work-media-shade{position:absolute;inset:0;background:#0009}
.project-deck .work-preview{position:absolute;inset:12px 0;display:flex;justify-content:center;pointer-events:none}
.project-deck .work-preview video{height:100%;width:100%;object-fit:contain}
.project-deck .work-preview video[data-playback=error],.project-deck .work-preview video[data-playback=blocked]{visibility:hidden}
.project-deck .reel-open-hint{position:absolute;bottom:20px;left:20px;color:white;z-index:3;font:10px/1.5 var(--mono);background:#141314aa;padding:8px 10px}
.project-deck .work-story-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(25px,3vw,50px)}
.work-story-kicker{display:flex;gap:10px;align-items:center;font:10px/1.5 var(--mono);color:#6a645f;margin:0 0 36px}
.work-story-kicker>span{color:#a3360f}
.project-deck .work-story-copy h3{font:400 clamp(28px,3vw,46px)/1.08 var(--sans);letter-spacing:-.055em;margin:0 0 24px}
.work-story-copy h3>:is(button,a){font:inherit;letter-spacing:inherit;text-align:left;padding:0;color:inherit}
.work-story-description{font-size:15px;line-height:1.7;color:#5f5953;max-width:340px;margin:0}
.work-story-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;width:100%;margin-top:auto;padding-top:32px}
.work-story-category{font:10px/1.4 var(--mono);color:#665e57;border:1px solid #14131433;padding:7px 9px}
.work-story-open{display:flex;align-items:center;gap:18px;font-size:13px;color:#141314}
.work-story-open>span:last-child{color:#a23612;font-size:20px}
.project-deck .work-end{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1280px;margin:36px auto 0;border-top:1px solid #ffffff20;padding-top:24px}
.project-deck .work-overview{display:flex;align-items:center;gap:28px;font-size:14px;letter-spacing:0;padding:0;text-align:left}
.work-overview>span{color:var(--accent);font-size:20px}
.project-deck .reel-toggle{font:10px/1.4 var(--mono);margin:0}
.project-deck :is(button,a,.deck-shell):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1000px){.project-deck .deck-card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.project-deck .work-story-copy{padding:26px}.work-story-kicker{margin-bottom:25px}.project-deck .work-story-copy h3{font-size:30px}.work-story-description{font-size:14px}}
@media(max-width:700px){
 .project-deck{--deck-sticky-top:156px;--deck-step:12px;padding:95px 20px 72px;min-height:0}
 .project-deck .mowa-work-heading{display:block;margin-bottom:54px}
 .work-selection-intro{margin-top:24px;font-size:14px}
 .deck-toolbar{top:92px;gap:12px;margin-bottom:16px}
 .deck-tabs{font-size:9px;letter-spacing:.025em;gap:0}
 .deck-tabs span:first-child{display:none}
 .deck-viewport{gap:24px}
 .project-deck .deck-card,.project-deck .deck-card:last-child{grid-template-columns:1fr;grid-template-rows:minmax(180px,1fr) auto;min-height:clamp(470px,calc(100svh - 234px),630px);height:auto}
 .project-deck .work-story-copy{padding:22px}
 .work-story-kicker{margin-bottom:18px;font-size:9px}
 .project-deck .work-story-copy h3{font-size:30px;margin-bottom:16px}
 .work-story-description{font-size:14px;line-height:1.6}
 .work-story-bottom{padding-top:20px;gap:12px}
 .project-deck .website-card .project-art>.work-website-image{padding:8px}
 .project-deck .work-end{gap:15px;align-items:flex-start}.project-deck .work-overview{font-size:12px;gap:12px}
 .project-deck .reel-open-hint{font-size:9px;left:10px;bottom:10px}
}
/* Very short windows need free document flow so every card remains readable. */
@media(max-width:700px) and (max-height:640px),(min-width:701px) and (max-height:540px){
 .project-deck .deck-card,.project-deck .deck-card:last-child{position:relative;top:auto;transform:none!important}
 .project-deck .deck-card::after{opacity:0}
 .deck-toolbar{position:relative;top:auto}
}
/* Ignore the retired project-grid hover/reveal rules on the new paper cards. */
.js .project-deck .deck-card{opacity:1;transform:none}
.project-deck .work-story-copy h3,.project-deck .deck-card:hover h3{color:#141314}
.project-deck .deck-card:is(:hover,:focus-within) .project-art{transform:none}

/* Website previews share the project overview with the reels. */
.index-grid img{display:block;height:auto}
.index-grid .index-website img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#222120}
#detail-source[hidden]{display:none}

/* The photo contact sheet keeps the user's three-by-three composition. */
.project-deck .photo-card .photo-contact-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#181818;min-height:0;height:100%;overflow:hidden}
.photo-contact-sheet>button{display:block;min-width:0;min-height:0;padding:0;overflow:hidden;cursor:pointer}
.photo-contact-sheet img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.photo-contact-sheet>button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.project-deck [data-open-gallery][data-gallery-pointer-return]:focus{outline:none}
.index-grid .index-photo-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:3px;aspect-ratio:16/10;margin:0;background:#222120;overflow:hidden}
.index-grid .index-photo-sheet img{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.photo-gallery-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1440px,100%);height:100svh;min-height:420px;margin:0 auto;padding:28px var(--gutter) 20px;gap:16px}
.photo-gallery-heading{padding-right:180px;min-height:48px;display:flex;align-items:center;gap:24px}
.photo-gallery-heading h2{font:400 27px/1.1 var(--sans);letter-spacing:-.045em;margin:0}
.photo-gallery-heading p{font:10px/1.4 var(--mono);color:var(--muted)}
.photo-gallery-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:18px;min-height:0;align-items:center}
.photo-gallery-stage>button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;font-size:23px;cursor:pointer}
.photo-gallery-stage>button:focus-visible,.photo-gallery-thumbs>a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.photo-gallery-stage figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;height:100%;min-height:0;margin:0}
.photo-gallery-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.photo-gallery-caption{font:11px/1.5 var(--mono);color:var(--muted);text-align:center;min-height:17px}
.photo-gallery-thumbs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 4px 4px;scrollbar-width:thin;align-items:center;justify-content:safe center}
.photo-gallery-thumbs>a{flex:0 0 64px;height:58px;display:block;opacity:.5;border:2px solid transparent}
.photo-gallery-thumbs>a[aria-current=true]{opacity:1;border-color:var(--accent)}
.photo-gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
 .project-deck .photo-card,.project-deck .photo-card:last-child{grid-template-rows:clamp(240px,90vw,350px) auto}
 .project-deck .photo-card .photo-contact-sheet{min-height:240px}
 .photo-gallery-layout{padding:20px 14px 12px;gap:12px;min-height:360px}
 .photo-gallery-heading{padding-right:115px;gap:12px;min-height:36px}
 .photo-gallery-heading h2{font-size:24px}
 .photo-gallery-stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}
 .photo-gallery-stage>button{width:34px;height:44px;border-radius:4px;font-size:20px}
 .photo-gallery-thumbs{justify-content:flex-start}
 .photo-gallery-thumbs>a{flex-basis:52px;height:48px}
 .photo-gallery-caption{font-size:9px;line-height:1.4}
}

/* The people behind Stöger: a shared direction, with individual responsibilities. */
.home-about{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:center;gap:8%;min-height:100svh;padding:clamp(90px,12svh,160px) var(--gutter);scroll-margin-top:70px}
.home-about-copy>.eyebrow{margin-bottom:30px}
.home-about h2{font-size:clamp(52px,6vw,92px);line-height:1.05;letter-spacing:-.055em;font-weight:400}
.home-about-lead{max-width:620px;margin-top:30px;font-size:clamp(17px,1.45vw,21px);line-height:1.65;color:#5b5754}
.home-about-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:36px 0;border-top:1px solid #14131425;padding-top:22px}
.home-about-team dt{font-size:18px;line-height:1.3}
.home-about-team dd{margin:8px 0 0;font:11px/1.65 var(--mono);color:#5b5754}
.home-about-portrait{margin:0;max-width:460px;width:100%;justify-self:end}
.home-about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 48%}
.home-about-portrait figcaption{margin-top:14px;font:10px/1.5 var(--mono);letter-spacing:.06em;color:#5b5754}
.home-about+.service-overview{border-top:1px solid #14131425}
@media(min-width:761px) and (max-width:1050px){.home-about{gap:5%;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr)}.home-about h2{font-size:6.2vw}.home-about-team{gap:12px}.home-about-team dt{font-size:16px}}
@media(max-width:760px){
 .home-about{grid-template-columns:minmax(0,1fr);gap:44px;min-height:0;padding:76px 20px 64px;scroll-margin-top:72px}
 .home-about-copy>.eyebrow{margin-bottom:24px}
 .home-about h2{font-size:clamp(42px,10.5vw,70px)}
 .home-about-lead{margin-top:25px;font-size:17px}
 .home-about-team{grid-template-columns:1fr;gap:15px;margin:28px 0;padding-top:22px}
 .home-about-team>div{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:baseline;gap:16px}
 .home-about-team dt{font-size:17px}.home-about-team dd{margin:0;font-size:11px}
 .home-about-portrait{max-width:440px;justify-self:start}
}
.about-page .about-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8%;align-items:center}
.about-page .about-hero h1{font-size:clamp(57px,6.7vw,108px);line-height:1.04}
.about-page .about-lead{max-width:590px;font-size:clamp(17px,1.55vw,23px)}
.about-page .about-portrait>.client-portrait{object-position:50% 56%;filter:none}
.about-page .about-portrait figcaption{color:#aaa6a4;flex-wrap:wrap;gap:4px 16px}
.team-section{padding:96px var(--gutter) 112px;scroll-margin-top:80px}
.team-heading{display:grid;grid-template-columns:minmax(120px,.44fr) minmax(0,1fr);gap:7%;align-items:start;margin-bottom:76px}
.team-heading>.eyebrow{padding-top:11px}
.team-heading h2,.team-approach h2{font-size:clamp(44px,4.6vw,72px);line-height:1.08;letter-spacing:-.055em;font-weight:400}
.team-member{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:10%;padding:42px 0 46px;border-top:1px solid #14131433}
.team-member:last-child{border-bottom:1px solid #14131433}
.team-person h3{font-size:clamp(30px,3.7vw,58px);line-height:1.12;letter-spacing:-.045em;font-weight:400}
.team-role{position:relative;margin-top:16px;padding-left:17px;font:12px/1.5 var(--mono);color:#55514e}
.team-role:before{content:'';position:absolute;top:.45em;left:1px;width:6px;height:6px;background:var(--accent);transform:rotate(-19deg)}
.team-member:nth-child(2) .team-role:before{transform:rotate(26deg)}
.team-member:nth-child(3) .team-role:before{transform:rotate(-34deg)}
.team-responsibility>p:first-child{font-size:clamp(17px,1.55vw,23px);line-height:1.6;letter-spacing:-.015em;max-width:610px}
.team-responsibility .team-focus{margin-top:23px;font:11px/1.8 var(--mono);color:#5b5754}
.team-approach{padding:86px var(--gutter) 112px}
.team-approach>.section-top{margin-bottom:60px}
.team-approach .accent{color:#ff805c}
.team-approach-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;align-items:end;margin-bottom:70px}
.team-approach-heading>p{font-size:clamp(18px,1.7vw,25px);line-height:1.6;max-width:570px;letter-spacing:-.018em;color:#b4b0ae}
.team-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}
.team-process-link{margin:0 0 40px;font:12px/1.6 var(--mono)}
.team-values article{border-top:1px solid #ffffff30;padding-top:27px;min-width:0}
.team-values h3{font-size:clamp(27px,2.6vw,40px);line-height:1.13;letter-spacing:-.045em;font-weight:400;margin-bottom:20px}
.team-values p{font-size:16px;line-height:1.65;color:#aaa6a4;max-width:390px}
@media(min-width:761px) and (max-width:1050px){
 .about-page .about-hero-grid{gap:5%;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
 .about-page .about-hero h1{font-size:6.5vw}
 .team-heading{grid-template-columns:minmax(100px,.3fr) minmax(0,1fr);gap:5%}
 .team-member,.team-approach-heading{gap:6%}
 .team-values{gap:4%}
 .team-values p{font-size:15px}
}
@media(max-width:760px){
 .about-page .about-hero-grid{display:flex;gap:40px}
 .about-page .about-hero h1{font-size:clamp(45px,10.6vw,78px);letter-spacing:-.06em}
 .about-page .about-lead{max-width:540px;font-size:18px}
 .about-page .about-portrait figcaption{font-size:9px}
 .team-section{padding:62px 20px 72px;scroll-margin-top:60px}
 .team-heading{display:block;margin-bottom:40px}
 .team-heading>.eyebrow{padding:0;margin-bottom:26px}
 .team-heading h2,.team-approach h2{font-size:clamp(36px,8.5vw,58px);line-height:1.1;letter-spacing:-.05em}
 .team-member{grid-template-columns:minmax(0,1fr);gap:23px;padding:30px 0 34px}
 .team-person h3{font-size:clamp(31px,8vw,45px)}
 .team-role{margin-top:11px;font-size:11px}
 .team-responsibility>p:first-child{font-size:17px;line-height:1.6}
 .team-responsibility .team-focus{font-size:10px;margin-top:18px}
 .team-approach{padding:60px 20px 70px}
 .team-approach>.section-top{margin-bottom:37px}
 .team-approach-heading{grid-template-columns:minmax(0,1fr);gap:25px;margin-bottom:38px}
 .team-approach-heading>p{font-size:18px;line-height:1.6}
 .team-values{grid-template-columns:minmax(0,1fr);gap:29px}
 .team-values article{padding-top:25px}
 .team-values h3{font-size:31px;margin-bottom:14px}
 .team-values p{font-size:16px;max-width:520px}
}

/* Shared contact dialog and form controls on home and subpages. */
.contact-dialog.contact-form-dialog{
  --contact-heading:#dd642e;
  inset:24px auto auto 50%;width:min(860px,calc(100% - 48px));height:auto;
  max-height:calc(100svh - 48px);max-height:calc(100dvh - 48px);
  background:var(--bg);border:1px solid #454143;border-radius:0;
  overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;
}
.contact-dialog-bar{
  position:sticky;top:0;z-index:8;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:16px 28px;
  background:var(--bg);border-bottom:1px solid #393638;
}
.contact-dialog-bar>.eyebrow{font-size:10px;color:#b7b3b1;letter-spacing:.02em}
.contact-form-dialog .contact-dialog-bar>.overlay-close{
  position:static;flex:none;min-height:44px;padding:11px 14px;
  gap:20px;font-size:10px;background:#ffffff0b;color:var(--ink);
}
.contact-form-dialog .contact-dialog-bar>.overlay-close:hover{background:#ffffff18}
.contact-form-dialog .brief-layout{padding:32px 44px 40px}
.contact-form-dialog .brief-layout>h2{font-size:clamp(40px,5vw,66px);margin:0 0 20px;line-height:1.04;color:var(--contact-heading)}
.contact-form-dialog .brief-layout>p:not(.eyebrow){max-width:580px;font-size:16px;line-height:1.55}
.contact-form-dialog #brief-form{margin-top:30px}
.contact-form-services{min-width:0;margin:0 0 28px;padding:0;border:0}
.contact-form-services>legend{padding:0;margin-bottom:8px;font:500 20px/1.45 var(--mono);color:var(--contact-heading)}
.contact-form-services>p{margin-bottom:16px;font-size:12px;color:#a9a5a2}
.contact-service-options{display:flex;gap:8px;flex-wrap:wrap}
.contact-service-option{position:relative;cursor:pointer;max-width:100%}
.contact-service-option>input{position:absolute;opacity:0;width:1px;height:1px;inset:50% auto auto 14px;margin:0}
.contact-service-option>span{
  display:flex;align-items:center;gap:9px;min-height:44px;
  padding:11px 15px;border:1px solid #5a5554;font-size:13px;line-height:1.3;
  transition:background .2s,color .2s,border-color .2s;
}
.contact-service-option>span::before{
  content:'+';display:grid;place-items:center;flex:none;width:12px;
  font:16px/1 var(--sans);color:#b5afab;
}
.contact-service-option>input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.contact-service-option>input:checked+span::before{content:'✓';font-size:12px;color:currentColor}
.contact-service-option>input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}
@media(hover:hover){.contact-service-option:hover>span{border-color:var(--ink)}}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
.contact-form-dialog .brief-field{margin:0;min-width:0;border-bottom:1px solid #67615e}
.contact-form-dialog .brief-field-wide{grid-column:1/-1}
.contact-form-dialog .brief-field>span{font:500 18px/1.5 var(--mono);color:var(--contact-heading)}
.contact-form-dialog .brief-field input,.contact-form-dialog .brief-field textarea{font-size:16px;padding:12px 0;color:var(--ink);min-height:48px}
.contact-form-dialog .brief-field textarea{min-height:100px;max-height:300px;line-height:1.6}
.contact-form-dialog .brief-field input::placeholder,.contact-form-dialog .brief-field textarea::placeholder{color:#a09a97;opacity:1}
.contact-form-dialog .brief-field:focus-within>span{color:var(--contact-heading)}
.contact-form-dialog .brief-field select{
  display:block;width:100%;min-width:0;min-height:48px;padding:12px 28px 12px 0;
  border:0;border-radius:0;appearance:none;background:transparent;color:var(--ink);
  font:16px/1.5 var(--sans);cursor:pointer;
}
.contact-form-dialog .brief-field select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.contact-form-dialog .brief-field select:disabled{cursor:wait;opacity:.65}
.contact-form-dialog .brief-field select option{background:var(--bg);color:var(--ink)}
.contact-form-dialog .brief-field-select::before{
  content:'';position:absolute;right:6px;bottom:22px;width:7px;height:7px;
  border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);
  transform:rotate(45deg);pointer-events:none;
}
.contact-form-required{margin:13px 0 25px;font:10px/1.5 var(--mono);color:#aaa4a1}
.contact-form-submit{display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}
.contact-form-submit>.contact-submit{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  min-height:52px;padding:15px 20px;background:var(--accent);color:var(--bg);
  font:12px/1.5 var(--mono);transition:background .2s;
}
.contact-form-submit>.contact-submit>i{font:22px/1 var(--sans);font-style:normal}
.contact-form-submit>.contact-submit:hover{background:var(--ink)}
.contact-form-submit>.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-form-submit>.form-note{flex:1 1 230px;font-size:12px;line-height:1.6;color:#b4afaa;margin:0;max-width:340px}
.contact-form-dialog .form-status{font-size:13px;max-width:none;line-height:1.6;margin-top:18px}
.contact-form-dialog .form-status:empty{margin-top:0}
.contact-form-dialog .form-status[data-state="error"]{color:#ffc7b5}
.contact-form-dialog .form-status[data-state="success"]{color:var(--ink)}
.contact-form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.contact-form-dialog .brief-direct{margin-top:30px;padding-top:22px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.contact-form-dialog .brief-direct>p{font-size:13px}
.contact-form-dialog .brief-direct .contact-number{font-size:20px;margin:0}
@media(max-width:600px){
  .contact-dialog.contact-form-dialog{inset:8px auto auto 50%;width:calc(100% - 16px);max-height:calc(100svh - 16px);max-height:calc(100dvh - 16px)}
  .contact-dialog-bar{padding:10px 16px;gap:8px}
  .contact-dialog-bar>.eyebrow{font-size:9px;max-width:120px}
  .contact-form-dialog .contact-dialog-bar>.overlay-close{padding:10px 12px;gap:12px}
  .contact-form-dialog .brief-layout{padding:25px 20px 30px}
  .contact-form-dialog .brief-layout>h2{font-size:42px;max-width:290px}
  .contact-form-dialog .brief-layout>p:not(.eyebrow){font-size:14px}
  .contact-service-options{gap:7px}
  .contact-service-option>span{font-size:12px;padding:10px 12px}
  .contact-field-grid{grid-template-columns:1fr;gap:20px}
  .contact-form-submit{gap:15px}
  .contact-form-submit>.contact-submit{width:100%}
  .contact-form-submit>.form-note{max-width:none;flex-basis:100%}
  .contact-form-dialog .brief-direct{align-items:flex-start;flex-direction:column}
}

/* A compact closing row: copyright, legal links and one direct contact action. */
.footer-reveal{height:auto;min-height:0}
.footer-stage.footer-clean{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px 32px;width:100%;height:auto;min-height:0;padding:30px var(--gutter) 24px;border-top:1px solid #ffffff20}
.footer-stage.footer-clean>*{width:auto;margin:0}
.footer-clean .footer-copyright{justify-self:start;color:#b7b3b0;font:11px/1.5 var(--mono);text-align:left}
.footer-clean .footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;justify-self:center;gap:4px 24px;padding:0;color:#b7b3b0;font:11px/1.5 var(--mono);text-align:center}
.footer-clean .footer-legal>a,.footer-clean .footer-legal>button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;font:inherit;text-align:center;cursor:pointer}
.footer-clean .footer-legal>a:hover,.footer-clean .footer-legal>button:hover{color:var(--ink)}
.footer-clean .footer-legal a:focus-visible,.footer-clean .footer-legal button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.footer-clean .footer-legal a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.footer-clean .footer-contact{justify-self:end;display:flex;align-items:center;justify-content:center;min-width:156px;min-height:52px;padding:16px 24px;background:var(--accent);color:var(--bg);font:12px/1.3 var(--mono);text-align:center;transform:none;transition:none;animation:none}
.footer-clean .footer-contact:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.form-note>a{display:inline;text-decoration:underline;text-underline-offset:3px;color:inherit}
.form-note>a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){
  .footer-stage.footer-clean{grid-template-columns:minmax(0,1fr) auto;gap:18px 24px}
  .footer-clean .footer-legal{grid-column:1/-1;grid-row:1}
  .footer-clean .footer-copyright,.footer-clean .footer-contact{grid-row:2}
}
@media(max-width:600px){
  .footer-stage.footer-clean{padding:18px 20px 20px;gap:16px}
  .footer-clean .footer-legal{column-gap:20px;font-size:10px}
  .footer-clean .footer-copyright{font-size:10px;max-width:180px}
  .footer-clean .footer-contact{min-width:128px;min-height:48px;padding:14px 18px;font-size:11px}
}

/* Quiet, readable legal pages within the existing site shell. */
.legal-main{width:100%;max-width:1440px;margin:auto;padding:clamp(144px,16vw,210px) var(--gutter) 70px}
.legal-main [hidden]{display:none!important}
.legal-intro{padding-bottom:48px}
.legal-intro>.eyebrow{color:#b7b3b0;margin-bottom:28px;font:11px/1.5 var(--mono)}
.legal-intro h1{font-size:clamp(48px,8vw,112px);font-weight:400;line-height:1.06;letter-spacing:-.065em;overflow-wrap:anywhere}
.legal-intro .legal-lead{margin-top:24px;color:#b7b3b0;font-size:clamp(18px,2vw,24px);letter-spacing:-.025em}
.legal-draft{border-left:2px solid var(--accent);padding:4px 0 4px 22px;max-width:820px;margin:0 0 54px;font-size:14px;line-height:1.7}
.legal-draft strong{display:block;color:#ff956f;font-weight:500;margin-bottom:8px}
.legal-draft p{color:#b7b3b0}
.legal-section{display:grid;grid-template-columns:minmax(170px,1fr) minmax(0,2fr);gap:48px;border-top:1px solid #ffffff26;padding:34px 0 38px}
.legal-section h2{font:400 clamp(20px,2vw,28px)/1.25 var(--sans);letter-spacing:-.035em}
.legal-section>div{max-width:760px;min-width:0;font:15px/1.8 var(--sans);color:#c9c6c3}
.legal-section p+p,.legal-section address+p,.legal-section dl+p{margin-top:18px}
.legal-section address{font:inherit;color:var(--ink)}
.legal-section a{text-decoration:underline;text-decoration-color:#777;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-section a:hover{color:var(--ink);text-decoration-color:var(--accent)}
.legal-section a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.legal-details{margin:0}
.legal-details>div+div{margin-top:20px}
.legal-details dt{font-size:12px;color:var(--ink);margin-bottom:4px}
.legal-details dd{margin:0}
.legal-section .legal-pending{color:#e5b09b}
.legal-section code{font:12px/1.7 var(--mono);overflow-wrap:anywhere}
.legal-updated{border-top:1px solid #ffffff26;padding-top:20px;color:#b7b3b0;font:11px/1.6 var(--mono)}
@media(max-width:760px){
  .legal-main{padding:140px 20px 44px}
  .legal-intro{padding-bottom:32px}
  .legal-intro>.eyebrow{font-size:10px;margin-bottom:20px}
  .legal-intro h1{font-size:clamp(40px,10.5vw,72px)}
  .legal-draft{margin-bottom:36px;padding-left:16px;font-size:13px}
  .legal-section{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 0 32px}
  .legal-section>div{font-size:14px;line-height:1.8}
}

/* Service details extend the existing typography, palette and navigation. */
.service-tile h3 a{display:inline-flex;align-items:center;gap:14px;color:inherit;text-decoration:none}
.service-tile h3 a::after{content:'↗';font:400 .7em var(--sans);color:#a5310e;transition:transform .25s}
.service-tile h3 a:hover::after{transform:translate(3px,-3px)}
.service-tile h3 a:focus-visible{outline:2px solid #141314;outline-offset:6px}
.seo-project-link{display:inline-block;margin-top:14px;font:12px/1.6 var(--mono);text-decoration:underline;text-underline-offset:5px}
.seo-intro{max-width:1500px;margin:auto;padding-bottom:80px}
.seo-breadcrumbs{display:flex;gap:14px;font:11px/1.6 var(--mono);color:#b8b7b4;margin-bottom:52px}
.seo-breadcrumbs a:hover{color:#fff}.seo-intro>.eyebrow{color:#ff916d;margin-bottom:26px}
.seo-intro h1{font-size:clamp(45px,7vw,105px);max-width:1100px;text-wrap:balance;overflow-wrap:break-word}
.seo-lead{max-width:740px;margin:30px 0;font-size:clamp(18px,2vw,26px);line-height:1.55;color:#c3c2be}
.seo-intro .split-button{margin-top:4px}.seo-case-image{margin:64px 0 0}.seo-case-image img{display:block;width:100%;height:auto;border-radius:2px}
.seo-sections{padding:24px var(--gutter) 64px}
.seo-section{max-width:1340px;margin:auto;padding:50px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:10%;border-top:1px solid #14131433}
.seo-section:first-child{border-top:0}.seo-section h2{font-size:clamp(26px,3vw,42px);line-height:1.18;letter-spacing:-.045em;font-weight:400}
.seo-section>div{font-size:17px;line-height:1.8;max-width:700px}.seo-section p+p{margin-top:20px}
.seo-project-links,.seo-case-link{max-width:1340px;margin:20px auto 0}.seo-project-links{display:flex;flex-wrap:wrap;gap:24px}
.seo-faq{padding:80px var(--gutter);display:grid;grid-template-columns:1fr 1.4fr;gap:10%;max-width:1500px;margin:auto}
.seo-faq h2,.seo-related h2{font-size:clamp(30px,4vw,56px);font-weight:400;letter-spacing:-.045em;line-height:1.12}
.seo-faq details{border-top:1px solid #ffffff38;padding:22px 0}.seo-faq summary{display:flex;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;font-size:18px;line-height:1.5}
.seo-faq summary::-webkit-details-marker{display:none}.seo-faq summary span{color:#ff916d}.seo-faq details[open] summary span{transform:rotate(45deg)}
.seo-faq details p{font-size:16px;line-height:1.8;color:#c3c2be;margin-top:18px}
.seo-related{padding:0 var(--gutter) 80px;max-width:1500px;margin:auto}.seo-related nav{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.seo-related nav a{border-top:1px solid #ffffff38;padding:18px 0;display:flex;justify-content:space-between;gap:16px;font-size:18px}.seo-related nav a span{color:#ff916d}
.seo-contact{padding:70px var(--gutter);display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.seo-contact h2{font-size:clamp(34px,4vw,60px);line-height:1.12;letter-spacing:-.045em;font-weight:400}
.seo-contact p{max-width:560px;font-size:18px;line-height:1.7;margin-bottom:26px}.seo-contact .split-button{margin-bottom:22px}.seo-direct{display:block;width:fit-content;margin-top:10px;font-size:15px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.seo-page .footer-reveal{margin-top:0}.seo-main a:focus-visible,.seo-main summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:700px){.seo-intro{padding:130px 20px 48px}.seo-breadcrumbs{margin-bottom:38px}.seo-intro h1{font-size:clamp(40px,10vw,64px)}.seo-section,.seo-faq,.seo-contact{grid-template-columns:1fr;gap:24px}.seo-sections{padding:12px 20px 36px}.seo-section{padding:32px 0}.seo-section>div{font-size:16px;line-height:1.75}.seo-faq{padding:50px 20px}.seo-related{padding:0 20px 50px}.seo-related nav{grid-template-columns:1fr}.seo-contact{padding:44px 20px}.seo-case-image{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.service-tile h3 a::after{transition:none}}

/* Original camera geometry lives between the service columns, without taking
   pointer input away from the links. The decorations never affect layout. */
.section-object{position:relative;pointer-events:none;user-select:none;isolation:isolate}
.section-object>canvas,.section-object>img,.section-object-fallback{position:absolute;inset:0;display:block;width:100%;height:100%}
.section-object>canvas{opacity:0;transition:opacity .35s}
.section-object>img{object-fit:contain;transition:opacity .35s}
.section-object.object-ready>canvas{opacity:1}
.section-object.object-ready>img,.section-object.object-ready>.section-object-fallback{opacity:0}
.section-object-fallback{display:grid;place-items:center;font:600 clamp(220px,25vw,380px)/1 var(--sans);color:var(--accent);text-shadow:5px 4px 0 #bd390f;transition:opacity .35s}
.service-overview-heading{text-align:center}
.service-overview-heading .wipe-line{margin-inline:auto}
.service-stage{position:relative;isolation:isolate}
.service-camera-track{position:absolute;inset:0;z-index:0;pointer-events:none}
.service-camera-track>.section-object--camera{position:absolute;left:50%;top:50%;width:clamp(360px,40vw,660px);height:clamp(380px,43vw,610px);transform:translate(-50%,-50%)}
.service-stage>.service-grid{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) clamp(240px,26vw,420px) minmax(0,1fr);column-gap:clamp(24px,3vw,52px)}
.service-stage .service-tile:nth-child(1){grid-column:1;grid-row:1}
.service-stage .service-tile:nth-child(2){grid-column:1;grid-row:2}
.service-stage .service-tile:nth-child(3){grid-column:1;grid-row:3}
.service-stage .service-tile:nth-child(4){grid-column:3;grid-row:1}
.service-stage .service-tile:nth-child(5){grid-column:3;grid-row:2}
.service-stage .service-tile:nth-child(6){grid-column:3;grid-row:3}
.service-stage .service-tile h3{font-size:clamp(23px,2.2vw,33px)}
.service-more{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin-top:14px;padding:0 16px;border:1px solid #14131455;border-radius:2px;color:var(--bg);font:11px/1.4 var(--mono);text-decoration:none}

.service-more:hover{color:#a32b07}
.service-more:focus-visible{outline:2px solid var(--bg);outline-offset:4px}
@media(min-width:761px){
 .service-stage>.service-grid{margin-inline:20px}
 .service-stage .service-tile{border-top-color:transparent}
 .service-stage .service-tile::before{content:'';position:absolute;top:-1px;left:0;width:min(72%,280px);height:1px;background:#14131433;pointer-events:none}
}
@media(min-width:1101px){
 .service-stage .service-tile:nth-child(n+4){text-align:right}
 .service-stage .service-tile:nth-child(n+4)::before{left:auto;right:0}
 .service-stage .service-tile:nth-child(n+4) li{padding-left:0;padding-right:19px}
 .service-stage .service-tile:nth-child(n+4) li::before{left:auto;right:1px}
}
@media(min-width:761px) and (max-width:1100px){
 .service-stage .service-tile:nth-child(even){text-align:right}
 .service-stage .service-tile:nth-child(even)::before{left:auto;right:0}
 .service-stage .service-tile:nth-child(even) li{padding-left:0;padding-right:19px}
 .service-stage .service-tile:nth-child(even) li::before{left:auto;right:1px}
}
.faq:has(.faq-object){position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:clamp(35px,7vw,110px);align-items:start}
.faq-object{position:relative;z-index:0;min-width:0;align-self:start}
.faq-object>.section-object--question{width:100%;height:clamp(350px,36vw,510px);max-width:450px;margin-inline:auto}
.faq-content{position:relative;z-index:1;min-width:0}
.faq-content>h2{font-size:clamp(46px,5.1vw,76px);line-height:1.08;letter-spacing:-.055em;margin:0 0 40px}
@media(max-width:1100px){
 .service-stage>.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
 .service-stage .service-tile:nth-child(n){grid-column:auto;grid-row:auto}
 .service-camera-track>.section-object--camera{width:min(78%,550px);height:530px;opacity:.20}
 .faq:has(.faq-object){display:block}
 .faq-object{position:absolute;inset:100px 0 0;overflow:hidden;opacity:.10}
 .faq-object>.section-object--question{width:min(85%,470px);height:500px;margin-inline:auto}
 .faq-content>h2{font-size:clamp(46px,6vw,66px)}
}
@media(max-width:760px){
 .service-overview{overflow:clip}
 .service-stage>.service-grid{grid-template-columns:minmax(0,1fr)}
 /* Follow the viewport only while the service list is passing. The track
    bounds the sticky camera without adding height to the list. Its centre
    stays at the right viewport edge, including the 20px section gutter. */
 .service-camera-track>.section-object--camera{--camera-height:clamp(540px,130vw,700px);position:sticky;left:auto;top:max(90px,calc((100svh - var(--camera-height))/2));margin-left:calc(100% + 20px);width:clamp(560px,135vw,800px);max-width:none;height:var(--camera-height);transform:translateX(-50%);opacity:.28}
 .service-stage .service-tile h3{font-size:29px}
 .service-more{margin-top:8px}
 .faq-object{inset:100px 0 0;opacity:.085}
 .faq-object>.section-object--question{height:420px}
 .faq-content>h2{font-size:clamp(43px,11vw,58px);margin-bottom:34px}
}
@media(prefers-reduced-motion:reduce){.section-object>canvas,.section-object>img,.section-object-fallback{transition:none}}

/* Six services, one consistent card rhythm. Motion belongs to the symbols. */
.service-overview.service-cards{padding:110px var(--gutter) 100px;min-height:100svh}
.service-cards .service-overview-heading{padding-bottom:52px;text-align:center}
.service-cards .service-card-grid{width:100%;max-width:1240px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-cards .service-tile{display:flex;flex-direction:column;align-items:flex-start;min-height:352px;padding:34px 38px 32px;border:1px solid #d6d5d3;border-radius:22px;--service-card-bg:#e2e1df;background:var(--service-card-bg);text-align:left;transition:background-color .3s,border-color .3s;isolation:isolate}
.service-cards .service-tile:focus-within{border-color:#9a9690}
.service-symbol-wrap{display:grid;place-items:center;width:94px;height:94px;margin:0 0 22px -5px;pointer-events:none}
.service-cards .service-tile h3{font-size:clamp(27px,2.6vw,37px);letter-spacing:-.045em;line-height:1.12;margin:0 0 20px;overflow-wrap:break-word}
.service-cards .service-tile ul{margin:0 0 26px}
.service-cards .service-tile li{font-size:16px;line-height:1.65;color:#54514e;padding-left:19px}
.service-cards .service-tile li::before{left:1px;right:auto}
.service-cards .service-more{min-height:44px;margin-top:auto;padding:0 17px;border:1px solid #a8a39d;color:#24211f;border-radius:3px;font:11px/1.4 var(--mono);gap:22px;transition:background-color .22s,border-color .22s,color .22s}
.service-cards .service-more::after{content:'↗';font:18px/1 var(--sans)}
.service-cards .service-more:hover{background:var(--accent);border-color:var(--accent);color:#141314}
.service-cards .service-more:focus-visible{outline:2px solid #141314;outline-offset:4px}
@media(hover:hover){.service-cards .service-tile:hover{--service-card-bg:#dedddb;border-color:#b8b3ad}}
@media(min-width:1600px){.service-cards .service-tile{padding:40px 44px;min-height:390px}.service-symbol-wrap{width:104px;height:104px}}
@media(min-width:761px) and (max-width:1000px){.service-cards .service-tile{padding:28px;min-height:354px}.service-cards .service-tile h3{font-size:29px}}
@media(max-width:760px){
 .service-overview.service-cards{padding:94px 20px 66px;min-height:0}
 .service-cards .service-overview-heading{padding-bottom:34px}
 .service-cards .service-card-grid{grid-template-columns:minmax(0,1fr);gap:16px;max-width:520px}
 .service-cards .service-tile{padding:27px 26px 26px;min-height:0;border-radius:18px}
 .service-symbol-wrap{width:82px;height:82px;margin-bottom:20px}
 .service-cards .service-tile h3{font-size:29px;margin-bottom:18px}
 .service-cards .service-tile ul{margin-bottom:24px}
 .service-cards .service-tile li{font-size:15px}
}
@media(max-width:360px){.service-cards .service-tile{padding-inline:21px}.service-cards .service-tile h3{font-size:26px}.service-cards .service-tile li{font-size:14px}}
@media(prefers-reduced-motion:reduce){.service-cards .service-tile,.service-cards .service-more{transition:none}}

/* Bespoke service illustrations. Motion is gated by the card lifecycle. */
.service-symbol {
  --symbol-ink: #262323;
  --symbol-accent: #f45b30;
  display: block;
  width: clamp(84px, 7vw, 100px);
  height: auto;
  aspect-ratio: 1;
  flex: none;
  overflow: hidden;
  color: var(--symbol-ink);
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.service-symbol .symbol-accent { color: var(--symbol-accent); }
.service-symbol .symbol-solid { fill: currentColor; stroke: none; }
.service-symbol .symbol-ground { fill: var(--service-card-bg, #eeece9); }
.service-symbol .symbol-muted { opacity: .48; }
.service-symbol .symbol-motion {
  transform-box: view-box;
  animation-play-state: paused;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(.45, 0, .3, 1);
}

/* Social media: a quiet exchange between a post and its notification. */
.symbol-social-back {
  transform-origin: 48px 57px;
  animation-name: symbol-social-back;
  animation-duration: 6.8s;
}
.symbol-social-front {
  transform-origin: 65px 69px;
  animation-name: symbol-social-front;
  animation-duration: 6.8s;
}
.symbol-social-heart {
  transform-origin: 87px 31px;
  animation-name: symbol-social-heart;
  animation-duration: 6.8s;
}
@keyframes symbol-social-back {
  0%, 100% { transform: translate(0, 0) rotate(-5deg); }
  50% { transform: translate(-2px, -3px) rotate(-8deg); }
}
@keyframes symbol-social-front {
  0%, 100% { transform: translate(0, 0) rotate(3deg); }
  50% { transform: translate(1px, 2px) rotate(5deg); }
}
@keyframes symbol-social-heart {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  35% { transform: translate(1px, -4px) rotate(5deg); }
  65% { transform: translate(-1px, -2px) rotate(-3deg); }
}

/* Webdesign: the cursor explores a responsive layout. */
.symbol-web-cursor {
  transform-origin: 72px 77px;
  animation-name: symbol-web-cursor;
  animation-duration: 7.6s;
}
.symbol-web-module {
  transform-origin: 92px 28px;
  animation-name: symbol-web-module;
  animation-duration: 7.6s;
}
@keyframes symbol-web-cursor {
  0%, 100% { transform: translate(0, 0); }
  30% { transform: translate(-8px, -6px); }
  55% { transform: translate(-8px, -6px) scale(.94); }
  78% { transform: translate(3px, -2px); }
}
@keyframes symbol-web-module {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  45% { transform: translate(-2px, -3px) rotate(-7deg); }
  72% { transform: translate(0, -1px) rotate(2deg); }
}

/* Models: a portrait gently shifts inside its casting marks. */
.symbol-model-portrait {
  transform-origin: 60px 85px;
  animation-name: symbol-model-portrait;
  animation-duration: 8s;
}
.symbol-model-focus {
  transform-origin: 60px 61px;
  animation-name: symbol-model-focus;
  animation-duration: 8s;
}
.symbol-model-spark {
  transform-origin: 98px 25px;
  animation-name: symbol-model-spark;
  animation-duration: 8s;
}
@keyframes symbol-model-portrait {
  0%, 100% { transform: translate(0, 0) rotate(-2deg); }
  50% { transform: translate(2px, 0) rotate(2deg); }
}
@keyframes symbol-model-focus {
  0%, 100% { transform: translate(-2px, 0) scale(1); }
  50% { transform: translate(2px, -1px) scale(.94); }
}
@keyframes symbol-model-spark {
  0%, 100% { transform: rotate(0deg) scale(.92); }
  50% { transform: rotate(18deg) scale(1.08); }
}

/* Photo & video: a continuous aperture rotation, without a shutter flash. */
.symbol-camera-aperture {
  transform-origin: 60px 67px;
  animation-name: symbol-camera-aperture;
  animation-duration: 20s;
  animation-timing-function: linear !important;
}
.symbol-camera-record {
  animation-name: symbol-camera-record;
  animation-duration: 5.6s;
}
@keyframes symbol-camera-aperture {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes symbol-camera-record {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}

/* Branding: a pen tip rocks over a curve and its editing handles. */
.symbol-brand-pen {
  transform-origin: 55px 78px;
  animation-name: symbol-brand-pen;
  animation-duration: 7.2s;
}
.symbol-brand-node {
  transform-origin: 91px 83px;
  animation-name: symbol-brand-node;
  animation-duration: 7.2s;
}
@keyframes symbol-brand-pen {
  0%, 100% { transform: translate(0, 0) rotate(-3deg); }
  40% { transform: translate(3px, -2px) rotate(4deg); }
  70% { transform: translate(1px, 0) rotate(1deg); }
}
@keyframes symbol-brand-node {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.2); }
  70% { transform: scale(1); }
}

/* AI & tools: signals travel out of the chip, then return while invisible. */
.symbol-ai-core {
  transform-origin: 60px 60px;
  animation-name: symbol-ai-core;
  animation-duration: 7s;
}
.symbol-ai-pulse-top,
.symbol-ai-pulse-right,
.symbol-ai-pulse-bottom,
.symbol-ai-pulse-left {
  opacity: .9;
  animation-duration: 4.8s;
}
.symbol-ai-pulse-top { animation-name: symbol-ai-pulse-top; }
.symbol-ai-pulse-right { animation-name: symbol-ai-pulse-right; animation-delay: -1.2s; }
.symbol-ai-pulse-bottom { animation-name: symbol-ai-pulse-bottom; animation-delay: -2.4s; }
.symbol-ai-pulse-left { animation-name: symbol-ai-pulse-left; animation-delay: -3.6s; }
@keyframes symbol-ai-core {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.07); }
}
@keyframes symbol-ai-pulse-top {
  0%, 100% { transform: translateY(0); opacity: 0; }
  12% { transform: translateY(0); opacity: 1; }
  48% { transform: translateY(-17px); opacity: 1; }
  64%, 80% { transform: translateY(-17px); opacity: 0; }
}
@keyframes symbol-ai-pulse-right {
  0%, 100% { transform: translateX(0); opacity: 0; }
  12% { transform: translateX(0); opacity: 1; }
  48% { transform: translateX(17px); opacity: 1; }
  64%, 80% { transform: translateX(17px); opacity: 0; }
}
@keyframes symbol-ai-pulse-bottom {
  0%, 100% { transform: translateY(0); opacity: 0; }
  12% { transform: translateY(0); opacity: 1; }
  48% { transform: translateY(17px); opacity: 1; }
  64%, 80% { transform: translateY(17px); opacity: 0; }
}
@keyframes symbol-ai-pulse-left {
  0%, 100% { transform: translateX(0); opacity: 0; }
  12% { transform: translateX(0); opacity: 1; }
  48% { transform: translateX(-17px); opacity: 1; }
  64%, 80% { transform: translateX(-17px); opacity: 0; }
}

.service-tile[data-symbol-running="true"] .symbol-motion {
  animation-play-state: running;
}

@media (prefers-reduced-motion: reduce) {
  .service-symbol .symbol-motion { animation: none !important; }
}
