@import url('fonts/fonts.css');
:root{--background:#f4f3f0;--foreground:#1a1915;--card:#f4f3f0;--card-foreground:#1a1915;--popover:#f4f3f0;--popover-foreground:#1a1915;--primary:#1a1915;--primary-foreground:#fff;--secondary:#ecebe7;--secondary-foreground:#1a1915;--muted:#ecebe7;--muted-foreground:#82868e;--accent:#e3f794;--accent-foreground:#1a1915;--destructive:#ae3636;--border:#cfcdc7;--input:#cfcdc7;--ring:#1a1915;--radius:0rem;--purple:#9273ec;--lime:#e3f794;--ink:#1a1915;--paper:#f4f3f0;--font-sans:'Inter',Arial,sans-serif;--font-mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;padding:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.section{padding:100px 24px;position:relative}.eyebrow,.section-label{font:400 12px/1.4 var(--font-mono);text-transform:uppercase;letter-spacing:.03em}.section-label{color:#82868e;margin-bottom:30px}.muted{color:#82868e}.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-150%);background:var(--lime);padding:12px}.skip-link:focus{transform:none}
.dock{position:fixed;z-index:40;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:26px;width:max-content;max-width:calc(100% - 28px);padding:7px 8px 7px 20px;background:#f4f3f0f2;backdrop-filter:blur(15px);border-radius:4px;border:1px solid #cfcdc766}.dock-progress{position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--ink);transform-origin:left;transform:scaleX(0)}.brand{width:90px;flex-shrink:0}.brand img{width:90px;height:37px;object-fit:contain;filter:grayscale(1)}.dock-links{display:flex;gap:24px;align-items:center}.dock-links a{font:400 12px/1.4 var(--font-mono);text-transform:uppercase}.dock-links a:hover,.dock-links a.active{text-decoration:none}
.hero{height:170svh;position:relative;--hero-progress:0;background:var(--paper)}.hero-stage{position:sticky;top:0;height:100svh;min-height:660px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-meta{position:absolute;top:25px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;font:400 12px/1.4 var(--font-mono);text-transform:uppercase;z-index:4}.hero-content{position:relative;text-align:center;z-index:3;max-width:1100px;width:80%;transform:translateY(calc(var(--hero-progress)*-35px));pointer-events:none}.hero-content a{pointer-events:auto}.hero h1{font-size:clamp(2.5rem,4.7vw,5rem);line-height:1.13;letter-spacing:-.045em}.hero-line{display:block}.hero-line>span{display:block;animation:hero-enter 1.3s cubic-bezier(.2,.7,.2,1) both}.hero-line:nth-child(2)>span{animation-delay:.15s}.typewriter{color:var(--ink);display:inline-block}.typed-word{display:inline-block;min-width:3.4em;text-align:left}.type-caret{display:inline-block;height:.75em;width:2px;margin-left:.03em;background:var(--ink);vertical-align:-.025em;animation:caret-blink 1s steps(1) infinite}.hero-subtitle{font-size:16px;line-height:1.5;color:#82868e;margin-top:25px}.hero-gallery{position:absolute;inset:0;pointer-events:none;z-index:1}.hero-media{position:absolute;display:block;pointer-events:auto;background:transparent;text-align:left;width:17%;transform:translateY(calc(var(--hero-progress)*var(--move))) rotate(var(--tilt));transition:filter .3s;will-change:transform}.hero-media img{width:100%;height:clamp(100px,17svh,185px);object-fit:cover}.hero-media>span{display:flex;justify-content:space-between;align-items:center;padding-top:8px;font:400 10px/1.3 var(--font-mono);text-transform:uppercase}.hero-media:hover{filter:brightness(.92)}.hero-media-0{left:5%;top:11%;width:15%;--move:-80px;--tilt:-4deg}.hero-media-1{left:39%;top:8%;width:18%;--move:-95px;--tilt:2deg}.hero-media-2{right:3%;top:13%;width:20%;--move:-65px;--tilt:5deg}.hero-media-3{left:1%;bottom:11%;width:22%;--move:100px;--tilt:3deg}.hero-media-4{left:38%;bottom:7%;width:19%;--move:75px;--tilt:-4deg}.hero-media-5{right:3%;bottom:11%;width:18%;--move:110px;--tilt:-2deg}.hero-bottom{position:absolute;bottom:27px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;z-index:4;font:400 12px/1.4 var(--font-mono);text-transform:uppercase}.hero-telegram{display:flex;align-items:center;gap:10px}.telegram-arrow{width:28px;height:28px;border:1px solid #1a191580;border-radius:50%;display:grid;place-items:center}.telegram-arrow svg{width:18px;transition:transform .3s}.hero-telegram:hover svg{transform:translate(2px,2px)}.hero-scroll{display:flex;align-items:center;gap:12px}
.work{padding-top:65px}.work-intro{text-align:center;margin:0 auto 65px;max-width:850px}.statement{font-size:clamp(2.4rem,4.6vw,4.8rem);line-height:1.1;letter-spacing:-.045em}.work-intro p{max-width:580px;margin:25px auto 0;font-size:16px;color:#82868e}.portfolio-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portfolio-row{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:24px;min-width:0}.portfolio-image{width:100%;display:block;overflow:hidden;aspect-ratio:1.05;background:#ebeae6}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.portfolio-image:hover img{transform:scale(1.04)}.portfolio-copy{padding:0 12px}.portfolio-copy .eyebrow{color:#82868e}.portfolio-copy h3{font-size:38px;line-height:1.15;letter-spacing:-.035em;margin:12px 0 18px}.portfolio-copy p{font-size:16px;line-height:1.5;color:#82868e;max-width:590px}.portfolio-link{display:flex;align-items:center;gap:20px;margin-top:22px;background:none;font:400 12px/1.4 var(--font-mono);text-transform:uppercase}.portfolio-more{text-align:center;margin-top:55px}
.services{background:var(--lime);padding-top:90px;padding-bottom:90px}.service-intro{max-width:800px;text-align:center;margin:auto auto 55px}.service-intro .section-label{color:#1a1915aa}.service-intro h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1;letter-spacing:-.045em}.service-intro p{margin:25px 0;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.service-card{display:flex;flex-direction:column;padding:25px 0;min-height:370px;border-top:1px solid #1a191559;background:none}.service-card h3{font-size:29px;line-height:1.15;letter-spacing:-.035em;margin:30px 0 22px}.service-card p{font-size:16px;line-height:1.5}.service-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:30px}.service-tags{display:flex;flex-wrap:wrap;gap:6px}.service-tags>span{font:400 11px/1.4 var(--font-mono);padding:4px 6px;border:1px solid #1a191540;text-transform:uppercase}.service-bottom>svg{flex-shrink:0;width:20px;transition:transform .4s}.service-card:hover .service-bottom>svg{transform:rotate(90deg)}
.consult{text-align:center;padding-top:110px;padding-bottom:110px}.consult .statement{max-width:1100px;margin:auto}.process{padding-top:75px}.process-intro{text-align:center;max-width:950px;margin:auto auto 60px}.process-intro h2{font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.1;letter-spacing:-.04em}.process-intro p{font-size:16px;color:#82868e;margin:25px auto 0;max-width:700px}.step-list{border-top:1px solid #cfcdc7}.step{display:grid;grid-template-columns:10% 40% 1fr;gap:25px;align-items:start;border-bottom:1px solid #cfcdc7;padding:32px 12px;transition:background .3s}.step:hover{background:#ecebe7}.step-number{font:400 12px/1.4 var(--font-mono);padding-top:6px}.step h3{font-size:30px;line-height:1.15;letter-spacing:-.03em;max-width:500px}.step p{font-size:16px;color:#82868e;max-width:540px}.studio{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-top:100px;padding-bottom:120px}.studio-copy{padding:25px 12px}.studio-copy h2{font-size:clamp(2.7rem,4.3vw,4.7rem);line-height:1.1;letter-spacing:-.04em}.studio-copy>p{margin-top:28px;max-width:470px;color:#82868e;font-size:16px}.studio-copy>.eyebrow:last-child{display:block;margin-top:40px}.team-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start}.team-photos figure{margin:0;aspect-ratio:.73;overflow:hidden}.team-photos figure:nth-child(2){margin-top:65px}.team-photos img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.team-photos figure:hover img{transform:scale(1.025)}.team-photos p{grid-column:1/-1;font:400 12px/1.5 var(--font-mono);text-transform:uppercase;color:#82868e;margin-top:15px}
.contact h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1;letter-spacing:-.045em;max-width:1000px;margin-bottom:50px}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:10%}.brief-form{max-width:650px}.brief-form>label{display:block;font-size:14px;margin:20px 0 8px}.brief-input{width:100%;background:#f2f2f2!important;border:1px solid transparent!important;border-radius:5px!important;padding:15px 16px!important;min-height:54px!important;font:400 16px/1.5 var(--font-sans)!important;box-shadow:none!important}.brief-input:focus{border-color:#909090!important}.brief-textarea{min-height:140px!important;resize:vertical}.consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0}.consent label{font-size:14px;line-height:1.5;color:#595959}.form-note{font-size:12px;color:#909090;margin-top:12px}.form-status{font-size:14px;margin-top:12px}.contact-card{background:#f2f2f2;padding:30px;border-radius:8px;align-self:start;position:sticky;top:110px}.contact-card h3{font-size:27px;letter-spacing:-.03em;margin-bottom:24px}.contact-card>a{display:grid;grid-template-columns:1fr 20px;gap:6px;padding:18px 0;border-top:1px solid #ddd;font-size:12px;color:#909090}.contact-card>a span{font-size:20px;grid-row:2;overflow-wrap:anywhere;color:#262626}.contact-card>a svg{grid-row:1/3;grid-column:2;align-self:center;color:#262626;width:17px}.contact-card>p{margin-top:25px;font-size:16px;color:#595959}.draft-result{margin-top:20px}.draft-email{margin-bottom:15px}.copy-button{display:flex;align-items:center;gap:10px;background:none;font-size:14px;padding:5px 0}.draft-result details{margin-top:18px;font-size:14px}.draft-result summary{cursor:pointer}.draft-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 14px/1.5 var(--font-sans)}
.footer{background:#262626;color:#fff;padding-top:65px;padding-bottom:30px}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:7%}.footer-brand{display:flex;gap:12px;align-items:flex-end;width:max-content}.footer-brand img{width:160px;filter:brightness(0) invert(1)}.footer-brand>span{font:400 12px/1 var(--font-mono);margin-bottom:8px}.footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-columns>div{display:flex;flex-direction:column;gap:12px}.footer-columns a{font-size:14px}.footer-columns .eyebrow{color:#9d9d9d}.footer-cta{margin-top:35px}.footer-lettering{font-size:clamp(5rem,18vw,18rem);line-height:1;letter-spacing:-.065em;margin:45px 0 25px;white-space:nowrap;color:#e6e6e6;font-weight:500}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#9d9d9d}.footer-bottom>a{display:flex;gap:15px;align-items:center}
.case-sheet{width:min(920px,94vw)!important;max-width:920px!important;background:#fafafa!important;display:block!important;padding:0!important;overflow-y:auto;border:0!important}.case-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 35px;position:sticky;top:0;z-index:3;background:#fafafa;border-bottom:1px solid #e6e6e6}.case-close{display:grid;place-items:center;width:40px;height:40px;background:none}.case-body{padding:38px 35px 60px}.case-title{font-size:3.5rem!important;font-weight:500!important;line-height:1.05;letter-spacing:-.04em}.case-intro{font-size:20px!important;line-height:1.5!important;color:#595959!important;margin-top:15px}.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin:24px 0 30px}.case-tags>span{background:#f2f2f2;border-radius:4px;padding:6px 10px;font-size:12px}.case-cover{width:100%;height:auto;border-radius:7px}.case-text{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:35px 0}.case-text h3{font-size:23px;margin-bottom:15px}.case-text p{font-size:16px;color:#595959}.case-gallery{display:grid;gap:15px;margin-bottom:30px}.case-gallery img{border-radius:7px;width:100%}.case-contact{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding-top:22px;margin-top:35px}
/* Contact, case overlays and footer share the same quiet paper surface. */
.contact{padding-bottom:130px}.contact h2{text-align:center;max-width:1050px;margin:0 auto 65px;font-weight:400}.contact-grid{max-width:1200px;margin:auto;gap:10%}.brief-input{background:transparent!important;border:0!important;border-bottom:1px solid #cfcdc7!important;border-radius:0!important;padding-left:0!important}.contact-card{background:var(--lime);border-radius:0;position:relative;top:0}.contact-card>a{border-color:#1a191535}.contact-card>a span{color:var(--ink)}.case-sheet,.case-top{background:var(--paper)!important}.case-tags>span{border-radius:0;background:#ecebe7}.case-cover,.case-gallery img{border-radius:0}.case-title{font-weight:400!important}.footer{background:var(--lime);color:var(--ink);padding:60px 24px 100px}.footer-content{display:grid;grid-template-columns:1fr 1fr;gap:7%}.footer-brand img{filter:grayscale(1)}.footer-columns .eyebrow,.footer-bottom{color:#1a1915aa}.footer-columns a{font:400 12px/1.4 var(--font-mono);text-transform:uppercase}.footer-cta{background:var(--ink);color:#fff}.footer-cta:hover{background:white;color:var(--ink)}.footer-lettering{font-family:'Inter Tight',Arial,sans-serif;font-size:clamp(6rem,19vw,22rem);line-height:1;letter-spacing:-.06em;color:var(--ink);font-weight:400;margin:50px 0 30px}.footer-bottom>a{color:var(--ink)}
.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}@keyframes hero-enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes caret-blink{50%{opacity:0}}
@media(min-width:1700px){.section{padding-left:max(24px,calc((100vw - 1640px)/2));padding-right:max(24px,calc((100vw - 1640px)/2))}}
@media(max-width:1100px){.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:310px}.hero-content{width:90%}.hero h1{font-size:4.6vw}.step h3{font-size:26px}.hero-media-0{width:19%}.hero-media-1{width:20%}.hero-media-2{width:22%}.hero-media-3{width:24%}.hero-media-4{width:22%}}
@media(max-width:760px){html{scroll-padding-top:25px}.section{padding:65px 16px}.dock{bottom:10px;max-width:500px;width:calc(100% - 20px);display:grid;grid-template-columns:1fr auto;gap:9px;padding:9px 12px;top:auto}.brand{width:80px}.brand img{width:80px;height:32px}.dock-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:15px;padding:6px 3px 0;border-top:1px solid #cfcdc7}.dock-links a{font-size:11px}.hero{height:auto}.hero-stage{position:relative;height:auto;min-height:900px;display:block;overflow:hidden;padding:190px 16px 155px}.hero-meta{top:25px;left:16px;right:16px;gap:15px;font-size:10px}.hero-meta>span{max-width:145px}.hero-meta>span:last-child{text-align:right}.hero-content{width:100%;transform:none}.hero h1{font-size:clamp(2rem,7vw,3.2rem);line-height:1.15}.hero-line:first-child>span{display:flex;justify-content:center;flex-wrap:wrap;gap:0 .23em}.hero-subtitle{font-size:14px;margin-top:22px}.hero-gallery{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:55px;padding:0 4px}.hero-media{position:relative;inset:auto;width:100%;transform:none;will-change:auto}.hero-media img{height:auto;aspect-ratio:1.2;object-fit:cover}.hero-media-0,.hero-media-1{display:none}.hero-media-2,.hero-media-4{margin-top:20px}.hero-media>span{font-size:9px}.hero-bottom{left:16px;right:16px;bottom:115px;font-size:10px}.hero-scroll{gap:7px}.hero-telegram{gap:8px}.telegram-arrow{width:24px;height:24px}.work{padding-top:55px}.work-intro{margin-bottom:40px}.statement{font-size:2.3rem}.work-intro p{margin-top:22px;font-size:16px}.portfolio-list{grid-template-columns:1fr;gap:50px}.portfolio-image{aspect-ratio:1.1}.portfolio-copy{padding:0 4px}.portfolio-copy h3{font-size:30px}.portfolio-more{margin-top:35px}.services{padding-top:65px;padding-bottom:65px}.service-intro{margin-bottom:35px}.service-intro h2{font-size:2.7rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:290px;padding:24px 5px}.service-card h3{font-size:29px;margin:22px 0 18px}.consult .wide-break{display:none}.process-intro h2{font-size:2.25rem}.step{grid-template-columns:24px 1fr;gap:16px 18px;padding:28px 4px}.step h3{font-size:25px}.step p{grid-column:2}.studio{grid-template-columns:1fr;gap:35px}.studio-copy{padding:0 4px}.studio-copy h2{font-size:2.65rem}.team-photos figure:nth-child(2){margin-top:35px}.contact{padding-bottom:90px}.contact h2{font-size:2.5rem;margin-bottom:35px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-card{position:relative;padding:27px;top:0}.footer{padding:50px 16px 145px}.footer-content{grid-template-columns:1fr;gap:35px}.footer-columns{gap:18px}.footer-lettering{font-size:18vw;margin:40px 0 30px}.footer-bottom{font-size:10px;align-items:center}.case-sheet{width:100vw!important;max-width:100vw!important}.case-top{padding:14px 20px}.case-body{padding:28px 20px 45px}.case-title{font-size:2.7rem!important}.case-intro{font-size:18px!important}.case-text{grid-template-columns:1fr;gap:28px}.wide-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{height:auto}.hero-stage{position:relative}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal{opacity:1;transform:none}.hero-content,.hero-media{transform:none}}
/* Mana: brand, depth and editorial rhythm */
.page-progress{position:fixed;z-index:90;top:0;left:0;width:100%;height:6px;background:var(--purple);transform:scaleX(0);transform-origin:left;pointer-events:none}.section-label{display:block;border-top:1px solid #1a19154a;padding-top:18px;position:relative;margin-bottom:42px;color:var(--ink)}.section-label:before,.section-label:after{content:'';position:absolute;top:0;width:1px;height:7px;background:#1a19154a}.section-label:before{left:0}.section-label:after{right:0}.section h2,.team-heading h2{font-size:clamp(2.35rem,4.4vw,4.5rem);line-height:1.08;letter-spacing:-.045em}.hero{height:235svh;--burst:0;--portal:0}.hero-stage{perspective:1000px}.hero h1,.typewriter{color:var(--purple)}.type-caret{background:var(--purple)}.hero-content{transform:scale(calc(1 + var(--burst)*.6));opacity:calc(1 - var(--burst)*1.2);will-change:transform,opacity}.hero-letter{display:inline-block;transform:translate(calc(var(--burst)*var(--lx)),calc(var(--burst)*var(--ly))) rotate(calc(var(--burst)*var(--lr)));will-change:transform}.hero-media{transform:translate(calc(var(--burst)*var(--fx)),calc(var(--burst)*var(--fy))) rotate(calc(var(--tilt) + var(--burst)*var(--fr))) scale(calc(1 + var(--burst)*1.9));opacity:calc(1 - var(--burst)*.9);will-change:transform,opacity}.hero-media-0{--fx:-55vw;--fy:-55vh;--fr:-30deg}.hero-media-1{--fx:5vw;--fy:-65vh;--fr:20deg}.hero-media-2{--fx:60vw;--fy:-40vh;--fr:35deg}.hero-media-3{--fx:-60vw;--fy:50vh;--fr:-22deg}.hero-media-4{--fx:-5vw;--fy:70vh;--fr:25deg}.hero-media-5{--fx:60vw;--fy:60vh;--fr:-25deg}.mana-portal{position:absolute;z-index:2;inset:0;display:grid;place-items:center;pointer-events:none;opacity:clamp(0,calc(var(--portal)*3),1);transform:scale(calc(.12 + var(--portal)*3.7));will-change:transform,opacity}.mana-portal img{position:absolute;width:28vw;opacity:calc(1 - var(--portal));filter:brightness(0)}.brand-orbit{position:absolute;width:30vw;height:30vw;display:grid;grid-template-columns:1fr 1fr;gap:5%;transform:rotate(calc(var(--portal)*180deg));opacity:calc(1 - var(--portal)*.85)}.brand-orbit i,.ai-mark i{background:var(--purple);border-radius:50%}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 5% 70%,#9273ec22,transparent 55%),radial-gradient(ellipse at 95% 95%,#e3f79455,transparent 50%);pointer-events:none}.hero-stage{background:transparent}.work{background:radial-gradient(ellipse at 2% 10%,#9273ec20,transparent 55%),radial-gradient(ellipse at 95% 0%,#e3f79455,transparent 50%)}.work-intro{text-align:left;max-width:none;display:grid;grid-template-columns:25% 1fr;gap:4%;margin-bottom:55px;border-top:1px solid #1a19154a;padding-top:18px;position:relative}.work-intro:before,.work-intro:after{content:'';position:absolute;top:0;width:1px;height:7px;background:#1a19154a}.work-intro:before{left:0}.work-intro:after{right:0}.work-intro .section-label{border:0;padding:0;margin:0}.work-intro .section-label:before,.work-intro .section-label:after{display:none}.work-intro p{margin:25px 0 0}.portfolio-list{max-width:1100px;margin:auto;gap:60px}.portfolio-image{aspect-ratio:1.65;max-height:320px}.portfolio-row{gap:22px}.portfolio-copy{padding:0}.portfolio-copy h3{font-size:30px}.portfolio-copy p{font-size:15px}.portfolio-more{display:flex;justify-content:center}.service-intro{max-width:none;text-align:left;margin-bottom:45px}.service-intro .section-label{color:var(--ink)}.service-intro p{max-width:620px}.service-grid{gap:30px}.services{background:#e3f79480}.ai{background:var(--paper);overflow:hidden}.ai-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.ai p,.audit p{max-width:600px;margin:28px 0;color:#64635e;font-size:18px}.ai-play{position:relative;min-height:420px;display:grid;place-items:center}.ai-mark{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:170px;height:170px;animation:brand-turn 22s linear infinite}.ai-orbit{position:absolute;inset:15px;animation:brand-turn 40s linear infinite}.ai-orbit span{position:absolute;background:var(--lime);padding:14px 20px;font:14px var(--font-mono);box-shadow:0 10px 40px #1a19150a}.ai-orbit span:nth-child(1){left:0;top:20px;transform:rotate(-12deg)}.ai-orbit span:nth-child(2){right:0;top:70px;transform:rotate(8deg)}.ai-orbit span:nth-child(3){left:0;bottom:50px;transform:rotate(9deg)}.ai-orbit span:nth-child(4){right:0;bottom:0;transform:rotate(-8deg)}.ai-caption{position:absolute;bottom:-15px;font:10px var(--font-mono);text-transform:uppercase;color:#64635e}.manifesto{position:relative}.quote-panel{position:sticky;top:0;min-height:100svh;padding:10svh 7vw 100px;background:var(--paper);display:flex;flex-direction:column;justify-content:center;gap:35px;border-top:1px solid #1a191520}.quote-purple{background:#ded3fa}.reading{font-size:clamp(2.2rem,4.8vw,5.3rem);line-height:1.15;letter-spacing:-.045em;max-width:1450px}.reading span{color:#afafaf}.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.process-intro{text-align:left;margin:0;max-width:none;position:sticky;top:50px;align-self:start}.process-intro p{margin:28px 0;color:#64635e}.process-intro>.eyebrow{font-size:10px;color:#64635e}.agile-step{border-bottom:1px solid #cfcdc7!important;transition:background .3s}.agile-step[data-state=open]{background:#ece7f8}.agile-trigger{border-radius:0;font-size:clamp(1.3rem,2vw,2rem);font-weight:400;letter-spacing:-.035em;padding:28px 18px;align-items:center;gap:18px;cursor:pointer}.agile-trigger:hover{text-decoration:none;color:#6945c2}.agile-trigger>svg{display:none}.step-number{font-size:12px;letter-spacing:0}.agile-content{padding:0 18px 28px}.agile-content p{font-size:16px;line-height:1.6;color:#64635e;margin-bottom:20px}.sprint-loop{font:11px var(--font-mono);margin-top:35px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.sprint-loop span{color:#6945c2}.sprint-loop span:last-child{font-size:24px;animation:brand-turn 8s linear infinite}.team-scroll{height:230svh;position:relative}.team-sticky{position:sticky;top:0;overflow:hidden;min-height:100svh;padding-top:45px;padding-bottom:40px}.team-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.team-heading p{max-width:360px;color:#64635e}.team-heading>.eyebrow{font-size:10px}.team-window{overflow:hidden}.team-track{display:flex;gap:28px;width:max-content;will-change:transform}.team-card{width:340px;flex-shrink:0}.team-identity{height:280px;background:#e5def5;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:25px;border-radius:50% 50% 0 0}.team-identity>span{font:400 90px 'Inter Tight',sans-serif;color:#6945c2;z-index:1}.team-identity i{position:absolute;width:95px;height:95px;border-radius:50%;background:#9273ec35}.team-identity i:nth-of-type(1){top:20px;left:20px}.team-identity i:nth-of-type(2){top:20px;right:20px}.team-identity i:nth-of-type(3){bottom:20px;left:20px}.team-identity i:nth-of-type(4){bottom:20px;right:20px}.identity-1{background:#e3f794}.identity-2{background:#e0dcf0}.identity-3{background:#eae3db}.identity-4{background:#cec0ed}.team-card h3{font-size:26px;letter-spacing:-.035em;margin:12px 0 7px}.team-card p{font-size:14px;color:#64635e}.team-card .eyebrow{font-size:10px;color:#64635e}.audit{background:#e8e0fa}.audit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.audit-ticket{padding:40px;background:var(--lime);display:flex;flex-direction:column;gap:30px;transform:rotate(3deg);position:relative}.audit-ticket strong{font-size:clamp(2rem,3vw,3.5rem);line-height:1.12;font-weight:400;letter-spacing:-.04em}.contact h2{text-align:left;margin:0 0 50px}.contact-grid{max-width:none}.footer{padding-bottom:290px;min-height:900px;background:var(--purple)}.footer-lettering{font-size:clamp(3rem,8.3vw,9rem);line-height:1.05;letter-spacing:-.055em;white-space:normal;max-width:1400px}.footer-bottom{margin-top:40px}.policy-link{background:none;text-align:left;font:inherit}.dock{transition:width .7s,padding .7s,border-radius .7s;flex-wrap:wrap}.dock-expanded{width:calc(100% - 48px);max-width:1400px;padding:25px 30px;gap:28px;background:#f4f3f0f7}.dock-expanded .brand{width:155px}.dock-expanded .brand img{width:155px;height:65px}.dock-extra{width:100%;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:25px;border-top:1px solid #cfcdc7;padding-top:25px;font:11px/1.5 var(--font-mono);text-transform:uppercase}.dock-extra button{background:none;text-align:left;font:inherit}.dock-extra a:hover,.dock-extra button:hover{text-decoration:underline}.policy-text{margin-top:40px;display:grid;gap:18px}.policy-text h3{font-size:24px;margin-top:20px}.policy-text p{color:#64635e;line-height:1.7}.brand img{filter:none}@keyframes brand-turn{to{transform:rotate(360deg)}}
@media(max-width:1100px){.team-card{width:300px}.team-identity{height:240px}.team-heading h2{font-size:3rem}.dock-extra{grid-template-columns:repeat(3,1fr)}.dock-extra>span{grid-column:1/-1}.ai-grid,.audit-grid{gap:6%}}
@media(max-width:760px){.section h2,.team-heading h2{font-size:2.35rem}.section-label{margin-bottom:30px}.hero{height:175svh}.hero-stage{position:sticky;top:0;height:100svh;min-height:620px;padding:180px 16px 120px;display:flex}.hero h1{font-size:clamp(1.85rem,6.4vw,2.7rem)}.hero-line:first-child>span{display:block}.hero-content{transform:scale(calc(1 + var(--burst)*.3));width:100%}.hero-gallery{position:absolute;inset:0;display:block;padding:0;margin:0}.hero-media{position:absolute;width:29%;transform:translate(calc(var(--burst)*var(--fx)),calc(var(--burst)*var(--fy))) rotate(var(--tilt)) scale(calc(1 + var(--burst)*1.2))}.hero-media-0,.hero-media-1{display:none}.hero-media-2{top:13%;right:5%;left:auto;bottom:auto;margin:0}.hero-media-3{top:14%;left:6%;right:auto;bottom:auto}.hero-media-4{left:6%;bottom:20%;right:auto;top:auto;margin:0}.hero-media-5{right:5%;bottom:20%;left:auto;top:auto}.hero-media img{aspect-ratio:1.4}.hero-bottom{bottom:115px}.mana-portal img{width:65vw}.brand-orbit{width:65vw;height:65vw}.work-intro{display:block}.work-intro>.section-label{margin-bottom:30px}.portfolio-list{gap:45px}.portfolio-image{max-height:250px;aspect-ratio:1.65}.ai-grid,.audit-grid,.process-layout{grid-template-columns:1fr;gap:40px}.ai-play{min-height:330px;margin-bottom:20px}.ai p,.audit p{font-size:16px}.quote-panel{padding:65px 16px 145px;gap:30px;min-height:90svh}.reading{font-size:2.25rem}.process-intro{position:relative;top:auto}.team-scroll{height:auto}.team-sticky{position:relative;min-height:0;padding:65px 16px}.team-heading{display:block}.team-heading p{margin:22px 0}.team-window{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}.team-track{gap:20px;transform:none!important}.team-card{width:270px;scroll-snap-align:start}.team-identity{height:240px}.team-card h3{font-size:24px}.audit-ticket{margin:10px 8px}.footer{min-height:850px;padding-bottom:330px}.footer-lettering{font-size:clamp(2.6rem,10vw,4rem)}.footer-bottom{flex-wrap:wrap}.dock-expanded{width:calc(100% - 20px);padding:16px;gap:14px}.dock-expanded .brand,.dock-expanded .brand img{width:100px;height:40px}.dock-extra{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:13px;padding-top:14px;font-size:10px}.dock-extra>span{grid-column:1/-1}.contact h2{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.hero-stage{position:relative}.hero-content,.hero-media{transform:none;opacity:1}.hero-letter{transform:none}.mana-portal{display:none}.team-scroll{height:auto}.team-sticky{position:relative;min-height:0}.team-window{overflow-x:auto}.team-track{transform:none!important}.quote-panel{position:relative;min-height:0}.reading span{color:var(--ink)!important}.ai-orbit,.ai-mark{animation:none}.dock{transition:none}}
/* Refined section rulers and continuous hero-to-work transition. */
.hero h1{color:var(--ink)}.typewriter{color:var(--purple)}.hero{height:190svh}.hero-media-3{bottom:23%}.hero-media-4{bottom:20%}.hero-media-5{bottom:23%}.telegram-arrow svg{transform-origin:center}.hero-telegram:hover svg{transform:rotate(-45deg)}.hero-meta{border-top:1px solid #1a19154a;padding-top:20px}.hero-meta>span{position:relative;padding:0 14px}.hero-meta>span:before,.hero-meta>span:after{content:'';position:absolute;top:-20px;width:1px;height:9px;background:#1a19154a}.hero-meta>span:before{left:0}.hero-meta>span:after{right:0}.section-label{padding-top:0;margin-bottom:42px}.section-label>span{display:inline-block;position:relative;padding:28px 14px 0;text-transform:none}.section-label>span:after{content:'';position:absolute;top:0;right:0;height:9px;width:1px;background:#1a19154a}.section-label:before,.section-label:after{height:9px}.work{margin-top:-88svh;z-index:5;padding-top:45px;pointer-events:none}.work>*{pointer-events:auto}.hero+.work{background:transparent}.work-intro{grid-template-columns:1fr 1fr;gap:36px;margin-bottom:55px;padding-top:0;transform:translateY(calc((1 - var(--arrival,0))*40px));opacity:var(--arrival,1)}.work-intro>.section-label>span{padding-top:28px}.work-intro>div{padding-top:60px}.work-intro h2{font-size:clamp(2.2rem,3.5vw,4rem)}.work-intro p{max-width:none}.portfolio-list{max-width:none;gap:36px}.portfolio-row{display:grid;grid-template-columns:1fr;gap:18px}.project-category{color:#82868e;grid-row:1}.portfolio-image{grid-row:2;aspect-ratio:1.85;max-height:300px}.portfolio-copy{grid-row:3}.portfolio-copy h3{margin:2px 0 12px}.services{background:var(--paper)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#cfcdc7;border:1px solid #cfcdc7}.service-card{background:#e4f0e5;padding:28px;min-height:330px;border:0;transition:background .4s,transform .4s}.service-card:nth-child(2){background:#e9efcf}.service-card:nth-child(3){background:#e4e0f1}.service-card:nth-child(4){background:#e7ede3}.service-card:hover,.service-card:focus-visible{background:#d7f75d}.service-card h3{margin:18px 0}.service-tags{gap:7px}.service-tags>span{font-size:10px}.ai{padding-bottom:180px}.ai-play{min-height:480px}.ai-orbit{inset:0 0 50px;transition:scale .7s}.ai-orbit span{font-size:11px;padding:10px 14px;white-space:nowrap;transition:background .3s,box-shadow .3s}.ai-orbit span:nth-child(1){left:8%;top:0;bottom:auto;right:auto}.ai-orbit span:nth-child(2){left:auto;right:0;top:19%;bottom:auto}.ai-orbit span:nth-child(3){left:auto;right:0;top:55%;bottom:auto}.ai-orbit span:nth-child(4){left:auto;right:15%;top:auto;bottom:0}.ai-orbit span:nth-child(5){left:12%;right:auto;top:auto;bottom:3%}.ai-orbit span:nth-child(6){left:0;right:auto;top:53%;bottom:auto}.ai-orbit span:nth-child(7){left:0;right:auto;top:22%;bottom:auto}.ai-orbit span:nth-child(8){left:44%;right:auto;top:0;bottom:auto}.ai-caption{bottom:-65px;text-align:center;left:0;right:0;line-height:1.6;background:var(--paper);padding:10px;z-index:3}.ai-play:hover .ai-orbit{animation-play-state:paused;scale:.83}.ai-play:hover .ai-orbit span{background:#d7f75d;box-shadow:0 8px 30px #9273ec25}.ai-play:hover .ai-mark{animation-direction:reverse}.manifesto{margin-top:-100px;z-index:6;min-height:155svh;background:linear-gradient(transparent 65%,#ded3fa 65%)}.quote-panel{min-height:100svh}.quote-purple{border-top:0}.agile-step[data-state=open]{background:#ecebe7}.agile-trigger:hover{color:var(--ink)}.team-identity{border-radius:0;background:transparent;height:300px;overflow:visible}.team-identity>img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 14px 14px #1a191512);transition:transform .6s}.team-card:hover .team-identity>img{transform:translateY(-10px) rotate(-3deg)}.team-identity>span.team-plus{font-size:130px;line-height:1;color:var(--purple)}.team-card:last-child .team-identity{background:radial-gradient(circle,#9273ec25,transparent 65%)}.audit{background:#fff}.audit-ticket{box-shadow:0 20px 60px #1a191509;transition:transform .5s}.dock-expanded{min-height:36svh;align-content:space-between;padding:35px 40px}.dock-extra{grid-template-columns:1.4fr repeat(4,1fr);padding-top:30px;min-height:100px;align-items:start}.dock-extra>span{font-family:'Inter Tight',sans-serif;font-size:28px;line-height:1.1;letter-spacing:-.025em;text-transform:none}.dock-expanded .brand,.dock-expanded .brand img{width:190px;height:80px}.footer{padding-bottom:45svh}
@media(max-width:760px){.hero{height:170svh}.hero-media-3,.hero-media-5{bottom:28%;top:auto}.hero-media-4{bottom:31%}.hero-media-2{top:13%}.hero-meta{padding-top:16px}.hero-meta>span{padding:0 8px}.hero-meta>span:before,.hero-meta>span:after{top:-16px}.work{margin-top:-66svh;padding-top:30px}.work-intro{display:block}.work-intro>div{padding-top:10px}.work-intro>.section-label{margin-bottom:30px}.work-intro h2{font-size:2.15rem}.portfolio-list{gap:40px}.portfolio-image{max-height:230px}.service-grid{grid-template-columns:1fr}.service-card{padding:24px;min-height:330px}.ai{padding-bottom:155px}.ai-play{min-height:340px}.ai-mark{width:115px;height:115px;gap:8px}.ai-orbit span{font-size:9px;padding:8px 10px}.ai-caption{bottom:-60px}.manifesto{min-height:135svh}.team-identity{height:260px}.dock-expanded{min-height:40svh;padding:20px;align-content:start;gap:20px}.dock-expanded .brand,.dock-expanded .brand img{width:110px;height:45px}.dock-extra{grid-template-columns:1fr 1fr;gap:18px;min-height:0;padding-top:18px}.dock-extra>span{font-size:24px}.footer{padding-bottom:50svh}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.work{margin-top:0}.work-intro{opacity:1!important;transform:none}.manifesto{min-height:0;margin-top:0}.team-card:hover .team-identity>img{transform:none}}
.ai-orbit span:nth-child(n){right:auto;bottom:auto;left:calc(50% + var(--ox));top:calc(50% + var(--oy));transform:translate(-50%,-50%) rotate(var(--tilt,0deg))}.ai-orbit span:nth-child(1){--ox:0%;--oy:-44%;--tilt:-8deg}.ai-orbit span:nth-child(2){--ox:31%;--oy:-31%;--tilt:8deg}.ai-orbit span:nth-child(3){--ox:44%;--oy:0%;--tilt:-5deg}.ai-orbit span:nth-child(4){--ox:31%;--oy:31%;--tilt:6deg}.ai-orbit span:nth-child(5){--ox:0%;--oy:44%;--tilt:-8deg}.ai-orbit span:nth-child(6){--ox:-31%;--oy:31%;--tilt:8deg}.ai-orbit span:nth-child(7){--ox:-44%;--oy:0%;--tilt:-5deg}.ai-orbit span:nth-child(8){--ox:-31%;--oy:-31%;--tilt:6deg}.ai-caption{bottom:-105px}.ai-play{margin-bottom:55px}
@media(max-width:760px){.ai-caption{bottom:-70px}.ai-play{margin-bottom:45px}}
/* Quieter cards, living code and a single expanded footer. */
.dock-links a.active{text-decoration:none}.hero-meta{transform:translateY(calc(var(--hero-progress)*-360px));opacity:calc(1 - var(--hero-progress)*4);will-change:transform,opacity}.hero-media-4{bottom:17%;width:17%}.hero-media-3,.hero-media-5{bottom:20%}.hero-media img{height:clamp(90px,15svh,160px)}.hero-content{transform:scale(calc(1 + var(--burst)*.25))}.hero-letter{transition:none}.work-intro{transform:translateY(calc((1 - var(--arrival,0))*16px))}.work{padding-bottom:45px}.services{padding-top:35px;padding-bottom:60px}.service-grid{background:transparent;border:0;gap:24px}.service-card:nth-child(n){background:#fff;padding:34px;min-height:370px;transform:none}.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible{background:#eef8ce;transform:none}.service-card h3{font-size:36px;margin:20px 0}.service-card p{color:#82868e;max-width:560px}.service-tags>span{background:var(--lime);border:0;border-radius:999px;padding:8px 14px;font:400 12px/1.25 var(--font-mono);text-transform:none;color:var(--ink)}.service-tags{gap:8px}.story-stack{position:relative}.ai{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-bottom:70px}.ai-grid{align-items:center}.code-play{background:transparent;position:relative;display:block;width:100%;height:480px;text-align:left;cursor:crosshair}.code-canvas{position:absolute;inset:0 0 45px;display:block}.code-char{position:absolute;left:var(--cx);top:var(--cy);font:400 13px/1 var(--font-mono);color:var(--purple);transition:left 1.1s cubic-bezier(.2,.7,.2,1),top 1.1s cubic-bezier(.2,.7,.2,1),color .5s;transition-delay:var(--delay);animation:code-appear 2.5s both;animation-delay:var(--delay)}.is-bloom .code-char{left:var(--fx);top:var(--fy);color:#8057d9}.code-caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font:10px/1.5 var(--font-mono);color:#82868e;text-transform:uppercase}.manifesto{margin-top:0;position:relative;z-index:7;min-height:190svh;background:transparent}.quote-panel{position:sticky;top:0;min-height:100svh;justify-content:center;padding:8svh 24px 100px}.quote-purple{background:#ded3fa}.reading{font-size:clamp(2.3rem,5.2vw,5.5rem);line-height:1.16;max-width:1450px}.reading span{color:#bcbcbc}.agile-step,.agile-step[data-state=open],.agile-step:hover{background:transparent!important;transform:none!important}.agile-trigger,.agile-trigger:hover,.agile-trigger[data-state=open]{color:var(--ink)!important;background:transparent!important;text-decoration:none;transform:none;transition:none}.agile-content .eyebrow{display:none}.agile-content p{margin:0}.footer.footer-anchor{background:var(--paper);min-height:72svh;height:72svh;padding:0}.dock-expanded{min-height:60svh;max-height:90svh;overflow-y:auto;align-content:start;background:#fff;padding:32px 40px}.dock-extra{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;min-height:0}.dock-extra h2{grid-column:1/-1;font:400 clamp(2.4rem,5.6vw,6rem)/1.05 'Inter Tight',sans-serif;letter-spacing:-.05em;margin:0 0 15px}.dock-footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:20px 35px;align-items:center;font-size:11px}.dock-footer-links>span{margin-right:auto;color:#82868e}.team-card:hover .team-identity>img{transform:translateY(-6px)}
@keyframes code-appear{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.hero-media-4{bottom:24%;left:5%;width:28%}.hero-media-3,.hero-media-5{bottom:24%;width:28%}.hero-media-3{top:13%;bottom:auto}.hero-media img{height:auto}.work{padding-bottom:30px}.services{padding-top:30px}.service-card:nth-child(n){padding:25px;min-height:350px}.service-card h3{font-size:30px}.service-tags>span{font-size:11px;padding:7px 12px}.ai{min-height:100svh;padding:40px 16px 50px}.ai-grid{gap:20px}.code-play{height:340px;max-width:500px;margin:auto}.code-char{font-size:10px}.manifesto{min-height:175svh}.quote-panel{padding:60px 16px 130px}.reading{font-size:2.3rem}.dock-expanded{min-height:65svh;max-height:85svh;padding:20px}.dock-extra{grid-template-columns:1fr 1fr;gap:17px;padding-top:20px}.dock-extra h2{font-size:2.5rem;margin-bottom:8px}.dock-footer-links{font-size:10px;gap:12px 20px}.dock-footer-links>span{width:100%}.footer.footer-anchor{height:80svh;min-height:80svh}}
@media(prefers-reduced-motion:reduce){.hero-meta{transform:none;opacity:1}.ai{position:relative;min-height:0}.manifesto{min-height:0}.quote-panel{position:relative}.code-char{animation:none;transition:none}.reading span{color:var(--ink)!important}}
/* A gathered phrase bridges the hero and a full-column agent. */
.hero{--gather:0;--phrase-opacity:0}.hero-bridge{position:absolute;left:8%;right:8%;top:24%;z-index:3;text-align:center;font:400 clamp(2.6rem,5.2vw,5.5rem)/1.08 'Inter Tight',sans-serif;letter-spacing:-.045em;opacity:var(--phrase-opacity);pointer-events:none;will-change:opacity}.hero-bridge>span{display:block}.hero-bridge>span:last-child{color:var(--purple)}.hero-bridge .hero-letter{transform:translate(calc((1 - var(--gather))*var(--lx)),calc((1 - var(--gather))*var(--ly))) rotate(calc((1 - var(--gather))*var(--lr)));will-change:transform}.ai{top:40px;min-height:calc(100svh - 40px);padding-top:0;padding-bottom:40px;justify-content:flex-start;overflow:visible}.ai>.section-label{margin-bottom:30px}.ai-grid{grid-template-columns:1fr 1fr;gap:5%;align-items:stretch}.ai-grid>div:first-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 0}.ai .service-tags{margin-top:4px;margin-bottom:0}.code-play{height:clamp(560px,76svh,800px);max-width:none;width:100%;margin:0;align-self:stretch}.code-canvas{inset:0 0 36px}.code-char{font-size:clamp(9px,.83vw,15px);line-height:1;white-space:pre;animation:code-appear .3s both;animation-delay:var(--type-delay);color:#7555bd}.code-char.code-comment{color:#98909e}.is-bloom .code-char{color:var(--purple)}.code-caption{font-size:10px;padding-top:10px}.quote-purple{background:#fff}.manifesto{background:transparent}
@media(max-width:1100px) and (min-width:761px){.ai h2{font-size:3.3vw}.ai p{font-size:16px}.ai .service-tags>span{font-size:10px;padding:7px 9px}.code-char{font-size:9px}}
@media(max-width:760px){.hero-bridge{top:27%;left:4%;right:4%;font-size:clamp(2.2rem,8vw,3.7rem)}.ai{top:40px;padding-top:0;min-height:0;padding-bottom:35px}.ai-grid{grid-template-columns:1fr;gap:30px}.ai-grid>div:first-child{padding:0}.code-play{height:580px;max-width:none}.code-char{font-size:clamp(8px,2vw,12px)}.ai>.section-label{margin-bottom:25px}.quote-purple{background:#fff}}
@media(prefers-reduced-motion:reduce){.hero-bridge{display:none}.ai{position:relative;top:auto}.code-char{animation:none;transition:none}}
/* Separate gathering stage, restrained interaction and purple closing. */
.hero{height:150svh}.bridge-section{height:78svh;min-height:430px;position:relative;z-index:4;margin-top:-12svh;padding:0 24px;--gather:0;--phrase-opacity:0}.hero-bridge{position:sticky;top:40px;left:auto;right:auto;text-align:left;margin:0;font-size:clamp(2.6rem,5.2vw,5.5rem);padding:0;opacity:var(--phrase-opacity);height:max-content}.hero-bridge>span:last-child{color:var(--ink)}.work{margin-top:0;padding-top:40px;background:var(--paper)}.work-intro{opacity:1!important;transform:none!important}.work{padding-bottom:85px}.services{padding-top:65px;padding-bottom:105px}.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible{background:white;box-shadow:inset 0 0 0 1px #9273ec85}.service-card:nth-child(n){transition:box-shadow .35s;background:#fff;min-height:450px}.service-estimate{font:400 14px/1.6 var(--font-mono);color:#82868e;margin-top:30px;display:flex;flex-direction:column}.estimate-note{font-size:12px;color:#82868e;margin-top:24px;max-width:620px}.ai{padding-top:0}.ai-grid{gap:6%;align-items:center}.code-play{height:clamp(460px,63svh,620px);width:100%;max-width:700px}.code-canvas{inset:15px 0 42px}.code-char,.code-char.code-comment{color:var(--purple);font-size:clamp(9px,.88vw,15px)}.is-bloom .code-char{font-size:clamp(9px,1vw,16px)}.is-bloom .smile-duplicate{opacity:0!important}.reading{font-size:clamp(2.1rem,4.15vw,4.4rem);line-height:1.18;max-width:1280px}.section-label>span{text-transform:uppercase}.agile-step [data-slot=accordion-content]{animation:none!important;transition:none!important}.agile-content{padding-bottom:28px}.mana-footer{background:var(--purple);min-height:0;height:auto;padding:75px 24px 140px}.mana-footer h2{font-size:clamp(2.35rem,4.4vw,4.5rem);line-height:1.08;letter-spacing:-.045em;text-transform:none;font-weight:400}.mana-footer .footer-content{align-items:start;gap:8%}.mana-footer .footer-brand{margin-top:50px}.mana-footer .footer-brand img{width:150px;filter:none}.mana-footer .footer-columns a,.mana-footer .policy-link{font:400 12px/1.6 var(--font-mono);text-transform:none}.mana-footer .footer-bottom{margin-top:70px}.team-identity{overflow:hidden;--face-scale:1}.team-identity>img{transform:scale(var(--face-scale));transform-origin:50% 38%}.identity-0{--face-scale:1.4}.identity-0>img{clip-path:polygon(0 0,100% 0,100% 56%,80% 100%,20% 100%,0 56%)}.identity-1{--face-scale:.94}.identity-2{--face-scale:1.13}.identity-3{--face-scale:1.02}.team-card:hover .team-identity>img{transform:scale(var(--face-scale)) translateY(-4px)}
@media(max-width:760px){.hero{height:145svh}.bridge-section{height:65svh;min-height:340px;margin-top:-10svh;padding:0 16px}.hero-bridge{top:40px;font-size:clamp(2.15rem,7.8vw,3.5rem)}.work{margin-top:0;padding-top:30px;padding-bottom:60px}.services{padding-top:45px;padding-bottom:80px}.service-card:nth-child(n){min-height:420px}.code-play{height:480px;margin-top:10px}.code-char{font-size:clamp(8px,2vw,12px)}.is-bloom .code-char{font-size:11px}.reading{font-size:2rem}.mana-footer{padding:60px 16px 150px}.mana-footer .footer-content{grid-template-columns:1fr;gap:35px}.mana-footer .footer-brand{margin-top:30px}.mana-footer .footer-bottom{margin-top:40px}.mana-footer h2{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.hero{height:auto}.bridge-section{height:auto;min-height:0;margin-top:0;padding-top:45px;padding-bottom:45px}.hero-bridge{display:block;position:relative;top:auto;opacity:1}.hero-bridge .hero-letter{transform:none}.team-identity>img,.team-card:hover .team-identity>img{transform:scale(var(--face-scale))}}
.bridge-section{height:62svh;min-height:360px}
@media(max-width:760px){.bridge-section{height:52svh;min-height:290px}}
@media(prefers-reduced-motion:reduce){.bridge-section{height:auto;min-height:0}}

/* One visual system: a short hero exit, safe portraits and an expanding end panel. */
:root{--section-title:55px}
.section h2,.work-intro h2,.team-heading h2,.contact h2{font-size:var(--section-title);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.hero{height:120svh}.hero-stage{min-height:0}.hero-meta{opacity:clamp(0,calc(1 - var(--hero-progress)*5),1)}
.hero-bottom{opacity:clamp(0,calc(1 - var(--hero-progress)*3),1);transform:translateY(calc(var(--hero-progress)*65px))}
.hero-content{opacity:clamp(0,calc(1 - var(--burst)*1.2),1)}
.work{margin-top:-65svh;padding-top:34px;padding-bottom:90px;z-index:5;opacity:var(--work-opacity,0);background:var(--paper);pointer-events:auto;will-change:opacity}
.work-intro>div{padding-top:45px}.work-intro{margin-bottom:45px}.portfolio-row{opacity:1;transform:none}
.services{padding-top:70px;padding-bottom:110px}
.service-card:nth-child(n){border:1px solid transparent;box-shadow:none;transition:border-color .3s;background:#fff}
.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible{border-color:#1a191523;box-shadow:none;background:#fff}
.service-card:focus-visible{outline:2px solid #76756f;outline-offset:4px}
.heading-with-art{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-art{display:block;width:86px;flex-shrink:0}
.playful-graphic{display:block;width:100%;height:100%}.section-art .graphic-orbit{animation:gentle-turn 18s linear infinite}
.loop-text{font:12px/1.5 var(--font-mono);color:#716c7b;min-height:1.5em;margin:20px 0;white-space:nowrap}
.loop-caret{display:inline-block;width:1px;height:1em;background:var(--purple);margin-left:4px;vertical-align:-.12em;animation:caret-blink 1s steps(1) infinite}
.ai-grid{align-items:center}.ai-grid>div:first-child{padding-top:50px}.code-play{align-self:start;margin-top:-8px}
.code-char,.is-bloom .code-char{font-size:clamp(9px,.88vw,15px);color:var(--purple);transition:left 1.65s cubic-bezier(.22,.68,.18,1),top 1.65s cubic-bezier(.22,.68,.18,1),opacity .8s;transition-delay:var(--delay)}
.code-play.is-bloom .code-char{animation:none}.code-play:focus-visible{outline:1px dashed #9273ec77;outline-offset:12px}
.code-canvas{inset:0 0 42px}.reading{font-size:clamp(2rem,3.8vw,4rem)}
.team-sticky{overflow:visible}.team-window{padding:18px 0 24px;overflow:hidden}.team-card{width:340px}
.team-identity:nth-child(n){height:310px;background:transparent;overflow:visible;padding:22px;margin:0 0 22px;--face-scale:1}
.team-identity>img,.team-card:hover .team-identity>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none;clip-path:none;filter:drop-shadow(0 10px 12px #1a19150c)}
.team-card:hover .team-identity>img{filter:drop-shadow(0 14px 14px #9273ec22)}
.team-plus{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle,#9273ec20,transparent 68%)}
.contact{padding-bottom:120px}.contact h2{margin-bottom:48px}.contact-grid{grid-template-columns:1.15fr 1fr;gap:9%;align-items:start}
.contact-card{background:#fff;padding:36px;border:1px solid #1a191510;position:relative;overflow:visible}
.contact-art{width:96px;height:96px;margin-bottom:28px;animation:gentle-sway 9s ease-in-out infinite}
.contact-card h3{font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.13;margin:15px 0 20px;text-wrap:balance}
.contact-card>p{margin:0 0 30px;color:#64635e;max-width:400px}
.contact-card>a.contact-channel{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #1a191515;color:var(--ink);font-size:14px;margin-top:12px;transition:background .3s,border-color .3s}
.contact-channel>span{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere;grid-row:auto;font-size:14px}
.contact-channel strong{font-weight:400}.contact-channel small{font:11px/1.4 var(--font-mono);color:#64635e}
.contact-card>a.contact-channel>svg{flex-shrink:0;width:22px;grid-column:auto;grid-row:auto}.contact-channel>svg:last-child{margin-left:auto;transition:transform .3s}
.contact-card>a.channel-telegram{background:var(--lime);border-color:transparent}.contact-card>a.contact-channel:hover{background:#f1eef9;border-color:#1a191523}.contact-channel:hover>svg:last-child{transform:translate(2px,-2px)}
.dock{width:620px;padding:7px 8px 7px 20px;display:block;max-width:calc(100% - 28px);height:58px;overflow:hidden;transition:width .8s cubic-bezier(.22,.68,.18,1),height .8s cubic-bezier(.22,.68,.18,1),padding .8s,border-radius .8s;background:#f4f3f0f5}
.dock-compact{display:flex;align-items:center;justify-content:space-between;gap:24px}.dock-compact[hidden],.final-panel[hidden]{display:none}
.dock.dock-expanded.final-dock{display:block;width:calc(100% - 28px);max-width:calc(100% - 28px);height:68svh;min-height:420px;max-height:85svh;padding:28px 32px;border-radius:8px;background:white;border-color:#1a19151a;overflow:auto;backdrop-filter:none}
.final-panel{height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:20px;animation:panel-arrival .65s .12s both}
.final-topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font:11px/1.5 var(--font-mono);text-transform:uppercase}
.final-topbar .policy-link{justify-self:start;font-size:11px;transition:color .3s}.final-topbar .policy-link:hover{color:#7654c1}
.final-socials{display:flex;gap:8px}.final-socials>a{border:1px solid #1a19152a;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;transition:background .3s,transform .3s}.final-socials>a:hover{background:var(--lime);transform:rotate(-8deg)}
.final-socials span{font:500 15px/1 var(--font-sans)}.final-actions{justify-self:end;display:flex;align-items:center;gap:24px}
.final-wordmark{display:flex;align-items:center;justify-content:center;gap:0;width:100%;font:500 clamp(6rem,17vw,21rem)/.9 'Inter Tight',var(--font-sans);letter-spacing:-.065em;color:var(--ink);padding:24px 0;white-space:nowrap}
.live-glyph{position:relative;display:block;width:.95em;height:1.05em;margin:0 .035em;flex-shrink:0;letter-spacing:0}
.glyph-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6%;opacity:0;animation:glyph-cycle 21s linear infinite;animation-delay:calc(var(--glyph-index)*3s)}
.glyph-0{--glyph-index:0}.glyph-1{--glyph-index:1}.glyph-2{--glyph-index:2}.glyph-3{--glyph-index:3}.glyph-4{--glyph-index:4}.glyph-5{--glyph-index:5}.glyph-6{--glyph-index:6}
.final-wordmark:hover .glyph-frame{animation-play-state:paused}.final-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;font:11px/1.5 var(--font-mono)}.final-bottom>span{color:#82868e}.final-bottom>div{display:flex;gap:24px}.final-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
.footer.footer-anchor{height:80svh;min-height:80svh;background:var(--paper);padding:0}
@keyframes gentle-turn{to{transform:rotate(360deg)}}
@keyframes gentle-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes panel-arrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes glyph-cycle{0%{opacity:0;transform:translateY(6px) rotate(-5deg) scale(.95)}2%,12%{opacity:1;transform:none}14.28%,100%{opacity:0;transform:translateY(-6px) rotate(5deg) scale(.95)}}
@media(min-width:1700px){.dock.dock-expanded.final-dock{padding:32px 48px}.final-wordmark{font-size:min(17vw,21rem)}}
@media(max-width:1100px){.final-actions{gap:14px}.final-topbar{gap:15px}.contact-card{padding:26px}.team-card{width:310px}.team-identity:nth-child(n){height:290px}}
@media(max-width:760px){
:root{--section-title:clamp(2rem,7.6vw,2.7rem)}
.hero{height:120svh}.hero-stage{min-height:0;height:100svh;padding:160px 16px 120px}.work{margin-top:-65svh;padding-top:24px;padding-bottom:70px}.work-intro>div{padding-top:15px}.work-intro{margin-bottom:35px}.services{padding-top:45px;padding-bottom:80px}.section-art{width:58px}.loop-text{font-size:11px}.ai-grid>div:first-child{padding-top:0}.code-play{margin-top:0;height:460px}.code-char,.is-bloom .code-char{font-size:clamp(8px,2vw,12px)}.reading{font-size:clamp(1.8rem,6.4vw,2.2rem)}
.team-heading{margin-bottom:15px}.team-card{width:270px}.team-identity:nth-child(n){height:260px;padding:18px}.team-window{overflow-x:auto;padding-top:18px;padding-bottom:28px}.team-sticky{overflow:hidden}
.contact-grid{grid-template-columns:1fr;gap:40px}.contact{padding-bottom:90px}.contact-card{padding:25px}.contact-art{width:80px;height:80px}.contact-card>a.contact-channel{padding:18px 14px}.contact-channel small{font-size:10px}
.dock{width:calc(100% - 20px);max-width:500px;height:94px;padding:9px 12px}.dock-compact{display:grid;grid-template-columns:1fr auto;gap:9px}.dock-compact .dock-links{grid-column:1/-1;grid-row:2}.dock.dock-expanded.final-dock{height:66svh;min-height:390px;max-height:85svh;width:calc(100% - 20px);max-width:none;padding:20px 16px}.final-panel{gap:24px}.final-topbar{grid-template-columns:1fr auto;gap:18px 10px}.final-topbar .policy-link{font-size:9px}.final-socials{justify-self:end}.final-socials>a{width:34px;height:34px}.final-actions{grid-column:1/-1;width:100%;justify-content:space-between;font-size:10px}.final-wordmark{font-size:16.3vw;padding:18px 0}.final-bottom{flex-wrap:wrap;gap:16px;font-size:9px}.final-bottom>div{order:3;width:100%;gap:20px}.footer.footer-anchor{height:75svh;min-height:75svh}
}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.hero-stage{position:relative}.hero-content,.hero-meta,.hero-bottom{opacity:1;transform:none}.hero-letter,.hero-media{transform:none}.work{margin-top:0;opacity:1}.team-identity>img,.team-card:hover .team-identity>img{transform:none}.code-char{transition:none}.glyph-frame{animation:none;opacity:0;transform:none}.glyph-4{opacity:1}.final-panel{animation:none}.loop-caret{animation:none}.section-art .graphic-orbit,.contact-art{animation:none}.dock{transition:none}.team-window{overflow-x:auto}}
/* Keep the normal document readable before JavaScript and with reduced motion. */
.hero{height:100svh}.work{margin-top:0;opacity:1}.motion-ready .hero{height:120svh}.motion-ready .work{margin-top:-65svh;opacity:var(--work-opacity,0)}
.glyph-frame{animation-name:glyph-cycle-final;animation-duration:24s}.glyph-7{--glyph-index:7}.glyph-letter{padding:0;text-align:center;font:inherit;line-height:1.05}
@keyframes glyph-cycle-final{0%{opacity:0;transform:translateY(6px) rotate(-5deg) scale(.95)}1.5%,10.5%{opacity:1;transform:none}12.5%,100%{opacity:0;transform:translateY(-6px) rotate(5deg) scale(.95)}}
@media(prefers-reduced-motion:reduce){.glyph-frame{opacity:0}.glyph-letter{opacity:1}}
.agile-step [data-slot=accordion-content][data-state=open]{animation:agile-unfold .3s cubic-bezier(.22,.68,.18,1)!important}
.agile-step [data-slot=accordion-content][data-state=closed]{animation:agile-fold .25s cubic-bezier(.22,.68,.18,1)!important}
@keyframes agile-unfold{from{height:0;opacity:0}to{height:var(--radix-accordion-content-height);opacity:1}}
@keyframes agile-fold{from{height:var(--radix-accordion-content-height);opacity:1}to{height:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.agile-step [data-slot=accordion-content][data-state]{animation:none!important}}

/* Consistent 55 px titles and a brand with permanent words and visible changing pictures. */
.animated-brand{display:flex;align-items:center;justify-content:center;white-space:nowrap;font-family:var(--font-mono);font-weight:400;line-height:1;letter-spacing:-.055em}
.brand-pictures{position:relative;width:1.05em;height:1.15em;margin:0 .12em;flex-shrink:0;letter-spacing:0}
.brand-picture{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:5%;object-fit:contain;object-position:center;opacity:0;transform:translateY(6px) scale(.94);transition:opacity .55s ease,transform .65s cubic-bezier(.22,.68,.18,1);pointer-events:none}
.brand-picture.is-current{opacity:1;transform:none}
.service-brand{font-size:48px;flex-shrink:0;min-width:260px;padding:0 12px}
.animated-brand.final-wordmark{font-size:clamp(6rem,16vw,20rem);padding:24px 0}
.final-topbar,.final-bottom,.final-topbar .policy-link,.final-topbar a,.final-bottom a,.final-socials span{font-family:var(--font-mono);text-transform:uppercase}
.final-topbar .policy-link{font-weight:400;letter-spacing:.03em}
.contact-card>a.channel-telegram:hover,.contact-card>a.channel-telegram:focus-visible{background:#d7eb88;border-color:#1a191523}
.contact-card>a.channel-email:hover,.contact-card>a.channel-email:focus-visible{background:#f1f1ed;border-color:#1a191523}
.contact-channel:hover>svg:last-child{transform:translate(2px,-2px)}
.agile-step [data-slot=accordion-content][data-state=open]{animation:agile-unfold .4s cubic-bezier(.22,.68,.18,1)!important}
.agile-step [data-slot=accordion-content][data-state=closed]{animation:agile-fold .35s cubic-bezier(.22,.68,.18,1)!important}
.agile-trigger{position:relative}.agile-trigger .step-number{display:flex;align-items:center;gap:16px}
.agile-trigger .step-number:after{content:'+';font:300 24px/1 var(--font-mono);transition:transform .3s}
.agile-trigger[data-state=open] .step-number:after{transform:rotate(45deg)}
@media(max-width:760px){.heading-with-art{align-items:flex-start;flex-wrap:wrap;gap:24px}.service-brand{font-size:40px;min-width:0;padding:0;justify-content:flex-start}.animated-brand.final-wordmark{font-size:14.5vw;padding:18px 0}}
@media(prefers-reduced-motion:reduce){.brand-picture{transition:none;transform:none}.agile-step [data-slot=accordion-content][data-state]{animation:none!important}}

/* Reference composition: a centered title framed by two photo clusters, with ordinary page scrolling. */
.dock,.dock.dock-expanded.final-dock{background:#fff;backdrop-filter:none}
.hero,.motion-ready .hero{height:100svh;min-height:720px;--hero-progress:0;--burst:0}
.hero-stage{position:relative;top:auto;height:100%;min-height:720px;display:flex;align-items:center;justify-content:center;padding:100px 24px 120px;overflow:hidden;perspective:none}
.hero-content{width:67%;max-width:1280px;transform:none;opacity:1;will-change:auto;text-align:center}
.hero h1{font-size:clamp(2.8rem,4.6vw,6rem);line-height:1.08;letter-spacing:-.045em}
.hero-line{display:block}.hero-line>span{animation:none}.hero-line:first-child{white-space:nowrap}
.hero .typed-word{min-width:3.5em;text-align:left}.hero .typewriter{vertical-align:baseline}
.hero-meta,.hero-bottom{transform:none;opacity:1;will-change:auto}
.hero-gallery{inset:0;pointer-events:none}
.hero-media{display:block;position:absolute;width:13.5%;max-width:230px;transform:rotate(var(--tilt));opacity:1;will-change:auto;pointer-events:auto}
.hero-media img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;border-radius:3px}
.hero-media>span{display:none}
.hero-media-0{left:8%;right:auto;top:17%;bottom:auto;width:13%;--tilt:10deg}
.hero-media-1{left:1.6%;right:auto;top:37%;bottom:auto;width:12.5%;--tilt:-5deg}
.hero-media-2{left:8%;right:auto;top:auto;bottom:19%;width:14%;--tilt:2deg}
.hero-media-3{left:auto;right:8%;top:22%;bottom:auto;width:12.5%;--tilt:-6deg}
.hero-media-4{left:auto;right:1.5%;top:38%;bottom:auto;width:13%;--tilt:-7deg}
.hero-media-5{left:auto;right:8%;top:auto;bottom:13%;width:14%;--tilt:7deg}
.work,.motion-ready .work{margin-top:0;opacity:1;will-change:auto;padding-top:65px}
@media(min-width:1700px){.hero h1{font-size:clamp(5rem,4.6vw,6.5rem)}}
@media(max-width:1100px) and (min-width:761px){.hero,.motion-ready .hero,.hero-stage{min-height:650px}.hero-content{width:69%}.hero h1{font-size:4.5vw}.hero-media-0,.hero-media-2{left:5%}.hero-media-3,.hero-media-5{right:5%}}
@media(max-width:760px){
.hero,.motion-ready .hero{height:100svh;min-height:740px}.hero-stage{min-height:740px;padding:155px 16px 180px;display:flex}
.hero-content{width:100%;max-width:600px}.hero h1{font-size:clamp(1.8rem,6.15vw,2.9rem);line-height:1.13}
.hero-media{max-width:170px;width:26%}.hero-media-0,.hero-media-1{display:none}
.hero-media-2{display:block;top:14%;bottom:auto;left:8%;right:auto;width:26%;margin:0;--tilt:-7deg}
.hero-media-3{display:block;top:16%;bottom:auto;right:7%;left:auto;width:27%;--tilt:7deg}
.hero-media-4{display:block;top:auto;bottom:23%;left:7%;right:auto;width:27%;margin:0;--tilt:5deg}
.hero-media-5{display:block;top:auto;bottom:20%;right:7%;left:auto;width:27%;--tilt:-6deg}
.hero-bottom{bottom:125px}.work,.motion-ready .work{margin-top:0;padding-top:45px}
}
@media(prefers-reduced-motion:reduce){.hero-media{transform:rotate(var(--tilt))}.hero-content,.hero-meta,.hero-bottom{transform:none;opacity:1}}

/* Floema-inspired connected icon/text buttons, in Mana colours. */
.contact-card>a.contact-channel{border-radius:12px;transition:background .5s cubic-bezier(.19,1,.22,1),border-color .5s,box-shadow .5s}
.contact-card>a.contact-channel:hover{box-shadow:0 4px 16px #1a191508}
.contact-channel>svg:first-child{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.contact-channel:hover>svg:first-child{transform:scale(1.07) rotate(-7deg)}
.portfolio-link{width:fit-content;position:relative}.portfolio-link:after{content:'';position:absolute;left:0;right:38px;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1)}.portfolio-link:hover:after{transform:scaleX(1)}
.final-socials>a{border-radius:12px;transition:background .5s cubic-bezier(.19,1,.22,1),transform .5s cubic-bezier(.175,.885,.32,1.275)}.final-socials>a:hover{transform:scale(1.03)}

/* Cases and decorative illustrations travel outwards; the headline scrolls normally. */
.hero{--scatter:0}.hero-decoration-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.hero-media{transform:translate(calc(var(--scatter)*var(--scatter-x)),calc(var(--scatter)*var(--scatter-y))) rotate(calc(var(--tilt) + var(--scatter)*var(--scatter-angle))) scale(calc(1 + var(--scatter)*.15));opacity:calc(1 - var(--scatter)*.3);will-change:transform}
.hero-media-0{--scatter-x:-60vw;--scatter-y:-38vh;--scatter-angle:-32deg}
.hero-media-1{--scatter-x:-70vw;--scatter-y:-10vh;--scatter-angle:22deg}
.hero-media-2{--scatter-x:-55vw;--scatter-y:35vh;--scatter-angle:-28deg}
.hero-media-3{--scatter-x:60vw;--scatter-y:-45vh;--scatter-angle:35deg}
.hero-media-4{--scatter-x:70vw;--scatter-y:5vh;--scatter-angle:-25deg}
.hero-media-5{--scatter-x:55vw;--scatter-y:48vh;--scatter-angle:30deg}
.hero-decoration{position:absolute;transform:translate(calc(var(--scatter)*var(--scatter-x)),calc(var(--scatter)*var(--scatter-y))) rotate(calc(var(--tilt,0deg) + var(--scatter)*var(--scatter-angle))) scale(calc(1 + var(--scatter)*.2));will-change:transform;pointer-events:none}
.hero-decoration>img{width:100%;height:auto;object-fit:contain;animation:decoration-drift 7s ease-in-out infinite}.hero-decoration>.playful-graphic{animation:decoration-drift 9s ease-in-out infinite}
.decoration-flower{left:24%;top:10%;width:clamp(65px,8.5vw,150px);--scatter-x:-35vw;--scatter-y:-60vh;--scatter-angle:-70deg;--tilt:-12deg}
.decoration-ribbon{right:25%;bottom:14%;width:clamp(80px,10vw,180px);--scatter-x:45vw;--scatter-y:60vh;--scatter-angle:80deg;--tilt:18deg}
.decoration-ribbon>img{animation-delay:-3s}.decoration-orbit{right:28%;top:10%;width:clamp(32px,4.2vw,74px);--scatter-x:40vw;--scatter-y:-55vh;--scatter-angle:90deg;--tilt:16deg}
.decoration-plus{left:25%;bottom:17%;font:300 clamp(40px,5vw,80px)/1 var(--font-mono);color:var(--purple);--scatter-x:-40vw;--scatter-y:60vh;--scatter-angle:-100deg;--tilt:12deg}
@keyframes decoration-drift{0%,100%{transform:translateY(-5px) rotate(-3deg)}50%{transform:translateY(5px) rotate(3deg)}}
@media(max-width:760px){.decoration-flower{left:41%;top:12%;width:58px}.decoration-ribbon{right:41%;bottom:21%;width:66px}.decoration-orbit{right:8%;top:32%;width:30px}.decoration-plus{left:8%;bottom:40%;font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:rotate(var(--tilt));opacity:1}.hero-decoration{transform:rotate(var(--tilt,0deg))}.hero-decoration>img,.hero-decoration>.playful-graphic{animation:none}.portfolio-link:after{transition:none}}

/* Connected, gently stretched button necks: no detached or rotating parts. */
.contact-channel:hover>svg:first-child{transform:translateX(-2px)}
/* A single family of soft 3D objects, at the hero flower's scale. */
:root{--sculpture-size:clamp(90px,8.5vw,150px)}
.sculpture{display:block;position:relative;width:var(--sculpture-size);height:var(--sculpture-size);flex-shrink:0;pointer-events:none}
.sculpture>img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.sculpture-flower .flower-wink{position:relative;opacity:1;animation:none}
.sculpture-flower .flower-open{position:absolute;inset:0;z-index:1;mask-image:radial-gradient(ellipse 5.5% 6.5% at 62.5% 50%,#000 88%,transparent 100%);animation:flower-open 6s infinite}
@keyframes flower-wink{0%,70%,89%,100%{opacity:0}74%,85%{opacity:1}}
@keyframes flower-open{0%,70%,89%,100%{opacity:1}74%,85%{opacity:0}}
.brand-picture>.sculpture{width:100%;height:100%}.hero-decoration>.sculpture{width:100%;height:100%}
.decoration-flower,.decoration-ribbon,.decoration-letter{width:var(--sculpture-size);height:var(--sculpture-size)}
.decoration-letter{left:25%;bottom:16%;--scatter-x:-40vw;--scatter-y:60vh;--scatter-angle:-75deg;--tilt:-10deg}
.work-label-art{position:relative;min-width:0}.work-label-art>.section-label{border:0;padding:0;margin:0}.work-label-art>.section-label:before,.work-label-art>.section-label:after{display:none}.work-sculpture{margin-top:65px;margin-left:10px}
.work-label-art>.section-label{position:absolute;top:0;left:0}.work-sculpture{animation:sculpture-float 8s ease-in-out infinite}
.quote-art-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.quote-art-row>.sculpture{margin-top:-20px}
.process-sculpture{margin-bottom:24px}.team-title-art{display:flex;align-items:center;gap:28px}.team-title-art>.sculpture{margin-top:15px}
.audit-ticket{overflow:visible}.ticket-sculpture{position:absolute;right:-25px;top:-70px;transform:rotate(10deg)}
.contact-art{width:var(--sculpture-size);height:var(--sculpture-size);animation:none;margin-bottom:22px}.contact-art>.sculpture{width:100%;height:100%}
.ai-sculpture{align-self:flex-end;margin:0 0 10px}
@keyframes sculpture-float{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
/* The hero's purple light fades just into the project introduction. */
main{position:relative;isolation:isolate}
main:before{content:'';position:absolute;z-index:-1;pointer-events:none;left:0;right:0;top:0;height:calc(max(100svh,720px) + 180px);background:radial-gradient(ellipse at 3% 35%,#9273ec2a 0%,#9273ec16 24%,transparent 62%),radial-gradient(ellipse at 95% 64%,#9273ec65 0%,#9273ec35 23%,transparent 62%);mask-image:linear-gradient(#000 0%,#000 60%,transparent 100%)}
@media(max-width:760px){main:before{height:calc(max(100svh,700px) + 80px)}}
.hero,.motion-ready .hero,.hero-stage,.work,.motion-ready .work{background:transparent}.hero:before{display:none}
@media(max-width:760px){:root{--sculpture-size:90px}.work-label-art{display:flex;align-items:center;justify-content:space-between;min-height:100px;margin-bottom:15px}.work-label-art>.section-label{position:relative;top:auto;left:auto;margin-bottom:0;order:0}.work-sculpture{margin:0;order:1}.team-title-art{justify-content:space-between;gap:20px}.team-title-art>.sculpture{margin:0}.ticket-sculpture{right:-5px;top:-55px}.audit-ticket{margin-top:45px}.quote-art-row>.sculpture{margin-top:0}.ai-sculpture{margin:0 0 15px}.decoration-flower{left:39%;top:10%}.decoration-ribbon{right:39%;bottom:17%}.decoration-letter{display:none}}
@media(prefers-reduced-motion:reduce){.sculpture-flower .flower-wink{opacity:1;animation:none}.sculpture-flower .flower-open{opacity:0;animation:none}.work-sculpture{animation:none}}

.hero-decoration>.sculpture{animation:decoration-drift 8s ease-in-out infinite}.decoration-ribbon>.sculpture{animation-delay:-3s}
@media(prefers-reduced-motion:reduce){.hero-decoration>.sculpture{animation:none}}
/* Real website captures, framed as paired editorial case studies. */
.portfolio-list{row-gap:70px}.portfolio-screen{padding:18px;aspect-ratio:1.46;border:1px solid #1a191514}.screen-network{background:#e3f794}.portfolio-screen>img{height:100%;object-fit:contain;object-position:center;box-shadow:0 9px 24px #0002}.project-motion{position:relative;width:100%;height:100%;overflow:hidden}.project-motion>img,.project-motion>video{width:100%;height:100%;display:block;object-fit:contain}.project-motion>video{position:absolute;inset:0;background:#cfff63}.case-cover{width:100%;aspect-ratio:1.45}.case-cover>img{width:100%;height:100%;object-fit:contain}.case-motion-detail{display:block;width:100%;height:auto}.case-gallery{gap:24px}.case-gallery img{object-fit:contain;height:auto}.portfolio-screen:hover img{transform:none}.portfolio-copy h3{max-width:520px}
@media(max-width:760px){.portfolio-list{row-gap:45px}.portfolio-screen{padding:10px;max-height:none}.portfolio-copy h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.project-motion>video{display:none}}

/* Soft characters share the studio palette and gentle motion. */
.mana-character{overflow:visible}.mana-character>img{display:block;object-fit:contain;filter:drop-shadow(0 3px 8px #9273ec0c);transform:none}.brand-picture>.mana-character{padding:0}.contact-art>.mana-character{animation:mana-breathe 8s ease-in-out infinite}.quote-art-row>.mana-character{animation:mana-breathe 9s ease-in-out infinite}.team-title-art>.mana-character{animation:mana-breathe 10s ease-in-out infinite}
@keyframes mana-breathe{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce){.mana-character{animation:none!important}.mana-character>img{filter:none}}
.mana-character>img{padding:5%;box-sizing:border-box}

/* Larger characters; untouched Mana, Iskra and Cursor retain their original artwork. */
:root{--sculpture-size:clamp(125px,10vw,190px)}.decoration-orbit{width:var(--sculpture-size);height:var(--sculpture-size);right:28%;top:9%;--tilt:3deg}
.character-gathering{position:relative;flex-shrink:0;width:clamp(285px,29vw,420px);height:230px;margin:-25px 0 -15px}.character-gathering>.sculpture{position:absolute}.gathering-mana{left:29%;bottom:0}.gathering-iskra{right:0;top:0;transform:rotate(8deg)}.character-gathering:hover .gathering-iskra{animation:mana-breathe 2s ease-in-out infinite}.character-gathering:hover .gathering-mana{animation:mana-breathe 3s ease-in-out infinite}
.quote-copy{display:flex;align-items:center;gap:20px}.quote-copy>.reading{flex:1;margin-right:0;min-width:0}.quote-copy>.sculpture{flex-shrink:0;margin:0;width:clamp(145px,15vw,220px);height:clamp(145px,15vw,220px)}.quote-art-row{margin-bottom:20px}
.ticket-sculpture{right:22px;top:26px;transform:none;width:145px;height:145px}.audit-ticket{position:relative;padding-top:175px}.team-invite-character{width:100%;height:100%;display:grid;place-items:center}.team-invite-character>.sculpture{width:min(100%,230px);height:230px}
@media(max-width:760px){:root{--sculpture-size:110px}.decoration-orbit{right:7%;top:35%;width:85px;height:85px}.character-gathering{width:285px;height:165px;margin:0}.quote-copy{gap:10px;align-items:flex-start}.quote-copy>.sculpture{width:100px;height:100px;margin-top:12px}.ticket-sculpture{right:18px;top:20px;width:125px;height:125px}.audit-ticket{padding-top:160px;margin-top:0}.team-invite-character>.sculpture{height:190px;width:190px}}
@media(max-width:430px){.quote-copy{flex-direction:column-reverse}.quote-copy>.sculpture{margin:0;width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){.character-gathering .sculpture{animation:none!important}}

/* Four tactile mascots, generous scale and clear space around their silhouettes. */
:root{--sculpture-size:clamp(170px,15vw,240px)}
.mana-character>img{padding:0;filter:none}
.character-gathering{width:clamp(380px,37vw,530px);height:280px;margin:0;isolation:isolate}
.character-gathering>.sculpture{width:clamp(175px,18vw,245px);height:clamp(175px,18vw,245px)}
.gathering-cloud{left:0;bottom:0;transform:rotate(-8deg);z-index:1}
.gathering-mana{left:28%;bottom:0;z-index:3;transform:rotate(-4deg)}
.gathering-iskra{right:0;top:0;z-index:2;transform:rotate(10deg)}
.work-sculpture{margin:65px 0 0;max-width:100%}
.ai-sculpture{align-self:flex-start;margin:0 0 12px}
.quote-copy{gap:clamp(24px,4vw,64px)}
.quote-copy>.sculpture{width:clamp(200px,20vw,290px);height:clamp(200px,20vw,290px)}
.process-sculpture{transform:rotate(-12deg);margin-bottom:20px}
.team-title-art>.sculpture{width:clamp(170px,14vw,230px);height:clamp(170px,14vw,230px)}
.ticket-sculpture{width:200px;height:200px;top:18px;right:24px}
.audit-ticket{padding-top:225px}
.contact-art{width:210px;height:210px;margin-bottom:16px}
.contact-card{overflow:visible}
@media(min-width:761px) and (max-width:1100px){.heading-with-art{align-items:flex-start;flex-wrap:wrap}.character-gathering{margin-left:auto}.team-heading{flex-wrap:wrap}.team-heading>.eyebrow{margin-left:auto}}
@media(max-width:760px){
:root{--sculpture-size:145px}
.character-gathering{width:min(100%,350px);height:220px;margin:0 auto}
.character-gathering>.sculpture{width:160px;height:160px}
.decoration-orbit{width:120px;height:120px;right:2%;top:33%}
.decoration-flower{width:140px;height:140px;left:35%;top:8%}
.decoration-ribbon{width:145px;height:145px;right:35%;bottom:17%}
.work-sculpture{margin:0;width:145px;height:145px}
.quote-copy{gap:18px;align-items:center}
.quote-copy>.sculpture{width:160px;height:160px;margin:0}
.team-title-art{gap:12px}.team-title-art>.sculpture{width:130px;height:130px}
.ticket-sculpture{width:170px;height:170px;top:18px;right:18px}.audit-ticket{padding-top:190px}
.contact-art{width:170px;height:170px}
}
@media(max-width:540px){.quote-copy{flex-direction:column-reverse;align-items:flex-start}.quote-copy>.sculpture{width:180px;height:180px}.team-title-art{align-items:flex-end}.team-title-art>.sculpture{width:110px;height:110px}}
@media(min-width:761px){.decoration-flower{top:5%}.decoration-orbit{top:5%}.decoration-letter,.decoration-ribbon{bottom:4%}}
/* Calm, symmetrical controls: the complete button draws gently to the left. */
/* Three mascots frame the headline; the cloud belongs to the following sections. */
.decoration-flower{left:calc(30% + 20px);top:6%}
.decoration-orbit{width:clamp(130px,11vw,180px);height:clamp(130px,11vw,180px);right:29%;top:auto;bottom:5%}
.decoration-letter{left:auto;right:27%;top:7%;bottom:auto;--tilt:78deg}
.work-sculpture{margin-top:38px}
/* Raster expressions keep the same soft character silhouette. */
.mana-character{pointer-events:auto}
.mana-character>.character-expression{position:absolute;inset:0;opacity:0;pointer-events:none}
.mana-character>.character-base{pointer-events:none}
@media(hover:hover){
.mana-character:hover>.character-base{animation:mascot-open 1.8s linear infinite}
.mana-character:hover>.character-expression{animation:mascot-wink 1.8s linear infinite}
}
@keyframes mascot-open{0%,12%,31%,100%{opacity:1}15%,28%{opacity:0}}
@keyframes mascot-wink{0%,12%,31%,100%{opacity:0}15%,28%{opacity:1}}
/* The project rail keeps case images and their descriptions together. */
.project-rail-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px}
.project-rail-tools>div{display:flex;gap:8px}
.project-rail-tools button{display:grid;place-items:center;width:44px;height:44px;background:#fff;border:1px solid #1a19151c;border-radius:12px;transition:background .2s;cursor:pointer}
.project-rail-tools button:hover{background:var(--lime)}
.portfolio-list.project-rail{display:flex;gap:32px;max-width:none;margin:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;padding:2px 2px 24px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9273ec66 transparent}
.project-rail>.portfolio-row{flex:0 0 min(68vw,720px);display:flex;flex-direction:column;justify-content:flex-start;gap:18px;scroll-snap-align:start}
.project-rail .project-category{order:1;position:static;width:auto;text-align:left;margin:0}
.project-rail .portfolio-image{order:0;aspect-ratio:1.7;max-height:none;width:100%;grid-column:auto;margin:0}
.project-rail .portfolio-copy{order:2;width:100%;padding:0;grid-column:auto}
.project-rail .portfolio-copy h3{margin:0 0 14px;max-width:none}
.project-rail .portfolio-copy p{max-width:620px}
.project-rail .portfolio-screen{padding:14px}
/* Compact product introduction, characters anchored to its lower right. */
.service-intro{margin-bottom:32px}
.service-intro-layout{display:grid;grid-template-columns:1fr minmax(340px,42%);gap:32px;align-items:end}
.service-intro-copy{min-width:0}.service-intro-copy h2{margin:0}
.service-intro-copy .loop-text{margin:16px 0 0;min-height:24px;font-size:14px;line-height:1.5}
.service-intro-copy p{margin:18px 0 24px}
.service-intro-layout>.character-gathering{width:100%;height:245px;margin:0;align-self:end}
.service-intro-layout .character-gathering>.sculpture{width:clamp(170px,17vw,225px);height:clamp(170px,17vw,225px)}
.service-card:nth-child(n){border-color:transparent;transition:transform .3s,box-shadow .3s,background .3s}
.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible{border-color:transparent;background:#fafbf6;box-shadow:inset 0 3px 12px #1a191508;transform:translateY(3px) scale(.994)}
.service-card:nth-child(n):active{transform:translateY(5px) scale(.989)}
.service-card .service-bottom>svg{transition:transform .3s;flex-shrink:0}
.service-card:hover .service-bottom>svg{transform:translateX(3px)}
.service-tags>span,.case-tags>span{border-radius:8px;border:0;background:var(--lime);padding:6px 10px;font:400 11px/1.4 var(--font-mono);text-transform:uppercase;box-shadow:none}
/* AI starts with the headline, and all its content has a clear place. */
.ai{min-height:calc(100svh - 40px);padding-bottom:30px}
.ai>.section-label{margin-bottom:24px}
.ai-grid{align-items:start;gap:5%}
.ai-grid>.ai-copy{padding:0;justify-content:flex-start;align-items:flex-start;gap:0}
.ai h2{margin:0}
.ai-sculpture{width:clamp(135px,12vw,180px);height:clamp(135px,12vw,180px);margin:12px 0;align-self:flex-start}
.ai p{margin:4px 0 18px;font-size:17px;line-height:1.5}
.ai .service-tags{margin:0;gap:7px}
.ai .code-play{margin:0;height:clamp(420px,64svh,620px)}
/* Large left-hand numbers, plus on the right. */
.agile-trigger{display:flex;align-items:center;gap:24px;padding:25px 0}
.agile-trigger .step-number{display:block;flex:0 0 58px;font:400 36px/1 'Inter Tight',var(--font-sans);letter-spacing:-.04em;color:#9273ec}
.agile-trigger .step-number:after{display:none}
.agile-trigger>.step-title{flex:1;min-width:0}
.agile-trigger>.step-toggle{flex:0 0 24px;display:grid;place-items:center}
.agile-trigger .step-toggle>svg{transition:transform .3s}
.agile-trigger[data-state=open] .step-toggle>svg{transform:rotate(45deg)}
.agile-content{padding-left:82px;padding-right:25px}
.process-sculpture{transform:rotate(85deg)}
.team-invite-plus{display:grid;place-items:center;width:100%;height:100%;color:var(--ink)}
/* A friendly free audit: headline, mascot, explanation; one focused card. */
.audit-grid{align-items:start;gap:10%}
.audit-mascot{width:200px;height:200px;margin:16px 0 10px}
.audit p{margin:8px 0 28px}
.audit-ticket{padding:44px;gap:30px;transform:none;margin:0;align-self:center;border-radius:16px;background:var(--lime)}
.audit-ticket strong{font-size:clamp(34px,3.2vw,48px)}
.audit-ticket .loop-text{font-size:14px;min-height:44px;line-height:1.5;margin:0}
@media(min-width:761px) and (max-height:800px){.ai-sculpture{width:125px;height:125px;margin:8px 0}.ai p{font-size:16px;margin-bottom:14px}.ai .code-play{height:calc(100svh - 170px);min-height:400px}}
@media(max-width:1000px) and (min-width:761px){.service-intro-layout{grid-template-columns:1fr 38%;gap:20px}.service-intro-layout>.character-gathering{height:210px}.service-intro-layout .character-gathering>.sculpture{width:150px;height:150px}.ai h2{font-size:clamp(34px,4vw,45px)}}
@media(max-width:760px){
.decoration-flower{left:40%;top:8%;width:125px;height:125px}
.decoration-orbit{right:auto;left:41%;top:auto;bottom:17%;width:105px;height:105px}
.decoration-letter{display:block;left:auto;right:2%;top:31%;bottom:auto;width:105px;height:105px}
.project-rail-tools>.eyebrow{font-size:11px}.portfolio-list.project-rail{gap:20px}.project-rail>.portfolio-row{flex-basis:88vw}.project-rail .portfolio-image{aspect-ratio:1.5}.project-rail .portfolio-copy h3{font-size:30px}
.service-intro-layout{grid-template-columns:1fr;gap:18px}.service-intro-layout>.character-gathering{width:min(100%,340px);height:190px;justify-self:end}.service-intro-layout .character-gathering>.sculpture{width:150px;height:150px}.service-intro{margin-bottom:26px}
.ai{min-height:0}.ai-grid{grid-template-columns:1fr;gap:28px}.ai h2{font-size:clamp(32px,8vw,45px)}.ai-sculpture{width:145px;height:145px}.ai p{font-size:16px}.ai .code-play{height:440px}
.agile-trigger{gap:16px;padding:24px 0}.agile-trigger .step-number{flex-basis:42px;font-size:30px}.agile-content{padding-left:58px;padding-right:0}.agile-trigger .step-title{font-size:22px}
.audit-mascot{width:180px;height:180px}.audit-ticket{padding:30px;gap:24px}.audit-ticket strong{font-size:36px}.audit-ticket .loop-text{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible,.service-card:nth-child(n):active{transform:none}.mana-character:hover>.character-base{animation:none;opacity:0}.mana-character:hover>.character-expression{animation:none;opacity:1}}
.brand-picture:not(.is-current) .mana-character{pointer-events:none}
.brand-picture.is-current .mana-character{pointer-events:auto}
/* Two rounded parts stay connected by a gently stretching neck. */
/* All outgoing artwork remains clipped to the first screen. */
.hero,.hero-stage{overflow:clip;isolation:isolate}
.hero-decoration-layer{overflow:clip}
.decoration-letter{--tilt:3deg;right:27%;top:7%;bottom:auto;width:clamp(135px,12vw,185px);height:clamp(135px,12vw,185px)}
.decoration-orbit{left:50%;right:auto;top:auto;bottom:5%;width:clamp(160px,15vw,230px);height:clamp(160px,15vw,230px);--tilt:0deg;margin-left:clamp(-115px,-7.5vw,-80px)}
/* Quiet, very small movement replaces every hover expression. */
.mana-character{transition:translate .5s cubic-bezier(.22,.68,.18,1)}
.mana-character:hover{translate:0 -3px}
.mana-character:hover>.character-base{animation:none!important;opacity:1!important}
.character-gathering:hover .sculpture{animation:none}
.work-sculpture{width:calc(var(--sculpture-size)*.88);height:calc(var(--sculpture-size)*.88)}
/* The rail has no visible scrollbar; phones retain direct swipe navigation. */
.portfolio-list.project-rail{scrollbar-width:none}
.portfolio-list.project-rail::-webkit-scrollbar{display:none}
.project-rail-tools>.eyebrow{white-space:normal;line-height:1.5}
/* Give the product heading air and keep estimates with their tags. */
.service-intro-copy .loop-text{margin-top:26px}
.service-intro-copy p{margin-top:22px}
.service-intro{margin-bottom:44px}
.service-card .service-estimate{margin-top:auto;padding-top:28px;margin-bottom:0}
.service-card .service-bottom{margin-top:0;padding-top:16px}
/* A pair of friends alongside the studio manifesto. */
.quote-companions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 30%;gap:0}
.quote-companions>.sculpture{width:clamp(140px,14vw,210px);height:clamp(140px,14vw,210px)}
.quote-companions>.sculpture+.sculpture{margin-left:-30px;align-self:flex-end;transform:translateY(35px)}
.process-sculpture{transform:none}
.team-identity.identity-4{background:none;box-shadow:none}
.team-invite-plus{color:var(--purple)}
.team-invite-plus>svg{width:36px;height:36px}
/* Compact tear-off ticket: a clear promise and one generous action. */
.audit-grid{grid-template-columns:1fr 1.12fr;gap:8%}
.audit-ticket{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:26px;row-gap:22px;border-radius:8px;padding:36px;position:relative;min-height:0}
.audit-ticket strong{grid-column:1/-1;font-size:clamp(32px,3vw,44px);line-height:1.1}
.audit-ticket .loop-text{grid-column:1;min-height:42px;max-width:245px}
@media(max-width:1100px) and (min-width:761px){.audit-ticket{grid-template-columns:1fr;gap:20px}.quote-companions{flex-basis:32%}.quote-companions>.sculpture{width:145px;height:145px}}
@media(max-width:760px){
.decoration-letter{right:4%;top:31%;width:100px;height:100px;--tilt:3deg}
.decoration-orbit{left:50%;right:auto;top:auto;bottom:16%;width:145px;height:145px;margin-left:-72.5px}
.work-sculpture{width:128px;height:128px}
.service-intro-copy .loop-text{margin-top:24px}.service-intro{margin-bottom:36px}
.quote-copy{flex-direction:column;align-items:flex-start}.quote-companions{align-self:flex-end;flex-basis:auto;margin-top:12px;margin-bottom:20px}.quote-companions>.sculpture{width:145px;height:145px}
.audit-grid{grid-template-columns:1fr;gap:35px}.audit-ticket{grid-template-columns:1fr auto;padding:28px;column-gap:18px}.audit-ticket .loop-text{font-size:12px}
}
@media(max-width:430px){.audit-ticket{grid-template-columns:1fr;gap:18px}.audit-ticket strong{font-size:34px}}
@media(prefers-reduced-motion:reduce){.mana-character:hover{translate:none}}
@media(min-width:761px){.decoration-orbit{width:clamp(160px,12vw,185px);height:clamp(160px,12vw,185px);left:calc(50% - clamp(80px,6vw,92.5px));margin-left:0;bottom:11%}}
/* Reference button silhouette: shallow joined waists, stretched on hover. */
@media(prefers-reduced-motion:reduce){}
/* One button geometry for the header, page and dialogs. All parts share one animated gap. */
@property --button-gap{syntax:'<length>';inherits:true;initial-value:0px}
.button{--button-height:var(--control-height);--button-fill:var(--lime);--button-ink:var(--ink);--button-gap:0px;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:0;width:var(--control-width);max-width:100%;height:var(--button-height);min-height:var(--button-height);padding:0;border:0;border-radius:0;background:transparent;color:var(--button-ink);font:400 12px/1.4 var(--font-mono);text-transform:uppercase;white-space:normal;overflow:visible;transform:none;transition:--button-gap .35s cubic-bezier(.19,1,.22,1)}
.button>span{position:relative;z-index:1;order:2;display:flex;flex:1;min-width:0;align-items:center;justify-content:center;text-align:center;height:var(--button-height);min-height:var(--button-height);padding:0 17px;border-radius:16px;background:var(--button-fill);color:var(--button-ink);transform:none;transition:none}
.button>svg{position:relative;z-index:1;order:1;display:block;flex:0 0 var(--button-height);width:var(--button-height);height:var(--button-height);padding:calc((var(--button-height) - 18px)/2);border-radius:16px;background:var(--button-fill);color:var(--button-ink);transform:translateX(calc(0px - var(--button-gap)));transition:none}
.button:before{content:'';position:absolute;z-index:0;top:50%;left:calc(var(--button-height) - 12px - var(--button-gap));width:calc(24px + var(--button-gap));height:20px;background:var(--button-fill);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0C8 0 8 4 16 4S24 0 32 0V20C24 20 24 16 16 16S8 20 0 20Z'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat;transform:translateY(-50%);pointer-events:none;transition:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20' preserveAspectRatio='none'%3E%3Cpath d='M0 0C8 0 8 4 16 4S24 0 32 0V20C24 20 24 16 16 16S8 20 0 20Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.button:hover,.button:focus-visible{--button-gap:8px;transition-duration:.5s;transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}
.button:active{--button-gap:5px}
.ai .button,.audit-bonus.button{--button-fill:var(--ink);--button-ink:#fff}
.ai .button{margin-top:26px;align-self:flex-start}
.audit-bonus.button{grid-column:1;grid-row:4;margin-top:0;align-self:center}
@media(max-width:1100px) and (min-width:761px){.audit-bonus.button{grid-column:1;grid-row:auto}}
@media(max-height:800px) and (min-width:761px){.ai .button{margin-top:20px}}
@media(max-width:760px){.button>span{padding-inline:14px}.ai .button{margin-top:24px}}
@media(max-width:430px){.audit-bonus.button{grid-column:1;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.button,.button:hover,.button:focus-visible,.button:active{--button-gap:0px;transition:none}}
@media(max-width:760px){.dock-compact .dock-cta{grid-column:2;grid-row:1}}

/* A quieter pull, clean button layers and equal navigation spacing. */
.button,.button>span,.button>svg{box-shadow:none;filter:none}
.button:after{content:none;display:none}
.ai-copy>.button{z-index:3;background:transparent;border:0;flex-shrink:0}
.dock:not(.dock-expanded){height:70px;padding:12px;background:#fff;overflow:visible}
.dock-compact{gap:28px}
.dock-compact>.brand{width:104px}
.dock-compact>.brand img{width:104px;height:44px}
.dock-compact>.dock-cta{flex-shrink:0}
.hero-project-star{flex-shrink:0;transform-origin:center}
.hero-scroll:hover .hero-project-star,.hero-scroll:focus-visible .hero-project-star{animation:gentle-turn 3s linear infinite}
.work,.motion-ready .work{padding-top:53px}
.portfolio-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:24px}
.portfolio-actions>.portfolio-link{margin:0}

/* The gathering can be moved without leaving its own composition. */
.character-gathering>.character-handle{position:absolute;display:block;width:clamp(170px,17vw,225px);height:clamp(170px,17vw,225px);padding:0;border:0;background:transparent;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transform:none;animation:none!important;translate:none}
.character-handle>.sculpture{width:100%;height:100%;pointer-events:none;animation:none;translate:none}
.gathering-cloud>.sculpture{transform:rotate(-8deg)}.gathering-mana>.sculpture{transform:rotate(-4deg)}.gathering-iskra>.sculpture{transform:rotate(10deg)}
.character-handle.is-dragging{cursor:grabbing;z-index:5}
.character-handle:focus-visible{outline:1px solid #9273ec80;outline-offset:0;border-radius:24px}
.service-card:nth-child(n):hover,.service-card:nth-child(n):focus-visible{background:#fff;border-color:transparent;box-shadow:none;transform:none}
.service-card:hover .service-bottom>svg{transform:none}
.quote-companions{translate:-18px 0}

/* Number, title and expanded description share a single left alignment. */
.agile-trigger{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;column-gap:16px;justify-content:start;text-align:left}
.agile-trigger>.step-title{justify-self:start;text-align:left}
.agile-trigger>.step-toggle{justify-self:end}
.agile-content{padding-left:60px;padding-right:40px}
.team-card:last-child{text-align:center}
.team-card:last-child h3,.team-card:last-child p{margin-inline:auto}
.team-card:last-child .team-identity.identity-4{display:grid;place-items:center;background:none}
.team-invite-plus{justify-self:center;align-self:center;grid-column:1;grid-row:1}

/* The perforation is part of the ticket, separate from its button. */
.audit-ticket{--ticket-padding:36px;padding:var(--ticket-padding);transform:none;row-gap:22px}
.ticket-perforation{position:relative;display:block;grid-column:1/-1;height:1px;margin-inline:calc(0px - var(--ticket-padding));border-top:1px dashed #1a19154a;pointer-events:none}
.ticket-perforation:before,.ticket-perforation:after{content:'';position:absolute;top:-1px;width:26px;height:26px;background:#fff;border-radius:50%;transform:translateY(-50%)}
.ticket-perforation:before{left:-13px}.ticket-perforation:after{right:-13px}
.audit-ticket .loop-text{grid-row:3}
@media(max-width:1100px) and (min-width:761px){.service-intro-layout .character-gathering>.character-handle{width:150px;height:150px}}
@media(max-width:760px){
.dock:not(.dock-expanded){height:100px;padding:12px}
.dock-compact{gap:12px}
.dock-compact>.brand{width:92px}.dock-compact>.brand img{width:92px;height:40px}
.dock-compact .dock-links{padding:6px 0 0}
.work,.motion-ready .work{padding-top:37px}
.service-intro-layout .character-gathering>.character-handle{width:150px;height:150px}
.quote-companions{translate:none}
.agile-trigger{grid-template-columns:36px minmax(0,1fr) 24px;column-gap:12px}
.agile-content{padding-left:48px;padding-right:36px}
.audit-ticket{--ticket-padding:28px}
}
@media(prefers-reduced-motion:reduce){.hero-scroll:hover .hero-project-star,.hero-scroll:focus-visible .hero-project-star{animation:none}}

/* One star travels from the first screen to the projects marker. */
.star-origin{position:absolute;right:29%;top:7%;width:clamp(135px,12vw,185px);height:clamp(135px,12vw,185px);pointer-events:none}
.star-destination{display:block;animation:none!important;pointer-events:none}
.traveling-star{position:absolute;left:0;top:0;z-index:8;opacity:0;pointer-events:none;transform-origin:center;will-change:transform}
.traveling-star>.sculpture{width:100%;height:100%;animation:none;translate:none;pointer-events:auto}

/* A full case plus two thirds of the next card make the rail clear. */
.project-rail>.portfolio-row{flex:0 0 calc((100% - 32px)*.6)}
.portfolio-link svg{transform:none;transform-origin:center;transition:transform .35s cubic-bezier(.22,.68,.18,1)}
.portfolio-link:hover svg,.portfolio-link:focus-visible svg{transform:rotate(45deg)}
.character-gathering>.gathering-iskra{left:28%;right:auto;top:0;bottom:auto;z-index:3}
.character-gathering>.gathering-mana{left:auto;right:0;bottom:0;z-index:2}
.quote-copy{align-items:flex-start}
.quote-companions{align-items:flex-start;align-self:flex-start;justify-content:flex-start;translate:-16px 0}
.quote-companions>.sculpture+.sculpture{align-self:flex-start;transform:none}
.agile-trigger .step-number{font-family:var(--font-mono);font-weight:400;letter-spacing:0;color:#82868e}

/* The contact card starts on the same row as the headline. */
.contact-grid{grid-template-rows:auto auto;column-gap:9%;row-gap:34px}
.contact-grid>h2{grid-column:1;grid-row:1;margin:0;align-self:start}
.contact-grid>.brief-form{grid-column:1;grid-row:2}
.contact-grid>.contact-card{grid-column:2;grid-row:1/3;align-self:start;margin:0}

/* Mono captions follow the same scale as the first-screen metadata. */
:root{--meta-size:.75rem;--meta-leading:1.4;--meta-tracking:.03em}
.hero-meta,.hero-bottom,.eyebrow,.section-label,.dock-links a,.button,.audit-bonus.button,.portfolio-link,.service-tags>span,.case-tags>span,.code-caption,.final-topbar,.final-bottom,.final-topbar .policy-link,.team-heading>.eyebrow,.team-card .eyebrow,.ai .service-tags>span,.process-intro>.eyebrow{font-family:var(--font-mono);font-size:var(--meta-size);font-weight:400;line-height:var(--meta-leading);letter-spacing:var(--meta-tracking);text-transform:uppercase}
.dock .button{font-size:var(--meta-size)}
.contact-channel small{font-family:var(--font-mono);font-size:var(--meta-size);line-height:var(--meta-leading)}
.project-rail-tools button:hover,.project-rail-tools button:focus-visible{background:#fff}
.final-socials>a:hover,.final-socials>a:focus-visible{background:transparent}
.contact-card>a.channel-telegram:hover,.contact-card>a.channel-telegram:focus-visible{background:var(--lime);border-color:transparent;box-shadow:none}
.contact-card>a.channel-email:hover,.contact-card>a.channel-email:focus-visible{background:transparent;border-color:#1a191515;box-shadow:none}
@media(max-width:760px){
:root{--meta-size:.625rem}
.star-origin{right:6%;top:31%;width:100px;height:100px}
.project-rail>.portfolio-row{flex-basis:calc((100% - 20px)*.6)}
.project-rail .portfolio-copy h3{font-size:clamp(24px,6.5vw,30px)}
.project-rail-tools>.eyebrow{font-size:var(--meta-size)}
.quote-companions{align-self:flex-end;translate:none}
.contact-grid{grid-template-columns:1fr;row-gap:32px}
.contact-grid>.contact-card{grid-column:1;grid-row:3}




}
@media(prefers-reduced-motion:reduce){.traveling-star{will-change:auto}.portfolio-link svg{transition:none}}


/* The same bounded two-axis interaction belongs to every 3D character. */
.sculpture.character-handle{padding:0;border:0;background:transparent;color:inherit;line-height:0;text-align:inherit;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overflow:visible;pointer-events:auto}
.character-drag-layer{display:block;width:100%;height:100%;transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0)}
.character-drag-layer>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none;user-select:none;-webkit-user-drag:none}
.sculpture.character-handle.is-dragging{cursor:grabbing;z-index:20;animation-play-state:paused!important;translate:none}
.sculpture.character-handle:focus-visible{outline:1px solid var(--purple);outline-offset:3px;border-radius:24px}
.character-gathering>.gathering-cloud{transform:rotate(-8deg)}
.character-gathering>.gathering-iskra{transform:rotate(8deg)}
.character-gathering>.gathering-mana{transform:rotate(-4deg)}
.brand-picture[hidden]{display:none}
.brand-picture.is-current{pointer-events:auto}

/* Compact editorial service rows keep all four offers visible as one list. */
.service-list{display:flex;flex-direction:column;border-top:1px solid #1a191520}
.service-row{display:grid;grid-template-columns:40px minmax(180px,.95fr) minmax(250px,1.65fr) minmax(160px,.8fr) 24px;column-gap:24px;align-items:start;padding:32px 0;border-bottom:1px solid #1a191520;background:transparent;color:var(--ink)}
.service-row>h3{font-size:30px;line-height:1.12;letter-spacing:-.035em;margin:0;max-width:250px}
.service-number{color:#82868e;padding-top:6px}
.service-details>p{font-size:16px;line-height:1.5;margin:0 0 18px;max-width:530px}
.service-row .service-tags{gap:6px}
.service-row .service-tags>span{padding:5px 9px;background:transparent;border:1px solid var(--ink)}
.service-row>.service-estimate{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;align-self:end;font-size:14px;line-height:1.4;color:#767570}
.service-row>.service-estimate>span:last-child{font-size:24px;letter-spacing:-.035em;color:var(--ink);white-space:nowrap}
.service-link-mark{display:grid;place-items:center;width:24px;height:32px;color:#82868e}
.service-intro{margin-bottom:48px}

/* Cloud, explanation, tags and action have distinct vertical space. */
.ai-sculpture{margin-top:16px;margin-bottom:30px}
.ai-copy>p{margin-top:0;margin-bottom:22px}
.ai-copy>.service-tags{margin:0}
.ai-copy>.button{margin-top:26px}

/* Keep the content mounted; grid tracks ease to zero without the last-frame flash. */
.process,.step-list{overflow-anchor:none}
.step-list [data-slot="accordion-content"]{display:grid;grid-template-rows:0fr;visibility:hidden;overflow:hidden;animation:none!important;transition:grid-template-rows .32s cubic-bezier(.22,.68,.18,1),visibility 0s .32s}
.step-list [data-slot="accordion-content"][data-state="open"]{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .38s cubic-bezier(.22,.68,.18,1),visibility 0s}
.step-list .agile-content{min-height:0;overflow:hidden;padding-top:0;padding-bottom:0}
.step-list .agile-content>p{margin:0;padding-bottom:26px}

/* A square tear-off card occupies the right side of the bonus section. */
.audit-grid{grid-template-columns:1.05fr .95fr;align-items:start}
.audit-ticket{aspect-ratio:1/1;grid-template-columns:1fr;grid-template-rows:1fr auto auto auto;width:100%;max-width:600px;min-height:0;justify-self:end;align-self:start;gap:24px;padding:clamp(28px,3vw,44px)}
.audit-ticket strong{grid-column:1;grid-row:1;font-size:clamp(36px,4vw,60px);align-self:center;letter-spacing:-.04em}
.audit-ticket .ticket-perforation{grid-row:2;grid-column:1;margin-inline:calc(0px - clamp(28px,3vw,44px))}
.audit-ticket .loop-text{grid-column:1;grid-row:3;max-width:none;min-height:24px;font-size:16px}
.audit-ticket .audit-bonus.button{grid-column:1;grid-row:4;margin:0;justify-self:start}

/* MANA stays centered; a character sits close to its left, away from the edge. */
.animated-brand.final-wordmark{--footer-logo-width:min(56vw,680px);--footer-mascot-size:clamp(120px,13vw,190px);position:relative;display:flex;align-items:center;justify-content:center;gap:0;padding:20px 0;font-size:inherit;letter-spacing:0;min-height:var(--footer-mascot-size)}
.final-wordmark .footer-brand-name{display:block;width:var(--footer-logo-width);flex-shrink:0}
.footer-logo{display:block;width:100%;aspect-ratio:863/365;background:var(--purple);mask:url('assets/logo.webp') center/contain no-repeat;-webkit-mask:url('assets/logo.webp') center/contain no-repeat}
.final-wordmark .brand-pictures{position:absolute;right:calc(50% + var(--footer-logo-width)*.365 + 14px);top:50%;width:var(--footer-mascot-size);height:var(--footer-mascot-size);margin:0;transform:translateY(-50%)}
.final-wordmark .brand-picture{padding:0}
.dock:not(.dock-expanded){height:74px;width:700px}
.project-rail-tools button,.final-socials>a,.case-close{width:48px;height:48px}

@media(max-width:1100px){
.service-row{grid-template-columns:32px minmax(150px,.9fr) minmax(240px,1.6fr) 24px;column-gap:18px;row-gap:18px}
.service-row>.service-estimate{grid-column:3;grid-row:2;flex-direction:row;align-items:center;gap:20px}
.service-row>.service-estimate>span:last-child{font-size:20px}
.service-details{grid-column:3;grid-row:1}
.service-link-mark{grid-column:4;grid-row:1}
.ai-sculpture{margin-bottom:26px}
}
@media(min-width:761px) and (max-height:800px){.ai-sculpture{width:125px;height:125px;margin-top:10px;margin-bottom:24px}.ai-copy>p{margin-bottom:18px}.ai-copy>.button{margin-top:22px}}
@media(max-width:760px){
.dock:not(.dock-expanded){height:108px;width:calc(100% - 20px)}
.service-row{grid-template-columns:26px minmax(0,1fr) 24px;padding:26px 0;gap:18px 14px}
.service-row>h3{font-size:28px;max-width:none}
.service-details{grid-column:2/-1;grid-row:2}
.service-link-mark{grid-column:3;grid-row:1}
.service-row>.service-estimate{grid-column:2/-1;grid-row:3;flex-wrap:wrap;gap:10px 24px}
.service-details>p{margin-bottom:16px}
.service-row .service-tags>span{font-size:var(--meta-size)}
.service-intro{margin-bottom:36px}
.ai-sculpture{margin-top:18px;margin-bottom:28px}
.ai-copy>.button{margin-top:24px}
.step-list .agile-content>p{padding-bottom:24px}
.audit-grid{grid-template-columns:1fr}
.audit-ticket{max-width:520px;justify-self:center;padding:28px;gap:24px}
.audit-ticket strong{font-size:clamp(36px,9vw,48px)}
.audit-ticket .ticket-perforation{margin-inline:-28px}
.animated-brand.final-wordmark{--footer-logo-width:56vw;--footer-mascot-size:clamp(64px,18vw,120px);padding:20px 0}
.final-wordmark .brand-pictures{right:calc(50% + var(--footer-logo-width)*.365 + 8px)}
}
@media(prefers-reduced-motion:reduce){.step-list [data-slot="accordion-content"]{transition:none}}


/* Touching halves hide the bridge at rest; the eight-pixel pull reveals it. */
.button>span{background:var(--button-fill)}

/* The cloud descends from the lower hero into the projects. */
.star-origin{left:calc(50% - clamp(80px,6vw,92.5px));right:auto;top:auto;bottom:11%;width:clamp(160px,12vw,185px);height:clamp(160px,12vw,185px)}
.hero-decoration.decoration-orbit{left:auto;right:29%;top:7%;bottom:auto;margin-left:0;width:clamp(135px,12vw,185px);height:clamp(135px,12vw,185px)}

/* Project controls are transparent, with the same quiet outline. */
.project-rail-tools button,.project-rail-tools button:hover,.project-rail-tools button:focus-visible{background:transparent;border:1px solid #1a191526;box-shadow:none}
.portfolio-actions>.portfolio-link{min-height:48px;padding:10px 12px;gap:12px;border:1px solid #1a191526;border-radius:12px;background:transparent;text-decoration:none}
.portfolio-actions>.portfolio-link:after{content:none}

/* A clear next step closes the service list. */
.service-followup{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:30px}
.service-followup>.estimate-note{margin:0;max-width:640px;font-size:14px;line-height:1.5}
.service-followup>.button{flex-shrink:0}
.ai-sculpture{width:var(--sculpture-size);height:var(--sculpture-size)}

/* Mono numbers and plus signs share the site's metadata scale. */
.agile-trigger{grid-template-columns:20px minmax(0,1fr) 18px;column-gap:16px}
.agile-trigger .step-number,.agile-trigger .step-toggle{font:400 var(--meta-size)/var(--meta-leading) var(--font-mono);letter-spacing:var(--meta-tracking);color:#82868e}
.agile-trigger .step-toggle{display:grid;place-items:center;width:18px;height:18px;transition:transform .3s ease}
.agile-trigger[data-state=open] .step-toggle{transform:rotate(45deg)}
.step-list .agile-content{padding-left:36px}

/* Team thinking, a character and the description have their own grid areas. */
.team-heading{--team-art-size:var(--sculpture-size);display:grid;grid-template-columns:minmax(0,1.35fr) var(--team-art-size) minmax(240px,1fr);column-gap:24px;row-gap:16px;align-items:center}
.team-heading>.team-title-art{grid-column:1;grid-row:1/3;display:block}
.team-title-art>h2{min-width:0;margin:0}
.team-heading>.team-heading-character{grid-column:2;grid-row:1/3;width:var(--team-art-size);height:var(--team-art-size);margin:0}
.team-heading>p{grid-column:3;grid-row:1;margin:0;max-width:360px;font-size:16px;line-height:1.5;align-self:end}
.team-heading>.eyebrow{grid-column:3;grid-row:2;margin:0;align-self:start}

/* Two headline lines, followed by a useful audit ticket. */
.audit-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);column-gap:5%}
.audit-title-line{display:block;white-space:nowrap}
.audit .button>span{white-space:nowrap}
.audit-ticket{--ticket-padding:28px;grid-template-columns:1fr;grid-template-rows:auto auto minmax(86px,1fr) auto auto auto;gap:14px;padding:var(--ticket-padding);max-width:520px;aspect-ratio:1/1}
.audit-ticket-head{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:16px}
.audit-ticket-head>.eyebrow{max-width:160px;color:#64635e}
.audit-price{font:400 26px/1 var(--font-mono);letter-spacing:-.05em;white-space:nowrap}
.audit-ticket strong{grid-column:1;grid-row:2;font-size:clamp(32px,2.8vw,44px);align-self:start;margin:0}
.audit-checks{grid-column:1;grid-row:3;display:flex;flex-direction:column;justify-content:center;gap:12px;list-style:none;margin:0;padding:0}
.audit-checks>li{display:flex;align-items:baseline;gap:14px;font-size:15px;line-height:1.4}
.audit-checks>li>span{font:400 var(--meta-size)/var(--meta-leading) var(--font-mono);letter-spacing:var(--meta-tracking);color:#64635e}
.audit-ticket .ticket-perforation{grid-column:1;grid-row:4;margin-inline:calc(0px - var(--ticket-padding))}
.audit-ticket .loop-text{grid-column:1;grid-row:5;min-height:24px;font-size:14px;margin:0}
.audit-ticket .audit-bonus.button{grid-column:1;grid-row:6;justify-self:start;margin:0}

/* Underlines grow symmetrically from a point at the center. */
.dock-links a,.dock-links a:hover,.dock-links a.active{position:relative;text-decoration:none}
.dock-links a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .35s cubic-bezier(.22,.68,.18,1);pointer-events:none}
.dock-links a:hover:after,.dock-links a:focus-visible:after{transform:scaleX(1)}

@media(max-width:1200px){.audit-grid{grid-template-columns:1fr;row-gap:36px}.audit-ticket{justify-self:center}}
@media(max-width:1100px) and (min-width:761px){
.team-heading{grid-template-columns:minmax(0,1fr) var(--team-art-size)}
.team-heading>.team-title-art{grid-column:1;grid-row:1}
.team-heading>.team-heading-character{grid-column:2;grid-row:1/3}
.team-heading>p{grid-column:1;grid-row:2;max-width:640px}
.team-heading>.eyebrow{grid-column:1/-1;grid-row:3}
}
@media(max-width:760px){
.star-origin{left:50%;right:auto;top:auto;bottom:16%;margin-left:-72.5px;width:145px;height:145px}
.hero-decoration.decoration-orbit{left:auto;right:6%;top:31%;bottom:auto;margin-left:0;width:100px;height:100px}
.service-followup{flex-direction:column;align-items:flex-start;gap:22px;margin-top:26px}
.ai-sculpture{width:var(--sculpture-size);height:var(--sculpture-size)}
.agile-trigger{grid-template-columns:20px minmax(0,1fr) 18px;column-gap:12px}
.step-list .agile-content{padding-left:32px;padding-right:30px}
.team-heading{--team-art-size:clamp(110px,33vw,145px);grid-template-columns:minmax(0,1fr) var(--team-art-size);gap:20px 16px}
.team-heading>.team-title-art{grid-column:1/-1;grid-row:1}
.team-heading>.team-heading-character{grid-column:2;grid-row:2;align-self:start}
.team-heading>p{grid-column:1;grid-row:2;max-width:100%}
.team-heading>.eyebrow{grid-column:1/-1;grid-row:3}
.audit h2{font-size:clamp(20px,7vw,38px)}
.audit-ticket{width:100%;max-width:520px;aspect-ratio:auto;min-height:410px}
.audit-ticket strong{font-size:clamp(32px,7.8vw,44px)}
.audit-ticket-head>.eyebrow{max-width:none}
}
@media(prefers-reduced-motion:reduce){.dock-links a:after,.agile-trigger .step-toggle{transition:none}}

/* Compact cases keep the preview and its description in one composition. */
.project-rail>.portfolio-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:24px;row-gap:14px;min-height:320px;align-items:start}
.project-rail .portfolio-image{grid-column:1;grid-row:1/3;order:0;aspect-ratio:auto;height:100%;min-height:320px;max-height:none}
.project-rail .portfolio-image>img{height:100%;object-fit:contain;object-position:center}
.project-rail .project-category{grid-column:2;grid-row:1;align-self:start;margin:0;padding:0}
.project-rail .portfolio-copy{grid-column:2;grid-row:2;min-width:0;display:flex;flex-direction:column;align-self:stretch}
.project-rail .portfolio-copy h3{font-size:30px;line-height:1.12;margin:0 0 16px}
.project-rail .portfolio-copy p{font-size:16px;line-height:1.5;margin:0}
.project-rail .portfolio-actions{gap:10px;margin-top:auto;padding-top:22px}
.project-rail .portfolio-actions>.portfolio-link{font-size:var(--meta-size);gap:8px;white-space:nowrap}
.project-rail .project-summary-short{display:none}
.project-rail-tools{position:static;top:auto;z-index:auto;background:var(--paper);padding:8px 0;margin-bottom:14px}
.project-rail-tools button:disabled{opacity:.3;cursor:default}
.portfolio-list.project-rail{scroll-padding:2px;padding-bottom:4px}

/* Estimates occupy the top-right corner; the mascots sit inside the grid. */
.service-intro-layout>.character-gathering{width:calc(100% - 36px);justify-self:start;margin:0}
.service-row{grid-template-columns:40px minmax(180px,.95fr) minmax(250px,1.65fr) minmax(160px,.8fr)}
.service-row>.service-estimate{grid-column:4;grid-row:1;align-self:start;align-items:flex-end;text-align:right;flex-direction:column;gap:8px;padding-top:3px}

/* The AI screen has a longer pause before the white reading panel arrives. */
.ai{padding-bottom:80px}
.story-stack>.manifesto{margin-top:clamp(140px,22svh,220px)}

/* A fixed introduction accompanies all five open stages. */
.process-layout{align-items:start}
.process-layout>.process-intro{position:sticky;top:40px;align-self:start}
.process-stages{border-top:1px solid #1a191526;overflow-anchor:none}
.process-stage{padding:30px 0 36px;border-bottom:1px solid #1a191526}
.process-stage-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin:0 0 18px}
.process-stage-heading>h3{font-size:30px;line-height:1.16;letter-spacing:-.035em;font-weight:400;margin:0;max-width:440px}
.process-stage-number{color:#82868e;flex-shrink:0;padding-top:4px}
.process-stage>p{font-size:16px;line-height:1.5;color:#767570;margin:0;max-width:470px;padding-right:40px}
.team-heading>p{grid-row:1/3;align-self:center}

/* One action on the ticket, with the introduction aligned to its base. */
.audit-grid{align-items:stretch}
.audit-copy{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.audit-copy>h2{margin-bottom:30px}
.audit-summary{display:flex;align-items:flex-end;gap:22px;margin-top:auto}
.audit-summary>.audit-mascot{flex:0 0 190px;width:190px;height:190px;margin:0}
.audit-summary>p{font-size:16px;line-height:1.5;max-width:420px;margin:0}
.contact{padding-bottom:55px}
.footer.footer-anchor{height:70svh;min-height:70svh}

/* Pixel lettering and a cycling character form one centered wordmark. */
.animated-brand.final-wordmark{--wordmark-height:clamp(32px,10vw,170px);display:flex;align-items:center;justify-content:center;gap:clamp(6px,1vw,14px);min-height:0;padding:20px 0;white-space:normal}
.final-wordmark .footer-brand-name{width:calc(var(--wordmark-height)*627/184);height:var(--wordmark-height);flex:0 0 auto}
.final-wordmark .footer-logo{height:100%;aspect-ratio:auto;mask-size:137.64% 198.37%;-webkit-mask-size:137.64% 198.37%}
.final-wordmark .brand-pictures{position:relative;inset:auto;transform:none;margin:0;width:var(--wordmark-height);height:var(--wordmark-height);flex:0 0 auto}

@media(min-width:761px) and (max-width:1100px){
.project-rail>.portfolio-row{flex-basis:82%;min-height:300px}
.project-rail .portfolio-image{min-height:300px}
.service-row{grid-template-columns:32px minmax(150px,1fr) minmax(230px,1.5fr);gap:22px 18px}
.service-row>h3{grid-column:2;grid-row:1}
.service-details{grid-column:2/-1;grid-row:2;max-width:650px}
.service-row>.service-estimate{grid-column:3;grid-row:1;justify-self:end;max-width:none}
.team-heading>p{grid-row:2;align-self:start}
}
@media(max-width:1200px){
.audit-summary{margin-top:0;align-items:center;max-width:760px}
}
@media(max-width:760px){
.project-rail>.portfolio-row{flex-basis:calc(100% - 28px);grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;row-gap:14px;min-height:0}
.project-rail .portfolio-image{grid-column:1;grid-row:1;width:100%;height:clamp(120px,23svh,200px);min-height:0;aspect-ratio:auto}
.project-rail .project-category{grid-column:1;grid-row:2}
.project-rail .portfolio-copy{grid-column:1;grid-row:3}
.project-rail .portfolio-copy h3{font-size:26px;margin-bottom:12px}
.project-rail .portfolio-copy .project-summary-full{display:none}
.project-rail .portfolio-copy .project-summary-short{display:block}
.project-rail .portfolio-actions{margin-top:0;padding-top:18px}
.service-intro-layout>.character-gathering{width:calc(100% - 24px);max-width:340px;margin:0 auto;justify-self:center}
.service-row{grid-template-columns:22px minmax(0,1fr) minmax(106px,.9fr);gap:22px 12px}
.service-row>h3{grid-column:2;grid-row:1;font-size:clamp(22px,5.8vw,28px)}
.service-row>.service-estimate{grid-column:3;grid-row:1;justify-self:end;gap:6px;align-items:flex-end;flex-wrap:nowrap;font-size:12px;max-width:145px;padding-top:2px}
.service-row>.service-estimate>span:last-child{font-size:18px}
.service-details{grid-column:2/-1;grid-row:2}
.ai{position:relative;top:auto;padding-bottom:75px}
.story-stack>.manifesto{margin-top:80px}
.process-layout>.process-intro{position:relative;top:auto}
.process-stage{padding:26px 0 30px}
.process-stage-heading{gap:20px;margin-bottom:16px}
.process-stage-heading>h3{font-size:26px}
.process-stage>p{padding-right:24px}
.team-heading>p{grid-row:2;align-self:start}
.audit-summary{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.audit-summary>.audit-mascot{width:180px;height:180px;flex-basis:180px;align-self:center}
.contact{padding-bottom:35px}
.footer.footer-anchor{height:68svh;min-height:68svh}
}

/* A transparent toolbar leaves only the caption and navigation controls. */
.project-rail-tools{background:transparent;box-shadow:none}

/* The introduction leads into the action, then the cloud. */
.ai-copy>h2{margin-bottom:24px}
.ai-copy>p{margin:0 0 24px}
.ai-copy>.button{margin-top:0}
.ai-copy>.ai-sculpture{margin:28px 0 0;align-self:flex-start}

/* Reserve the bottom of the viewport for the dock; portraits use the remaining height. */
.team-sticky.section{height:100svh;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);row-gap:16px;padding-top:28px;padding-bottom:110px}
.team-sticky>.section-label{margin-bottom:0}
.team-heading{--team-art-size:clamp(100px,12svh,140px);margin-bottom:0;row-gap:12px}
.team-window{min-height:0;display:flex;align-items:flex-start;padding-top:10px;padding-bottom:8px;overflow:hidden}
.team-track{height:100%;max-height:370px;flex:0 0 auto;align-items:stretch}
.team-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;width:300px;min-height:0;height:100%}
.team-card .team-identity:nth-child(n){height:100%;min-height:0;padding:14px;margin:0;background:transparent;overflow:visible}
.team-card>.eyebrow{padding-top:10px}
.team-card h3{font-size:24px;line-height:1.15;margin:10px 0 6px}
.team-card p{font-size:14px;line-height:1.4;margin:0}

/* The mascot sits above the explanation, on the headline's left edge. */
.audit-summary{flex-direction:column;align-items:flex-start;gap:18px}
.audit-summary>.audit-mascot{align-self:flex-start;flex:0 0 190px;margin:0}
.audit-summary>p{max-width:560px;text-align:left}
.audit-ticket-head>.eyebrow{max-width:none;white-space:nowrap}

/* Reuse both halves of the original lettering, keeping every pixel intact. */
.animated-brand.final-wordmark{--wordmark-height:clamp(48px,14vw,220px);--footer-mascot-size:calc(var(--wordmark-height)*1.25);gap:clamp(6px,1vw,14px)}
.final-wordmark .footer-brand-ma{width:calc(var(--wordmark-height)*333/184);height:var(--wordmark-height);overflow:hidden;flex:0 0 auto}
.final-wordmark .footer-brand-na{display:block;width:calc(var(--wordmark-height)*284/184);height:var(--wordmark-height);overflow:hidden;flex:0 0 auto}
.final-wordmark .footer-logo{width:calc(var(--wordmark-height)*627/184);height:var(--wordmark-height);max-width:none}
.final-wordmark .footer-brand-na>.footer-logo{transform:translateX(calc(var(--wordmark-height)*-343/184))}
.final-wordmark .brand-pictures{width:var(--footer-mascot-size);height:var(--footer-mascot-size)}

@media(max-width:760px){
.team-sticky.section{height:100svh;min-height:620px;row-gap:14px;padding-top:22px;padding-bottom:128px}
.team-heading{--team-art-size:clamp(72px,11svh,92px);position:relative;grid-template-columns:minmax(0,1fr);gap:10px}
.team-heading>.team-title-art{grid-column:1;grid-row:1}
.team-heading>.team-heading-character{position:absolute;right:0;top:-56px;align-self:center}
.team-heading>p{grid-column:1/-1;grid-row:2;max-width:100%;font-size:16px;line-height:1.4}
.team-window{overflow-x:auto;scroll-snap-type:x mandatory}
.team-track{max-height:330px}
.team-card{width:260px}
.team-card .team-identity:nth-child(n){padding:10px}
.team-card h3{font-size:22px}
.audit-summary>.audit-mascot{width:180px;height:180px;flex-basis:180px;align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){
.team-sticky.section{position:relative}
.team-window{overflow-x:auto}
}

/* The expanded navigation uses the same underline as the compact menu. */
.final-topbar>.policy-link,.final-actions>a:not(.button),.final-bottom a{position:relative;width:fit-content;text-decoration:none}
.final-topbar>.policy-link:after,.final-actions>a:not(.button):after,.final-bottom a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .35s cubic-bezier(.22,.68,.18,1);pointer-events:none}
.final-topbar>.policy-link:hover:after,.final-topbar>.policy-link:focus-visible:after,.final-actions>a:not(.button):hover:after,.final-actions>a:not(.button):focus-visible:after,.final-bottom a:hover:after,.final-bottom a:focus-visible:after{transform:scaleX(1)}
.final-bottom a:hover,.final-bottom a:focus-visible{text-decoration:none}
.dock{transition:width 1.1s cubic-bezier(.16,1,.3,1),height 1.1s cubic-bezier(.16,1,.3,1),padding 1.1s cubic-bezier(.16,1,.3,1),border-radius 1.1s cubic-bezier(.16,1,.3,1)}
.final-panel{animation:panel-arrival .85s .2s cubic-bezier(.16,1,.3,1) both}

.meta-mobile{display:none}
.estimate-note>span{display:block;text-wrap:pretty}
.team-heading{grid-template-columns:minmax(0,1fr) minmax(260px,1fr);column-gap:32px;row-gap:14px}
.team-heading>.team-title-art{grid-column:1;grid-row:1}
.team-heading>p{grid-column:2;grid-row:1;max-width:430px;align-self:center}

/* A contact desk with people, studio channels and contract details. */
.contact-card.contacts-expanded{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2vw,28px);background:#fff;min-width:0}
.contact-card-heading{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;align-items:center}
.contacts-expanded .contact-art{width:140px;height:140px;margin:0}
.contacts-expanded h3{font-size:clamp(26px,2.2vw,32px);line-height:1.12;letter-spacing:-.035em;margin:12px 0 0;text-wrap:balance}
.contact-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contact-person{min-width:0;padding:14px 12px;border:1px solid #1a191514;border-radius:12px}
.contact-person h4{font:400 19px/1.2 var(--font-sans);letter-spacing:-.025em;margin:0 0 4px;text-wrap:balance}
.contact-person>p{font-size:14px;line-height:1.4;color:#64635e;margin:0 0 10px}
.contact-person>a,.test-contact{display:flex;align-items:center;gap:7px;font:400 12px/1.5 var(--font-mono);min-height:26px;overflow-wrap:anywhere}
.contact-person>a>svg,.test-contact>svg{flex-shrink:0;color:#64635e}
.contact-person>a:hover,.contact-person>a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.test-contact{align-items:flex-start;padding-top:6px;color:#82868e}
.test-contact>svg{margin-top:2px}
.test-contact small{display:block;font-size:12px;line-height:1.4;margin-top:4px}
.contact-methods{display:grid;gap:8px}
.contact-methods>.contact-channel{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px;border:1px solid #1a191514;border-radius:12px;background:transparent;transition:background .35s}
.contact-methods>.contact-channel>svg:first-child{width:32px;height:32px;padding:7px;border:1px solid #1a19151a;border-radius:10px;transform:none}
.contact-methods>.contact-channel>span{min-width:0;overflow-wrap:anywhere}
.contact-methods>.contact-channel strong{display:block;font:400 var(--meta-size)/var(--meta-leading) var(--font-mono);letter-spacing:var(--meta-tracking);text-transform:uppercase}
.contact-methods>.contact-channel small{display:block;font:400 12px/1.45 var(--font-sans);color:#64635e;margin-top:4px;text-transform:none}
.contact-methods>.contact-channel>svg:last-child{transition:transform .35s cubic-bezier(.22,.68,.18,1)}
.contact-methods>.contact-channel:hover,.contact-methods>.contact-channel:focus-visible{background:#f4f3f0}
.contact-methods>.contact-channel:hover>svg:last-child,.contact-methods>.contact-channel:focus-visible>svg:last-child{transform:rotate(45deg)}
.business-details{border-top:1px solid #1a19151a;padding-top:18px}
.business-details>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;font:400 var(--meta-size)/var(--meta-leading) var(--font-mono);letter-spacing:var(--meta-tracking);text-transform:uppercase}
.business-details>summary::-webkit-details-marker{display:none}
.business-details>summary>svg{transition:transform .3s}
.business-details[open]>summary>svg{transform:rotate(45deg)}
.business-details>div{padding-top:18px;color:#64635e}
.business-details dl{display:grid;gap:6px;margin:12px 0;font:400 12px/1.5 var(--font-mono)}
.business-details dl>div{display:flex;justify-content:space-between;gap:12px}
.business-details dd{margin:0}
.business-details p{font-size:12px;line-height:1.5}

@media(min-width:761px) and (max-width:1100px){
.contact-people{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:760px){
.hero,.motion-ready .hero{min-height:680px}
.hero-stage{min-height:680px;padding:120px 16px 180px}
.hero-meta{gap:12px;align-items:flex-start}
.hero-meta>span{max-width:none;min-width:0}
.hero-meta .meta-desktop{display:none}
.hero-meta .meta-mobile{display:block}
.hero-meta>.hero-disciplines{white-space:nowrap;flex-shrink:0}
.hero-decoration.decoration-flower{left:29%;top:8%;--scatter-x:-110vw;--scatter-y:0vh;--scatter-angle:-12deg}
.hero-decoration.decoration-orbit{left:auto;right:18%;top:26%;bottom:auto;width:100px;height:100px;--scatter-x:110vw;--scatter-y:0vh;--scatter-angle:12deg}
.hero-media{--scatter-y:0vh}
.hero-media-0,.hero-media-1,.hero-media-2,.hero-media-4{--scatter-x:-110vw;--scatter-angle:-12deg}
.hero-media-3,.hero-media-5{--scatter-x:110vw;--scatter-angle:12deg}
.project-rail-tools>div{display:none}
.project-rail-tools{position:static}
.service-followup>.estimate-note{max-width:100%;font-size:14px;line-height:1.6}
.estimate-note>span+span{margin-top:4px}
.ai{padding-bottom:36px}
.ai-grid{gap:20px}
.ai-copy>h2{margin-bottom:18px}
.ai-copy>p{margin-bottom:22px}
.ai-copy>.ai-sculpture{display:none}
.ai .code-play{height:clamp(285px,82vw,390px);min-height:0;width:100%;max-width:520px;margin:0 auto}
.ai .code-canvas{inset:10px 0 0}
.code-play[data-scroll-morph="true"] .code-char{left:calc(var(--cx)*(1 - var(--code-progress,0)) + var(--fx)*var(--code-progress,0));top:calc(var(--cy)*(1 - var(--code-progress,0)) + var(--fy)*var(--code-progress,0));font-size:clamp(7px,1.95vw,10px);color:var(--purple);animation:none;transition:left .16s linear,top .16s linear,opacity .16s linear;transition-delay:0s}
.code-play[data-scroll-morph="true"] .code-char.smile-duplicate{opacity:calc(1 - var(--code-progress,0))}
.story-stack>.manifesto{margin-top:36px}
.quote-copy>.quote-companions{align-self:center;justify-content:center;margin-left:auto;margin-right:auto;translate:none}
.process-intro{display:block}
.process-intro>.process-sculpture{display:block;width:110px;height:110px;margin:0 0 16px auto}
.process-intro>h2{margin:0}
.process-intro>p{margin:24px 0 0}
.team-heading{grid-template-columns:minmax(0,1fr);gap:14px}
.team-heading>p{grid-column:1;grid-row:2;max-width:100%;align-self:start}
.team-window{scrollbar-width:none;-ms-overflow-style:none}
.team-window::-webkit-scrollbar{display:none;width:0;height:0}
.audit-summary>.audit-mascot{align-self:center}
.contact-card.contacts-expanded{gap:18px}
}
@media(max-width:480px){
.contact-people{grid-template-columns:minmax(0,1fr)}
.contact-card-heading{--contact-art-size:clamp(100px,28vw,128px);grid-template-columns:minmax(0,1fr) var(--contact-art-size);gap:10px}
.contacts-expanded .contact-art{width:var(--contact-art-size);height:var(--contact-art-size)}
.contacts-expanded h3{font-size:clamp(20px,6vw,28px)}
.contact-methods>.contact-channel{grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;padding:10px}
.contact-methods>.contact-channel>svg:first-child{width:36px;height:36px;padding:8px}
}
@media(prefers-reduced-motion:reduce){
.dock{transition:none}
.final-panel{animation:none}

.final-topbar>.policy-link:after,.final-actions>a:not(.button):after,.final-bottom a:after,.contact-methods>.contact-channel,.contact-methods>.contact-channel>svg:last-child,.business-details>summary>svg{transition:none}
.code-play[data-scroll-morph="true"] .code-char{transition:none}
}

/* The form and the contact desk share a bottom edge. */
.hero-location{display:block;text-align:right;white-space:nowrap}
.estimate-note>.estimate-terms{margin-top:12px}
.contact-grid{grid-template-rows:none;align-items:stretch}
.contact-form-column{display:flex;flex-direction:column;gap:32px;min-width:0}
.contact-form-column>h2{margin:0}
.contact-form-column>.brief-form{margin-top:auto}
.contact-grid>.contact-card{grid-column:2;grid-row:auto;align-self:stretch}
.form-status:empty{display:none}
.business-details{margin-top:auto}

@media(min-width:761px) and (max-width:1100px){
.contact-card-heading{--contact-art-size:clamp(90px,10vw,112px);grid-template-columns:minmax(0,1fr) var(--contact-art-size)}
.contacts-expanded .contact-art{width:var(--contact-art-size);height:var(--contact-art-size)}
.contacts-expanded h3{font-size:clamp(22px,2.8vw,28px)}
}
@media(max-width:760px){
/* A full-width action sits below the logo and menu. */
.button,.dock .button{width:100%;max-width:100%}
.dock:not(.dock-expanded){height:124px}
.dock-compact{grid-template-columns:auto minmax(0,1fr);gap:10px 12px}
.dock-compact>.brand{grid-column:1;grid-row:1}
.dock-compact>.dock-links{grid-column:2;grid-row:1;justify-content:flex-end;gap:10px;border:0;padding:0}
.dock-compact>.dock-cta{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%}
.final-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.final-actions>a:not(.button){justify-self:end}
.portfolio-actions{flex-direction:column;align-items:stretch;gap:10px}
.portfolio-actions>.portfolio-link{width:100%;justify-content:space-between}
.copy-button,.case-contact{width:100%}
.audit-ticket>.audit-bonus.button{grid-column:1/-1;width:100%}
.contact-grid>.contact-card{grid-column:1;grid-row:auto}
.contact-form-column{gap:24px}
.team-sticky.section{padding-bottom:144px}

/* The three pieces exactly fill the expanded panel's inner width. */
.animated-brand.final-wordmark{--wordmark-height:calc((100vw - 66px)/4.60326087);--footer-mascot-size:calc(var(--wordmark-height)*1.25);gap:6px;width:100%;padding:8px 0}
.final-wordmark .brand-pictures{position:relative;inset:auto;margin:0;transform:none;flex:0 0 var(--footer-mascot-size)}

/* Keep the lower artwork above the hero's caption and fixed navigation. */
.hero,.motion-ready .hero{min-height:700px}
.hero-stage{min-height:700px;padding:140px 16px 160px}
.hero-bottom{bottom:150px;gap:12px}
.hero-decoration.decoration-orbit{top:22%;width:132px;height:132px}
.hero-media-4{bottom:max(calc(23% + 40px),222px)}
.hero-media-5{bottom:max(calc(20% + 40px),222px)}
.hero-media-4>img,.hero-media-5>img{height:clamp(80px,12.5svh,110px)}
.star-origin{bottom:max(calc(16% + 50px),188px)}
.work.section,.motion-ready .work.section{padding-top:18px}
.work-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:28px;padding-top:0}
.work-intro>div{padding-top:0}
.work-intro>.work-label-art{display:flex;align-items:flex-start;justify-content:space-between;min-height:0;margin:0}
.work-label-art>.section-label{align-self:flex-start;margin:0}
.work-label-art>.star-destination{width:110px;height:110px;margin:0}

/* Reading follows normal mobile flow without a second empty viewport. */
.ai{padding-bottom:20px}
.story-stack>.manifesto{margin-top:8px;min-height:0}
.manifesto>.quote-panel{position:relative;top:auto;min-height:0;padding:28px 16px 24px;justify-content:flex-start;gap:20px}
.quote-panel>.quote-art-row{margin-bottom:0}
.quote-copy{gap:12px}
.quote-copy>.quote-companions{margin:4px auto 0}
.code-play[data-scroll-morph="true"] .code-char.smile-duplicate{opacity:calc(1 - var(--code-progress,0))!important}
.process.section{padding-top:40px}
}

/* Quiet purple light returns in the reading panel and at the contact desk. */
.manifesto>.quote-panel,.contact.section{isolation:isolate}
.manifesto>.quote-panel:before,.contact.section:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(transparent 0%,#000 22%,#000 72%,transparent 100%)}
.manifesto>.quote-panel:before{background:radial-gradient(ellipse 70% 65% at 88% 42%,#9273ec2b 0%,#9273ec12 42%,transparent 78%),radial-gradient(ellipse 55% 65% at 6% 64%,#9273ec12 0%,transparent 75%)}
.contact.section:before{background:radial-gradient(ellipse 62% 72% at 8% 62%,#9273ec24 0%,#9273ec0f 42%,transparent 78%)}

/* Contract information is a visible part of the estimate, rather than a footnote. */
.estimate-note>.estimate-terms{display:flex;align-items:flex-start;gap:12px;width:fit-content;max-width:100%;padding:14px 16px;background:#9273ec15;border:1px solid #9273ec30;border-radius:12px;color:var(--ink);margin-top:18px}
.estimate-terms>svg{flex:0 0 18px;margin-top:3px;color:#6546b0}
.estimate-terms>strong{font:500 16px/1.5 var(--font-sans);text-wrap:pretty}

/* All four photographs keep their full composition in the same milk-colored frame. */
.team-card .team-photo:nth-child(n){display:flex;align-items:center;justify-content:center;padding:0 10px;overflow:hidden;background:#f4f3ee;border:1px solid #1a191510;border-radius:12px}
.team-card .team-photo>img,.team-card:hover .team-photo>img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none;clip-path:none;filter:none}
.business-details dl{margin:0}
.business-details>summary>svg{flex-shrink:0}

@media(max-width:760px){
.hero-decoration.decoration-flower{left:4%;top:calc(50% - 194px)}
/* Bring the projects rule into the reserved tail below the hero caption. */
.work.section,.motion-ready .work.section{margin-top:-116px;padding-top:18px}
.estimate-note>.estimate-terms{width:100%;padding:14px}
.team-card .team-photo:nth-child(n){padding:0 8px}
}

/* The contract sits on the left; estimate details lead into the action on the right. */
.service-followup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}
.service-contract,.service-action>.estimate-note{font:400 14px/1.5 var(--font-sans);color:#64635e;margin:0;text-wrap:pretty}
.service-contract>strong{font:500 14px/1.5 var(--font-sans)}
.service-action{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.service-action>.estimate-note{max-width:540px}
.service-action>.button{margin:0}
.business-details dl>div{justify-content:flex-start;gap:12px}

/* Complete transparent portraits have room around every shoulder and strand of hair. */
.team-card .team-photo:nth-child(n){background:transparent;border:0;border-radius:0;overflow:visible;padding:0 16px}
.team-card .team-invite:nth-child(n){display:grid;place-items:center;background:transparent;border:0;padding:0}

/* One blank MacBook mockup replaces every case photograph, including the opening collage. */
.case-mockup{position:relative;width:100%;height:100%;min-height:0;background:var(--paper);overflow:hidden}
.case-mockup>img,.portfolio-image .case-mockup>img,.portfolio-image:hover .case-mockup>img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none;box-shadow:none;border-radius:0}
.mockup-label{position:absolute;left:50%;top:40.2%;transform:translate(-50%,-50%);width:58%;font:400 16px/1.3 var(--font-sans);letter-spacing:-.015em;text-align:center;color:#64635e;pointer-events:none}
.hero-media>.case-mockup{height:auto;aspect-ratio:1.2;border-radius:3px}
.hero-media .mockup-label{font-size:clamp(6px,.65vw,9px);line-height:1.2;letter-spacing:0}
.hero-media .case-mockup>img{height:100%;aspect-ratio:auto}
.portfolio-image{background:var(--paper)}
.case-gallery>.case-mockup{height:auto;aspect-ratio:3/2}
.case-cover>.case-mockup{height:100%}

@media(max-width:760px){
.service-followup{grid-template-columns:minmax(0,1fr);gap:22px}
.service-contract{padding:14px;border:1px solid #1a191526;border-radius:12px;background:transparent}
.service-action{width:100%;gap:16px}
.team-card .team-photo:nth-child(n){padding:0 12px}
.hero-decoration.decoration-flower{--hero-mana-size:clamp(180px,48vw,210px);left:calc(6% + 8px);top:calc(50% - 69px - var(--hero-mana-size));width:var(--hero-mana-size);height:var(--hero-mana-size)}
.hero-decoration.decoration-orbit{right:4%;top:80px}
.hero-media-2{left:2%;top:11%;width:24%}
.hero-media-3{right:3%;top:24%;width:25%}
.hero-media-4>.case-mockup,.hero-media-5>.case-mockup{height:clamp(80px,12.5svh,110px);aspect-ratio:auto}
.hero-media .mockup-label{font-size:clamp(6px,1.6vw,8px)}
.project-rail .mockup-label{font-size:14px}

/* Keep the action and wordmark close, with the return link on the lower right. */
.final-panel{justify-content:flex-start;gap:12px}
.animated-brand.final-wordmark{padding:0;margin:0}
.final-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:end;margin-top:auto}
.final-bottom>div{order:initial;grid-column:1/-1;grid-row:1;width:auto;display:flex;flex-direction:column;gap:10px}
.final-bottom>span{grid-column:1;grid-row:2}
.final-bottom>a{grid-column:2;grid-row:2;justify-self:end;align-self:end}
}

/* The city shares the text line inside the Telegram link. */
.hero-bottom{align-items:center}
.hero-bottom>.hero-location{align-self:center}

/* Contract details take the estimate's place directly above the action. */
.service-followup{display:flex;justify-content:flex-end;align-items:flex-start}
.service-followup>.service-action{width:calc((100% - 32px)/2);max-width:540px}
.service-action>.estimate-note{font:400 14px/1.5 var(--font-sans);color:#64635e}
.audit-summary>p{max-width:none;text-wrap:balance}
@media(min-width:1201px){.audit-summary>p>span{display:block}}

/* Studio channels are compact, single-line actions. */
.contact-methods{gap:6px}
.contact-methods>.contact-channel{grid-template-columns:24px minmax(0,1fr) 16px;gap:8px;min-height:44px;padding:8px 10px}
.contact-methods>.contact-channel>svg:first-child{width:22px;height:22px;padding:0;border:0;border-radius:0}
.contact-methods>.contact-channel>svg:last-child{width:16px;height:16px}
.contact-card-heading>.contact-art-mobile{display:none}
.sculpture.character-handle.character-static{cursor:default;touch-action:pan-y;pointer-events:none}

@media(max-width:760px){
/* Native page scrolling takes precedence over decorative artwork. */
.sculpture.character-handle{cursor:default;touch-action:pan-y;pointer-events:none}
.character-drag-layer{transform:none}
.work.section,.motion-ready .work.section{padding-bottom:16px}
.services.section{padding-top:20px;padding-bottom:32px}
.services .service-intro{margin-bottom:28px}
.service-followup>.service-action{width:100%;max-width:none}
.service-action>.estimate-note{width:100%;padding:14px;border:1px solid #1a191526;border-radius:12px;background:transparent}
.process.section{padding-top:28px;padding-bottom:20px}
.process-intro>.process-sculpture{display:none}
.process-layout{gap:24px}
.process-stage:last-child{padding-bottom:20px}
.team-sticky.section{height:auto;min-height:0;grid-template-rows:auto auto auto;padding:20px 16px 24px;row-gap:14px}
.team-window{padding-top:8px;padding-bottom:0}
.team-track{height:340px;max-height:none}
.team-card{height:340px}
.audit.section{padding-top:28px;padding-bottom:28px}
.contact.section{padding-top:36px;padding-bottom:28px}
.contact-card-heading>.contact-art-desktop{display:none}
.contact-card-heading>.contact-art-mobile{display:block}
}

/* Case previews remain level while moving away on scroll. */
.hero-gallery>.hero-media{--tilt:0deg;--scatter-angle:0deg}

/* A quiet light surface highlights the service under the pointer. */
.service-row{transition:background-color .3s ease}
@media(hover:hover) and (pointer:fine){.service-row:hover{background-color:#fff}}
.service-row:focus-visible{background-color:#fff}

.footer-desktop-text{display:none}
@media(min-width:761px){
.animated-brand.final-wordmark{--footer-mascot-size:clamp(96px,13vw,180px);gap:clamp(8px,.8vw,12px);padding:20px 0;color:var(--ink);font:400 clamp(76px,15vw,220px)/1 var(--font-mono);letter-spacing:-.05em;white-space:nowrap}
.final-wordmark .footer-desktop-text{display:block}
.final-wordmark .footer-logo{display:none}
.final-wordmark .footer-brand-name,.final-wordmark .footer-brand-na{width:auto;height:auto;overflow:visible;flex:0 0 auto;color:inherit;font:inherit;letter-spacing:inherit}
.final-wordmark .brand-pictures{width:var(--footer-mascot-size);height:var(--footer-mascot-size);flex:0 0 var(--footer-mascot-size)}
}
@media(max-width:760px){
.ai{padding-bottom:0}
.ai .code-play{height:clamp(260px,76vw,360px)}
.story-stack>.manifesto{margin-top:0}
.manifesto>.quote-panel{padding-top:16px}
}
@media(prefers-reduced-motion:reduce){.service-row{transition:none}}

/* A highlighted offer reaches both viewport edges without moving its content. */
.services{--service-gutter:24px}
.service-row{position:relative;isolation:isolate}
.service-row:before{content:'';position:absolute;inset:0 calc(0px - var(--service-gutter));z-index:-1;background:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease}
@media(hover:hover) and (pointer:fine){.service-row:hover:before{opacity:1}}
.service-row:focus-visible:before{opacity:1}

/* Larger artwork and a shorter introduction stay on the same left edge. */
.audit-summary>.audit-mascot{--audit-art-size:clamp(240px,21vw,300px);width:var(--audit-art-size);height:var(--audit-art-size);flex:0 0 var(--audit-art-size);max-width:100%}
.audit-summary>p{width:100%;max-width:none;text-wrap:pretty}
.contact-card-heading>.contact-art-desktop{translate:-14px 0}

/* Section titles and mono captions use their shared type scales. */
.section h2,.work-intro h2,.team-heading h2,.contact h2{font-family:var(--font-sans);font-size:var(--section-title);font-weight:400;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.hero-meta,.hero-bottom,.eyebrow,.section-label,.dock-links a,.button,.portfolio-link,.service-tags>span,.case-tags>span,.final-topbar,.final-bottom,.business-details>summary,.contact-methods strong{font-family:var(--font-mono);font-size:var(--meta-size);font-weight:400;line-height:var(--meta-leading);letter-spacing:var(--meta-tracking)}
@media(min-width:761px){.final-wordmark .footer-desktop-text{text-transform:lowercase}}
@media(max-width:760px){
.services{--service-gutter:16px}
.audit-summary>.audit-mascot{--audit-art-size:clamp(210px,58vw,240px)}
}
@media(prefers-reduced-motion:reduce){.service-row:before{transition:none}}

/* The fuller audit introduction wraps naturally on every screen. */
.audit-summary>p{width:100%;max-width:55ch;text-wrap:pretty}

/* The service action and the following code share a column boundary. */
:root{--content-column-gap:5%;--service-ease:cubic-bezier(.22,.61,.36,1)}
.service-followup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--content-column-gap);justify-content:normal}
.service-followup>.service-action{grid-column:2;width:100%;max-width:none}
.ai-grid{column-gap:var(--content-column-gap)}

/* Tags stay visible; only the row's light background changes on hover. */
.service-row{transition:background-color .7s var(--service-ease)}
.service-row:before{transition:opacity .7s var(--service-ease)}
.service-row .service-tags{opacity:1;transform:none}
.final-socials .behance-mark{font:400 18px/1 var(--font-mono);letter-spacing:-.07em;text-transform:none}
@media(max-width:760px){
.service-followup{grid-template-columns:minmax(0,1fr);column-gap:0}
.service-followup>.service-action{grid-column:1}
.ai-grid{column-gap:0}
.final-socials{gap:6px}
.final-socials>a{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.service-row,.service-row:before,.service-row .service-tags{transition:none}.service-row .service-tags{transform:none}}
/* Match the code's first glyphs, which start 3% inside its canvas. */
@media(min-width:761px){.service-followup>.service-action{padding-inline-start:3%}}

/* One control scale and a compact navigation with two equal group gaps. */
:root{--control-height:44px;--control-width:256px;--dock-inset:8px;--dock-group-gap:20px}
.dock:not(.dock-expanded){width:max-content;height:calc(var(--control-height) + var(--dock-inset)*2 + 2px);padding:var(--dock-inset);background:#fff}
.dock-compact{display:grid;grid-template-columns:max-content max-content var(--control-width);column-gap:var(--dock-group-gap);row-gap:0;align-items:center;justify-content:center}
.dock-compact>.dock-links{grid-column:2;grid-row:1;gap:16px;padding:0;border:0;justify-content:center}
.dock-compact>.dock-cta{grid-column:3;grid-row:1;width:var(--control-width);min-width:0}
/* Crop only the transparent margins of the existing logo, keeping every letter. */
.dock-compact>.brand{--logo-height:27px;--logo-inset:calc((var(--control-height) - var(--logo-height))/2);position:relative;display:block;grid-column:1;grid-row:1;width:calc(var(--logo-height)*627/184 + var(--logo-inset));height:var(--control-height);overflow:hidden;flex-shrink:0}
.dock-compact>.brand img{position:absolute;left:calc(var(--logo-inset) - var(--logo-height)*118/184);top:calc(var(--logo-inset) - var(--logo-height)*90/184);width:calc(var(--logo-height)*863/184);height:calc(var(--logo-height)*365/184);max-width:none;object-fit:fill}
.portfolio-actions{flex-wrap:wrap}
.portfolio-actions>.portfolio-link{width:var(--control-width);max-width:100%;height:var(--control-height);min-height:var(--control-height);flex:0 0 auto;justify-content:space-between;padding:0 16px}
.contact-methods>.contact-channel{width:var(--control-width);max-width:100%;height:var(--control-height);min-height:var(--control-height)}
.copy-button{width:var(--control-width);max-width:100%;min-height:var(--control-height)}
.project-rail-tools button,.final-socials>a,.case-close{width:var(--control-height);height:var(--control-height);flex-shrink:0}
@media(max-width:760px){
.dock:not(.dock-expanded){width:calc(100% - 20px);height:calc(var(--control-height)*2 + var(--dock-inset)*3 + 2px)}
.dock-compact{grid-template-columns:max-content minmax(0,1fr);column-gap:12px;row-gap:var(--dock-inset);justify-content:stretch}
.dock-compact>.dock-links{justify-content:flex-end;gap:8px}
.dock-compact>.dock-cta{grid-column:1/-1;grid-row:2;width:100%}
.button,.dock .button,.portfolio-actions>.portfolio-link,.contact-methods>.contact-channel,.copy-button{width:100%}
}
@media(max-width:360px){
.final-topbar{grid-template-columns:minmax(0,1fr);gap:12px}
.final-actions{grid-column:1}
}

/* Small, intact head portraits sit beside each person's name. */
.team-scroll{height:auto;background:var(--paper)}
.team-sticky.section{position:relative;top:auto;height:auto;min-height:0;grid-template-rows:auto auto auto;row-gap:28px;padding:40px 24px;overflow:hidden}
.team-window{display:block;height:auto;min-height:0;padding:4px 0;overflow-x:auto;scrollbar-width:none}
.team-window::-webkit-scrollbar{display:none}
.team-track{gap:24px;height:auto;max-height:none;align-items:flex-start}
.team-card{display:flex;flex-direction:column;gap:12px;width:300px;height:auto;min-height:0}
.team-card>.eyebrow{padding:0}
.team-member{display:flex;align-items:center;gap:14px}
.team-card .team-identity:nth-child(n){flex:0 0 64px;width:64px;height:64px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;overflow:visible}
.team-card .team-photo>img,.team-card:hover .team-photo>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none;clip-path:none;filter:none}
.team-member-copy{min-width:0;flex:1}
.team-member-copy>h3{font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:0 0 6px}
.team-member-copy>p{font-size:14px;line-height:1.4;margin:0}
.team-invite-plus>svg{width:24px;height:24px}
@media(min-width:761px){
.team-scroll.team-scrolling>.team-sticky{position:sticky;top:40px}
.team-scroll.team-scrolling .team-window{overflow-x:hidden}
}
@media(max-width:760px){
.team-sticky.section{padding:24px 16px;row-gap:20px}
.team-track{gap:20px}
.team-card{width:min(280px,82vw)}
.team-member{gap:12px}
.team-card .team-identity:nth-child(n){flex-basis:56px;width:56px;height:56px}
.team-member-copy>h3{font-size:18px}
}

/* A softer highlight and slower reveals keep the services calm. */
:root{--service-highlight:#ffffffb8}
.service-row{transition:background-color .95s var(--service-ease)}
.service-row:before{background:var(--service-highlight);transition:opacity .95s var(--service-ease)}
.service-row:focus-visible{background-color:transparent}
@media(hover:hover) and (pointer:fine){
.service-row:hover{background-color:transparent}
}

/* Three small, clearly labelled icons fill the contact card's width. */
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.contact-methods>.contact-channel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;max-width:none;height:64px;min-height:64px;padding:8px;grid-template-columns:none}
.contact-methods>.contact-channel>svg:first-child{width:20px;height:20px;padding:0;border:0;border-radius:0;flex-shrink:0}
.contact-methods>.contact-channel>span{white-space:nowrap}
.team-sticky.section{row-gap:40px}
.team-card{gap:16px}

@media(max-width:760px){
/* Three generous tap areas replace the mobile logo. */
.dock-compact>.brand{display:none}
.dock-compact{grid-template-columns:minmax(0,1fr);column-gap:0}
.dock-compact>.dock-links{grid-column:1;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;justify-content:stretch}
.dock-compact>.dock-links>a{display:flex;align-items:center;justify-content:center;min-height:var(--control-height);padding:0 8px}
.dock-compact>.dock-links>a:first-child{justify-content:flex-start}
.dock-compact>.dock-links>a:last-child{justify-content:flex-end}
.dock-compact>.dock-links>a:after{left:8px;right:8px;bottom:7px}
.dock-compact>.dock-cta{grid-column:1;grid-row:2}
.team-sticky.section{row-gap:32px}
/* Remove the automatic spacer below the wordmark. */
.dock.dock-expanded.final-dock{height:auto;min-height:0;max-height:calc(100svh - 28px)}
.final-panel{height:auto;justify-content:flex-start;gap:10px}
.final-bottom{margin-top:0}
.animated-brand.final-wordmark{padding:0;margin:0}
}
@media(prefers-reduced-motion:reduce){.service-row,.service-row:before,.service-row .service-tags{transition:none}}

/* Separate the introduction from the people, without changing the portrait scale. */
.team-sticky.section{row-gap:40px}
.team-window{margin-top:100px}
.team-card:last-child{text-align:left;width:340px}
.team-card:last-child h3,.team-card:last-child p{margin-left:0;margin-right:0}
.team-card:last-child .team-member-copy>p{white-space:nowrap}

/* Equal-height controls share one top edge on wide screens. */
@media(min-width:761px){
.final-topbar{align-items:start}
.final-topbar>.policy-link{display:flex;align-items:center;min-height:var(--control-height);margin:0;padding:0}
.final-socials{align-self:start}
.final-actions{display:flex;align-items:flex-start;gap:24px}
.final-actions>a:not(.button){display:flex;align-items:center;min-height:var(--control-height);margin:0}
}
@media(max-width:760px){
.team-window{margin-top:64px}
.team-card:last-child{width:300px}
}

/* Project controls remain transparent at rest, with a gentle light surface on hover. */
.work .portfolio-actions>.portfolio-link,.work .project-rail-tools button{transition:background-color .4s cubic-bezier(.22,.68,.18,1),border-color .4s cubic-bezier(.22,.68,.18,1)}
.work .portfolio-actions>.portfolio-link:hover,.work .portfolio-actions>.portfolio-link:focus-visible,.work .project-rail-tools button:not(:disabled):hover,.work .project-rail-tools button:not(:disabled):focus-visible{background:var(--service-highlight);border-color:#1a191538}
.work .portfolio-image{transition:filter .4s cubic-bezier(.22,.68,.18,1)}
.work .portfolio-image:hover,.work .portfolio-image:focus-visible{filter:brightness(1.035)}

/* Open roles extend the team section, retaining the existing section numbers. */
.vacancies.section{padding-top:56px;padding-bottom:72px;background:var(--paper)}
.vacancies-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:7%;align-items:start}
.vacancies-intro>p{font-size:16px;line-height:1.6;color:#64635e;max-width:430px;margin-top:24px}
.vacancies-list{border-top:1px solid #1a191526}
.vacancy-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;border-bottom:1px solid #1a191526}
.vacancy-role{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:14px}
.vacancy-role>.eyebrow{color:#82817a;padding-top:6px;line-height:1.4;text-align:left}
.vacancy-role>h3{font-size:26px;font-weight:400;line-height:1.2;letter-spacing:-.03em;margin:0;text-wrap:balance}
.vacancy-row>.button{flex-shrink:0}
@media(max-width:1100px){
.vacancies-layout{grid-template-columns:minmax(0,1fr);gap:36px}
.vacancies-intro>p{max-width:620px}
}
@media(max-width:760px){
.vacancies.section{padding-top:32px;padding-bottom:32px}
.vacancies-layout{gap:28px}
.vacancy-row{flex-direction:column;align-items:stretch;gap:20px;padding:24px 0}
.vacancy-role>h3{font-size:24px;text-wrap:pretty}
}
@media(prefers-reduced-motion:reduce){.work .portfolio-actions>.portfolio-link,.work .project-rail-tools button,.work .portfolio-image{transition:none}}

@media(max-width:760px){
/* Mobile people follow the introduction without the desktop pause. */
.team-window{margin-top:0}

/* Policy and contacts form the left column beside the social icons. */
.final-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:8px 8px;align-items:start}
.final-topbar>.policy-link{grid-column:1;grid-row:1;align-self:start;justify-self:start;min-height:0;margin:0;padding:0;text-align:left;white-space:normal;line-height:1.4}
.final-topbar>.final-socials{grid-column:2;grid-row:1/3;justify-self:end;align-self:start;gap:4px}
.final-socials>a{width:40px;height:40px}
.final-topbar>.final-actions{display:contents}
.final-actions>a:not(.button){grid-column:1;grid-row:2;justify-self:start;align-self:start;margin:0;min-height:28px;display:flex;align-items:flex-start}
.final-actions>.button{grid-column:1/-1;grid-row:3;width:100%;margin-top:4px}

/* Personal links sit beneath Ma and Na; the muted utility row follows. */
.final-bottom{grid-template-columns:minmax(0,1fr) auto;gap:12px 12px;margin-top:0;align-items:center}
.final-bottom>div{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%}
.final-bottom>div>a{min-height:36px;display:flex;align-items:center;text-align:left}
.final-bottom>div>a:first-child{justify-self:start}
.final-bottom>div>a:last-child{justify-self:end;text-align:right}
.final-bottom>span{grid-column:1;grid-row:2;align-self:center}
.final-bottom>a{grid-column:2;grid-row:2;align-self:center;justify-self:end;color:#82868e;min-height:28px;display:flex;align-items:center}
}

/* A slightly smaller trio gives the services composition more separation. */
.service-intro-layout .character-gathering>.sculpture{width:clamp(145px,14.7vw,195px);height:clamp(145px,14.7vw,195px)}
.character-gathering>.gathering-cloud{left:-14px}
.quote-companions>.sculpture-mana{transform:translateY(-16px)}
@media(max-width:1100px){
.service-intro-layout .character-gathering>.sculpture{width:130px;height:130px}
}
@media(max-width:760px){
.character-gathering>.gathering-cloud{left:-8px}
.quote-companions>.sculpture-mana{transform:translateY(-12px)}
}

/* Outline icons share an actual 1.5 px stroke at every rendered size. */
:root{--icon-stroke:1.5px}
svg.lucide{stroke-width:var(--icon-stroke)}
svg.lucide :is(path,line,polyline,polygon,circle,rect,ellipse){vector-effect:non-scaling-stroke}
.final-topbar>.policy-link,.final-actions>a:not(.button),.final-bottom a{display:inline-flex;align-items:center;gap:4px}
.final-topbar>.policy-link>svg,.final-actions>a:not(.button)>svg,.final-bottom a>svg{flex-shrink:0;width:14px;height:14px}
.final-socials span{font-size:18px;line-height:1;font-weight:400}

@media(max-width:760px){
/* Mobile hero artwork scrolls with the page rather than scattering. */
.hero-stage{position:relative;top:auto}
.hero-gallery>.hero-media,.hero-decoration-layer>.hero-decoration{transform:none;opacity:1;will-change:auto}
.traveling-cloud,.hero .star-origin,.work-label-art>.star-destination{display:none}
.work-intro>.work-label-art{min-height:0;height:auto;margin:0;display:block}
.work-intro{row-gap:16px}
.final-topbar>.policy-link,.final-actions>a:not(.button){align-items:flex-start}
.final-topbar>.policy-link>svg,.final-actions>a:not(.button)>svg{margin-top:0}
}

/* Both audit columns share a bottom edge; the smaller mascot keeps the copy within it. */
@media(min-width:1201px){
.audit-grid{align-items:stretch}
.audit-copy{align-self:stretch}
.audit-copy>.audit-summary{margin-top:auto}
.audit-summary>.audit-mascot{--audit-art-size:clamp(200px,16vw,240px)}
.audit-summary>p{margin:0}
.audit-grid>.audit-ticket{align-self:stretch;aspect-ratio:auto}
}

/* The navigation shell is animated between measured sizes, including auto-sized mobile content. */
.dock,.dock.dock-expanded.final-dock{transition:none;transform-origin:50% 100%}
.final-panel{animation:none}

/* With the follow-up removed, the services end close to the next section. */
.services.section{padding-bottom:40px}
@media(max-width:760px){.services.section{padding-bottom:24px}}

/* Each supplied hero photograph keeps its own intrinsic proportions. */
.hero-gallery>.hero-media>img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:3px}
@media(min-width:761px){
/* Opposing large accents balance the smaller previews beside the headline. */
.hero-gallery>.hero-media-0{left:4%;right:auto;top:14%;bottom:auto;width:19.5%;max-width:332px}
.hero-gallery>.hero-media-1{left:1.8%;right:auto;top:43%;bottom:auto;width:11%;max-width:190px}
.hero-gallery>.hero-media-2{left:7.5%;right:auto;top:auto;bottom:19%;width:17%;max-width:290px}
.hero-gallery>.hero-media-3{left:auto;right:6%;top:18%;bottom:auto;width:15.5%;max-width:265px}
.hero-gallery>.hero-media-4{left:auto;right:1.8%;top:43%;bottom:auto;width:11.5%;max-width:195px}
.hero-gallery>.hero-media-5{left:auto;right:4%;top:auto;bottom:17.5%;width:21.5%;max-width:360px}
}
.hero-gallery>.hero-media-6{--scatter-x:0vw;--scatter-y:-65vh}
@media(min-width:1101px){
.hero-gallery>.hero-media-6{left:calc(53% - min(4.5vw,75px));right:auto;top:14%;bottom:auto;width:9%;max-width:150px}
}
@media(max-width:1100px){.hero-gallery>.hero-media-6{display:none}}
@media(max-width:760px){
.hero-gallery>.hero-media-2{width:22%;max-width:150px}
.hero-gallery>.hero-media-3{width:25%;max-width:160px}
.hero-gallery>.hero-media-4{left:5%;width:29%;max-width:170px}
.hero-gallery>.hero-media-5{right:5%;width:25%;max-width:150px;bottom:max(calc(20% + 48px),230px)}
}

/* Large panels share the expanded footer's existing corner radius. */
:root{--panel-radius:8px}
.dock.dock-expanded.final-dock,.audit-ticket,.contact-card.contacts-expanded,.contact-person{border-radius:var(--panel-radius)}

/* Hover previews crossfade within a stable frame; full cases keep original proportions. */
.project-photo-slides{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:var(--paper)}
.project-photo-slide{position:absolute;inset:0;display:block;opacity:0;transition:opacity .65s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.project-photo-slide.is-active{opacity:1}
.project-rail .portfolio-image .project-photo-slide>img,.project-rail .portfolio-image:hover .project-photo-slide>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;box-shadow:none;border-radius:3px;transition:none}
.case-cover{height:auto;aspect-ratio:auto}
.project-photo-static{width:100%;height:auto}
.project-photo-static>img{display:block;width:100%;height:auto;object-fit:contain;border-radius:3px}
@media(prefers-reduced-motion:reduce){.project-photo-slide{transition:none}}

/* A quiet overlay makes the clickable case preview explicit. */
.project-rail .portfolio-image{position:relative;cursor:pointer}
.project-photo-hint{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:linear-gradient(transparent 55%,#1a191514);opacity:0;transition:opacity .35s ease;pointer-events:none}
.project-photo-hint>span{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 14px;border:1px solid #ffffff88;border-radius:12px;background:#f4f3f0e8;color:var(--ink);backdrop-filter:blur(8px);font:400 var(--meta-size)/1.4 var(--font-mono);text-transform:uppercase;white-space:nowrap}
.project-photo-hint svg{flex:0 0 auto}
.portfolio-image:hover .project-photo-hint,.portfolio-image:focus-visible .project-photo-hint{opacity:1}
@media(max-width:760px){.project-photo-hint{opacity:1;padding:10px}.project-photo-hint>span{padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.project-photo-hint{transition:none}}

/* Every preview shares a height; its width follows the cover's original proportions. */
.portfolio-list.project-rail{container-type:inline-size}
.project-rail .portfolio-image{width:calc(var(--project-preview-height)*var(--project-photo-scale));height:var(--project-preview-height);min-height:0;aspect-ratio:var(--project-photo-ratio);border:0;border-radius:3px;background:transparent;box-shadow:none}
.work .portfolio-image,.work .portfolio-image:hover,.work .portfolio-image:focus-visible{filter:none;background:transparent}
.project-photo-slides{position:absolute;inset:0;background:transparent}
.project-rail .portfolio-image .project-photo-slide>img,.project-rail .portfolio-image:hover .project-photo-slide>img{object-fit:cover;border-radius:0}
.project-photo-hint{align-items:center;background:none}
.project-photo-hint>span{border-color:#1a191526;background:#f4f3f0d9}
@media(min-width:761px){
.portfolio-list.project-rail{align-items:flex-start}
.project-rail>.portfolio-row{--project-preview-height:calc(((100cqw - 20px)*.6 - 24px)*.56/1.5);--project-copy-width:calc(((100cqw - 20px)*.6 - 24px)*.44);flex:0 0 auto;width:max-content;grid-template-columns:max-content var(--project-copy-width);grid-template-rows:auto auto;min-height:0;align-content:start}
.project-rail .portfolio-image{grid-column:1;grid-row:2;align-self:start;margin-top:5.89px}
.project-rail .portfolio-copy{grid-column:2;grid-row:2;align-self:stretch}
.project-rail .portfolio-copy .project-summary-full{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.project-rail .portfolio-actions{margin-top:auto;padding-top:18px}
}
@media(min-width:1101px) and (max-width:1350px){.project-rail>.portfolio-row{--project-preview-height:calc((100cqw*.72 - 24px)*.56/1.5);--project-copy-width:calc((100cqw*.72 - 24px)*.44)}}
@media(min-width:761px) and (max-width:1100px){
.project-rail>.portfolio-row{--project-preview-height:calc((100cqw*.92 - 24px)*.56/1.5);--project-copy-width:calc((100cqw*.92 - 24px)*.44)}
.project-rail .portfolio-copy h3{font-size:26px;margin-bottom:12px}
.project-rail .portfolio-image{margin-top:5.1px}
.project-rail .portfolio-copy .project-summary-full{-webkit-line-clamp:2}
.project-rail .portfolio-actions{padding-top:14px}
}
@media(max-width:760px){.project-rail>.portfolio-row{--project-preview-height:min(240px,calc((100cqw - 28px)*941/1672))}.project-rail .portfolio-image{max-width:100%;margin-top:0}}

/* Vertical page travel moves the pinned desktop cases horizontally, then releases them. */
.project-scroll{position:relative;min-width:0}
.project-sticky,.project-gallery{min-width:0;display:flow-root}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){
.project-scroll.is-scroll-driven>.project-sticky{position:sticky;top:40px}
.project-scroll.is-scroll-driven .project-rail{overflow-x:hidden;scroll-snap-type:none;scroll-behavior:auto}
}

/* The services peek into the pinned scene instead of sitting below an empty scroll spacer. */
.work.section,.motion-ready .work.section{padding-bottom:0}
.project-sticky>.services{margin-top:24px;margin-inline:-24px}
.project-scroll.is-scroll-driven>.project-sticky>.services{padding-top:32px}
.service-row:last-child{border-bottom:0}
@media(max-width:760px){.project-sticky>.services{margin-top:16px;margin-inline:-16px}}

/* Descriptions open the same case dialog as the photograph. */
.case-gallery-group{display:grid;gap:24px;min-width:0}
.case-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.case-gallery-group{gap:15px}.case-gallery-pair{grid-template-columns:1fr}}
.project-summary-trigger{position:relative;display:block;width:100%;margin:0;padding:0;border:0;border-radius:3px;background:transparent;text-align:left;font:inherit;cursor:pointer}
.project-summary-trigger>.project-summary-full,.project-summary-trigger>.project-summary-short{display:block;font-size:16px;line-height:1.5;color:#82868e}
.portfolio-row:has(.project-summary-trigger:hover) .portfolio-image>.project-photo-hint,.portfolio-row:has(.project-summary-trigger:focus-visible) .portfolio-image>.project-photo-hint{opacity:1}
.project-summary-trigger:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
@media(min-width:761px){.project-rail .project-summary-trigger>.project-summary-short{display:none}}
@media(max-width:760px){.project-rail .project-summary-trigger>.project-summary-full{display:none}}

/* Direct contact directory: no form or visitor contact fields. */
.contact-direct>#contact-title{margin:0 0 36px}
.contact-direct>.contact-card{width:100%;max-width:none;position:relative;top:0;padding:32px;gap:28px}
.contact-direct .contact-card-heading{grid-template-columns:minmax(0,1fr) 150px;gap:24px}
.contact-direct .contact-card-heading h3{font-size:32px;line-height:1.12;margin:0;white-space:nowrap}
.contact-direct .contacts-expanded .contact-art{width:150px;height:150px}
.contact-direct .contact-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.contact-direct .contact-person{padding:22px}
.contact-direct .contact-person h4{font-size:22px;text-wrap:pretty}
.contact-direct .contact-person>p{margin-bottom:16px}
.contact-direct .contact-person>a{font-size:14px;line-height:1.5;min-height:34px;gap:8px}
.contact-direct .contact-studio-email{margin-top:10px}
.contact-business{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px 28px;border-top:1px solid #1a19151a;padding-top:20px}
@media(min-width:761px) and (max-width:1100px){
.contact-direct .contact-people{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-direct .contact-studio{grid-column:1/-1}
}
@media(max-width:760px){
.contact-direct>#contact-title{margin-bottom:24px}
.contact-direct>.contact-card{padding:20px;gap:24px}
.contact-direct .contact-card-heading{grid-template-columns:minmax(0,1fr) 58px;gap:8px 12px}
.contact-direct .contact-card-heading>div:first-child{display:contents}
.contact-direct .contact-card-heading h3{grid-column:1;grid-row:1;align-self:center;font-size:clamp(18px,5.8vw,26px);margin:0}
.contact-direct .contacts-expanded .contact-art{grid-column:2;grid-row:1;width:58px;height:58px}
.contact-direct .contact-people{grid-template-columns:minmax(0,1fr);gap:16px}
.contact-direct .contact-person{padding:18px}
.contact-business{flex-direction:column;gap:8px;padding-top:18px}
}

/* Keep Marina’s portrait upright without changing her photograph. */
.team-card .team-photo.identity-1>img,.team-card:hover .team-photo.identity-1>img{transform:rotate(23deg);transform-origin:center}

/* A direct Telegram action sits immediately below the mono contact caption. */
.contact-direct .contact-card-heading{align-items:start}
.contact-direct .contact-card-heading h3{font:400 var(--meta-size)/var(--meta-leading) var(--font-mono);letter-spacing:var(--meta-tracking);text-transform:uppercase;margin:0}
.contact-card-lead{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
@media(max-width:760px){
.contact-direct .contact-card-heading>div.contact-card-lead{display:contents}
.contact-direct .contact-card-heading h3{align-self:start}
.contact-direct .contact-primary{grid-column:1/-1;grid-row:2;width:100%;margin-top:8px}
}

/* Underlines follow the text, independent of their parent’s larger tap area. */
.final-topbar>.policy-link:after,.final-actions>a:not(.button):after,.final-bottom a:after{content:none;display:none}
.final-topbar>.policy-link>span,.final-actions>a:not(.button)>span,.final-bottom a>span{position:relative;display:inline-block}
.final-topbar>.policy-link>span:after,.final-actions>a:not(.button)>span:after,.final-bottom a>span:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .35s cubic-bezier(.22,.68,.18,1);pointer-events:none}
.final-topbar>.policy-link:is(:hover,:focus-visible)>span:after,.final-actions>a:not(.button):is(:hover,:focus-visible)>span:after,.final-bottom a:is(:hover,:focus-visible)>span:after{transform:scaleX(1)}
.hero-gallery>.hero-media>.hero-mobile-photo{display:none}
.contact-title-art{display:none}
@media(min-width:761px){.hero-decoration.decoration-flower{left:calc(30% + 32px);top:calc(6% + 12px)}}
@media(max-width:760px){
/* Apply the measured footer reserve for every mobile visitor, not only reduced motion. */
.contact.section.contact-direct{display:grid;grid-template-columns:minmax(0,1fr) 64px;column-gap:12px;row-gap:0;padding-bottom:16px}
.contact.section.contact-direct > .section-label{grid-column:1/-1;grid-row:1}
.contact-direct>#contact-title{grid-column:1;grid-row:2;margin-bottom:20px}
.contact-title-art{display:block;grid-column:2;grid-row:2;align-self:start;width:64px;height:64px;margin-top:4px}
.contact-title-art>.sculpture{width:100%;height:100%;margin:0}
.contact-direct>.contact-card{grid-column:1/-1;gap:20px}
.contact-direct .contact-card-heading{display:block}
.contact-direct .contact-card-heading>div.contact-card-lead{display:flex;gap:12px}
.contact-direct .contact-primary{margin:0;width:100%}
.footer.footer-anchor{height:var(--mobile-footer-height,360px);min-height:0;padding:0}
.hero-decoration.decoration-flower{left:calc(6% + 20px);top:calc(50% - 57px - var(--hero-mana-size))}
.hero-gallery>.hero-media-2{left:16px;right:auto;width:32%;max-width:180px}
.hero-gallery>.hero-media-3{right:16px;left:auto}
.hero-gallery>.hero-media-4{left:16px;right:auto}
.hero-gallery>.hero-media-5{right:28px;left:auto;bottom:max(calc(20% + 36px),218px)}
.hero-gallery>.hero-media>.hero-desktop-photo{display:none}
.hero-gallery>.hero-media>.hero-mobile-photo{display:block}
}
@media(prefers-reduced-motion:reduce){.final-topbar>.policy-link>span:after,.final-actions>a:not(.button)>span:after,.final-bottom a>span:after{transition:none}}

/* Soft speech bubbles are desktop-only and float above section clipping. */
.mascot-speech{display:none;z-index:110;max-width:min(210px,calc(100vw - 40px));padding:6px 10px;border:1px solid #ffffff66;border-radius:12px;background:#ffffff80;color:#514961;font:400 12px/1.4 var(--font-mono);letter-spacing:-.015em;text-transform:none;text-align:center;text-wrap:balance;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;pointer-events:none;animation:none}
/* Radix sets display:block inline on its arrow; keep only our curved tail. */
.mascot-speech svg{display:none!important}
.mascot-speech:after{content:'';position:absolute;width:13px;height:9px;background:#ffffff80;clip-path:path('M 0 0 L 13 0 C 10 2 8 5 7 9 C 4 7 2 4 0 0 Z');pointer-events:none}
.mascot-speech[data-side=top]:after{bottom:-8px;left:calc(50% - 6px)}
.mascot-speech[data-side=bottom]:after{top:-8px;left:calc(50% - 6px);transform:rotate(180deg)}
.mascot-speech[data-state=delayed-open],.mascot-speech[data-state=instant-open]{animation:mascot-speech-appear .32s cubic-bezier(.22,.68,.18,1) both}
.mascot-speech[data-state=closed]{animation:mascot-speech-disappear .18s ease both}
@media(min-width:761px) and (hover:hover) and (pointer:fine){.mascot-speech{display:block}}
@keyframes mascot-speech-appear{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@keyframes mascot-speech-disappear{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.mascot-speech[data-state]{animation:none}}

/* The audit heading uses a separate status line on narrow screens. */
@media(max-width:760px){
.audit-title-line{white-space:normal;text-wrap:pretty}
.audit-title-status{display:block}
}

[hidden]{display:none!important}
button{background:transparent}
svg{display:block;vertical-align:middle}
.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}
.mascot-speech{position:fixed}
.native-sheet{position:fixed;inset:0 0 0 auto;width:min(920px,94vw);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden;overscroll-behavior:contain}
.native-sheet>.case-sheet{width:100%!important;max-width:100%!important;height:100%;overflow:auto;overscroll-behavior:contain}
.native-sheet::backdrop{background:#1a191566;backdrop-filter:blur(3px)}
.native-sheet[open]{animation:native-sheet-in .35s cubic-bezier(.22,.68,.18,1)}
.native-policy-close{position:sticky;top:16px;float:right;margin:16px;z-index:5;font-size:30px}
.dialog-open{overflow:hidden}
@keyframes native-sheet-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.native-sheet{width:100vw}.mascot-speech{display:none!important}}
@media(prefers-reduced-motion:reduce){.native-sheet[open]{animation:none}}
