:root{
  --black:#000;
  --white:#F4F2FF;
  --dim:#9A97AE;
  --soft:#D6D3E6;
  --mute:#66637a;
  --line:rgba(244,242,255,.12);
  --line-hi:rgba(244,242,255,.22);
  --panel:rgba(12,11,20,.72);
  --card:#08070d;
  --glow:#C9A7FF;
  --ok:#8EF0C4;
  --warn:#FFB38A;
  --iris:conic-gradient(from var(--a,0deg),#ff4fd8,#6b7bff,#48f0c8,#ffd36b,#ff4fd8);
  --display:"Archivo",system-ui,sans-serif;
  --text:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --wide:125%;
  --heavy:800;
  --fs-h1:clamp(40px,6.9vw,104px);
  --fs-h2:clamp(34px,4.8vw,68px);
  --fs-h3:clamp(22px,2.3vw,30px);
  --r-sm:8px;
  --r-md:14px;
  --r-lg:18px;
  --ease:cubic-bezier(.2,.7,.1,1);
}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font:400 17px/1.6 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-80px;z-index:50;padding:12px 18px;border-radius:999px;background:var(--white);color:#000;font:600 15px/1 var(--text);text-decoration:none}
.skip:focus{top:12px}
.display{font-family:var(--display);font-stretch:var(--wide);font-weight:var(--heavy);letter-spacing:-.025em}

/* nav */
nav{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px max(16px,calc((100% - 1180px)/2));background:linear-gradient(#000c,#0000);transition:background .3s,box-shadow .3s}
nav.solid{background:#000c;-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
[id]{scroll-margin-top:84px}
.logo{font:var(--heavy) 17px/1 var(--display);font-stretch:var(--wide);letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center}
.logo span{display:inline-grid;place-items:center;width:1.5em;height:1.5em;margin-right:.55em;border-radius:5px;background:var(--white);color:#000;font-size:.8em}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:15px;color:var(--dim)}
nav ul a{text-decoration:none}
nav ul a:hover{color:var(--white)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--r-sm);background:var(--white);color:#000;font:600 15px/1 var(--text);text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .3s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px -10px #C9A7FFaa}
.btn.ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px var(--line-hi)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1px var(--white)}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:100%;align-content:start;padding:clamp(120px,24svh,230px) 0 80px;isolation:isolate}
#trip{position:absolute;inset:0;width:100%;height:100%;z-index:-2;background:radial-gradient(60% 50% at 50% 55%,#3a2a7a 0,#14101f 45%,#000 80%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0006 2px 3px);mix-blend-mode:multiply}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000d 0,#0008 38%,#0000 70%),radial-gradient(ellipse 80% 70% at 62% 50%,#0000 0,#0009 70%,#000 100%)}
h1{font:var(--heavy) var(--fs-h1)/.9 var(--display);font-stretch:var(--wide);letter-spacing:-.035em;margin:0 0 34px;max-width:15ch;text-wrap:balance}
h1 .w{display:inline-block;opacity:0;font-stretch:62%;animation:rise 1.1s var(--ease) forwards}
h1.in .w{animation:none;opacity:1;font-stretch:inherit}
h1.press{animation:press .9s var(--ease)}
@keyframes rise{0%{opacity:0;font-stretch:62%;transform:translateY(.25em)}35%{opacity:1}to{opacity:1;font-stretch:125%;transform:none}}
@keyframes press{0%{font-stretch:125%;text-shadow:none}22%{font-stretch:88%;text-shadow:-.04em 0 #ff4fd8,.04em 0 #48f0c8}100%{font-stretch:125%;text-shadow:none}}
.lede{max-width:50ch;color:var(--soft);font-size:clamp(17px,1.5vw,19px);margin:0 0 40px}

.cmd{max-width:760px;background:var(--panel);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line-hi),0 30px 80px -20px #000;padding:8px;position:relative}
.cmd:focus-within{box-shadow:inset 0 0 0 1px var(--glow),0 0 0 6px #C9A7FF1a,0 30px 80px -20px #000}
.cmd form{display:flex;gap:8px;align-items:center}
.cmd input{flex:1;min-width:0;background:transparent;border:0;color:var(--white);font:500 clamp(17px,1.7vw,20px)/1.2 var(--text);padding:16px 16px}
.cmd input::placeholder{color:#8d8aa3}
.cmd input:focus{outline:none}
.cmd:focus-within{box-shadow:inset 0 0 0 2px var(--glow),0 30px 80px -20px #000}
.cmd button{flex:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 8px 10px}
.chip{background:rgba(244,242,255,.06);color:#CFCBE3;border:0;border-radius:var(--r-sm);padding:8px 12px;font:500 14px/1.2 var(--text);cursor:pointer;transition:background .2s,color .2s}
.chip:hover{background:rgba(244,242,255,.13);color:var(--white)}
.out{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.1,1)}
.out.open{grid-template-rows:1fr}
.out>div{overflow:hidden}
.res{margin:4px 8px 10px;padding:18px 18px 16px;border-top:1px solid var(--line)}
.res .said{color:var(--dim);font:400 13px/1.5 var(--mono);margin:0 0 12px}
.res .said b{color:var(--ok);font-weight:500}
.res table{width:100%;border-collapse:collapse;font-size:15px}
.res td{padding:9px 0;border-bottom:1px solid var(--line)}
.res td:last-child{text-align:right;font:500 14px var(--mono)}
.res tr:last-child td{border-bottom:0}
.res .act{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{font-size:13px;padding:4px 10px;border-radius:999px;background:rgba(142,240,196,.12);color:var(--ok)}
.tag.w{background:rgba(255,179,138,.12);color:var(--warn)}
.res .row{opacity:0;transform:translateX(-8px);animation:in .4s forwards}
@keyframes in{to{opacity:1;transform:none}}

/* sections */
section{padding:clamp(90px,12vw,160px) 0}
h2{font:var(--heavy) var(--fs-h2)/.95 var(--display);font-stretch:var(--wide);letter-spacing:-.03em;margin:0 0 24px;max-width:17ch;text-wrap:balance}
.sub{color:#CFCBE3;max-width:56ch;margin:0 0 56px;font-size:clamp(17px,1.5vw,19px)}

/* replaces */
.mess{border-block:1px solid var(--line);padding:26px 0;overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12%,#000 88%,#0000)}
.mess .track{display:inline-flex;gap:56px;animation:slide 40s linear infinite;font:600 clamp(20px,2.6vw,32px)/1 var(--display);font-stretch:112%;color:var(--mute)}
.mess s{text-decoration-thickness:2px;text-decoration-color:#C9A7FFaa}

/* build */
.build{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.bi{padding:34px 34px 34px 0;border-bottom:1px solid var(--line);position:relative}
.bi:nth-child(even){padding-left:34px;border-left:1px solid var(--line)}
.bi::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--glow);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.bi:hover::after{transform:scaleX(1)}
.bi h3{font:var(--heavy) clamp(26px,2.8vw,40px)/1 var(--display);font-stretch:100%;letter-spacing:-.03em;margin:0 0 14px;transition:font-stretch .6s var(--ease)}
.bi:hover h3{font-stretch:125%}
.bi p{color:var(--dim);margin:0;max-width:44ch}
@media (max-width:760px){.build{grid-template-columns:1fr}.bi:nth-child(even){padding-left:0;border-left:0}}

/* reverse engineering */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);counter-reset:s}
.step{padding:28px 28px 8px 0}
.step+.step{padding-left:28px;border-left:1px solid var(--line)}
.step .n{font:400 13px/1 var(--mono);color:var(--glow);margin-bottom:34px;display:flex;align-items:center;gap:10px;letter-spacing:.04em}
.step .n::after{content:"";flex:1;height:1px;background:var(--line)}
.step h3{font:700 22px/1.15 var(--display);font-stretch:112%;margin:0 0 10px;letter-spacing:-.01em}
.step p{color:var(--dim);margin:0;font-size:16px}

/* work */
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.work .case:not(:first-child) .screen{height:270px;padding:18px}
.case{border-radius:var(--r-lg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .4s}
.case:hover{box-shadow:inset 0 0 0 1px var(--line-hi)}
.case .screen{position:relative;height:300px;padding:22px;overflow:hidden;background:radial-gradient(120% 90% at 100% 0,var(--hue) 0,#0000 55%),var(--card);transition:background-position .8s}
.case .screen .ui{transition:transform .6s var(--ease)}
.case:hover .screen .ui{transform:translateY(-6px) scale(1.015)}
.case .meta{padding:22px 26px 26px;border-top:1px solid var(--line)}
.case .meta h3{font:700 var(--fs-h3)/1.1 var(--display);font-stretch:108%;letter-spacing:-.02em;margin:0 0 8px}
.case .meta p{margin:0;color:var(--dim);font-size:16px}
.case .kind{color:var(--glow);font:400 13px/1 var(--mono);margin-bottom:12px;display:block}
@media (min-width:901px){
  .case:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr}
  .case:first-child .screen{height:380px;padding:30px}
  .case:first-child .meta{border-top:0;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;padding:34px}
  .case:first-child .meta h3{font-size:clamp(28px,3vw,40px)}
}
.ui{background:#000c;border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line);font:400 13px/1.45 var(--mono);padding:14px;height:100%;display:flex;flex-direction:column;gap:8px}
.ui .top{display:flex;justify-content:space-between;color:var(--dim);font-size:11.5px;letter-spacing:.03em}
.ui .q{background:rgba(244,242,255,.07);border-radius:var(--r-sm);padding:9px 12px;color:var(--white);font-family:var(--text);font-size:13.5px}
.ui .li{display:flex;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--line);color:var(--soft)}
.ui .li:last-child{border:0}
.ui .tag{font-size:11.5px;white-space:nowrap}
.bars{display:flex;align-items:flex-end;gap:6px;height:90px;margin-top:auto}
.bars i{flex:1;border-radius:3px 3px 1px 1px;background:linear-gradient(#C9A7FF,#6d5bd0);transform-origin:bottom;transition:transform .6s var(--ease)}
.case:hover .bars i:nth-child(odd){transform:scaleY(1.08)}
.grid7{display:grid;grid-template-columns:78px repeat(5,1fr);gap:5px;font-size:11px;color:var(--dim)}
.grid7 b{display:block;height:22px;border-radius:3px;background:rgba(244,242,255,.06)}
.grid7 b.on{background:linear-gradient(90deg,#7C6BFF,#C9A7FF)}
.grid7 b.alt{background:linear-gradient(90deg,#1FA37A,#8EF0C4)}

/* pricing */
.plans{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:22px;align-items:stretch;padding-block:22px}
.plan{border-radius:var(--r-lg);padding:32px;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column}
.plan:not(.hot) .price{color:var(--soft)}
.plan.hot{position:relative;margin-block:-22px;padding:44px 36px;border:1.5px solid #0000;background:linear-gradient(165deg,#1c1436,#07060c 58%) padding-box,var(--iris) border-box;box-shadow:0 40px 120px -30px #7c5cff66,0 0 0 1px #0000;animation:irisspin 8s linear infinite}
.plan.hot::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:var(--iris);filter:blur(28px);opacity:.28;animation:irisspin 8s linear infinite}
@keyframes irisspin{to{--a:360deg}}
.plan h3{font:700 22px/1.2 var(--display);font-stretch:112%;margin:0 0 6px}
.plan.hot h3{font-size:30px;font-weight:var(--heavy);font-stretch:var(--wide)}
.plan .for{color:var(--dim);font-size:15px;margin:0 0 26px;min-height:48px}
.plan.hot .for{color:var(--soft)}
.plan .when{margin:0;color:var(--glow);font:400 13px/1.4 var(--mono)}
.price{font:var(--heavy) clamp(44px,4vw,54px)/1 var(--display);font-stretch:var(--wide);letter-spacing:-.04em;margin-bottom:8px;font-variant-numeric:tabular-nums}
.plan.hot .price{font-size:clamp(56px,5.2vw,74px)}
.price small{font:400 14px var(--text);color:var(--dim);letter-spacing:0;margin-left:8px}
.plan ul{list-style:none;padding:0;margin:24px 0 32px;display:grid;gap:10px;font-size:15.5px;color:var(--soft)}
.plan:not(.hot) ul{color:var(--dim)}
.plan li{padding-left:24px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--glow)}
.plan:not(.hot) li::before{background:var(--mute)}
.plan .btn{margin-top:auto;justify-content:center}
.plan.hot .btn{padding:18px 22px;font-size:16px}
.addons{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 40px;color:var(--dim);font-size:15.5px;padding:22px 4px 0;border-top:1px solid var(--line)}
.addons b{color:var(--white);font:500 15px var(--mono)}

/* faq */
.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}
details{border-top:1px solid var(--line);padding:20px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font:700 19px/1.3 var(--display);font-stretch:108%;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::after{content:"+";color:var(--dim);font-weight:300;font-size:26px;line-height:.8;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
summary::-webkit-details-marker{display:none}
details p{color:var(--dim);margin:12px 0 0;max-width:60ch}

/* final */
.final{position:relative;text-align:center;-webkit-mask-image:linear-gradient(#0000,#000 22%,#000 78%,#0000);mask-image:linear-gradient(#0000,#000 22%,#000 78%,#0000);padding:clamp(120px,16vw,220px) 0;overflow:hidden;isolation:isolate}
.final h2{margin-inline:auto;max-width:13ch;font-size:clamp(42px,8vw,124px);line-height:.88;letter-spacing:-.04em}
.final .sub{margin-inline:auto}
.final::before{content:"";position:absolute;inset:-20%;z-index:-1;background:conic-gradient(from 0deg at 50% 60%,#ff4fd8,#6b7bff,#48f0c8,#ffd36b,#ff4fd8);filter:blur(120px);opacity:.34;animation:spin 30s linear infinite}
.final::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0005 2px 3px)}
@keyframes spin{to{transform:rotate(1turn)}}
.final-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.where{color:var(--dim);font-size:15px;margin:28px 0 0}
footer{border-top:1px solid var(--line);padding:34px 0 50px;color:var(--dim);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}

@media (max-width:900px){
  nav ul{display:none}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(3){padding-left:0;border-left:0}
  .step{padding-bottom:28px}
  .work,.plans,.faq{grid-template-columns:1fr}
  .plan.hot{order:-1;margin-block:0 8px}
  .plans{padding-block:0}
  .faq{gap:10px}
  .hero::after{background:linear-gradient(#0000 8%,#0009 42%,#000c 70%,#000)}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr}
  .step+.step{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .cmd form{flex-direction:column;align-items:stretch}
  .cmd button{justify-content:center}
  .case .screen{height:270px;padding:14px}
  nav .btn{padding:11px 14px;font-size:14px}
  .logo{font-size:15px}
  .plan.hot{padding:36px 26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}
  h1 .w{opacity:1;transform:none;font-stretch:inherit}
  html{scroll-behavior:auto}
}
@media (pointer:coarse){
  .btn,.chip{min-height:44px}
  .logo{display:inline-block;padding:12px 0}
  summary{min-height:44px;align-items:center}
}

/* ===== multi-page components ===== */
/* nav: dropdowns + mobile menu */
nav .nav-r{display:flex;align-items:center;gap:10px}
nav ul li{position:relative}
nav ul button{all:unset;cursor:pointer;color:var(--dim)}
nav ul button:hover,nav ul button[aria-expanded=true]{color:var(--white)}
nav ul button:focus-visible{outline:2px solid var(--glow);outline-offset:4px;border-radius:4px}
.dd{position:absolute;top:calc(100% + 18px);left:-24px;min-width:560px;display:none;grid-template-columns:1fr 1fr;gap:2px 18px;padding:18px;border-radius:var(--r-md);background:#07060cf5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:inset 0 0 0 1px var(--line-hi),0 30px 80px -20px #000}
.dd.one{min-width:300px;grid-template-columns:1fr}
li.open .dd{display:grid}
.dd a{display:block;padding:9px 10px;border-radius:var(--r-sm);color:var(--soft)}
.dd a:hover{background:rgba(244,242,255,.07);color:var(--white)}
.dd a small{display:block;color:var(--dim);font-size:13px;line-height:1.35;margin-top:2px}
.menu-t{display:none;background:none;border:0;color:var(--white);width:44px;height:44px;cursor:pointer;padding:0}
.menu-t i{display:block;width:22px;height:2px;margin:5px auto;background:currentColor;transition:transform .3s}
.menu-t[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-t[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:19;background:#000;padding:96px 16px 40px;overflow:auto;display:none}
.mnav.open{display:block}
.mnav h4{font:600 13px/1 var(--mono);color:var(--dim);margin:28px 0 10px;font-weight:500}
.mnav a{display:block;padding:10px 0;font:700 22px/1.2 var(--display);font-stretch:112%;text-decoration:none;border-bottom:1px solid var(--line)}
.mnav .btn{margin-top:28px;width:100%;justify-content:center;font-size:17px;border:0}
@media (max-width:1060px){nav ul{display:none}.menu-t{display:block}}
@media (min-width:1061px){.mnav{display:none!important}}
.btn.apply{background:var(--white);position:relative}
.btn.apply::after{content:"";position:absolute;inset:-2px;z-index:-1;border-radius:inherit;background:var(--iris);filter:blur(10px);opacity:.55;animation:irisspin 6s linear infinite}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0 0 34px}
.hero-cta small{color:var(--dim);font:400 13px/1.4 var(--mono)}
.btn.big{padding:19px 30px;font-size:17px}

/* page hero (subpages) */
.phero{position:relative;padding:clamp(140px,22svh,210px) 0 clamp(70px,9vw,110px);isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line)}
.phero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;background:radial-gradient(60% 60% at 80% 40%,#3a2a7a 0,#14101f 45%,#000 80%)}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0006 2px 3px),linear-gradient(90deg,#000 0,#000c 40%,#0003 100%)}
.phero h1{font-size:clamp(38px,6vw,88px);max-width:18ch}
.crumbs{font:400 13px/1 var(--mono);color:var(--dim);margin:0 0 26px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--white)}
.phero .lede{max-width:60ch}

/* rows: 2-col service table */
.rows{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--line)}
.rows .r{display:grid;grid-template-columns:minmax(150px,.8fr) 1.2fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);transition:background .3s}
.rows .r b{font:700 17px/1.35 var(--display);font-stretch:108%}
.rows .r span{color:var(--dim);font-size:16px}
.rows .r:hover b{color:var(--glow)}
@media (max-width:860px){.rows{grid-template-columns:1fr}.rows .r{grid-template-columns:1fr;gap:6px}}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:56px}
.pillar{position:relative;padding:34px 30px 30px;border-radius:var(--r-lg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;display:flex;flex-direction:column}
.pillar::before{content:"";position:absolute;inset:auto -30% 60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:var(--iris);filter:blur(70px);opacity:.14;transition:opacity .5s}
.pillar:hover::before{opacity:.32}
.pillar:first-child{box-shadow:inset 0 0 0 1px #C9A7FF55}
.pillar h3{font:var(--heavy) var(--fs-h3)/1.05 var(--display);font-stretch:var(--wide);letter-spacing:-.02em;margin:0 0 14px}
.pillar p{color:var(--soft);margin:0 0 26px}
.pillar .tags{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font:400 13px/2 var(--mono);color:var(--dim)}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}

/* problem cards */
.problems{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
.problem{display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:var(--r-lg);text-decoration:none;background:linear-gradient(#0000,#0000) padding-box,linear-gradient(160deg,var(--line-hi),#0000 60%) border-box;border:1px solid #0000;transition:transform .3s var(--ease),background .4s}
.problem:hover{transform:translateY(-3px);background:linear-gradient(#07060c,#07060c) padding-box,var(--iris) border-box}
.problem q{quotes:none;font:600 19px/1.35 var(--display);font-stretch:104%}
.problem span{color:var(--glow);font-size:15px;margin-top:auto}
@media (max-width:900px){.problems{grid-template-columns:1fr}}

/* demo block on subpages */
.demo{max-width:820px}
.demo .cmd{max-width:none}
.demo .fake{display:flex;align-items:center;gap:12px;padding:16px 16px;font:500 clamp(17px,1.7vw,20px)/1.3 var(--text)}
.demo .fake::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);flex:none}

/* quote + prose */
.bigquote{font:var(--heavy) clamp(30px,4.4vw,62px)/1.02 var(--display);font-stretch:var(--wide);letter-spacing:-.03em;max-width:20ch;margin:0;text-wrap:balance;background:linear-gradient(100deg,var(--white) 30%,#C9A7FF 55%,#8EF0C4 70%,var(--white) 90%) 0 0/300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s linear infinite}
@keyframes sheen{to{background-position:-300% 0}}
.prose{max-width:68ch}
.prose p{color:var(--soft);margin:0 0 18px;font-size:18px}
.sec-alt{background:linear-gradient(180deg,#000,#07060c 30%,#07060c 70%,#000)}

/* hub cards (industries / services) */
.hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.hub a{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:var(--r-lg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;min-height:190px;transition:box-shadow .3s,transform .3s var(--ease)}
.hub a:hover{box-shadow:inset 0 0 0 1px var(--glow);transform:translateY(-3px)}
.hub b{font:var(--heavy) 24px/1.1 var(--display);font-stretch:var(--wide);letter-spacing:-.02em}
.hub span{color:var(--dim);font-size:15.5px}
.hub i{margin-top:auto;font:normal 400 13px var(--mono);color:var(--glow)}

/* apply strip */
.apply-strip{border-block:1px solid var(--line);padding:clamp(60px,8vw,100px) 0;text-align:center;position:relative;overflow:hidden;isolation:isolate}
.apply-strip::before{content:"";position:absolute;inset:-40%;z-index:-1;background:var(--iris);filter:blur(140px);opacity:.16;animation:irisspin 24s linear infinite}
.apply-strip h2{margin-inline:auto}
.apply-strip .sub{margin:0 auto 34px}

/* size-based pricing */
.sizes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.size{padding:34px 28px 30px 0;display:flex;flex-direction:column}
.size+.size{padding-left:28px;border-left:1px solid var(--line)}
.size .team{font:500 14px/1 var(--mono);color:var(--glow);margin:0 0 20px}
.size .amt{font:var(--heavy) clamp(58px,7.5vw,112px)/.9 var(--display);font-stretch:var(--wide);letter-spacing:-.045em;margin:0 0 6px;white-space:nowrap}
.size .amt sup{font-size:.28em;vertical-align:top;margin-right:.08em;color:var(--dim);letter-spacing:0;position:relative;top:.35em}
.size .approx{font:400 13px/1.4 var(--mono);color:var(--dim);margin:0 0 22px}
.size h3{font:700 21px/1.2 var(--display);font-stretch:112%;margin:0 0 10px}
.size p{color:var(--dim);margin:0 0 18px;font-size:16px}
.size ul{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:9px;font-size:15.5px;color:var(--soft)}
.size li{padding-left:22px;position:relative}
.size li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--glow)}
.size .btn{margin-top:auto;align-self:flex-start}
.size.hot .amt{background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;animation:irisspin 10s linear infinite}
.custom{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:40px;padding:30px 32px;border-radius:var(--r-lg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-hi)}
.custom h3{font:var(--heavy) clamp(22px,2.4vw,32px)/1.1 var(--display);font-stretch:var(--wide);margin:0 0 6px;letter-spacing:-.02em}
.custom p{margin:0;color:var(--dim)}
@media (max-width:900px){.sizes{grid-template-columns:1fr}.size+.size{padding-left:0;border-left:0;border-top:1px solid var(--line)}.size{padding-right:0}}

/* founder */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.founder .sig{font:var(--heavy) clamp(80px,12vw,180px)/.8 var(--display);font-stretch:var(--wide);letter-spacing:-.06em;background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;animation:irisspin 14s linear infinite;margin:0}
.founder .sig+p{font:400 13px/1.5 var(--mono);color:var(--dim);margin:14px 0 0}
@media (max-width:860px){.founder{grid-template-columns:1fr;gap:24px}}

/* ===== apply quiz ===== */
.apply-pg{position:relative;min-height:100svh;display:grid;grid-template-columns:100%;align-content:center;padding:110px 0 60px;isolation:isolate;overflow:hidden}
.apply-pg canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;opacity:.55}
.apply-pg::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 70% at 50% 50%,#000a,#000 85%)}
.q-top{display:flex;align-items:center;gap:18px;margin-bottom:40px}
.q-bar{flex:1;height:3px;background:var(--line);border-radius:3px;overflow:hidden}
.q-bar i{display:block;height:100%;width:0;background:var(--iris);transition:width .5s var(--ease);animation:irisspin 6s linear infinite}
.q-count{font:400 13px var(--mono);color:var(--dim);min-width:44px;text-align:right}
.q-back{background:none;border:0;color:var(--dim);font:500 14px var(--text);cursor:pointer;padding:10px 0;min-height:44px}
.q-back:hover{color:var(--white)}
.q-step{display:none;max-width:820px}
.q-step.on{display:block;animation:qin .5s var(--ease)}
@keyframes qin{from{opacity:0;transform:translateY(18px);filter:blur(6px)}}
.q-step .qn{font:400 13px var(--mono);color:var(--glow);margin:0 0 16px}
.q-step h1,.q-step h2{font:var(--heavy) clamp(32px,4.6vw,64px)/.98 var(--display);font-stretch:var(--wide);letter-spacing:-.03em;margin:0 0 14px;max-width:18ch;text-wrap:balance}
.q-step .hint{color:var(--dim);margin:0 0 30px;max-width:56ch}
.q-fields{display:grid;gap:22px;margin-bottom:30px}
.q-fields.two{grid-template-columns:1fr 1fr}
.q-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--dim)}
.q-fields input,.q-fields textarea{background:transparent;border:0;border-bottom:1px solid var(--line-hi);color:var(--white);font:500 clamp(20px,2.2vw,28px)/1.3 var(--text);padding:10px 0;border-radius:0;width:100%}
.q-fields textarea{resize:vertical;min-height:90px}
.q-fields input:focus,.q-fields textarea:focus{outline:0;border-bottom-color:var(--glow)}
.q-fields [aria-invalid=true]{border-bottom-color:var(--warn)}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:30px}
.opt{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px;min-height:58px;border-radius:var(--r-md);border:0;background:rgba(244,242,255,.04);box-shadow:inset 0 0 0 1px var(--line-hi);color:var(--white);font:500 16px/1.3 var(--text);cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s}
.opt:hover{background:rgba(244,242,255,.09)}
.opt kbd{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--line-hi);font:500 12px var(--mono);color:var(--dim)}
.opt.on{background:var(--white);color:#000;box-shadow:none}
.opt.on kbd{color:#000;box-shadow:inset 0 0 0 1px #0003}
.opt small{display:block;color:var(--dim);font-size:13px}
.opt.on small{color:#0009}
.q-act{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.q-act small{color:var(--dim);font:400 13px var(--mono)}
.q-err{color:var(--warn);font-size:15px;margin:14px 0 0}
.q-note{color:var(--glow);font-size:15px;margin:-14px 0 26px}
.q-legal{font-size:13px;color:var(--dim);margin:18px 0 0}
.q-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.done-range{font:var(--heavy) clamp(34px,5vw,70px)/1 var(--display);font-stretch:var(--wide);letter-spacing:-.035em;background:var(--iris);-webkit-background-clip:text;background-clip:text;color:transparent;animation:irisspin 10s linear infinite;margin:6px 0 10px}
@media (max-width:640px){.q-fields.two{grid-template-columns:1fr}.opts{grid-template-columns:1fr}}

/* booking */
.bk{margin-top:34px;padding:26px;border-radius:var(--r-lg);background:var(--card);box-shadow:inset 0 0 0 1px var(--line-hi);max-width:820px}
.bk h3{font:700 22px/1.2 var(--display);font-stretch:112%;margin:0 0 6px}
.bk-tz{font:400 13px var(--mono);color:var(--dim);margin:0 0 16px}
.bk-days,.bk-slots{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.bk-slots{flex-wrap:wrap;overflow:visible;margin-top:12px}
.bk-days button,.bk-slots button{flex:none;min-height:44px;padding:10px 16px;border-radius:var(--r-sm);border:0;background:rgba(244,242,255,.05);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:500 15px var(--text);cursor:pointer}
.bk-days button[aria-selected=true]{background:rgba(201,167,255,.14);box-shadow:inset 0 0 0 1px var(--glow);color:var(--white)}
.bk-slots button{font-family:var(--mono)}
.bk-slots button.on{background:var(--white);color:#000;box-shadow:none}
.bk-confirm{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bk-confirm p{margin:0;color:var(--soft)}
.bk-ok{margin:0;color:var(--ok)}
.bk-form{display:grid;gap:18px;margin-top:24px}

/* footer (multi-page) */
.foot{border-top:1px solid var(--line);padding:70px 0 40px;color:var(--dim);font-size:15px}
.foot-g{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:40px}
.foot-g p{max-width:34ch;margin:18px 0 22px}
.foot h4{font:500 13px/1 var(--mono);color:var(--mute);margin:6px 0 16px;font-weight:500}
.foot-g a:not(.btn):not(.logo){display:block;text-decoration:none;padding:5px 0;color:var(--dim)}
.foot-g a:not(.btn):not(.logo):hover{color:var(--white)}
.foot-b{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:13px}
@media (max-width:900px){.foot-g{grid-template-columns:1fr 1fr}.foot-g>div:first-child{grid-column:1/-1}}
nav .lang{font:500 13px var(--mono);text-decoration:none;padding:4px 8px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--line-hi)}
.mnav .lang{margin-top:18px}
.addons{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 40px;color:var(--dim);font-size:15.5px;padding:22px 4px 0;border-top:1px solid var(--line)}
.addons b{color:var(--white);font-weight:600}
.phero .hero-cta{margin:34px 0 0}
.dd::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.phero~section:not(.apply-strip){padding:clamp(64px,7vw,104px) 0}
@media (max-width:640px){.hero .hero-cta{display:none}}
