:root{
  --ink:#060606;
  --ink-2:#101010;
  --ink-3:#1c1c1c;
  --paper:#f2f3f1;
  --paper-2:#e9ebe8;
  --line:rgba(7,7,7,.16);
  --line-light:rgba(255,255,255,.16);
  --muted:#757872;
  --ice:#c8e7ff;
  --violet:#d8d0ff;
  --green:#cdebd8;
  --ease:cubic-bezier(.16,1,.3,1);
  --header-h:78px;
  --gutter:clamp(18px,3vw,50px);
  --display:"Helvetica Neue","Avenir Next","Segoe UI",Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink);overscroll-behavior-y:none}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--display);font-weight:300;overflow-x:hidden;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
body.is-intro-lock{overflow:hidden}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--ink);color:var(--paper)}
.mono{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.no-js .intro{display:none}
.no-js body{overflow:auto}
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;background:#fff;color:#000;padding:10px 14px;transform:translateY(-160%);transition:.2s}
.skip-link:focus{transform:none}

/* Intro */
.intro{position:fixed;inset:0;z-index:1000;background:#030303;color:#fff;display:grid;place-items:center;overflow:hidden}
.intro-grid,.dark-grid,.lab-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at center,#000 0,transparent 72%)}
.intro-noise,.page-noise{position:absolute;inset:-20%;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");animation:noise 1.2s steps(2) infinite}
@keyframes noise{0%{transform:translate3d(-2%,-2%,0)}25%{transform:translate3d(3%,-1%,0)}50%{transform:translate3d(-1%,3%,0)}75%{transform:translate3d(2%,1%,0)}100%{transform:translate3d(-2%,-2%,0)}}
.intro-status{position:absolute;top:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.62)}
.intro-progress{font-family:var(--mono);font-size:12px;letter-spacing:.18em;min-width:46px;text-align:right}
.intro-copy{position:absolute;bottom:30px;right:var(--gutter);color:rgba(255,255,255,.42)}
.portal{position:relative;width:min(62vw,620px);aspect-ratio:1/1;filter:drop-shadow(0 0 26px rgba(255,255,255,.07));transform:scale(.92)}
.portal-line{position:absolute;left:50%;top:50%;width:47%;height:4px;background:linear-gradient(90deg,rgba(255,255,255,.2),#fff 62%,rgba(255,255,255,.88));transform-origin:0 50%;box-shadow:0 0 20px rgba(255,255,255,.2)}
.portal-line--lt{transform:rotate(-132deg) translateX(4px)}
.portal-line--lb{transform:rotate(132deg) translateX(4px)}
.portal-line--rt{transform:rotate(-48deg) translateX(4px)}
.portal-line--rb{transform:rotate(48deg) translateX(4px)}
.portal-core{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 30px #fff,0 0 80px rgba(188,226,255,.5)}
.portal-glow{position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.09),transparent 66%);filter:blur(18px);animation:portalPulse 2.4s ease-in-out infinite}
@keyframes portalPulse{50%{transform:scale(1.12);opacity:.4}}
.intro-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}

/* Header */
.site-header{position:fixed;z-index:120;left:0;right:0;top:0;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gutter);mix-blend-mode:difference;color:#fff;opacity:0;transform:translateY(-18px);pointer-events:none}
.site-header.is-ready{opacity:1;transform:none;pointer-events:auto;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.brand{justify-self:start;display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.35em;font-weight:400}
.brand-logo-img{width:46px;height:30px;object-fit:contain}
.brand-name{letter-spacing:.42em;font-weight:300;font-size:13px;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);font-size:10px;letter-spacing:.18em}
.desktop-nav a{position:relative;padding:9px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .4s var(--ease)}
.desktop-nav a:hover::after{right:0}
.header-cta{justify-self:end;border:1px solid currentColor;background:transparent;padding:10px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.09em;display:flex;gap:14px;align-items:center}
.menu-toggle{display:none;justify-self:end;width:42px;height:42px;border:1px solid currentColor;background:transparent;position:relative}
.menu-toggle span{position:absolute;width:15px;height:1px;background:currentColor;left:13px;top:18px;transition:.35s var(--ease)}
.menu-toggle span+span{top:23px}
.menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span+span{top:21px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:110;background:#050505;color:#fff;padding:calc(var(--header-h) + 40px) var(--gutter) 30px;transform:translateY(-102%);transition:transform .7s var(--ease);display:none}
.mobile-menu.is-open{transform:none}
.mobile-menu__meta{opacity:.46;margin-bottom:45px}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a,.mobile-menu nav button{border:0;border-bottom:1px solid rgba(255,255,255,.15);background:none;text-align:left;color:#fff;padding:18px 0;font-size:clamp(30px,8vw,56px);font-weight:200;letter-spacing:-.045em;display:flex;justify-content:space-between}
.mobile-menu nav span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;margin-top:10px;opacity:.45}

/* ambient canvas */
.core-canvas{position:fixed;z-index:3;left:0;top:0;width:100%;height:100%;pointer-events:none;opacity:.9;mix-blend-mode:multiply;transition:opacity .8s var(--ease),filter .8s var(--ease)}
body.scene-dark .core-canvas{mix-blend-mode:screen;filter:invert(1);opacity:.58}
.lab-grid{position:fixed;z-index:1;inset:0;background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(circle at 64% 46%,black,transparent 58%);opacity:.72}
.page-noise{position:fixed;z-index:4;opacity:.025}
main{position:relative;z-index:2}.footer{position:relative;z-index:5}
.section{position:relative;min-height:100svh;padding:calc(var(--header-h) + 40px) var(--gutter) 90px;overflow:hidden}
.section--light{background:rgba(242,243,241,.92);color:var(--ink)}
.section--dark{background:#050505;color:#f4f4f2}
.section-index{position:absolute;z-index:7;left:var(--gutter);top:calc(var(--header-h) + 20px);opacity:.45}
.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px;opacity:.64}
.reveal{opacity:0;transform:translateY(34px)}
.reveal.is-visible{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1s var(--ease)}

/* Hero */
.hero{min-height:112svh;display:flex;align-items:center;padding-top:12vh}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 73% 46%,rgba(205,235,255,.36),transparent 18%),radial-gradient(circle at 80% 40%,rgba(218,208,255,.24),transparent 30%);opacity:.62}
.hero-copy{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,36vw);grid-template-rows:auto auto;align-items:end;z-index:6}
.hero-copy>.eyebrow{grid-column:1/2;margin-left:2px}
.hero-title{grid-column:1/-1;margin:0;font-size:clamp(58px,8.3vw,142px);line-height:.84;letter-spacing:-.075em;font-weight:200;text-transform:uppercase;position:relative;z-index:2}
.hero-title>span{display:block}
.hero-title .outline{color:transparent;-webkit-text-stroke:1px rgba(0,0,0,.82);padding-left:9vw}
.hero-bottom{grid-column:2/3;margin-top:clamp(36px,6vw,90px);position:relative;z-index:7}
.hero-bottom>p{font-size:clamp(16px,1.35vw,22px);line-height:1.45;margin:0 0 28px;max-width:590px;color:#2b2d2b}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.button{border:0;min-height:52px;padding:0 20px;display:inline-flex;align-items:center;gap:28px;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.1em;position:relative;overflow:hidden}
.button::before{content:"";position:absolute;inset:0;transform:translateY(102%);transition:transform .45s var(--ease);background:var(--ice)}
.button:hover::before{transform:none}
.button span,.button i{position:relative;z-index:1;font-style:normal}
.button--dark{background:#080808;color:#fff}
.button--dark:hover{color:#090909}
.button--light{background:#f6f6f2;color:#080808}
.button--light::before{background:var(--violet)}
.text-link{font-family:var(--mono);font-size:10px;letter-spacing:.08em;display:flex;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
.text-link i{font-style:normal}
.hero-meta{position:absolute;z-index:7;bottom:26px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;opacity:.46}
.hero-orbit{position:absolute;width:min(47vw,690px);aspect-ratio:1;right:-5vw;top:19%;z-index:2;border:1px solid rgba(0,0,0,.08);border-radius:50%;animation:slowSpin 22s linear infinite}
.hero-orbit span{position:absolute;border:1px solid rgba(0,0,0,.09);border-radius:50%;inset:13%}
.hero-orbit span:nth-child(2){inset:30%;border-style:dashed}
.hero-orbit span:nth-child(3){inset:46%;background:#070707;border:0;width:8%;height:8%;left:46%;top:-4%;box-shadow:0 0 50px rgba(255,255,255,.6)}
@keyframes slowSpin{to{transform:rotate(360deg)}}

/* shared section heads */
.section-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:50px;padding-top:10vh;margin-bottom:70px;position:relative;z-index:6}
.section-head h2,.capabilities-intro h2{font-size:clamp(54px,8vw,128px);line-height:.83;letter-spacing:-.07em;font-weight:200;margin:0;text-transform:uppercase}
.section-head h2 em,.capabilities-intro h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--ink);opacity:.6}
.section-head>p{max-width:380px;font-size:16px;line-height:1.5;margin:0 0 8px;opacity:.66}

/* Services */
.services{min-height:130svh;padding-bottom:140px}
.services-list{position:relative;z-index:7;width:min(68%,980px);margin-left:auto;border-top:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:64px 1fr minmax(220px,.72fr) 42px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:26px 0;min-height:116px;transition:padding .45s var(--ease),background .45s var(--ease);position:relative}
.service-row::before{content:"";position:absolute;inset:0 -18px;background:rgba(255,255,255,.45);opacity:0;transition:.35s;z-index:-1}
.service-row:hover::before,.service-row.is-active::before{opacity:1}
.service-code{font-family:var(--mono);font-size:10px;opacity:.45}
.service-row h3{margin:0;font-weight:250;font-size:clamp(22px,3vw,42px);letter-spacing:-.045em}
.service-row p{margin:0;font-size:13px;line-height:1.45;opacity:.62}
.service-arrow{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;transition:transform .45s var(--ease),background .45s}
.service-row:hover .service-arrow,.service-row.is-active .service-arrow{transform:rotate(45deg);background:#0b0b0b;color:#fff}
.service-stage{position:absolute;left:var(--gutter);bottom:8%;width:min(30vw,430px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;z-index:2}
.service-stage::before,.service-stage::after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%;inset:18%}
.service-stage::after{inset:36%;border-style:dashed}
.service-stage__label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;background:var(--paper);padding:8px 12px;border:1px solid var(--line)}

/* Flagship system */
.system-offer{min-height:145svh;padding-top:18vh}
.dark-grid{opacity:.45;mask-image:linear-gradient(to bottom,#000,transparent 72%)}
.offer-copy{position:relative;z-index:5;width:min(72vw,1100px)}
.display-title{font-size:clamp(58px,9.8vw,156px);line-height:.82;letter-spacing:-.075em;font-weight:200;margin:0;text-transform:uppercase;white-space:pre-line}
.offer-copy .display-title{max-width:1050px;font-size:clamp(54px,7.4vw,118px);line-height:.86}
.about-copy .display-title{font-size:clamp(54px,7.1vw,116px);line-height:.86}
.offer-body{width:min(560px,80vw);margin:42px 0 0 auto;font-size:clamp(17px,1.4vw,22px);line-height:1.5;color:rgba(255,255,255,.64)}
.offer-console{position:relative;z-index:5;margin:100px auto 60px;width:min(86vw,1180px);border:1px solid var(--line-light);background:rgba(255,255,255,.025);backdrop-filter:blur(12px)}
.console-top{height:42px;padding:0 15px;border-bottom:1px solid var(--line-light);display:flex;justify-content:space-between;align-items:center;color:rgba(255,255,255,.5)}
.system-map{height:min(58vw,610px);min-height:440px;position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(202,231,255,.08),transparent 27%)}
.system-node{position:absolute;z-index:3;width:110px;height:110px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;background:#090909;box-shadow:0 0 0 12px rgba(255,255,255,.012);transition:background .32s var(--ease),color .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease),transform .32s var(--ease)}
.system-node small{font-size:8px;opacity:.4}
.system-node--center{left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;background:#f2f3f1;color:#070707;box-shadow:0 0 80px rgba(200,231,255,.16)}
.system-node:not(.system-node--center):hover,.system-node:not(.system-node--center):focus-visible{background:#f4f4f2;color:#070707;border-color:#fff;box-shadow:0 0 0 12px rgba(255,255,255,.035),0 0 46px rgba(210,235,255,.32);transform:scale(1.08);outline:none}
.n1{left:8%;top:10%}.n2{right:8%;top:10%}.n3{right:3%;top:51%}.n4{right:20%;bottom:5%}.n5{left:20%;bottom:5%}.n6{left:3%;top:51%}
.system-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.system-lines path{stroke:rgba(255,255,255,.23);stroke-width:1;fill:none;stroke-dasharray:5 8;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-260}}
.offer-bullets{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-light)}
.offer-bullet{padding:22px 16px;border-right:1px solid var(--line-light);font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.65)}
.offer-bullet:nth-child(3n){border-right:0}
.offer-bullet::before{content:"+";margin-right:12px;color:#fff}
.zero-frag{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--line-light);padding-top:28px;margin-top:90px}
.zero-frag span{opacity:.45}
.zero-frag strong{font-size:clamp(42px,7vw,105px);line-height:.86;letter-spacing:-.06em;font-weight:200;text-align:right}

/* Work */
.work{padding-top:8vh;min-height:120svh}
.portfolio-list{position:relative;z-index:6}
.project{display:grid;grid-template-columns:.38fr .62fr;gap:clamp(28px,5vw,80px);border-top:1px solid var(--line);padding-top:28px;margin-top:40px}
.project-meta{display:flex;flex-direction:column;justify-content:space-between;min-height:560px;padding-bottom:8px}
.project-index{font-family:var(--mono);font-size:10px;opacity:.48}
.project-meta h3{font-size:clamp(40px,5.6vw,86px);line-height:.9;letter-spacing:-.065em;font-weight:200;margin:18px 0 24px;text-transform:uppercase}
.project-category{font-family:var(--mono);font-size:10px;letter-spacing:.08em;opacity:.55}
.project-description{font-size:15px;line-height:1.55;max-width:430px;opacity:.7}
.project-statement{font-size:clamp(24px,2.6vw,42px);line-height:1;letter-spacing:-.04em;margin-top:35px}
.project-visual{position:relative;overflow:hidden;min-height:560px;background:#dedfdd;border:1px solid var(--line)}
.project-visual::before{content:"";position:absolute;inset:12px;border:1px solid rgba(0,0,0,.09);z-index:2;pointer-events:none}
.project-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.project:hover .project-visual img{transform:scale(1)}
.project-view{position:absolute;right:24px;bottom:24px;z-index:3;background:#070707;color:#fff;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.08em;transform:scale(.9);transition:transform .45s var(--ease)}
.project:hover .project-view{transform:scale(1)}


/* Standalone selected work page */
.work-page{background:var(--paper)}
.work-page .work{padding-top:calc(var(--header-h) + 8vh);min-height:100svh}
.work-page .section-head--work{padding-top:5vh}

/* About */
.about{min-height:140svh;padding-top:18vh}
.about-background-text{position:absolute;right:-5vw;top:3vh;font-size:55vw;line-height:.75;letter-spacing:-.2em;font-weight:100;color:rgba(255,255,255,.018);user-select:none}
.about-copy{position:relative;z-index:5;width:min(1100px,88vw)}
.about-body{max-width:620px;margin:46px 0 0 auto;font-size:clamp(17px,1.5vw,23px);line-height:1.5;color:rgba(255,255,255,.63)}
.about blockquote{margin:95px 0 0 auto;width:min(700px,80vw);font-size:clamp(32px,4vw,64px);line-height:1.02;letter-spacing:-.055em;font-weight:200;border-left:1px solid var(--line-light);padding-left:30px}
.process{position:relative;z-index:6;margin-top:140px;border-top:1px solid var(--line-light)}
.process-row{display:grid;grid-template-columns:70px .55fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line-light);align-items:center}
.process-row span{font-family:var(--mono);font-size:10px;opacity:.42}
.process-row strong{font-size:clamp(20px,2.4vw,36px);font-weight:300;letter-spacing:-.035em}
.process-row p{margin:0;color:rgba(255,255,255,.52);font-size:13px;line-height:1.45}

/* capability cloud */
.capabilities{min-height:105svh;padding-top:17vh}
.capabilities-intro{position:relative;z-index:6}
.capability-cloud{position:relative;z-index:6;margin-top:80px;display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.capability-chip{flex:1 0 25%;min-width:230px;min-height:122px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;padding:20px;font-size:clamp(18px,2vw,30px);letter-spacing:-.035em;position:relative;overflow:hidden;transition:color .4s}
.capability-chip::before{content:"";position:absolute;inset:100% 0 0;background:#080808;transition:inset .45s var(--ease);z-index:-1}
.capability-chip:hover{color:#fff}.capability-chip:hover::before{inset:0}
.capability-chip i{font-family:var(--mono);font-size:9px;font-style:normal;opacity:.42}

/* Insights */
.insights{padding-top:9vh;min-height:100svh}
.insight-grid{position:relative;z-index:7;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.insight-card{min-height:430px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:color .5s var(--ease)}
.insight-card::after{content:"";position:absolute;inset:100% 0 0;background:#080808;transition:inset .5s var(--ease);z-index:-1}
.insight-card:hover{color:#fff}.insight-card:hover::after{inset:0}
.insight-card .meta{font-family:var(--mono);font-size:9px;letter-spacing:.1em;display:flex;justify-content:space-between;opacity:.5}
.insight-card h3{font-size:clamp(28px,3vw,46px);line-height:1.02;letter-spacing:-.055em;font-weight:250;margin:60px 0 30px}
.insight-card p{font-size:13px;line-height:1.5;opacity:.58;max-width:340px}
.insight-arrow{width:52px;height:52px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;align-self:flex-end;transition:transform .45s var(--ease)}
.insight-card:hover .insight-arrow{transform:rotate(45deg)}

/* final */
.final-cta{min-height:112svh;display:flex;align-items:center;padding-top:15vh}
.final-copy{position:relative;z-index:6;width:min(1150px,92vw)}
.final-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;color:rgba(255,255,255,.58);max-width:500px;margin:36px 0}
.final-ring{position:absolute;right:-6vw;top:10%;width:min(62vw,850px);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.012),0 0 0 180px rgba(255,255,255,.008);animation:slowSpin 25s linear infinite}
.final-ring::before{content:"";position:absolute;width:10px;height:10px;background:#fff;border-radius:50%;left:50%;top:-5px;box-shadow:0 0 25px #fff}
.final-wordmark{position:absolute;left:var(--gutter);right:0;bottom:-.07em;font-size:clamp(100px,18vw,320px);line-height:.7;letter-spacing:.05em;font-weight:100;color:rgba(255,255,255,.035);white-space:nowrap;transition:color .9s var(--ease),text-shadow .9s var(--ease),opacity .9s var(--ease)}
.final-wordmark.is-lit{color:#fff;text-shadow:0 0 34px rgba(255,255,255,.11)}

/* Footer */
.footer{background:#050505;color:#fff;padding:60px var(--gutter) 24px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:40px}
.footer-brand{display:flex;flex-direction:column;gap:16px}.footer-brand .mono{opacity:.42}
.footer-links,.footer-social{display:flex;flex-direction:column;gap:12px;align-items:flex-start;font-size:12px}
.footer-links button{border:0;background:none;padding:0;color:#fff}
.footer-social a,.footer-social span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;opacity:.6}
.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:45px;display:flex;justify-content:space-between;opacity:.4}

/* WhatsApp */
.whatsapp{position:fixed;z-index:80;right:18px;bottom:18px;height:46px;border-radius:24px;border:1px solid rgba(255,255,255,.18);background:rgba(8,8,8,.87);backdrop-filter:blur(16px);color:#fff;padding:0 13px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 40px rgba(0,0,0,.18);transition:width .45s var(--ease),transform .35s var(--ease)}
.whatsapp-dot{width:8px;height:8px;border-radius:50%;background:#8de0ab;box-shadow:0 0 12px rgba(141,224,171,.7)}
.whatsapp-label{font-family:var(--mono);font-size:9px;letter-spacing:.06em;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width .5s var(--ease),opacity .35s}
.whatsapp:hover .whatsapp-label{max-width:150px;opacity:1}
.whatsapp-icon{font-size:14px}

/* Contact panel */
.contact-shell{position:fixed;inset:0;z-index:900;pointer-events:none;visibility:hidden}
.contact-shell.is-open{pointer-events:auto;visibility:visible}
.contact-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(7px);opacity:0;transition:opacity .5s}
.contact-shell.is-open .contact-backdrop{opacity:1}
.contact-panel{position:absolute;right:0;top:0;bottom:0;width:min(760px,100%);background:#f1f2ef;color:#080808;transform:translateX(102%);transition:transform .75s var(--ease);overflow:auto;border-left:1px solid rgba(255,255,255,.1)}
.contact-shell.is-open .contact-panel{transform:none}
.contact-panel__top{height:66px;position:sticky;top:0;z-index:3;background:rgba(241,242,239,.9);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line)}
.contact-panel__top span{opacity:.5}.contact-panel__top button{border:0;background:none;font-family:var(--mono);font-size:9px;letter-spacing:.1em}
.contact-panel__body{padding:50px 24px 70px}
.contact-panel h2{font-size:clamp(48px,7.5vw,95px);line-height:.82;letter-spacing:-.07em;font-weight:200;margin:0 0 55px}
.form-field{display:flex;flex-direction:column;gap:9px;margin-bottom:26px;min-width:0}
.form-field label,.form-field>label{font-family:var(--mono);font-size:9px;letter-spacing:.09em;opacity:.52}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field input:not([type=radio]),.form-field textarea,.form-field select{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;border-radius:0;outline:none;color:#080808;font-size:15px}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-bottom-color:#080808}
.form-field textarea{resize:vertical;min-height:110px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.choice-grid label{position:relative;min-height:64px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.06em;opacity:1}
.choice-grid input{position:absolute;opacity:0}
.choice-grid span{position:absolute;inset:0;display:grid;place-items:center;transition:.25s}
.choice-grid input:checked+span{background:#080808;color:#fff}
.form-consent{display:flex;gap:12px;align-items:flex-start;padding:18px 0 30px;font-size:11px;line-height:1.4;color:#666}
.status-light{width:8px;height:8px;border-radius:50%;background:#9ed2ad;box-shadow:0 0 12px #9ed2ad;flex:0 0 auto;margin-top:4px}
.form-consent p{margin:0}
.form-submit{width:100%;border:0;background:#080808;color:#fff;padding:18px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.09em}
.form-submit i{font-style:normal}.form-submit:disabled{opacity:.45}
.form-status{min-height:20px;margin:16px 0 0;opacity:.7}

/* Responsive */
@media (max-width:1024px){
  :root{--header-h:68px}
  .desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-menu{display:block}
  .site-header{grid-template-columns:1fr auto}
  .hero-copy{grid-template-columns:1fr}.hero-copy>.eyebrow{grid-column:1}.hero-title{grid-column:1}.hero-bottom{grid-column:1;width:min(540px,85vw);margin-left:auto}
  .services-list{width:76%}.service-stage{opacity:.62}
  .system-map{min-height:500px}.offer-bullets{grid-template-columns:repeat(2,1fr)}.offer-bullet:nth-child(3n){border-right:1px solid var(--line-light)}.offer-bullet:nth-child(2n){border-right:0}
  .project{grid-template-columns:1fr}.project-meta{min-height:auto}.project-description{margin-top:24px}.project-visual{min-height:56vw}
  .insight-grid{grid-template-columns:1fr 1fr}.insight-card:last-child{grid-column:1/-1;min-height:330px}
}
@media (max-width:720px){
  :root{--gutter:18px}
  .portal{width:88vw}.intro-status{top:22px}.intro-copy{bottom:22px}
  .section{padding-bottom:70px}.section:not(.hero) .section-index{top:32px}.hero .section-index{top:calc(var(--header-h) + 12px)}
  .brand-name{font-size:11px;letter-spacing:.34em}.brand-logo-img{width:40px;height:26px}.site-header{padding-left:18px;padding-right:18px}
  .hero{min-height:100svh;padding-top:19vh;align-items:flex-start}.hero-title{font-size:clamp(48px,11.8vw,84px);line-height:.86}.hero-title .outline{padding-left:0;margin-top:7px;-webkit-text-stroke:.8px rgba(0,0,0,.82)}
  .hero-copy>.eyebrow{margin-bottom:18px}.hero-bottom{width:100%;margin-top:52px}.hero-bottom>p{font-size:15px;max-width:92%}.hero-actions{gap:14px}.button{min-height:48px}.text-link{flex:1;justify-content:space-between}
  .hero-meta{font-size:8px}.hero-meta span:first-child{display:none}.hero-orbit{width:84vw;right:-35vw;top:10%}
  .section-head{grid-template-columns:1fr;padding-top:8vh;margin-bottom:45px}.section-head h2,.capabilities-intro h2{font-size:clamp(48px,15vw,80px)}.section-head>p{display:none}
  .services{min-height:auto;padding-bottom:90px}.services-list{width:100%;margin:0}.service-row{grid-template-columns:38px 1fr 34px;padding:20px 0;min-height:100px}.service-row p{grid-column:2/3;margin-top:-8px}.service-arrow{grid-column:3;grid-row:1/3}.service-stage{display:none}
  .system-offer{min-height:auto;padding-top:20vh}.display-title{font-size:clamp(50px,15vw,86px)}.offer-copy .display-title,.about-copy .display-title{font-size:clamp(46px,12.2vw,78px);line-height:.88}.offer-body{width:100%;margin:35px 0 0;font-size:15px}.offer-console{width:100%;margin-top:70px}.system-map{min-height:470px;height:70vh}.system-node{width:76px;height:76px;font-size:8px}.system-node--center{width:110px;height:110px}.n1{left:3%;top:8%}.n2{right:3%;top:8%}.n3{right:-3%;top:51%}.n4{right:14%;bottom:5%}.n5{left:14%;bottom:5%}.n6{left:-3%;top:51%}.offer-bullets{grid-template-columns:1fr}.offer-bullet{border-right:0!important}.zero-frag{display:block}.zero-frag strong{display:block;text-align:left;margin-top:18px;font-size:14vw}
  .work{padding-top:8vh}.project{gap:24px}.project-meta h3{font-size:14vw}.project-visual{min-height:72vw}.project-view{width:62px;height:62px;right:15px;bottom:15px}
  .about{min-height:auto;padding-top:20vh}.about-copy{width:100%}.about-body{width:100%;margin:34px 0 0;font-size:15px}.about blockquote{margin:60px 0 0;width:100%;font-size:10vw}.process{margin-top:90px}.process-row{grid-template-columns:40px 1fr}.process-row p{grid-column:2;font-size:12px}.about-background-text{font-size:90vw;right:-14vw}
  .capabilities{min-height:auto;padding-top:18vh}.capability-cloud{margin-top:55px}.capability-chip{flex-basis:50%;min-width:50%;min-height:92px;font-size:17px;padding:14px}
  .insight-grid{grid-template-columns:1fr}.insight-card,.insight-card:last-child{grid-column:auto;min-height:330px}.insight-card h3{font-size:34px}
  .final-cta{min-height:100svh}.final-copy>p:not(.eyebrow){font-size:14px}.final-ring{width:100vw;right:-55vw;top:18%}.final-wordmark{font-size:30vw}
  .footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-social{align-items:flex-end}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom span:nth-child(2){display:none}
  .whatsapp{height:42px;right:12px;bottom:12px}.whatsapp-label{display:none}
  .contact-panel__body{padding:40px 18px 60px}.contact-panel__top{padding:0 18px}.contact-panel h2{font-size:13vw}.choice-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr;gap:0}
  .core-canvas{opacity:.74}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.intro{display:none}.site-header{opacity:1;transform:none;pointer-events:auto}.reveal{opacity:1;transform:none}.hero-orbit,.final-ring,.intro-noise,.page-noise,.system-lines path{animation:none!important}.core-canvas{display:none}
}
/* Intro opening state */
.intro.is-opening .portal{transform:scale(1.34);transition:transform 1.45s var(--ease),filter 1.2s}
.intro.is-opening .portal-line{transition:transform 1.35s var(--ease),opacity 1s var(--ease),box-shadow 1s}
.intro.is-opening .portal-line--lt{transform:translate(-46vw,-12vw) rotate(-132deg) translateX(4px)}
.intro.is-opening .portal-line--lb{transform:translate(-46vw,12vw) rotate(132deg) translateX(4px)}
.intro.is-opening .portal-line--rt{transform:translate(46vw,-12vw) rotate(-48deg) translateX(4px)}
.intro.is-opening .portal-line--rb{transform:translate(46vw,12vw) rotate(48deg) translateX(4px)}
.intro.is-opening .portal-core{transform:translate(-50%,-50%) scale(28);opacity:.08;transition:transform 1.15s var(--ease),opacity 1.15s}
.intro.is-opening .intro-status,.intro.is-opening .intro-copy{opacity:0;transition:opacity .4s}
.intro.is-exiting{opacity:0;transition:opacity .7s var(--ease)}

/* Project case overlay */
.project-shell{position:fixed;inset:0;z-index:850;pointer-events:none;visibility:hidden}
.project-shell.is-open{pointer-events:auto;visibility:visible}
.project-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(9px);opacity:0;transition:opacity .5s}
.project-shell.is-open .project-backdrop{opacity:1}
.project-panel{position:absolute;inset:3vh 3vw;background:#f0f1ef;color:#080808;transform:translateY(104%);transition:transform .75s var(--ease);overflow:auto;border:1px solid rgba(255,255,255,.18)}
.project-shell.is-open .project-panel{transform:none}
.project-panel__top{position:sticky;top:0;z-index:5;height:60px;background:rgba(240,241,239,.92);backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid var(--line)}
.project-panel__top button{border:0;background:none;font-family:var(--mono);font-size:9px;letter-spacing:.1em}
.project-case{padding:clamp(35px,6vw,90px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px)}
.project-case h2{font-size:clamp(48px,6vw,100px);line-height:.82;letter-spacing:-.07em;font-weight:200;margin:16px 0 28px;text-transform:uppercase}
.project-case p{font-size:15px;line-height:1.55;max-width:520px;color:#595c57}
.project-case__visual{min-height:62vh;position:relative;background:#ddd;border:1px solid var(--line)}
.project-case__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:720px){.project-panel{inset:0}.project-case{grid-template-columns:1fr;padding:34px 18px 60px}.project-case__visual{min-height:50vh}.project-case h2{font-size:14vw}}

/* Mobile fixed-scale guard: keep the UI at 100% and prevent focus auto-zoom. */
@media (hover:none) and (pointer:coarse){
  html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input,textarea,select{font-size:16px}
}
