/* Zenostacks — premium visual edition. All content and flows stay in the main page. */
:root{--bg:#09090d;--surface:#121117;--accent:#bcabff;--muted:#aaa6b6;--line:#ffffff15;--violet:#9172ff;--ease:cubic-bezier(.2,.7,.2,1)}
body{background:var(--bg);font-weight:400}
h1,h2,h3{font-weight:500;letter-spacing:-.052em}
h2{line-height:1.07}
.section-space{padding-block:132px}
.section-tag{color:#aaa2bc;letter-spacing:.13em;margin-bottom:66px}
.tag-rule{background:linear-gradient(90deg,#ffffff20,#ffffff06)}
.site-header{top:26px;transition:top .45s var(--ease)}
.nav-shell{min-height:76px;width:min(1040px,calc(100% - 56px));padding-inline:28px 13px;border-color:#ffffff1a;background:linear-gradient(110deg,#151419ed,#0d0d12ed);box-shadow:inset 0 1px 0 #ffffff08,0 14px 60px #0005;transition:min-height .45s var(--ease),background .45s,box-shadow .45s}
.site-header.is-scrolled{top:16px}
.site-header.is-scrolled .nav-shell{min-height:66px;background:#101016f2;box-shadow:inset 0 1px 0 #ffffff09,0 12px 45px #0006}
.nav-link{font-weight:500;color:#ccc7d6;position:relative;font-size:14px}
.nav-link:after{content:"";position:absolute;inset:auto auto 9px 0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav-link:hover:after,.nav-link.is-current:after{transform:scaleX(1)}
.nav-link.is-current{color:#fff}
.brand{gap:9px;font-size:21px;letter-spacing:-.05em;padding-inline:21px}
.brand img{width:44px;height:44px;filter:drop-shadow(0 0 15px #baacff22)}
.brand:after{width:42px;height:2px;background:linear-gradient(90deg,transparent,#d0c0ff,transparent);box-shadow:0 0 18px #aa88ff88}
.nav-cta{background:#f6f3ff;color:#14111b;border:1px solid #fff3;gap:23px;font-weight:500;padding:12px 22px;box-shadow:0 3px 15px #d9cfff08}
.nav-cta:hover{background:var(--accent);box-shadow:0 0 30px #c6aaff20}
.nav-cta span{transition:transform .3s}.nav-cta:hover span{transform:translate(2px,-2px)}
.dropdown-panel{background:#18151f;border-color:#5f4f733d;border-radius:22px;box-shadow:0 25px 60px #0008,inset 0 1px 0 #ffffff0a;padding:27px}
.dropdown-panel a{padding-block:14px;transition:color .25s,transform .25s}.dropdown-panel a:hover{transform:translateX(4px)}
.hero{min-height:900px;min-height:max(900px,100svh);padding-top:156px;background:radial-gradient(ellipse at 94% 38%,#38236620 0,transparent 43%),linear-gradient(135deg,#09090d,#0d0b13 70%,#09090d);isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),#ffffff03 50%,transparent calc(50% + .5px));z-index:-1;pointer-events:none}
.hero-topline{font-size:12px;color:#898293;letter-spacing:.1em}
.tiny-star{font-size:26px;display:inline-block;animation:star-turn 28s linear infinite}
.hero-inner{min-height:650px;grid-template-columns:1fr 1fr;gap:5%;padding-block:36px 24px}
.hero-copy{padding-block:24px 42px;z-index:4}
.hero-copy .eyebrow{color:#ada0c6;font-size:12px;letter-spacing:.11em;margin-bottom:29px}
.eyebrow-line{width:30px;background:linear-gradient(90deg,#785af5,#d8caff);box-shadow:0 0 14px #bba3ff55}
.hero h1{font-size:clamp(66px,6.4vw,112px);letter-spacing:-.064em;line-height:1.09;font-weight:500}
.hero-line{display:block;overflow:hidden;padding-bottom:.04em;margin-bottom:-.04em}
.hero-line>span{display:inline-block;animation:hero-line-in 1.1s var(--ease) backwards}
.hero-line:nth-child(2)>span{animation-delay:.13s}.hero-line:nth-child(3)>span{animation-delay:.26s}
.hero-location{color:#c2afff;background:linear-gradient(110deg,#e3d5ff 6%,#b397fc 52%,#8d6df0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-outline{color:#7e758e;font-weight:400}
.hero-description{max-width:420px;line-height:1.8;font-size:16px;color:#aaa2b7;margin-top:30px;animation:soft-in 1s .35s both}
.hero-actions{margin-top:33px;gap:34px;animation:soft-in 1s .48s both}
.button{min-height:56px;border-radius:99px;font-weight:500;transition:transform .35s var(--ease),background .3s,box-shadow .3s;position:relative}
.button-light{background:linear-gradient(140deg,#fff,#eae6f4);border-color:#fff8;box-shadow:0 5px 20px #0003}
.button-light:hover{background:linear-gradient(140deg,#e3d7ff,#b79aef);box-shadow:0 8px 32px #9570e92b;transform:translateY(-3px)}
.button-light>span:last-child{border-radius:50%;background:#21152e0a;display:grid;place-items:center;width:28px;height:28px;font-size:21px;transition:transform .3s}
.button-light:hover>span:last-child{transform:rotate(45deg)}
.text-link{border-bottom-color:#ffffff25;padding-bottom:12px;position:relative}
.text-link:after{content:"";position:absolute;height:1px;left:0;right:0;bottom:-1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.text-link:hover:after{transform:scaleX(1)}
.hero-art{width:58%;right:-5%;top:4%;bottom:6%;perspective:1400px}
.hero-art-scroll{position:absolute;inset:0;will-change:transform;transform:translateY(calc(var(--hero-scroll,0) * 65px)) scale(calc(1 - var(--hero-scroll,0) * .055))}
.hero-art-movement{inset:0;transition:transform .9s var(--ease)}
.sculpture{object-fit:contain;width:126%;max-width:none;height:100%;margin-left:-17%;object-position:center;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse 72% 65% at 56% 52%,#000 50%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 72% 65% at 56% 52%,#000 50%,transparent 78%);animation:sculpture-float 9s ease-in-out infinite;filter:contrast(1.05) brightness(1.07)}
.hero-art:before{inset:13% 0 13% 7%;background:radial-gradient(ellipse,#7650f51c,transparent 66%);filter:blur(32px)}
.orbit-lines{position:absolute;inset:5% -1% 5% 11%;border:1px solid #ba9ffc18;border-radius:50%;transform:rotate(-30deg);opacity:.8;pointer-events:none}
.orbit-lines span:first-child{position:absolute;inset:-11%;border:1px solid #c0a4ff0b;border-radius:50%}
.orbit-lines span:last-child{position:absolute;width:6px;height:6px;background:#c1adff;border-radius:50%;top:14%;left:14%;box-shadow:0 0 22px 5px #9369ff44}
.art-bracket{position:absolute;width:24px;height:24px;border-color:#9c84c95e;border-style:solid;z-index:3}
.bracket-top{top:7%;left:12%;border-width:1px 0 0 1px}.bracket-bottom{bottom:7%;right:10%;border-width:0 1px 1px 0}
.hero-art .art-coordinate{top:4%;right:9%;font-size:11px;color:#8d7fa3;letter-spacing:.13em}
.art-caption{left:19%;bottom:2%;gap:15px;padding:16px 20px;border:1px solid #bea3ff15;background:linear-gradient(120deg,#19131eaa,#17111b22);border-radius:12px;backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff06;max-width:80%}
.hero-art .art-caption{font-size:10px;line-height:1.8;letter-spacing:.14em;color:#b4a7c9}
.crosshair{font-size:32px;color:#ba9ef0}.hero-art .art-label{right:3%;top:40%;font-size:10px;letter-spacing:.18em;color:#776886}
.hero-bottom{padding-block:25px 30px;border-top-color:#ffffff12;background:transparent}
.hero-bottom p{line-height:1.8;color:#d1c7df}.hero-bottom p span{color:#85778f}
.scroll-cue-circle{width:42px;height:42px;border-color:#6c597b55;font-size:20px;background:#e1c5ff05}
.scroll-cue{gap:17px;letter-spacing:.11em}.motion-toggle{font-size:12px;gap:10px}.motion-icon{color:#ba9fea}
.ticker-wrap{padding-block:28px;margin-block:-12px 0;background:#0b090e}
.ticker{transform:rotate(-1.25deg) scale(1.02);background:#c2b2ed;box-shadow:0 0 50px #ae90ef08;padding-block:22px}
.ticker-set{gap:64px;padding-right:64px}.ticker-set span{font-size:23px;font-weight:500;letter-spacing:-.03em}.ticker-set b{font-size:29px;font-weight:300;opacity:.7}
.about{position:relative;margin:55px 28px 0;border:1px solid #fff9;border-radius:28px;background:#eeecf2;color:#19161e;padding:90px calc(var(--pad) - 28px);box-shadow:inset 0 1px 0 #fff;isolation:isolate}
.about:after{content:"";position:absolute;width:45%;height:60%;top:0;right:0;background:radial-gradient(ellipse at 100% 0,#c2ade936,transparent 72%);z-index:-1;pointer-events:none}
.about .section-tag{color:#6f637b;margin-bottom:60px}.about .tag-rule{background:#27173620}
.about-grid{grid-template-columns:.6fr 1.4fr;gap:7vw}
.about-side{min-height:340px}.about-side .overline{color:#6e6179;font-size:12px}.about-side .micro{color:#8b7d94;max-width:200px;line-height:1.9}
.stack-symbol{color:#c1b5cd;gap:12px;font-size:115px}.stack-symbol img{filter:brightness(0);opacity:.83;transform:rotate(0deg);width:115px}
.statement{font-size:clamp(42px,4.5vw,78px);line-height:1.13;font-weight:500;color:#211929}
.statement .muted{color:#8c79a3;position:relative}
.about-copy{margin-top:38px;gap:35px}.about-copy p{font-size:16px;color:#716779;line-height:1.85}
.principles{border-top-color:#33244022;color:#403149;font-size:13px;gap:20px;padding-top:24px}.principles i{color:#9263c4;font-size:12px}
.services{border:0;background:radial-gradient(ellipse at 0 60%,#4829650b,transparent 50%),#09090d;padding-top:135px}
.split-section{gap:8vw;grid-template-columns:.9fr 1.1fr}
.sticky-copy{top:148px}.sticky-copy h2{font-size:clamp(43px,4.5vw,72px);line-height:1.09;letter-spacing:-.054em}
.sticky-copy .eyebrow{font-size:11px;letter-spacing:.1em;color:#91829f;margin-bottom:27px}
.sticky-copy>p:not(.eyebrow){color:#a79ab3;line-height:1.85;font-size:16px;max-width:370px}
.sticky-copy .accent{color:#b29ccf}
.service-progress{width:210px;height:1px;background:#382a47;margin-top:65px;margin-bottom:20px}.service-progress-active{background:#c2a9ed;box-shadow:0 0 16px #be94f655}
.service-index{color:#ac90c8;font-size:14px;letter-spacing:.16em}
.service-list{gap:26px}
.service-card{position:relative;isolation:isolate;border-color:#46394c8c;border-radius:22px;background:linear-gradient(135deg,#1c16238a,#141117);padding:37px 40px 28px;box-shadow:inset 0 1px 0 #f2deff09,0 15px 50px #0002;overflow:hidden;transition:border-color .5s,transform .6s var(--ease),box-shadow .5s,opacity .8s}
.service-card:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,0%),#b48aed17,transparent 65%);transition:opacity .5s}
.service-card:after{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#b58cd436,transparent)}
.service-card:hover{border-color:#806193;background:linear-gradient(135deg,#201626a8,#151019);box-shadow:inset 0 1px 0 #f2deff0d,0 18px 60px #0003}
.service-card:hover:before{opacity:1}
.service-card-top{margin-bottom:39px}.service-number{font-size:12px;letter-spacing:.14em;color:#8e759f;border:1px solid #6a487943;border-radius:99px;width:39px;height:39px;display:grid;place-items:center}
.service-icon{width:40px;height:40px;stroke:#af8dca;stroke-width:1.2}.service-code{font-size:36px;color:#af8dca}
.service-card h3{font-size:42px;letter-spacing:-.045em;line-height:1.1;color:#f0e9f5;margin-bottom:24px}
.service-card p{font-size:16px;color:#a395ae;line-height:1.8}
.service-tags{gap:7px;margin-top:25px}.service-tags span{font-size:12px;background:#23182944;border-color:#63477144;color:#b6a0c6;padding:5px 13px}
.service-cta{padding-top:22px;margin-top:27px;border-top-color:#58426045;font-size:14px;color:#ddcde7}.service-cta span{border:1px solid #62477255;display:grid;place-items:center;border-radius:50%;width:33px;height:33px;font-size:18px;transition:background .25s,color .25s}
.service-cta:hover span{background:#c2a4d9;color:#18111d}
.work{position:relative;background:linear-gradient(180deg,#0d0a12,#09090d);border-top:1px solid #34243c88;border-bottom:1px solid #34243c66}
.work-split{grid-template-columns:.75fr 1.25fr;gap:6vw}.work-intro h2{font-size:clamp(44px,4vw,66px)}
.work-intro .concept-note{font-size:14px!important;color:#87728f;line-height:1.9;margin-top:28px}
.work-counter{max-width:235px;margin-top:52px;gap:24px}.current-work{font-size:75px;font-weight:400;letter-spacing:-.07em;color:#bb9cd3}.counter-rule{background:#5b3e6977}.work-counter>span:last-child{font-size:13px;color:#7d5f8d}
.project-card{margin-bottom:88px}.project-visual{border-radius:24px;border-color:#d4b9ef19;box-shadow:0 28px 60px #0003,inset 0 1px 0 #fff1;aspect-ratio:1.23;transform-style:preserve-3d}
.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff1,transparent 45%,#05000922);z-index:3;pointer-events:none;border-radius:inherit;border:1px solid #fff2}
.concept-badge{top:22px;left:22px;font-size:11px;letter-spacing:.08em;padding:7px 12px;background:#08051233;border-color:#fff3;backdrop-filter:blur(20px);color:#fff}
.forma-visual{background:radial-gradient(ellipse at 5% 0,#e4e5d7,#b4b9a7 70%)}
.browser-mockup{width:89%;left:13%;top:22%;border-radius:10px;transform:perspective(1100px) rotateY(-9deg) rotateX(3deg) rotate(-6deg);box-shadow:-24px 40px 65px #26362050,0 0 0 1px #edf4e855}
.project-visual:hover .browser-mockup{transform:perspective(1100px) rotateY(-4deg) rotateX(0deg) rotate(-3deg) translateY(-10px)}
.forma-screen{aspect-ratio:1.2;min-height:310px}.forma-screen-copy>strong{font-size:clamp(28px,2.65vw,45px);line-height:1.03}.forma-screen-copy{bottom:40px;left:30px}
.forma-screen-nav{padding:20px 26px}.forma-screen-nav>strong{font-size:28px}.forma-screen>img{transition:transform 1.4s var(--ease)}.project-visual:hover .forma-screen>img{transform:scale(1.04)}
.project-view-circle{width:52px;height:52px;bottom:23px;right:23px;box-shadow:0 5px 20px #0002;background:#fffdf8;transition:transform .35s var(--ease),background .35s}
.project-visual:hover .project-view-circle{transform:rotate(45deg);background:#e5d6ff}
.project-meta{margin-top:26px;align-items:flex-start}.project-meta h3{font-size:30px;color:#e9def3;letter-spacing:-.045em}.project-meta p{font-size:14px!important;color:#a18bae;line-height:1.7}.project-year{font-size:12px;color:#80688e;padding-top:10px}
.project-tags{gap:8px;margin-top:19px}.project-tags span{font-size:12px;border-color:#6c497b44;color:#aa8cb8;padding:4px 12px}
.pulse-visual{background:radial-gradient(ellipse at 70% 0,#d1c3ef,#9f85c4 65%,#8c6fb7)}
.pulse-background-word{color:#d5c3ed88;font-weight:400;font-size:clamp(140px,14.5vw,210px);top:12%;left:6%;letter-spacing:-.08em}
.phone-mockup{width:225px;top:13%;left:35%;transform:perspective(1200px) rotateY(-12deg) rotate(11deg);box-shadow:18px 45px 50px #31204166,0 0 0 1px #ffffff6b;border-color:#24202b}
.project-visual:hover .phone-mockup{transform:perspective(1200px) rotateY(-4deg) rotate(5deg) translateY(-8px)}
.phone-camera{background:#24202b}.balance-card{background:#d8f0a4}.mini-float{border:1px solid #fff8;box-shadow:0 25px 40px #48365944;left:9%;bottom:19%;padding:16px 22px;background:#faf5fff2;backdrop-filter:blur(10px)}
.mini-float>span{font-size:10px}.mini-float strong{font-size:28px}
.orbit-visual{background:radial-gradient(ellipse at 30% 0,#9b74bc,#714591 65%,#57306f)}
.orbit-dashboard{width:110%;left:11%;top:24%;min-height:365px;transform:perspective(1200px) rotateY(-11deg) rotateX(4deg) rotate(-7deg);border:1px solid #fff8;box-shadow:-5px 35px 55px #25133177}
.project-visual:hover .orbit-dashboard{transform:perspective(1200px) rotateY(-5deg) rotateX(2deg) rotate(-3deg) translateY(-7px)}
.process{background:#101015;border:0}.process .section-heading{align-items:center}.process .section-heading h2{font-size:clamp(44px,4.5vw,72px)}.process .muted{color:#74677e}.process .section-heading>p{color:#9c8da8;line-height:1.85;max-width:330px}
.process-grid{margin-top:72px;gap:0;position:relative}.process-step{border:0;border-top:1px solid #5d3e725e;padding:0 32px 0 0;position:relative}.process-step:first-child{border-top:1px solid #5d3e725e}.process-step:last-child{padding-right:0}.process-step:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border:1px solid #a878c8;background:#1a1021;box-shadow:0 0 15px #bc83e133;border-radius:50%}
.process-number{margin:28px 0 42px;color:#a485b9;font-size:13px;letter-spacing:.13em}.process-number>span{color:#5e3f75;font-size:25px;padding-right:12px}.process-step h3{font-size:34px;letter-spacing:-.045em}.process-step p{font-size:16px;line-height:1.8;min-height:145px;color:#9f8cae;margin-top:20px}.process-step>.micro{color:#71577f;font-size:11px;letter-spacing:.08em;margin-top:24px}
.local-section{background:#0a090e;gap:10vw}.local-content h2{font-size:clamp(42px,4.25vw,68px)}.local-content>p:not(.eyebrow){line-height:1.85;color:#a190ad}.local-content .accent{color:#ad8ac3}
.location-chips>span{padding:8px 15px;border-color:#75488955;font-size:11px;color:#b489cc}
.local-note{position:relative;border-left:1px solid #54306366;padding-left:50px}.local-note:before{content:"";position:absolute;inset:0 -30px 0 0;background:radial-gradient(ellipse at right,#7944990b,transparent 70%);z-index:-1}.local-note .micro{font-size:11px;color:#856294}.local-word{font-size:clamp(32px,3.1vw,50px);color:#4d305e;margin:26px 0 15px}.local-note>strong{font-size:32px;color:#d3bbdf}.local-note>p{color:#9c7caa;font-size:16px;line-height:1.8}
.faq{border-top-color:#38213f66;padding-top:105px}.faq-grid h2{font-size:clamp(42px,4vw,65px)}.faq-grid .muted{color:#87708f}.faq-list details{border-color:#4930537a;transition:background .3s}.faq-list details:first-child{border-top-color:#4930537a}.faq-list details[open]{background:linear-gradient(120deg,#4f2c6715,transparent);border-bottom-color:#845d9477}.faq-list summary{font-size:16px;padding:27px 0;color:#d7c7e0}.faq-list summary span{color:#9b73b4}.faq-list details p{font-size:16px;color:#aa93b6;line-height:1.8;padding-bottom:27px}.faq-grid>div>p{font-size:16px;color:#a88fb4}
.contact{border:1px solid #9561b055;border-radius:28px;margin-inline:28px;padding:64px calc(var(--pad) - 28px) 52px;background:radial-gradient(ellipse at 85% 20%,#8c51be30,transparent 60%),radial-gradient(ellipse at 0 100%,#4e267930,transparent 65%),#19101f;box-shadow:inset 0 1px 0 #d2a8eb15,0 35px 90px #0003}
.contact:before{content:"";position:absolute;width:70%;height:1px;top:0;left:15%;background:linear-gradient(90deg,transparent,#b77adf88,transparent)}
.contact:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,#c19ddd04 50%,transparent 50.2%);background-size:80px 100%;z-index:-1;pointer-events:none}
.contact-main{margin-block:60px}.contact h2{font-size:clamp(62px,8.1vw,130px);line-height:1.06;font-weight:400;letter-spacing:-.065em}.contact h2>span{color:#d1aaf1}
.contact-orb{width:160px;height:160px;border-color:#ad80c65c;background:radial-gradient(circle at 32% 23%,#bea0d22b,#3e1e4c22 70%);box-shadow:inset 0 1px 0 #e3bdff18,0 8px 32px #0001;position:relative}.contact-orb:before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid #b587c813}.contact-orb>span{font-size:83px;color:#d9bdeb}.contact-orb:hover{background:#b17bcc33;transform:rotate(45deg);box-shadow:0 0 60px #b074cd13}
.contact-top>.eyebrow{color:#c09bd6;font-size:12px}.contact-top>.micro{font-size:11px;color:#88639b}.contact-bottom{border-top-color:#80528f44;padding-top:34px}.contact-bottom>p{font-size:16px;line-height:1.8;color:#b193c0}
.footer{padding-top:70px;padding-bottom:27px;overflow:hidden}
.footer-signature{font-size:clamp(80px,14.9vw,260px);font-weight:500;letter-spacing:-.076em;line-height:1.2;color:#c4bbd1;padding:5px 0 45px;white-space:nowrap;position:relative;background:linear-gradient(170deg,#f0e6f8,#c5b2d6 55%,#695472);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;user-select:none;transform:translateY(calc(var(--footer-drift,0) * 16px))}
.footer-signature>span{color:#bc91d8;-webkit-text-fill-color:#bc91d8}
.footer-top{border-top:1px solid #79548830;padding-top:30px;padding-bottom:35px;gap:40px}.footer-brand{font-size:24px;gap:7px}.footer-brand img{width:47px;height:47px}.footer-top>p{color:#95829e;font-size:12px}.back-top{font-size:12px;color:#b798c7}.back-top span{border-color:#7a528852;width:42px;height:42px}.footer-bottom{border-color:#49304c66;color:#7f648b;font-size:12px;padding-top:24px}.footer-bottom>div{font-size:12px}
.dialog{background:linear-gradient(135deg,#211528,#110d16);border-color:#79538b77;border-radius:24px;box-shadow:0 35px 110px #000c,inset 0 1px 0 #dabcf510}
.dialog[open]{animation:dialog-in .35s var(--ease)}.dialog::backdrop{background:#07050be3;backdrop-filter:blur(14px)}.dialog-close{background:#1c1223e6;border-color:#83618b55}.dialog-content>h2{color:#eadbf3}.dialog-content>p{color:#b49bbf}.dialog-detail-grid p{color:#a992b7}.dialog-project-disclaimer{color:#896e95!important}.dialog-content>.eyebrow{color:#b98dce}
input,select,textarea{background:#0f0b13;border-color:#62426e75;border-radius:10px;transition:border-color .2s,box-shadow .2s}input:hover,select:hover,textarea:hover{border-color:#926aa16b}input:focus,select:focus,textarea:focus{border-color:#b281d0;box-shadow:0 0 0 3px #a876c510;outline:none}
.reveal{transition-duration:1s;transition-timing-function:var(--ease)}.reveal.is-waiting{transform:translateY(35px)}
.motion-paused .hero-line>span,.motion-paused .hero-description,.motion-paused .hero-actions{animation:none!important;opacity:1!important;transform:none!important}.motion-paused .hero-art-scroll,.reduced-motion .hero-art-scroll,.motion-paused .footer-signature{transform:none!important}
@keyframes hero-line-in{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes soft-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes sculpture-float{0%,100%{transform:translateY(4px) rotate(-1.5deg)}50%{transform:translateY(-13px) rotate(1.5deg)}}
@keyframes star-turn{to{transform:rotate(360deg)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero-art{width:58%;right:0}.hero-inner{min-height:700px}.about{padding-inline:max(calc(var(--pad) - 28px),calc((100vw - 1600px)/2))}.contact{padding-inline:max(calc(var(--pad) - 28px),calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.nav-shell{width:calc(100% - 44px);padding-inline:19px 12px}.nav-half{gap:20px}.brand{font-size:19px;padding-inline:16px;gap:6px}.nav-cta{padding:11px 18px;gap:16px}.hero{min-height:870px}.hero-inner{min-height:620px}.hero h1{font-size:clamp(59px,6.55vw,80px)}.hero-art{right:-7%;width:61%;top:7%;bottom:6%}.hero-art .art-caption{font-size:9px;bottom:5%;left:15%}.hero-description{max-width:370px}.about-grid{grid-template-columns:.55fr 1.45fr;gap:5vw}.about{padding-block:80px}.statement{font-size:clamp(40px,4.65vw,59px)}.about-copy{gap:25px}.principles{flex-wrap:wrap;gap:15px}.split-section{gap:5vw}.sticky-copy h2{font-size:46px}.service-card{padding:30px}.service-card h3{font-size:36px}.work-split{gap:5vw}.work-intro h2{font-size:44px}.phone-mockup{width:200px;left:32%}.mini-float{padding:13px 17px;left:5%}.orbit-dashboard{top:23%;width:125%;left:9%}.process-step{padding-right:22px}.process-step h3{font-size:29px}.process-step p{font-size:15px;min-height:150px}.process-step>.micro{font-size:10px}.contact-orb{width:130px;height:130px}.contact-orb>span{font-size:68px}}
@media(max-width:850px){.section-space{padding-block:90px}.section-tag{margin-bottom:45px}.site-header{top:16px}.site-header.is-scrolled{top:11px}.nav-shell,.site-header.is-scrolled .nav-shell{width:calc(100% - 32px);min-height:64px;padding:0 16px 0 12px}.brand{font-size:22px;padding-inline:8px;gap:9px}.brand img{width:43px;height:43px}.mobile-toggle{width:46px}.mobile-menu{background:linear-gradient(145deg,#24182ff5,#100b17f8);border-color:#85619d44;padding:26px;box-shadow:0 25px 80px #000b}.mobile-menu a{font-size:32px;padding-block:15px;border-color:#b586c922;color:#f1e4fa;transition:color .25s}.mobile-menu a:hover{color:#c6a2e8}.mobile-menu a span{font-size:12px}.mobile-menu p{font-size:12px;line-height:1.8;letter-spacing:.06em}.hero{padding-top:120px;min-height:840px}.hero-inner{min-height:610px}.hero h1{font-size:clamp(54px,7.25vw,69px)}.hero-copy .eyebrow{font-size:11px}.hero-art{width:69%;right:-19%;top:11%;bottom:6%;opacity:.75}.hero-art .art-coordinate,.hero-art .art-caption,.hero-art .art-label,.art-bracket{display:none}.hero-description{max-width:340px;font-size:16px}.hero-actions{gap:24px}.orbit-lines{opacity:.35}.hero-bottom{padding-bottom:24px}.about{margin:35px 18px 0;padding:65px calc(var(--pad) - 18px);border-radius:22px}.about-grid{grid-template-columns:1fr}.about-side{display:none}.statement{font-size:51px}.about-copy{grid-template-columns:1fr 1fr}.about .section-tag{margin-bottom:40px}.principles{font-size:13px;gap:22px}.sticky-copy{top:120px}.sticky-copy h2{font-size:39px}.sticky-copy .eyebrow{font-size:10px}.sticky-copy>p:not(.eyebrow){font-size:15px}.service-card{padding:26px}.service-card h3{font-size:31px}.service-card p{font-size:15px}.service-list{gap:22px}.service-tags span{font-size:11px}.service-card-top{margin-bottom:30px}.service-cta{font-size:13px}.split-section{grid-template-columns:.8fr 1.2fr;gap:4vw}.work-split{grid-template-columns:1fr;gap:42px}.work-intro{top:auto}.work-intro h2{font-size:54px}.work-intro>p:not(.eyebrow){font-size:16px}.project-visual{aspect-ratio:1.45}.project-card{margin-bottom:60px}.browser-mockup{width:82%;top:19%;left:15%}.forma-screen{min-height:320px;aspect-ratio:1.35}.forma-screen-copy>strong{font-size:40px}.phone-mockup{width:235px;left:38%;top:13%}.mini-float{padding:17px 24px;left:13%}.orbit-dashboard{width:100%;left:13%;top:22%}.process .section-heading h2{font-size:51px}.process .section-heading>p{max-width:240px;font-size:15px}.process-grid{gap:42px 35px;margin-top:60px}.process-step,.process-step:first-child,.process-step:nth-child(2n){border:0;border-top:1px solid #5d3e725e;padding:0!important}.process-number{margin:24px 0 28px}.process-step h3{font-size:32px}.process-step p{font-size:16px;min-height:0}.process-step>.micro{font-size:11px}.local-section{gap:45px}.local-note{border-left:0;border-top-color:#54306366;padding:32px 0 0}.local-word{font-size:42px}.faq{padding-top:75px}.faq-grid h2{font-size:48px}.contact{margin-inline:18px;padding:45px calc(var(--pad) - 18px);border-radius:22px}.contact h2{font-size:clamp(59px,8vw,79px)}.contact-orb{width:110px;height:110px}.contact-orb>span{font-size:59px}.contact-main{margin-block:45px}.contact-bottom>p{font-size:14px}.footer{padding-top:50px}.footer-signature{font-size:14.8vw;padding-bottom:35px}.footer-top{gap:22px}.footer-top>p{font-size:12px}.footer-bottom{font-size:12px;gap:24px}}
@media(max-width:600px){.section-space{padding-block:72px}.section-tag{font-size:12px;letter-spacing:.08em;gap:18px;margin-bottom:38px}.hero{padding-top:111px;min-height:0}.hero-topline{font-size:10px;letter-spacing:.07em;line-height:1.8}.hero-inner{display:flex;gap:0;min-height:0;padding-block:0}.hero-copy{padding:34px 0 0}.hero-copy .eyebrow{font-size:11px;letter-spacing:.06em;gap:10px;margin-bottom:25px}.eyebrow-line{width:23px}.hero h1{font-size:clamp(38px,10.65vw,62px);letter-spacing:-.061em;line-height:1.1}.hero-outline{font-weight:400;color:#92809f}.hero-description{margin-top:25px;font-size:16px;line-height:1.8;max-width:100%}.hero-actions{gap:22px;margin-top:27px;flex-wrap:wrap}.button{font-size:14px;min-height:54px;padding:11px 20px;gap:19px}.button-light>span:last-child{width:24px;height:24px;font-size:18px}.hero-actions .text-link{font-size:14px}.hero-art{position:relative;inset:auto;width:100%;height:330px;margin:16px 0 0;opacity:1}.hero-art-scroll{inset:0;transform:none}.hero-art-movement{inset:0 -8px}.sculpture{width:120%;margin-left:-18%;object-fit:contain;mask-image:radial-gradient(ellipse 80% 65% at 60% 50%,#000 48%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 65% at 60% 50%,#000 48%,transparent 80%)}.orbit-lines{inset:8% 5% 8% 11%;opacity:.9}.hero-art:before{inset:18% 0}.bracket-top{display:block;top:11%;left:5%;width:17px;height:17px}.bracket-bottom{display:block;bottom:13%;right:7%;width:17px;height:17px}.hero-bottom{margin-top:0;padding-block:18px 24px;gap:14px}.scroll-cue{font-size:10px;gap:12px;letter-spacing:.06em}.scroll-cue-circle{width:34px;height:34px;font-size:17px}.motion-toggle{font-size:10px;gap:7px;white-space:nowrap}.ticker-wrap{padding-block:20px}.ticker{padding-block:17px;transform:rotate(-1.5deg) scale(1.02)}.ticker-set{gap:30px;padding-right:30px}.ticker-set span{font-size:17px}.ticker-set b{font-size:23px}.about{margin:27px 12px 0;padding:38px 25px 43px;border-radius:18px}.about .section-tag{font-size:11px;gap:15px;margin-bottom:35px}.statement{font-size:clamp(30px,8.7vw,45px);line-height:1.16;letter-spacing:-.049em}.about-copy{grid-template-columns:1fr;gap:20px;margin-top:27px}.about-copy p{font-size:16px;line-height:1.8}.principles{display:flex;flex-direction:column;gap:14px;font-size:14px;padding-top:23px;margin-top:28px}.principles i{font-size:12px;margin-right:12px}.split-section{grid-template-columns:1fr;gap:34px}.sticky-copy{top:auto;position:relative}.sticky-copy h2{font-size:44px;line-height:1.09;margin-bottom:25px}.sticky-copy .eyebrow{font-size:11px;line-height:1.8;margin-bottom:23px}.sticky-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:100%}.service-list{gap:20px}.service-card{padding:27px 25px 24px;border-radius:18px}.service-card-top{margin-bottom:28px}.service-card h3{font-size:35px;line-height:1.12;margin-bottom:20px}.service-card p{font-size:16px}.service-number{width:34px;height:34px;font-size:11px}.service-icon{width:34px;height:34px}.service-code{font-size:30px}.service-tags{gap:6px;margin-top:21px}.service-tags span{font-size:12px;padding:4px 10px}.service-cta{font-size:13px;padding-top:20px;margin-top:24px;gap:16px}.service-cta span{width:29px;height:29px;flex-shrink:0;font-size:16px}.work-intro h2{font-size:43px}.work-intro .concept-note{margin-top:22px;font-size:14px!important}.work-split{gap:35px}.project-visual{aspect-ratio:1.04;border-radius:18px}.project-card{margin-bottom:46px}.concept-badge{top:16px;left:16px;padding:6px 10px;font-size:10px}.browser-mockup{width:103%;left:7%;top:25%;border-radius:7px}.forma-screen{min-height:245px;aspect-ratio:1.3}.forma-screen-nav{padding:12px 17px}.forma-screen-nav>strong{font-size:23px}.forma-screen-copy{left:19px;bottom:26px}.forma-screen-copy>strong{font-size:30px}.project-view-circle{width:40px;height:40px;font-size:20px;bottom:17px;right:17px}.project-meta{display:block;margin-top:22px}.project-meta h3{font-size:28px}.project-meta p{font-size:14px!important;max-width:100%;margin-top:10px}.project-year{font-size:11px;padding-top:0;margin-top:13px}.project-tags{gap:6px;margin-top:15px}.project-tags span{font-size:11px;padding:4px 10px}.phone-mockup{width:184px;top:15%;left:33%;padding-top:32px}.pulse-background-word{font-size:127px;left:6%;top:12%}.mini-float{left:5%;bottom:20%;padding:11px 14px}.mini-float>span{font-size:8px}.mini-float strong{font-size:22px}.orbit-dashboard{width:139%;left:9%;top:25%;min-height:295px;grid-template-columns:68px 1fr}.process .section-heading h2{font-size:44px}.process .section-heading>p{max-width:100%;font-size:16px;line-height:1.8}.process-grid{margin-top:45px;gap:35px 22px}.process-step:nth-child(2n){padding-left:0!important}.process-number{margin:23px 0 27px;font-size:12px}.process-number>span{font-size:20px;padding-right:0}.process-step h3{font-size:28px}.process-step p{font-size:15px;line-height:1.8}.process-step>.micro{font-size:10px;line-height:1.8;letter-spacing:.04em}.local-content h2{font-size:40px}.local-content .eyebrow{font-size:11px;line-height:1.8}.local-content>p:not(.eyebrow){font-size:16px;line-height:1.8;margin-top:26px}.location-chips{gap:6px}.location-chips>span{font-size:10px;padding:7px 11px}.local-note .micro{font-size:11px}.local-note>strong{font-size:29px}.local-word{font-size:38px;white-space:normal;margin:17px 0 10px}.local-note>p{font-size:16px}.faq-grid h2{font-size:42px}.faq-grid>div>p{font-size:16px}.faq-list summary{font-size:16px;padding:23px 0;line-height:1.6}.faq-list details p{font-size:15px;padding-bottom:24px;padding-right:0}.faq-grid{gap:31px}.contact{margin-inline:12px;padding:37px 24px;border-radius:20px}.contact-top>.eyebrow{font-size:11px;letter-spacing:.07em}.contact-main{gap:12px;position:relative;margin-block:35px}.contact h2{font-size:clamp(38px,10.2vw,60px);letter-spacing:-.055em;line-height:1.12}.contact-orb{height:54px;width:54px}.contact-orb:before{inset:-5px}.contact-orb>span{font-size:31px}.contact-bottom{padding-top:25px;gap:24px}.contact-bottom>p{font-size:15px;line-height:1.8}.footer{padding-top:35px;padding-bottom:28px}.footer-signature{font-size:14.3vw;line-height:1.3;padding:0 0 24px;letter-spacing:-.075em}.footer-top{padding:23px 0 28px;gap:12px}.footer-brand{font-size:24px}.footer-brand img{height:43px;width:43px}.footer-top>p{font-size:12px;line-height:1.8}.back-top{font-size:0}.back-top span{width:35px;height:35px;font-size:17px}.footer-bottom{font-size:11px;gap:20px}.footer-bottom>div{font-size:12px;gap:23px}.dialog{border-radius:18px}.dialog-content>h2{font-size:34px}.enquiry-dialog .dialog-content{padding-top:53px}.dialog-detail-grid p{font-size:15px}input,select,textarea{font-size:16px}}
@media(max-width:365px){.hero h1{font-size:clamp(34px,10.7vw,39px)}.hero-copy .eyebrow{font-size:10px}.hero-topline{font-size:10px}.hero-actions{gap:15px}.hero-art{height:285px}.hero-description{font-size:16px}.scroll-cue,.motion-toggle{font-size:9px}.about{padding-inline:20px}.statement{font-size:30px}.about-copy p{font-size:16px}.sticky-copy h2{font-size:38px}.service-card{padding:24px 21px}.service-card h3{font-size:31px}.work-intro h2{font-size:38px}.phone-mockup{width:167px;left:32%}.mini-float{left:4%;padding:9px 10px}.mini-float strong{font-size:19px}.contact{padding-inline:21px}.contact h2{font-size:34px}.contact-orb{height:44px;width:44px}.contact-orb>span{font-size:26px}.process-grid{gap:30px 18px}.process-step h3{font-size:25px}.process-step p{font-size:14px}.local-content h2,.faq-grid h2{font-size:35px}.footer-signature{font-size:14vw}.footer-bottom>div{gap:19px}}
@media(prefers-reduced-motion:reduce){.hero-line>span,.hero-description,.hero-actions{animation:none;opacity:1;transform:none}.hero-art-scroll,.footer-signature{transform:none!important}.dialog[open]{animation:none}}
/* Keep decorative labels readable across screen sizes. */
.hero-topline,.hero-copy .eyebrow,.sticky-copy .eyebrow,.local-content .eyebrow,.contact-top>.eyebrow,.contact-top>.micro,.local-note .micro,.concept-badge,.project-year,.project-tags span,.service-tags span,.process-step>.micro,.location-chips>span,.footer-bottom,.footer-bottom>div,.dialog-content>.eyebrow{font-size:12px}
.process-step>.micro{color:#9f85af}.hero-topline{color:#948b9f}.contact-top>.micro{color:#ab86bd}.project-year{color:#a189af}
@media(max-width:600px){.hero-copy .eyebrow{font-size:12px;flex-wrap:wrap}.hero-topline{font-size:12px;max-width:100%}.hero-bottom{flex-wrap:wrap}.scroll-cue,.motion-toggle{font-size:11px}.project-tags{gap:6px}.process-step p{font-size:16px}.process-step>.micro{font-size:12px;letter-spacing:.02em}.footer-bottom>div{gap:20px;flex-wrap:wrap}.about .section-tag{font-size:12px}}


/* Shutter reveal: the page scrolls over a stationary footer behind it. */
body{isolation:isolate;background:#f2f2f5}
.page-shutter{
  position:relative;
  z-index:2;
  background:var(--bg);
  padding-bottom:28px;
  border-radius:0 0 32px 32px;
  box-shadow:0 24px 50px #0003;
}
.site-footer{
  position:sticky;
  bottom:min(0px,calc(100svh - var(--footer-height,0px)));
  z-index:1;
  isolation:isolate;
  overflow:hidden;
  padding:64px max(var(--pad),calc((100vw - 1600px)/2)) 0;
  background:linear-gradient(180deg,#f2f2f5,#fafafa 75%);
  color:#17161c;
  color-scheme:light;
}
.footer-card{
  position:relative;
  z-index:1;
  background:#fff;
  padding:46px 48px 30px;
  border:1px solid #e5e4e9;
  border-radius:26px;
  box-shadow:0 18px 38px #1d15210a,0 3px 8px #1d152103;
}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr .8fr;gap:56px}
.footer-logo{display:inline-flex;align-items:center;gap:10px;font-size:28px;font-weight:650;letter-spacing:-.065em;line-height:1.1}
.footer-logo img{width:46px;height:46px;filter:brightness(0)}
.footer-logo-dot{color:#7751a3}
.footer-identity>p{font-size:16px;line-height:1.75;color:#68656e;max-width:350px;margin-top:20px}
.footer-return{display:inline-flex;align-items:center;gap:12px;margin-top:24px;font-size:14px;font-weight:600}
.footer-return>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ddd9e4;border-radius:50%;transition:transform .25s,background .25s}
.footer-return:hover>span{background:#f1eaf9;transform:translateY(-3px)}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:13px}
.footer-links h2{font-size:15px;line-height:1.6;font-weight:650;letter-spacing:-.015em;margin:0 0 9px;color:#17161c}
.footer-links a{font-size:14px;color:#67636e;line-height:1.6;transition:color .2s;position:relative}
.footer-links a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.footer-links a:hover{color:#7751a3}
.footer-links a:hover:after{transform:scaleX(1)}
.footer-links a>span{margin-left:5px}
.footer-legal{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:40px;padding-top:23px;border-top:1px solid #eceaef;color:#73707a;font-size:12px;line-height:1.6}
.footer-legal>div{display:flex;align-items:center;gap:28px}
.footer-legal button{font-size:14px;color:#504a58;text-decoration:underline;text-underline-offset:3px}
.footer-legal button:hover{color:#7751a3}
.footer-watermark{position:relative;z-index:0;text-align:center;white-space:nowrap;font-size:clamp(65px,15.15vw,270px);font-weight:650;letter-spacing:-.073em;line-height:1.08;padding-top:26px;padding-bottom:3px;user-select:none;pointer-events:none;background:linear-gradient(180deg,#dcdce3 0%,#edecf1 45%,#fafafa 97%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.site-footer :is(a,button):focus-visible{outline:2px solid #7751a3;outline-offset:5px;border-radius:3px}
.site-header{transition:top .45s var(--ease),opacity .25s,visibility .25s}
.site-header.is-over-footer{opacity:0;visibility:hidden;pointer-events:none}
.motion-paused .site-footer,.reduced-motion .site-footer{position:relative;bottom:auto}
@media(max-width:1100px){
  .site-footer{padding-top:45px}
  .footer-card{padding:34px 32px 25px}
  .footer-grid{grid-template-columns:1.45fr 1fr .7fr;gap:28px}
  .footer-logo{font-size:25px}
  .footer-identity>p{font-size:15px}
}
@media(max-width:700px){
  .page-shutter{padding-bottom:16px;border-radius:0 0 24px 24px}
  .site-footer{padding:28px 18px 0}
  .footer-card{padding:27px 24px 22px;border-radius:22px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:27px 18px}
  .footer-identity{grid-column:1/-1;position:relative}
  .footer-logo{font-size:25px;gap:7px}
  .footer-logo img{width:36px;height:36px}
  .footer-identity>p{font-size:15px;line-height:1.7;margin-top:16px;max-width:360px}
  .footer-return{position:absolute;top:2px;right:0;margin:0;font-size:0;gap:0}
  .footer-return>span{width:34px;height:34px;font-size:19px}
  .footer-links{padding-top:0;gap:8px}
  .footer-links h2{font-size:14px;margin-bottom:5px}
  .footer-links a{font-size:14px}
  .footer-legal{display:block;margin-top:26px;padding-top:20px;font-size:12px}
  .footer-legal>div{justify-content:space-between;gap:12px;margin-top:12px}
  .footer-legal button{font-size:13px}
  .footer-watermark{font-size:16vw;letter-spacing:-.075em;padding-top:20px;padding-bottom:7px}
}
@media(max-width:365px){
  .site-footer{padding-inline:12px}
  .footer-card{padding-inline:20px}
  .footer-logo{font-size:23px}
  .footer-logo img{width:32px;height:32px}
  .footer-identity>p{font-size:14px}
  .footer-return>span{width:30px;height:30px}
  .footer-grid{column-gap:14px}
}
@media(prefers-reduced-motion:reduce){.site-footer{position:relative;bottom:auto}}
@media print{.site-footer{position:static;bottom:auto}.page-shutter{box-shadow:none}}
