/* ============================================================
   css/foundry.css — extracted from agentic-ai.html inline <style>
   blocks (decoupling pass). Same rules, same selectors — moved
   out of the HTML so this page can be edited without touching
   markup, and so spacing edits don't require hunting through
   the document.
   NOTE: this page still runs its OWN token/class system
   (--base/--indigo/--sig etc). Its own .fnd-wrap / .fnd-kicker
   classes were renamed from the generic .wrap/.kicker to avoid
   colliding with assets/css/main.css, so this page can now safely
   load BOTH main.css and foundry.css together.
   ============================================================ */

/* ============================================================
   YOURCOMPASS AI FOUNDRY — "Atelier" v2 · premium build
   ============================================================ */
:root{
  --base:#0A0A18; --base-2:#0E0F22; --surface:#13142C; --surface-2:#1A1C3A;
  --line:rgba(155,160,255,.13); --line-2:rgba(155,160,255,.26);
  --indigo:#5E63F2; --indigo-deep:#1B1C9A; --indigo-soft:#9BA0FF; --ice:#7BD4F5;
  --text:#F5F6FC; --muted:#B9BDDB; --faint:#8A8FB8;
  --fs-2xs:12px; --fs-xs:13px; --fs-sm:14px; --fs-sm2:15px; --fs-base:16px;
  --lt-bg:#EEEFF8; --lt-surface:#FFFFFF; --lt-text:#131433; --lt-muted:#454A76; --lt-faint:#62678F; --lt-line:rgba(27,28,154,.12);
  --vault:#06060F;
  --disp:'Sora',sans-serif; --body:'IBM Plex Sans',sans-serif; --mono:'IBM Plex Mono',monospace;
  --maxw:1180px; --ok:#5BE8A8; --warnc:#F2B95C; --alert:#F0716B;
  /* local spacing scale — mirrors the reduced site-wide rhythm
     in css/styles.css (--sect-y). Kept local until Foundry is
     migrated onto the shared token system. */
  --f-sect-y: clamp(32px, 4vw, 48px);
  --f-sect-y-lg: clamp(36px, 4.5vw, 56px);

  /* aliases so components ported verbatim from the shared site
     (assets/css/main.css / assets/index/index.css — the method rail)
     resolve against this page's own token names without rewriting
     every declaration. */
  --sig: var(--indigo);
  --sig2: #7479FF;
  --soft: var(--indigo-soft);
  --accent: var(--indigo-soft);
  --rule: var(--line-2);
  --card: var(--surface);
  --card-line: var(--line);
  --fg: var(--text);
  --dim: var(--faint);
}

/* large screens: matches css/main.css's --sect-y/--sect-y-lg exactly */
@media (min-width: 1121px) {
  :root {
    --f-sect-y: clamp(56px, 7vw, 84px);
    --f-sect-y-lg: clamp(63px, 7.875vw, 98px);
  }
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--base);color:var(--text);font-family:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--indigo);color:#fff}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul,ol{list-style:none}
.fnd-wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px;position:relative;z-index:2}
.fnd-kicker{display:inline-flex;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--indigo-soft)}
.fnd-kicker::before{content:"";width:22px;height:1.5px;background:linear-gradient(90deg,currentColor,transparent);flex:none}
.sec-hd{margin-bottom:56px;max-width:64em}
.sec-hd h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4.2vw,54px);letter-spacing:-.02em;line-height:1.05;margin:16px 0 16px}
.sec-hd p{color:var(--muted);font-size:var(--fs-base);line-height:1.6}
.fade{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}
.fade.in{opacity:1;transform:none}
.stag>*{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.stag.in>*{opacity:1;transform:none}
.stag.in>*:nth-child(1){transition-delay:.05s}.stag.in>*:nth-child(2){transition-delay:.15s}
.stag.in>*:nth-child(3){transition-delay:.25s}.stag.in>*:nth-child(4){transition-delay:.35s}
.stag.in>*:nth-child(5){transition-delay:.45s}.stag.in>*:nth-child(6){transition-delay:.55s}
@media(prefers-reduced-motion:reduce){
  .fade,.stag>*{opacity:1!important;transform:none!important;transition:none!important}
  *{animation-duration:.001s!important;animation-iteration-count:1!important}
}
.btn{font-size:var(--fs-base);font-weight:600;padding:14px 26px;border-radius:12px;display:inline-flex;align-items:center;gap:10px;transition:all .25s;border:1px solid transparent;cursor:pointer;position:relative;overflow:hidden}
.btn--primary{background:var(--indigo);color:#fff;box-shadow:0 8px 30px -8px rgba(94,99,242,.55)}
.btn--primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-110%);transition:transform .6s}
.btn--primary:hover::after{transform:translateX(110%)}
.btn--primary:hover{background:#7479FF;color:#fff;transform:translateY(-2px);box-shadow:0 14px 40px -10px rgba(94,99,242,.7)}
.btn--quiet{border-color:var(--line-2);color:var(--text)}
.btn--quiet:hover{background:var(--surface);border-color:var(--indigo-soft)}
.btn--sm{font-size:var(--fs-sm);padding:10px 18px;border-radius:9px}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(4px)}

/* progress bar */
#prog{position:fixed;top:0;left:0;height:2.5px;width:0;z-index:200;background:linear-gradient(90deg,var(--indigo),var(--ice));box-shadow:0 0 12px rgba(94,99,242,.8)}

/* decorative geometry */
.deco{position:absolute;pointer-events:none;z-index:1;opacity:.55}
.deco--ring{border:1px solid var(--line-2);border-radius:50%}
.deco--dots{background-image:radial-gradient(var(--line-2) 1.2px,transparent 1.2px);background-size:20px 20px}
.deco--cross{color:var(--faint)}
@keyframes spinslow{to{transform:rotate(360deg)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

/* ---------- HERO ---------- */
.hero{padding:clamp(36px, 4vw, 56px) 0 0;position:relative;text-align:center;overflow:hidden}
.hero__glow{position:absolute;top:-340px;left:50%;width:1100px;height:680px;border-radius:50%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(94,99,242,.3),rgba(94,99,242,.07) 55%,transparent 75%);pointer-events:none;will-change:transform}
.hero__glow2{position:absolute;top:120px;right:-260px;width:620px;height:620px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(123,212,245,.12),transparent 70%);pointer-events:none;will-change:transform}
.compassring{position:absolute;top:-300px;left:50%;transform:translateX(-50%);width:840px;height:840px;opacity:.16;pointer-events:none;
  animation:spinslow 140s linear infinite}
h1.hero__h{position:relative;font-family:var(--disp);font-weight:600;font-size:clamp(34px,5.2vw,58px);line-height:1.08;letter-spacing:-.035em;max-width:12em;margin:0 auto 24px;z-index:2}
h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
h1 .w i{display:inline-block;font-style:normal;transform:translateY(115%);animation:wordup .9s cubic-bezier(.2,.75,.25,1) forwards}
@keyframes wordup{to{transform:none}}
h1 .accent{background:linear-gradient(100deg,var(--indigo-soft),var(--indigo) 50%,var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{position:relative;font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:var(--muted);max-width:38em;margin:0 auto 18px;z-index:2}
.hero__sub strong{color:var(--text);font-weight:500}
.hero__ctas{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;z-index:2}

/* foundry line */
.fline{position:relative;padding-bottom:26px;z-index:2}
.fline__stage{position:relative;display:grid;grid-template-columns:1fr 240px 1fr;gap:0;align-items:center}
.fline__beam{position:absolute;left:0;right:0;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,var(--line-2) 12%,var(--indigo-soft) 50%,var(--line-2) 88%,transparent)}
.fdot{position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:var(--ice);box-shadow:0 0 12px var(--ice);
  transform:translateY(-50%);opacity:0}
.fdot--in{animation:flowin 3.4s linear infinite}
.fdot--out{animation:flowout 3.4s linear infinite}
@keyframes flowin{0%{left:4%;opacity:0}12%{opacity:1}46%{opacity:1}50%{left:46%;opacity:0}100%{left:46%;opacity:0}}
@keyframes flowout{0%,50%{left:54%;opacity:0}58%{opacity:1}92%{opacity:1}100%{left:96%;opacity:0}}
.fline__col{display:flex;flex-direction:column;gap:9px;position:relative;z-index:2}
.fline__col--in{align-items:flex-end;padding-right:46px}
.fline__col--out{align-items:flex-start;padding-left:46px}
/* connectors: trunks, buses, stubs, pulse, output strikes */
.ftrunk{position:absolute;top:50%;height:2px;margin-top:-1px;width:20px;border-radius:2px;z-index:1;
  background:linear-gradient(90deg,var(--indigo),var(--ice))}
.ftrunk--in{right:calc(50% + 120px)}
.ftrunk--out{left:calc(50% + 120px)}
.fbus{position:absolute;top:21px;bottom:21px;width:2px;background:var(--line-2);border-radius:2px;z-index:1}
.fbus--in{right:18px}
.fbus--out{left:18px;overflow:visible}
.fbus--out::after{content:"";position:absolute;left:-1.5px;width:5px;height:24%;border-radius:4px;
  background:linear-gradient(180deg,transparent,var(--ice),transparent);opacity:0;animation:busweep 6.4s linear infinite}
@keyframes busweep{0%,49%{top:-14%;opacity:0}52%{opacity:1}60%{top:90%;opacity:1}62%,100%{top:90%;opacity:0}}
.fline__col--in .fchip::after{content:"";position:absolute;right:-28px;top:50%;width:28px;height:1px;background:var(--line)}
.fline__col--out .fchip::before{content:"";position:absolute;left:-28px;top:50%;width:28px;height:1px;background:var(--line)}
.fpulse{position:absolute;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--ice);
  box-shadow:0 0 12px var(--ice);z-index:2;animation:fpulse 6.4s linear infinite}
@keyframes fpulse{0%{left:4%;opacity:0}3%{opacity:1}17%{left:calc(50% - 122px);opacity:1}19%{left:calc(50% - 118px);opacity:0}20%,100%{left:4%;opacity:0}}
/* core cell grid */
.fcore__grid{position:absolute;inset:8px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;z-index:1;border-radius:14px;pointer-events:none}
.fcore__grid i{border-radius:4px;background:rgba(155,160,255,.055);animation:fcell 6.4s linear infinite}
@keyframes fcell{0%,16%{background:rgba(155,160,255,.055);box-shadow:none}19%{background:rgba(123,212,245,.34);box-shadow:0 0 10px rgba(123,212,245,.4)}30%{background:rgba(123,212,245,.15)}48%{background:rgba(155,160,255,.055);box-shadow:none}100%{background:rgba(155,160,255,.055)}}
.fcore__mark,.fcore__t,.fcore__d{position:relative;z-index:2}
/* output strikes: dot travels stub, chip flashes */
.fline__col--out .fchip::after{content:"";position:absolute;left:-32px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;
  background:var(--ice);box-shadow:0 0 10px var(--ice);opacity:0;animation:fout 6.4s linear infinite}
@keyframes fout{0%,53%{opacity:0;transform:translateX(0)}55%{opacity:1}60%{transform:translateX(26px);opacity:1}65%{opacity:0;transform:translateX(26px)}100%{opacity:0;transform:translateX(0)}}
.fline__col--out .fchip{animation:fchipglow 6.4s linear infinite}
@keyframes fchipglow{0%,58%{border-color:var(--line-2);box-shadow:none}62%{border-color:var(--ice);box-shadow:0 0 20px -4px rgba(123,212,245,.55)}72%{border-color:var(--line-2);box-shadow:none}100%{border-color:var(--line-2);box-shadow:none}}
.fline__col--out .fchip:nth-child(2),.fline__col--out .fchip:nth-child(2)::after{animation-delay:.22s}
.fline__col--out .fchip:nth-child(3),.fline__col--out .fchip:nth-child(3)::after{animation-delay:.44s}
.fline__col--out .fchip:nth-child(4),.fline__col--out .fchip:nth-child(4)::after{animation-delay:.66s}
.fline__col--out .fchip:nth-child(5),.fline__col--out .fchip:nth-child(5)::after{animation-delay:.66s}

.fchip{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;width:220px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px 15px;
  font-size:var(--fs-sm2);font-weight:500;color:var(--muted);white-space:nowrap;transition:border-color .25s,color .25s,transform .25s}
.fchip:hover{border-color:var(--indigo-soft);color:var(--text);transform:translateY(-2px)}
.fchip svg{flex:none;color:var(--faint)}
.fchip--obs svg{color:var(--ice)}
.fchip--out{font-weight:600;color:var(--text);border-color:var(--line-2)}
.fchip--out svg{color:var(--indigo-soft)}
.fcore{position:relative;z-index:3;justify-self:center;width:240px;border-radius:20px;padding:18px 18px;text-align:center;
  background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line-2);
  box-shadow:0 0 0 1px rgba(94,99,242,.15),0 30px 80px -30px rgba(94,99,242,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.fcore::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;
  background:linear-gradient(140deg,var(--indigo-soft),transparent 35%,transparent 65%,var(--ice));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}
.fcore::after{content:"";position:absolute;inset:-14px;border-radius:30px;border:1px solid rgba(94,99,242,.35);opacity:0;animation:ringpulse 3.4s ease-out infinite}
@keyframes ringpulse{0%{transform:scale(.92);opacity:.6}70%{transform:scale(1.06);opacity:0}100%{opacity:0}}
.fcore__mark{width:44px;height:44px;margin:0 auto 10px;border-radius:14px;background:linear-gradient(140deg,var(--indigo),#3C40C8);
  display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 30px -8px rgba(94,99,242,.7)}
.fcore__t{font-family:var(--disp);font-weight:600;font-size:18px;letter-spacing:-.02em;margin-bottom:4px}
.fcore__d{font-size:var(--fs-sm);color:var(--muted);line-height:1.4}
/* mobile-only "processor pins" motif — replaces the branch/beam connectors
   (which have no room to reach the input/output columns once everything
   stacks) with small nodes radiating directly off the core box itself */
.fcore__pins{display:none}
.fline__cap{display:grid;grid-template-columns:1fr 240px 1fr;margin-top:16px}
.fline__cap span:nth-child(1){text-align:right;padding-right:64px}
.fline__cap span:nth-child(2){text-align:center}
.fline__cap span:nth-child(3){text-align:left;padding-left:64px}
.fline__cap span{font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

/* trust */
.trust{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--base-2);position:relative;overflow:hidden}
.trust::before{content:"";position:absolute;top:0;left:-30%;width:30%;height:1px;background:linear-gradient(90deg,transparent,var(--ice),transparent);animation:sweep 4s linear infinite}
@keyframes sweep{to{left:130%}}
.trust__in{display:grid;grid-template-columns:repeat(4,1fr)}
.trust__cell{padding:18px 26px;border-right:1px solid var(--line)}
.trust__cell:last-child{border-right:none}
.trust__num{font-family:var(--disp);font-size:35px;font-weight:600;letter-spacing:-.02em}
.trust__num em{font-style:normal;color:var(--ice)}
.trust__lbl{font-size:var(--fs-sm);color:var(--faint);margin-top:5px;font-weight:500}

/* ---------- THESIS — typographic statement ---------- */
.thesis{padding:clamp(48px, 6vw, 72px) 0 var(--f-sect-y);background:var(--base);position:relative;overflow:hidden}
.statement{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4.4vw,52px);letter-spacing:-.032em;line-height:1.16;
  max-width:17em;margin:26px 0 30px}
.rw{color:rgba(155,160,255,.16);transition:color .35s ease;-webkit-text-stroke:.2px rgba(155,160,255,.05)}
.rw.lit{color:var(--text)}
.rw--acc.lit{background:linear-gradient(95deg,var(--indigo-soft),var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.thesis__sub{font-size:17px;color:var(--muted);max-width:58em}
.dostrip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:64px}
.dox{padding:6px 34px 0;border-left:1px solid var(--line-2)}
.dox__num{font-family:var(--disp);font-size:var(--fs-sm2);font-weight:600;color:var(--indigo-soft);letter-spacing:.08em;margin-bottom:10px}
.dox h3{font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:-.015em;margin-bottom:8px}
.dox p{font-size:var(--fs-sm2);color:var(--muted);max-width:24em}
.knowline{display:inline-flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:80px}
.knowline b{font-family:var(--disp);font-size:clamp(19px,2.2vw,24px);font-weight:600;letter-spacing:-.018em;color:var(--text)}
.knowline a{font-size:var(--fs-sm);font-weight:600;color:var(--ice);display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid rgba(123,212,245,.35);padding-bottom:2px}
.knowline a .arr{transition:transform .25s}
.knowline a:hover .arr{transform:translateX(4px)}
/* ---------- CAPABILITIES — bento ---------- */
.capsec{padding:var(--f-sect-y) 0 var(--f-sect-y);background:radial-gradient(ellipse 90% 60% at 50% 8%,#101129 0%,var(--base-2) 45%,#0B0C1D 100%);border-top:1px solid var(--line);position:relative;overflow:hidden}
.ghost{position:absolute;top:40px;left:50%;transform:translateX(-50%);font-family:var(--disp);font-weight:700;font-size:clamp(120px,17vw,230px);
  letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(155,160,255,.1);white-space:nowrap;pointer-events:none;user-select:none;will-change:transform}
.caphd{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:54px}
.caphd h2{font-family:var(--disp);font-weight:600;font-size:clamp(32px,4.4vw,48px);letter-spacing:-.032em;line-height:1.08;margin-top:16px}
.caphd .grad{background:linear-gradient(95deg,var(--indigo-soft),var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.caphd__side p{color:var(--muted);font-size:16.5px;margin-bottom:14px}
.caphd__meta{font-size:var(--fs-xs);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:10px}
.caphd__meta::before{content:"";width:34px;height:1px;background:var(--line-2)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.bcard{--ac:#9BA0FF;--mx:50%;--my:50%;position:relative;display:flex;flex-direction:column;border-radius:24px;padding:36px 32px 28px;
  background:linear-gradient(172deg,#1B1D40 0%,#14152F 55%,#101126 100%);border:1px solid var(--line-2);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 26px 56px -30px rgba(0,0,0,.9),0 10px 26px -14px rgba(0,0,0,.55);
  transition:border-color .3s,transform .3s,box-shadow .3s;will-change:transform}
.bcard::after{content:"";position:absolute;top:0;left:26px;right:40%;height:2.5px;border-radius:0 0 4px 4px;
  background:linear-gradient(90deg,var(--ac),transparent);opacity:.85;transition:right .35s}
.bcard:hover::after{right:18%}
.bcard--7{grid-column:span 7;min-height:500px}
.bcard--5{grid-column:span 5;min-height:500px}
.bc--cyan{--ac:#7BD4F5}.bc--indigo{--ac:#9BA0FF}.bc--mint{--ac:#5BE8A8}.bc--violet{--ac:#C9A6FF}
.bcard::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .4s;pointer-events:none;
  background:radial-gradient(440px circle at var(--mx) var(--my),color-mix(in srgb,var(--ac) 13%,transparent),transparent 65%)}
.bcard:hover::before{opacity:1}
.bcard:hover{border-color:color-mix(in srgb,var(--ac) 48%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 34px 70px -34px color-mix(in srgb,var(--ac) 42%,transparent),0 26px 56px -30px rgba(0,0,0,.9)}
.bcard__num{position:absolute;top:16px;right:26px;font-family:var(--disp);font-weight:700;font-size:64px;line-height:1;
  color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--ac) 32%,transparent);user-select:none;pointer-events:none}
.bcard__ico{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  background:color-mix(in srgb,var(--ac) 13%,transparent);color:var(--ac);border:1px solid color-mix(in srgb,var(--ac) 28%,transparent);
  transition:transform .3s}
.bcard:hover .bcard__ico{transform:scale(1.08) rotate(-4deg)}
.bcard__trow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.bcard h3{font-family:var(--disp);font-size:23px;font-weight:600;letter-spacing:-.02em}
.bcard__badge{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.1em;color:#0A0A18;background:var(--ac);padding:4px 11px;border-radius:20px}
.bcard__sum{color:var(--muted);font-size:var(--fs-base);margin-bottom:18px;max-width:34em}
.bcard ul{display:flex;flex-direction:column;gap:9px;position:relative;z-index:2}
.bcard li{font-size:var(--fs-sm2);color:var(--muted);padding-left:20px;position:relative}
.bcard li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:1.5px;background:var(--ac);border-radius:2px}
.bcard__go{margin-top:auto;padding-top:20px;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;
  color:var(--ac);position:relative;z-index:2;width:fit-content}
.bcard__go::before{content:"";position:absolute;top:10px;left:0;right:0;height:1px;background:var(--line)}
.bcard__go .arr{transition:transform .25s}
.bcard__go:hover .arr{transform:translateX(5px)}
.bmotif{position:absolute;pointer-events:none;color:var(--ac)}
.bmotif--orbit{top:-26px;right:-26px;width:240px;height:240px;opacity:.5}
.bmotif--orbit .orbitspin{animation:spinslow 36s linear infinite;transform-origin:50% 50%}
.bmotif--spark{right:26px;bottom:84px;width:42%;max-width:300px;opacity:.75}
.bmotif--spark .adot{animation:pulse 1.8s infinite}
.bmotif--docs{top:30px;right:30px;width:88px;opacity:.4}
.bmotif--chat{top:30px;right:32px;width:84px;opacity:.4}

/* ============================================================
   LIGHT BRIEFING — diagonal cuts in/out
   ============================================================ */
.briefing{background:var(--lt-bg);color:var(--lt-text);position:relative;
  clip-path:polygon(0 3.2vw,100% 0,100% calc(100% - 3.2vw),0 100%);
  margin-top:-3.2vw;padding-top:3.2vw;padding-bottom:3.2vw;margin-bottom:-3.2vw}
.briefing .fnd-kicker{color:var(--indigo-deep)}
.briefing .sec-hd p{color:var(--lt-muted)}
.brief-mark{display:flex;align-items:center;gap:14px;padding:70px 0 0;font-size:var(--fs-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lt-faint)}
.brief-mark::before,.brief-mark::after{content:"";height:1px;background:var(--lt-line);flex:1}
.briefing .deco--ring{border-color:rgba(27,28,154,.15)}
.briefing .deco--dots{background-image:radial-gradient(rgba(27,28,154,.18) 1.2px,transparent 1.2px)}

.maturity{padding:calc(var(--f-sect-y) - 20px) 0 var(--f-sect-y);position:relative}
.stages{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:18px;align-items:end}
.stage{background:var(--lt-surface);border:1px solid var(--lt-line);border-radius:20px;padding:30px 28px;position:relative;
  box-shadow:0 14px 36px -22px rgba(27,28,154,.25);transition:transform .35s,box-shadow .35s}
.stage:hover{transform:translateY(-6px);box-shadow:0 28px 56px -26px rgba(27,28,154,.4)}
.stage--1{min-height:330px}.stage--2{min-height:380px}
.stage--3{min-height:430px;background:linear-gradient(170deg,#FFFFFF,#F2F3FF);border-color:rgba(27,28,154,.3);
  box-shadow:0 26px 60px -26px rgba(27,28,154,.4)}
.stage__lvl{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;row-gap:8px;margin-bottom:14px}
.stage__num{font-family:var(--disp);font-size:var(--fs-sm2);font-weight:600;color:var(--lt-faint);letter-spacing:.08em;white-space:nowrap}
.stage--3 .stage__num{color:var(--indigo-deep)}
.stage__tag{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lt-faint);border:1px solid var(--lt-line);padding:4px 10px;border-radius:20px;white-space:nowrap}
.stage--3 .stage__tag{color:#fff;background:var(--indigo-deep);border-color:var(--indigo-deep)}
.stage--1 .stage__lvl,.stage--2 .stage__lvl{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:8px}
.stage h3{font-family:var(--disp);font-size:21px;font-weight:600;letter-spacing:-.02em;margin-bottom:14px}
.stage ul{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.stage li{font-size:var(--fs-sm);color:var(--lt-muted);padding-left:18px;position:relative}
.stage li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:1.5px;background:var(--lt-faint)}
.stage--3 li::before{background:var(--indigo-deep)}
.stage__ex{border-top:1px solid var(--lt-line);padding-top:14px;font-size:var(--fs-xs);color:var(--lt-faint)}
.stage__ex b{display:block;font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-weight:600}
.stage__ex span{color:var(--lt-muted);font-weight:500}


/* ============================================================
   ARCHITECTURE
   ============================================================ */
.arch{padding:var(--f-sect-y-lg) 0 var(--f-sect-y);background:var(--base);position:relative;overflow:hidden}
.archflow{display:grid;grid-template-columns:1fr 64px 1fr 64px 1fr 64px 1fr;align-items:stretch}
.anode{padding:26px 22px 22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);position:relative;z-index:2;transition:border-color .25s,transform .3s}
.anode:hover{border-color:var(--line-2);transform:translateY(-4px)}
.anode--hot{border-color:rgba(94,99,242,.55);background:linear-gradient(165deg,var(--surface-2),var(--surface));
  box-shadow:0 24px 60px -28px rgba(94,99,242,.5)}
.anode__step{font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;color:var(--faint)}
.anode--hot .anode__step{color:var(--indigo-soft)}
.anode__ico{width:38px;height:38px;border-radius:11px;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;margin:14px 0 13px;color:var(--indigo-soft)}
.anode--hot .anode__ico{background:rgba(94,99,242,.15)}
.anode h3{font-family:var(--disp);font-size:17px;font-weight:600;letter-spacing:-.015em;margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.anode .pill{font-size:var(--fs-2xs);font-weight:600;color:#0A0A18;background:var(--ice);padding:2px 9px;border-radius:20px;letter-spacing:.06em}
.anode ul{display:flex;flex-direction:column;gap:7px}
.anode li{font-size:var(--fs-sm);color:var(--muted);padding-left:16px;position:relative}
.anode li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--indigo-soft)}
.anode__tag{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}
.aconn{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0 6px}
.aconn__lbl{font-size:var(--fs-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--indigo-soft);text-align:center;line-height:1.3}
.aconn__wire{width:100%;height:2px;border-radius:2px;background:var(--line-2);position:relative;overflow:visible}
.aconn__wire::before{content:"";position:absolute;top:50%;left:0;width:5px;height:5px;border-radius:50%;background:var(--ice);
  box-shadow:0 0 10px var(--ice);transform:translateY(-50%);animation:dotrun 2.2s linear infinite}
@keyframes dotrun{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 5px);opacity:0}}
.arch__insight{display:flex;gap:18px;align-items:flex-start;margin-top:44px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.arch__insight-ico{width:38px;height:38px;border-radius:11px;background:rgba(123,212,245,.12);color:var(--ice);display:flex;align-items:center;justify-content:center;flex:none}
.arch__insight p{color:var(--muted);font-size:var(--fs-base)}
.arch__insight strong{color:var(--text);font-weight:500}

/* ---------- STACK ---------- */
.stack{padding:120px 0;background:var(--base-2);border-top:1px solid var(--line);position:relative;overflow:hidden}
.stack__side{position:absolute;left:-14px;top:50%;transform:rotate(180deg) translateY(50%);writing-mode:vertical-rl;
  font-family:var(--disp);font-weight:700;font-size:60px;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(155,160,255,.12);user-select:none;pointer-events:none}
.stack__layers{display:flex;flex-direction:column;gap:10px;max-width:880px}
.layer{display:grid;grid-template-columns:190px 1fr 1fr;gap:24px;align-items:center;padding:18px 24px;
  border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:border-color .2s,transform .25s}
.layer:hover{border-color:var(--line-2);transform:translateX(6px)}
.layer--hot{border-color:rgba(123,212,245,.4);background:linear-gradient(120deg,var(--surface-2),var(--surface))}
.layer__name{font-family:var(--disp);font-weight:600;font-size:var(--fs-base);letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.layer--hot .layer__name{color:var(--ice)}
.layer__what{font-size:var(--fs-sm);color:var(--muted)}
.layer__tools{font-size:var(--fs-sm);color:var(--faint);text-align:right}
.layer--hot .layer__tools{color:var(--muted)}
.stack__foot{margin-top:22px;font-size:var(--fs-sm);color:var(--faint)}

/* ---------- INTEGRATIONS — dual marquee ---------- */
.integ{padding:120px 0;background:var(--base);position:relative;overflow:hidden}
.marq{overflow:hidden;position:relative;padding:8px 0;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq__track{display:flex;gap:14px;width:max-content;animation:marq 38s linear infinite}
.marq--rev .marq__track{animation:marqrev 42s linear infinite}
.marq:hover .marq__track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
@keyframes marqrev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tcard{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px 18px;flex:none;transition:border-color .2s}
.tcard:hover{border-color:var(--line-2)}
.tcard--feat{border-color:rgba(123,212,245,.4)}
.tcard__logo{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-xs);flex:none;color:#fff}
.tcard b{display:block;font-size:var(--fs-sm);font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.tcard span{display:block;font-size:var(--fs-2xs);color:var(--faint);white-space:nowrap}
.tcard--feat span{color:var(--ice)}
.integ__feature{display:flex;align-items:center;gap:18px;margin-top:34px;padding:22px 26px;border:1px solid rgba(123,212,245,.3);border-radius:16px;
  background:linear-gradient(120deg,rgba(123,212,245,.06),transparent 60%)}
.integ__feature-badge{font-family:var(--disp);font-weight:600;font-size:var(--fs-sm2);color:#fff;background:#1496FF;border-radius:10px;padding:10px 16px;flex:none}
.integ__feature p{font-size:var(--fs-sm2);color:var(--muted)}
.integ__feature strong{color:var(--text);font-weight:600}

/* ============================================================
   WHY — petrol chapter, pillar accordion
   ============================================================ */
.why{padding:150px 0;background:linear-gradient(168deg,#072A35 0%,#05222C 55%,#041B23 100%);position:relative;overflow:hidden;
  clip-path:polygon(0 0,100% 3vw,100% 100%,0 calc(100% - 3vw));margin:-3vw 0;padding-top:calc(150px + 3vw);padding-bottom:calc(150px + 3vw)}
.why__bgring{position:absolute;right:-280px;top:50%;transform:translateY(-50%);width:780px;height:780px;opacity:.1;animation:spinslow 180s linear infinite reverse;pointer-events:none}
.why .fnd-kicker{color:var(--ice)}
.why h2{font-family:var(--disp);font-weight:600;font-size:clamp(29px,3.8vw,42px);letter-spacing:-.03em;line-height:1.1;margin:16px 0 18px;max-width:14em;color:#EDF8FC}
.why__sub{color:rgba(205,232,240,.65);font-size:16px;max-width:38em;margin-bottom:54px}
.pillars{display:flex;gap:14px;min-height:440px;align-items:stretch}
.pillar{flex:1;position:relative;overflow:hidden;cursor:pointer;text-align:left;
  border:1px solid rgba(123,212,245,.16);border-radius:20px;background:rgba(123,212,245,.035);
  padding:26px 24px;display:flex;flex-direction:column;
  transition:flex .6s cubic-bezier(.25,.8,.25,1),background .4s,border-color .4s}
.pillar:hover{border-color:rgba(123,212,245,.4)}
.pillar.on{flex:3.4;background:linear-gradient(170deg,rgba(123,212,245,.11),rgba(123,212,245,.02));
  border-color:rgba(123,212,245,.5);cursor:default;
  box-shadow:0 30px 70px -36px rgba(4,18,24,.9),inset 0 1px 0 rgba(255,255,255,.05)}
.pillar__num{font-family:var(--mono);font-weight:500;font-size:var(--fs-sm2);color:var(--ice);letter-spacing:.3em}
.pillar__vt{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);writing-mode:vertical-rl;
  font-family:var(--disp);font-weight:600;font-size:16px;letter-spacing:.02em;color:rgba(205,232,240,.55);
  white-space:nowrap;transition:opacity .25s;pointer-events:none}
.pillar.on .pillar__vt{opacity:0}
.pillar__plus{margin-top:auto;width:26px;height:26px;border-radius:8px;border:1px solid rgba(123,212,245,.3);
  display:flex;align-items:center;justify-content:center;color:var(--ice);font-size:var(--fs-base);transition:opacity .25s,transform .3s}
.pillar:hover .pillar__plus{transform:rotate(90deg)}
.pillar.on .pillar__plus{opacity:0}
.pillar__body{opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s;max-width:30em;
  position:absolute;inset:26px 28px;display:flex;flex-direction:column;pointer-events:none}
.pillar.on .pillar__body{opacity:1;transform:none;transition-delay:.22s;pointer-events:auto}
.pillar__body .pillar__num{margin-bottom:auto}
.pillar__claim{font-family:var(--disp);font-size:clamp(20px,2.3vw,27px);font-weight:600;letter-spacing:-.025em;line-height:1.22;color:#F0FAFD;margin-bottom:14px}
.pillar__sup{font-size:var(--fs-sm2);line-height:1.65;color:rgba(205,232,240,.68)}
.pillar__rule{width:44px;height:2.5px;border-radius:2px;background:linear-gradient(90deg,var(--ice),transparent);margin-bottom:18px}
/* ============================================================
   FOUNDATION — "also engineered in" secondary tier (formerly the
   standalone Security & Compliance section, consolidated in)
   ============================================================ */
.fnd__extra{margin-top:38px;padding-top:32px;border-top:1px solid var(--lt-line)}
.fnd__extra-lbl{display:block;font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.18em;color:var(--lt-faint);margin-bottom:16px}
.fnd__extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fnd__xcard{display:flex;align-items:flex-start;gap:12px;background:var(--lt-surface);border:1px solid var(--lt-line);border-radius:14px;padding:16px 18px;transition:border-color .2s}
.fnd__xcard:hover{border-color:rgba(27,28,154,.3)}
.fnd__xico{flex:none;width:32px;height:32px;border-radius:9px;border:1px solid rgba(27,28,154,.18);color:var(--indigo-deep);
  display:flex;align-items:center;justify-content:center;background:rgba(27,28,154,.06)}
.fnd__xcard b{display:block;font-size:var(--fs-sm2);font-weight:600;color:var(--lt-text);margin-bottom:3px}
.fnd__xcard span{font-size:var(--fs-xs);color:var(--lt-muted);line-height:1.5}
@media(max-width:900px){.fnd__extra-grid{grid-template-columns:1fr}}

/* ---------- TESTIMONIALS ---------- */
.testi{padding:var(--f-sect-y) 0;background:var(--base);position:relative;overflow:hidden}
.testi__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:start}
.quote{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px 30px;position:relative;transition:border-color .25s,transform .3s}
.quote:hover{border-color:var(--line-2);transform:translateY(-5px)}
.quote--feat{border-color:rgba(94,99,242,.45);background:linear-gradient(170deg,var(--surface-2),var(--surface))}
.quote__mark{font-family:var(--disp);font-size:54px;line-height:.6;color:var(--indigo);margin-bottom:18px}
.quote p{font-size:var(--fs-sm2);color:var(--muted);margin-bottom:20px}
.quote__chip{display:inline-block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;padding:6px 13px;border-radius:20px;margin-bottom:20px;
  background:rgba(123,212,245,.1);color:var(--ice);border:1px solid rgba(123,212,245,.25)}
.quote__who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.quote__av{width:38px;height:38px;border-radius:50%;background:linear-gradient(140deg,var(--indigo),var(--ice));display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:600;color:#fff;flex:none}
.quote__who b{display:block;font-size:var(--fs-sm);font-weight:600}
.quote__who span{display:block;font-size:var(--fs-xs);color:var(--faint)}
.testi__note{margin-top:24px;font-size:var(--fs-sm);color:var(--faint)}


/* ---------- FAQ ---------- */
.faq{padding:var(--f-sect-y) 0;background:var(--base);position:relative;overflow:hidden}
.faq__cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.faq__intro{position:sticky;top:120px}
.faq__intro h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,3.6vw,40px);letter-spacing:-.026em;line-height:1.1;margin:16px 0 16px}
.faq__intro p{color:var(--muted);font-size:16px;margin-bottom:28px}
.faq__list{display:flex;flex-direction:column}
.fitem{border-bottom:1px solid var(--line)}
.fitem:first-child{border-top:1px solid var(--line)}
.fq{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;padding:22px 4px;
  font-family:var(--disp);font-size:16.5px;font-weight:600;letter-spacing:-.012em;color:var(--text);transition:color .2s,padding-left .25s}
.fq:hover{color:var(--indigo-soft);padding-left:10px}
.fq svg{flex:none;transition:transform .3s;color:var(--faint)}
.fitem.open .fq svg{transform:rotate(45deg);color:var(--indigo-soft)}
.fa{max-height:0;overflow:hidden;transition:max-height .35s ease}
.fa p{font-size:var(--fs-sm2);color:var(--muted);padding:0 4px 24px;max-width:54em}
.fa strong{color:var(--text);font-weight:600}

/* ============================================================
   PAVILION
   ============================================================ */
.pavilion{padding:var(--f-sect-y) 0;background:var(--base-2);border-top:1px solid var(--line);position:relative;overflow:hidden}
.pavilion::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(155,160,255,.09) 1px,transparent 1px);background-size:26px 26px;
  mask-image:radial-gradient(ellipse 80% 55% at 50% 0%,#000 20%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 80% 55% at 50% 0%,#000 20%,transparent 75%)}
.mockbadge{display:inline-flex;align-items:center;gap:9px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;
  color:var(--warnc);border:1px solid rgba(242,185,92,.4);border-radius:20px;padding:6px 14px;margin-top:14px}
.mockbadge i{width:7px;height:7px;border-radius:50%;background:var(--warnc);animation:pulse 2s infinite}
.ptabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.ptab{display:inline-flex;align-items:center;gap:9px;font-size:var(--fs-sm);font-weight:600;color:var(--muted);
  border:1px solid var(--line);border-radius:12px;padding:11px 18px;transition:all .25s;background:var(--surface)}
.ptab:hover{color:var(--text);border-color:var(--line-2);transform:translateY(-1px)}
.ptab.on{color:#fff;background:var(--indigo);border-color:var(--indigo);box-shadow:0 8px 24px -8px rgba(94,99,242,.6)}
.ppanel{display:none;background:var(--surface);border:1px solid var(--line-2);border-radius:22px;padding:30px;min-height:430px;animation:panelin .4s cubic-bezier(.2,.7,.3,1)}
@keyframes panelin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ppanel.on{display:block}
.ppanel__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.ppanel__hd h3{font-family:var(--disp);font-size:20px;font-weight:600;letter-spacing:-.015em}
.ppanel__hd span{display:block;font-size:var(--fs-sm);color:var(--faint);margin-top:4px;max-width:42em}
.rag__bar{display:flex;gap:12px;margin-bottom:22px}
.rag__bar input{flex:1;background:var(--base-2);border:1px solid var(--line-2);border-radius:12px;padding:13px 18px;color:var(--text);font:inherit;font-size:var(--fs-sm2)}
.rag__bar input::placeholder{color:var(--faint)}
.rag__bar input:focus{outline:2px solid var(--indigo);outline-offset:1px}
.pipe{display:flex;align-items:center;gap:0;margin-bottom:24px;flex-wrap:wrap}
.pipe__s{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:600;color:var(--faint);letter-spacing:.03em}
.pipe__dot{width:9px;height:9px;border-radius:50%;border:2px solid var(--line-2);transition:all .3s}
.pipe__s.lit .pipe__dot{background:var(--indigo-soft);border-color:var(--indigo-soft);box-shadow:0 0 10px rgba(155,160,255,.7)}
.pipe__s.lit{color:var(--text)}
.pipe__l{width:34px;height:1px;background:var(--line-2);margin:0 10px}
.rag__out{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rag__col h4{font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.rdoc{border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin-bottom:9px;background:var(--base-2)}
.rdoc b{display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-sm);font-weight:600;margin-bottom:3px}
.rdoc b em{font-style:normal;color:var(--ice);font-size:var(--fs-xs)}
.rdoc span{font-size:var(--fs-xs);color:var(--faint)}
.rag__ans{border:1px solid rgba(94,99,242,.4);border-radius:14px;padding:18px 20px;background:linear-gradient(165deg,var(--surface-2),var(--base-2));font-size:var(--fs-sm2);color:var(--muted);min-height:120px}
.agent__top{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.agent__top select{background:var(--base-2);border:1px solid var(--line-2);border-radius:12px;padding:12px 16px;color:var(--text);font:inherit;font-size:var(--fs-sm2)}
.agent__stats{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:var(--fs-xs);color:var(--faint);font-weight:600}
.agent__stats b{color:var(--ice);font-weight:600}
.alog{background:var(--base-2);border:1px solid var(--line);border-radius:14px;padding:18px;min-height:260px;display:flex;flex-direction:column;gap:10px}
.astep{display:flex;gap:12px;align-items:flex-start;opacity:0;animation:apop .4s forwards}
@keyframes apop{to{opacity:1}}
.astep__ico{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;font-size:var(--fs-xs);border:1px solid var(--line-2)}
.astep--think .astep__ico{color:var(--indigo-soft)}
.astep--tool .astep__ico{color:var(--warnc);border-color:rgba(242,185,92,.4)}
.astep--done .astep__ico{color:var(--ok);border-color:rgba(91,232,168,.4)}
.astep__body b{display:block;font-size:var(--fs-sm);font-weight:600}
.astep__body span{font-size:var(--fs-xs);color:var(--faint)}
.anom__bar{display:flex;gap:18px;align-items:center;margin-bottom:18px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--muted);font-weight:500}
.anom__bar input[type=range]{accent-color:var(--indigo);width:170px}
.anom__count{margin-left:auto;font-size:var(--fs-sm);font-weight:600}
.anom__count em{font-style:normal;color:var(--alert)}
#anomCanvas{width:100%;height:240px;background:var(--base-2);border:1px solid var(--line);border-radius:14px}
.chat{display:grid;grid-template-columns:1fr 250px;gap:18px}
.chat__main{display:flex;flex-direction:column;background:var(--base-2);border:1px solid var(--line);border-radius:14px;min-height:320px}
.chat__msgs{flex:1;padding:18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:300px}
.cmsg{max-width:85%;font-size:var(--fs-sm);padding:11px 15px;border-radius:14px;line-height:1.5}
.cmsg--ai{background:var(--surface);border:1px solid var(--line);color:var(--muted);align-self:flex-start;border-bottom-left-radius:4px}
.cmsg--me{background:var(--indigo);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat__in{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line)}
.chat__in input{flex:1;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:11px 15px;color:var(--text);font:inherit;font-size:var(--fs-sm)}
.chat__in input:focus{outline:2px solid var(--indigo);outline-offset:1px}
.chat__side{background:var(--base-2);border:1px solid var(--line);border-radius:14px;padding:18px}
.chat__side h4{font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.chat__side .route{font-size:var(--fs-xs);color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.chat__side .route b{color:var(--ice);font-weight:600}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.qchip{font-size:var(--fs-xs);font-weight:600;color:var(--muted);border:1px solid var(--line-2);border-radius:20px;padding:6px 13px;transition:all .2s}
.qchip:hover{color:var(--text);border-color:var(--indigo-soft);transform:translateY(-1px)}

/* ---------- CONTACT ---------- */
.contact{padding:var(--f-sect-y-lg) 0;background:var(--base);position:relative;overflow:hidden}
.contact__glow{position:absolute;bottom:-380px;left:50%;transform:translateX(-50%);width:1200px;height:700px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(94,99,242,.3),rgba(123,212,245,.06) 60%,transparent 75%);pointer-events:none;will-change:transform}
.contact__grid{position:relative;display:grid;grid-template-columns:1fr;gap:70px;align-items:center;justify-items:center;text-align:center;z-index:2}
.contact__copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(30px,4.2vw,54px);letter-spacing:-.02em;line-height:1.05;margin:16px 0 18px}
.contact__copy p{color:var(--muted);font-size:var(--fs-base);line-height:1.6;max-width:46em;margin-left:auto;margin-right:auto}
.contact__alt{margin-top:30px;display:flex;align-items:center;gap:14px;font-size:var(--fs-sm2);color:var(--faint)}
.cformwrap{position:relative;border-radius:22px;padding:1.5px;background:linear-gradient(var(--g,140deg),var(--indigo),transparent 35%,transparent 65%,var(--ice))}
.cform{background:var(--surface);border-radius:21px;padding:34px 32px}
.cform label{display:block;font-size:var(--fs-sm);font-weight:600;margin-bottom:7px;color:var(--muted)}
.cform input,.cform textarea{width:100%;background:var(--base-2);border:1px solid var(--line-2);border-radius:11px;padding:12px 15px;color:var(--text);font:inherit;font-size:var(--fs-sm2);margin-bottom:18px;transition:border-color .2s}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--indigo);outline-offset:1px}
.cform .err{display:none;font-size:var(--fs-xs);color:var(--alert);margin:-12px 0 14px}
.cform .ok-msg{display:none;font-size:var(--fs-sm2);color:var(--ok);margin-top:14px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1020px){
  .dostrip{grid-template-columns:1fr;gap:34px}
  .dox{padding:6px 0 0 22px}
  .archflow{grid-template-columns:1fr 1fr;gap:14px}
  .aconn{display:none}
  .stages{grid-template-columns:1fr;align-items:stretch}
  .stage--1,.stage--2,.stage--3{min-height:0}
  .faq__cols{grid-template-columns:1fr;gap:40px}
  .faq__intro{position:static}
  .contact__grid{grid-template-columns:1fr;gap:44px}
  .vault__grid{grid-template-columns:1fr 1fr}
  .testi__grid{grid-template-columns:1fr}
  .pillars{flex-direction:column;min-height:0}
  .pillar{min-height:78px;padding:22px 24px}
  .pillar.on{flex:none;min-height:280px}
  .pillar__vt{position:static;transform:none;writing-mode:horizontal-tb;margin-top:10px}
  .pillar__body{position:static;inset:auto;margin-top:14px}
  .pillar.on .pillar__num:first-child,.pillar.on .pillar__vt,.pillar.on .pillar__plus{display:none}
  .pillar__body .pillar__num{margin-bottom:14px}
}
@media(max-width:880px){
  .nav__links,
  .fline__beam,.fbus,.fpulse,.ftrunk{display:none}
  .fline__col--in .fchip::after,.fline__col--out .fchip::before,.fline__col--out .fchip::after{display:none}
  .fline__col--out .fchip{animation:none}
  .fline__cap{display:flex;justify-content:center;gap:26px}
  .fline__cap span{padding:0!important;text-align:center!important}
  .fline__col--in,.fline__col--out{align-items:center;padding:0}
  .bcard--7,.bcard--5{grid-column:span 12;min-height:0}
  .caphd{grid-template-columns:1fr;gap:18px;align-items:start}
  .bmotif--orbit{width:170px;height:170px;opacity:.3}
  .trust__in{grid-template-columns:1fr 1fr}
  .trust__cell:nth-child(2){border-right:none}
  .layer{grid-template-columns:1fr;gap:6px}
  .layer__tools{text-align:left}
  .chat{grid-template-columns:1fr}
  .rag__out{grid-template-columns:1fr}
  .ghost{font-size:96px}
  .compassring{width:600px;height:600px;top:-100px}
  .stack__side{display:none}
}
@media(max-width:560px){
  .archflow{grid-template-columns:1fr}
  .vault__grid{grid-template-columns:1fr}
  .fchip{width:100%;max-width:254px}
}

/* ---------- TYPE SYSTEM: mono technical layer ---------- */
.fnd-kicker{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.18em}
.caphd__meta,.brief-mark,.fline__cap span,.trust__lbl,.creed__railsub,
.anode__tag,.stage__tag,.gapcap{font-family:var(--mono)}
.dox__num,.anode__step,.stage__num,.bcard__num{font-family:var(--mono);font-weight:500}
.mockbadge,.agent__stats,.chat__side h4,.rag__col h4,.pipe__s,.quote__chip,.rdoc b em{font-family:var(--mono)}
.bcard__num{font-size:54px;-webkit-text-stroke-width:1px;top:22px}

/* ==================== extracted block boundary ==================== */

/* ============ Foundry 2 additions ============ */
/* foundation */
.fnd{padding:var(--f-sect-y) 0;background:var(--lt-bg);position:relative}
.fnd .fnd-kicker{color:var(--indigo-deep)}
.fnd .sec-hd h2{color:var(--lt-text)}
.fnd .sec-hd p{color:var(--lt-muted)}
.fnd__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:20px}
.fnd__card{display:flex;flex-direction:column;background:var(--lt-surface);border:1px solid var(--lt-line);border-radius:18px;padding:30px 28px;transition:border-color .25s;box-shadow:0 14px 36px -22px rgba(27,28,154,.18)}
.fnd__card:hover{border-color:rgba(27,28,154,.3)}
.fnd__tag{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.18em;color:var(--indigo-deep)}
.fnd__card h3{font-family:var(--disp);font-weight:600;font-size:20px;letter-spacing:-.02em;margin:12px 0 10px;color:var(--lt-text)}
.fnd__card p{color:var(--lt-muted);font-size:var(--fs-sm2);line-height:1.65}
.fnd__chips{margin-top:34px;display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}
.fnd__chips-lbl{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.18em;color:var(--lt-faint);padding-top:9px;white-space:nowrap}
.fnd__chips-row{display:flex;flex-wrap:wrap;gap:12px}
.fnd__chip-ico{display:flex;align-items:center;justify-content:center;width:68px;height:48px;border-radius:10px;
  background:var(--lt-surface);border:1px solid var(--lt-line);padding:8px 12px;transition:border-color .2s,transform .2s,box-shadow .2s}
.fnd__chip-ico:hover{border-color:var(--indigo-soft);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(27,28,154,.35)}
.fnd__chip-ico img{max-width:100%;max-height:100%;object-fit:contain}
@media(max-width:900px){.fnd__grid{grid-template-columns:1fr;grid-auto-rows:auto}.fnd{padding:64px 0}}

/* platform anatomy */
.anat{padding:var(--f-sect-y) 0;background:var(--base-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.anat__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.anat__card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 26px;transition:border-color .25s,transform .25s}
.anat__ico{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  background:color-mix(in srgb,var(--indigo-soft) 12%,transparent);color:var(--indigo-soft);border:1px solid color-mix(in srgb,var(--indigo-soft) 26%,transparent)}
.anat__card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.anat__card h3{font-family:var(--disp);font-weight:600;font-size:17.5px;letter-spacing:-.015em;margin:0 0 10px}
.anat__card p{color:var(--muted);font-size:var(--fs-sm2);line-height:1.62}
.anat__pill{display:inline-block;font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.16em;color:var(--ice);border:1px solid rgba(123,212,245,.4);border-radius:20px;padding:4px 11px;margin-bottom:12px}
.anat__card--hot{background:linear-gradient(160deg,var(--surface-2),var(--surface));border-color:var(--line-2);box-shadow:0 0 0 1px rgba(94,99,242,.16),0 26px 70px -30px rgba(94,99,242,.5)}
.anat__card--acc{border-style:dashed}
@media(max-width:960px){.anat__grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.anat__grid{grid-template-columns:1fr}.anat{padding:64px 0}}

/* cohere */
.cohere{padding:var(--f-sect-y) 0;background:var(--base);position:relative;overflow:hidden}
.cohere__glow{position:absolute;top:50%;right:-220px;width:640px;height:640px;border-radius:50%;transform:translateY(-50%);
  background:radial-gradient(closest-side,rgba(123,212,245,.16),rgba(94,99,242,.08) 55%,transparent 75%);pointer-events:none}
.cohere__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.cohere__copy h2{font-family:var(--disp);font-weight:600;font-size:clamp(27px,3.4vw,38px);letter-spacing:-.03em;line-height:1.12;margin:16px 0 18px}
.cohere__copy p{color:var(--muted);font-size:var(--fs-base);line-height:1.7;margin-bottom:16px}
.cohere__copy strong{color:var(--text);font-weight:600}
.cohere__card{position:relative;background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--line-2);border-radius:20px;padding:30px 30px 26px;box-shadow:0 0 0 1px rgba(94,99,242,.15),0 30px 80px -30px rgba(94,99,242,.45)}
.cohere__card::before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(140deg,var(--indigo-soft),transparent 35%,transparent 65%,var(--ice));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.7}
.cohere__hd{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.cohere__mark{flex:none;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  background:#fff;box-shadow:0 10px 26px -8px rgba(94,99,242,.5)}
.cohere__badge{font-family:var(--disp);font-weight:600;font-size:19px;letter-spacing:-.02em}
.cohere__sub{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.18em;text-transform:uppercase;color:var(--ice);margin-top:4px}
.cohere__card ul{display:flex;flex-direction:column;gap:16px}
.cohere__card li{display:flex;align-items:flex-start;gap:12px}
.cohere__ico{flex:none;width:28px;height:28px;margin-top:1px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  color:var(--indigo-soft);background:rgba(155,160,255,.12);border:1px solid rgba(155,160,255,.22)}
.cohere__card b{display:block;font-size:var(--fs-sm2);font-weight:600}
.cohere__card li span{display:block;color:var(--muted);font-size:var(--fs-sm);line-height:1.55;margin-top:2px}
@media(max-width:900px){.cohere__grid{grid-template-columns:1fr;gap:34px}.cohere{padding:64px 0}}

/* use case extraction */
.ucx{padding:calc(var(--f-sect-y) * .7) 0;background:var(--lt-bg);color:var(--lt-text)}
.ucx .fnd-kicker{color:var(--indigo)}
.ucx .sec-hd p{color:var(--lt-muted)}
.ucx__flow{display:grid;grid-template-columns:1fr 1fr .8fr 1fr 1fr .8fr;gap:14px;margin-bottom:44px}
.ucx__ph,.ucx__gate{border-radius:16px;padding:22px 20px;display:flex;flex-direction:column}
.ucx__ph{background:var(--lt-surface);border:1px solid var(--lt-line)}
.ucx__gate{background:var(--lt-text);color:#fff}
.ucx__gate--go{background:var(--indigo)}
.ucx__tag{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.16em;color:var(--lt-faint)}
.ucx__gate .ucx__tag{color:rgba(255,255,255,.65)}
.ucx__ph h3,.ucx__gate h3{font-family:var(--disp);font-weight:600;font-size:var(--fs-base);letter-spacing:-.015em;margin:9px 0 8px}
.ucx__ph p{color:var(--lt-muted);font-size:var(--fs-xs);line-height:1.6;flex:1}
.ucx__gate p{color:rgba(255,255,255,.8);font-size:var(--fs-xs);line-height:1.6;flex:1}
.ucx__out{margin-top:14px;padding-top:12px;border-top:1px solid var(--lt-line);font-family:var(--mono);font-size:var(--fs-2xs);color:var(--indigo)}
.ucx__funnel{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;background:var(--lt-surface);border:1px solid var(--lt-line);border-radius:18px;padding:30px 34px}
.ucx__fstat{text-align:center}
.ucx__fstat b{display:block;font-family:var(--disp);font-weight:600;font-size:clamp(28px,3vw,38px);letter-spacing:-.02em}
.ucx__fstat span{display:block;color:var(--lt-muted);font-size:var(--fs-sm);margin-top:4px;max-width:15em}
.ucx__fstat--zero b{color:var(--indigo)}
.ucx__farr{font-size:22px;color:var(--lt-faint)}
@media(max-width:1020px){.ucx__flow{grid-template-columns:1fr 1fr}.ucx__gate{grid-column:span 2}}
@media(max-width:600px){.ucx__flow{grid-template-columns:1fr}.ucx__gate{grid-column:auto}.ucx{padding:64px 0}}

/* ==================== extracted block boundary ==================== */

/* large screens: 80vw canvas, viewport-scaled type */
@media (min-width:1500px){
  :root{
    --maxw:80vw;
    --fs-2xs:clamp(12px,.82vw,16px);--fs-xs:clamp(13px,.88vw,17px);--fs-sm:clamp(14px,.95vw,18px);--fs-sm2:clamp(15px,1.02vw,19px);--fs-base:clamp(16px,1.08vw,21px);
  }
  .hero__sub{font-size:clamp(17px,1.15vw,23px);max-width:44em}
  .sec-hd p{font-size:clamp(17px,1.12vw,22px)}
  .sec-hd h2{font-size:clamp(30px,3vw,64px)}
  .hero__h1{font-size:clamp(40px,4.6vw,96px)}
  .fnd__card p,.anat__card p{font-size:clamp(14px,.98vw,19px)}
  .cohere__copy p{font-size:clamp(15.5px,1.05vw,21px)}
  .ucx__ph p,.ucx__gate p{font-size:clamp(12.5px,.85vw,17px)}
}

/* ==================== extracted block boundary ==================== */

/* mobile hardening */
html,body{overflow-x:clip}
@media(max-width:560px){
  .hero__h1{font-size:clamp(26px,8vw,40px)}
  .hero__ctas{flex-direction:column;align-items:stretch;gap:12px}
  .hero__ctas a{text-align:center;justify-content:center;padding:15px 20px}
  .fnd__card,.anat__card{padding:22px 20px}
  .cohere__card{padding:22px 20px}
  .ucx__funnel{padding:22px 20px;gap:16px}
  .ucx__farr{transform:rotate(90deg)}
  .fnd__chips{gap:12px}
  .fnd__chips-lbl{padding-top:0}

  /* --- foundry illustration: on hold — hidden entirely on small screens
     for now, to be reworked later. Stacked/core-first rules below are kept
     in place (inert while .fline is hidden) as a starting point for that. --- */
  .fline{display:none}
  .fline{padding-bottom:14px}
  .fline__stage{display:flex;flex-direction:column;align-items:center;gap:20px}
  .fline__col{width:100%}
  .fline__col--in,.fline__col--out{align-items:center;padding:0;gap:8px}
  .fchip{width:100%;max-width:280px}
  .fcore{order:-1;width:200px;padding:16px 16px;margin-bottom:2px}
  .fcore__pins{
    display:block;position:absolute;inset:-15px;z-index:1;pointer-events:none;overflow:visible;
    background-repeat:no-repeat;
    background-image:
      radial-gradient(circle, var(--indigo-soft) 0 3px, transparent 3px),
      radial-gradient(circle, var(--indigo-soft) 0 3px, transparent 3px),
      radial-gradient(circle, var(--indigo-soft) 0 3px, transparent 3px),
      radial-gradient(circle, var(--indigo-soft) 0 3px, transparent 3px),
      radial-gradient(circle, var(--ice) 0 2.2px, transparent 2.2px),
      radial-gradient(circle, var(--ice) 0 2.2px, transparent 2.2px),
      radial-gradient(circle, var(--ice) 0 2.2px, transparent 2.2px),
      radial-gradient(circle, var(--ice) 0 2.2px, transparent 2.2px);
    background-position:
      50% 0, 50% 100%, 0 50%, 100% 50%,
      14% 14%, 86% 14%, 14% 86%, 86% 86%;
    opacity:.75;
    animation:pinpulse 3.2s ease-in-out infinite;
  }
  @keyframes pinpulse{0%,100%{opacity:.45}50%{opacity:.85}}
  .fline__cap{margin-top:4px;gap:18px;flex-wrap:wrap}

  /* --- trust/stats band: sized for a phone, not a desktop stat wall --- */
  .trust__in{grid-template-columns:1fr 1fr}
  .trust__cell{padding:18px 14px}
  .trust__num{font-size:24px}
  .trust__lbl{font-size:var(--fs-2xs);margin-top:3px}
}

/* ============================================================
   METHOD RAIL — ported verbatim (selectors/values) from
   assets/css/main.css + assets/index/index.css, where this
   8-step interactive rail originally lived on the homepage.
   Resolves against this page's own tokens via the --sig/--soft/
   --rule/--card/--card-line/--fg/--dim/--accent aliases above.
   ============================================================ */
.method { padding: var(--f-sect-y) 0; }
.method__glow { background: radial-gradient(720px 460px at 50% 10%, rgba(94, 99, 242, .16), transparent 65%); }
.method__head { max-width: 760px; margin-bottom: clamp(20px, 3vw, 32px); }
.method__lead { margin-bottom: 22px; color: var(--muted); font-size: var(--fs-base); }
.method__lead strong { color: var(--fg); font-weight: 600; }
.method__count { letter-spacing: .12em !important; font-family: var(--mono); font-size: var(--fs-2xs); color: var(--dim); }
.method__count b { color: var(--ice); font-weight: 600; }

.proc__railhead {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .16em;
  color: var(--dim);
  margin-bottom: 26px;
}

.proc__dots { display: none; }
.proc__stepswrap { position: relative; }
.proc__nav { display: none; }

.proc__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
}

.proc__steps::before {
  content: "";
  position: absolute;
  left: 4%; right: 4%; top: 19px;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--rule) 10%, var(--soft) 50%, var(--rule) 90%, transparent);
}

.mstep {
  display: block;
  width: 100%;
  text-align: left;
  font-family: inherit;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background .25s, border-color .25s;
}

.proc .mstep {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: center;
}

.mstep__row { display: flex; align-items: baseline; gap: 14px; }
.proc .mstep__row { display: flex; flex-direction: column; align-items: center; gap: 10px; }

.mstep__num {
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .08em;
  color: var(--dim);
  flex-shrink: 0;
  transition: color .25s;
}

.proc .mstep__num {
  width: 38px; height: 38px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  color: var(--muted);
  background: var(--surface);
  border: 1px solid var(--rule);
  position: relative; z-index: 2;
  transition: all .3s;
}

.mstep__title {
  font-family: var(--disp);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: -.01em;
  color: var(--muted);
  transition: color .25s;
}

.proc .mstep__title {
  font-family: var(--disp);
  font-weight: 500;
  font-size: var(--fs-sm);
  color: var(--muted);
  transition: color .3s;
}

.mstep__meta {
  margin-left: auto;
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .16em;
  color: var(--dim);
  transition: color .25s;
}

.proc .mstep__meta {
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .14em;
  color: var(--ice);
  min-height: 12px;
  margin-left: 0;
}

.mstep__reveal { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s cubic-bezier(.16, .84, .44, 1); }
.proc .mstep__reveal { display: none; }
.mstep__clip { display: block; overflow: hidden; min-height: 0; }
.mstep__desc { display: block; padding: 7px 0 2px 27px; color: var(--muted); font-size: var(--fs-sm2); line-height: 1.6; opacity: 0; transition: opacity .4s ease .1s; }

.proc .mstep:hover .mstep__num { border-color: var(--soft); color: var(--fg); }
.proc .mstep[aria-selected="true"] .mstep__num {
  background: var(--sig);
  border-color: var(--sig);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(94, 99, 242, .18), 0 0 24px -4px rgba(94, 99, 242, .8);
}
.proc .mstep[aria-selected="true"] .mstep__title { color: var(--fg); }

.method__strip {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  border: 1px solid var(--card-line);
  border-radius: 14px;
  padding: 18px 26px;
  background: color-mix(in srgb, var(--card) 60%, transparent);
}
.method__strip-kicker { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .16em; color: var(--ice); white-space: nowrap; }
.method__strip p { margin: 0; color: var(--muted); font-size: var(--fs-sm2); }

@media (max-width: 940px) {
.proc__railhead { margin-bottom: 14px; }
.proc__dotsrow { display: flex; justify-content: center; align-items: center; gap: 14px; margin: 0 0 18px; }
.proc__dots { position: relative; display: flex; justify-content: center; align-items: center; gap: 22px; }
.proc__dots::before {
  content: "";
  position: absolute;
  left: 16px; right: 16px; top: 50%;
  height: 1px;
  background: var(--rule);
  transform: translateY(-50%);
  z-index: 0;
}
.proc__num {
  position: relative; z-index: 1;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
  background: var(--surface);
  border: 1px solid var(--rule);
  opacity: .6;
  transition: all .25s;
}
.proc__num--active {
  width: 38px; height: 38px;
  color: #fff;
  background: var(--sig);
  border-color: var(--sig);
  opacity: 1;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 0 0 5px rgba(94, 99, 242, .18), 0 0 24px -4px rgba(94, 99, 242, .8);
}
.proc__dotsrow .proc__nav { position: static; flex: none; transform: none; width: 36px; height: 36px; font-size: 15px; }
.proc__stepswrap { position: relative; margin: 0 -4px; }
.proc__steps {
  display: flex;
  grid-template-columns: none;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 4px 4px 6px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 16px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 16px), transparent);
}
.proc__steps::-webkit-scrollbar { display: none; }
.proc__steps::before { display: none; }
.proc .mstep {
  flex: 0 0 min(78vw, 320px);
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
  background: var(--card);
  border: 1px solid var(--card-line);
  border-radius: 16px;
  padding: 22px 22px 20px;
  transition: border-color .25s, box-shadow .25s;
}
.proc .mstep[aria-selected="true"] { border-color: var(--sig); box-shadow: 0 0 0 1px var(--sig) inset, 0 18px 40px -26px rgba(94, 99, 242, .55); }
.proc .mstep__row { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; }
.proc .mstep__num { width: 34px; height: 34px; font-size: 12px; flex-shrink: 0; }
.proc .mstep__title { font-size: var(--fs-base); }
.proc .mstep__meta { margin-left: auto; text-align: right; }
.proc .mstep__reveal { display: block; }
.proc .mstep__clip { display: block; overflow: visible; min-height: 0; }
.proc .mstep__desc { display: block; padding: 0; color: var(--muted); font-size: var(--fs-sm2); line-height: 1.6; opacity: 1; }
.proc__nav {
  display: flex; align-items: center; justify-content: center;
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: 42px; height: 42px;
  border-radius: 50%;
  border: 1px solid var(--rule);
  background: color-mix(in srgb, var(--surface) 85%, transparent);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  color: var(--fg);
  font-size: 17px;
  cursor: pointer;
  transition: border-color .25s, background .25s;
}
.proc__nav:hover { border-color: var(--soft); background: var(--card); }
.proc__nav:disabled { opacity: .3; cursor: default; pointer-events: none; }
.proc__detail { display: none; }
}

@media (max-width: 560px) {
.proc .mstep { flex-basis: min(84vw, 300px); padding: 20px 18px 18px; }
}

.stepcard__bg { position: absolute; right: -14px; bottom: -14px; width: 104px; height: 104px; color: var(--soft); opacity: .07; pointer-events: none; transition: opacity .25s; }
.stepcard__idx {
  display: inline-block;
  font-family: var(--mono);
  font-size: var(--fs-2xs);
  letter-spacing: .16em;
  color: var(--ice);
  border: 1px solid rgba(123, 212, 245, .3);
  border-radius: 20px;
  padding: 4px 11px;
  margin-bottom: 14px;
}

.proc__detail {
  position: relative;
  overflow: hidden;
  margin-top: 28px;
  background: var(--card);
  border: 1px solid var(--card-line);
  border-left: 3px solid var(--sig);
  border-radius: 16px;
  padding: 26px 30px 24px;
  min-height: 132px;
}
.proc__detail-bg { width: 128px; height: 128px; right: -16px; bottom: -16px; opacity: 0; transition: opacity .4s; }
.proc__detail-bg.is-art-live { opacity: .1; }
.proc__detail-copy { position: relative; z-index: 1; }
.proc__detail-copy h3 { font-family: var(--disp); font-weight: 600; font-size: clamp(17px, 1.3vw, 22px); letter-spacing: -.015em; color: var(--fg); margin: 12px 0 8px; }
.proc__detail-copy p { margin: 0; color: var(--muted); font-size: var(--fs-base); line-height: 1.62; max-width: 72ch; }
.proc__detail.swap .proc__detail-copy { animation: ycStepIn .45s cubic-bezier(.2, .7, .3, 1); }
@keyframes ycStepIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .proc__detail.swap .proc__detail-copy { animation: none; } }

@media (min-width: 1500px) { .method__head { max-width: 56vw; } }
@media (pointer: coarse) { .mstep { min-height: 44px; } }

/* ============================================================
   NEW PREMIUM COMPONENTS — built from this page's own token
   system (var(--surface)/var(--line)/var(--indigo-soft)/var(--ice)
   etc.), matching the visual language of .fnd__card/.anat__card/
   .bcard/.trust already on this page.
   ============================================================ */

/* 4-up variant of the existing 3-up .dostrip rail cards */
.dostrip--4 { grid-template-columns: repeat(4, 1fr); }
@media(max-width:1020px){ .dostrip--4{ grid-template-columns: 1fr; } }

/* card variant of .dox — same rail content, promoted to standalone
   panels with the page's gradient/border/glow card treatment */
.dostrip--cards { gap: 18px; }
.dox--card {
  border-left: none;
  padding: 30px 26px 26px;
  border-radius: 18px;
  background: linear-gradient(172deg, #1B1D40 0%, #14152F 55%, #101126 100%);
  border: 1px solid var(--line-2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 20px 44px -26px rgba(0,0,0,.85);
  transition: border-color .3s, transform .3s, box-shadow .3s;
}
.dox--card:hover {
  border-color: color-mix(in srgb, var(--indigo-soft) 42%, transparent);
  transform: translateY(-3px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 26px 54px -26px color-mix(in srgb, var(--indigo-soft) 30%, transparent);
}
.dox--card .dox__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  margin-bottom: 16px;
  background: color-mix(in srgb, var(--indigo-soft) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--indigo-soft) 28%, transparent);
  font-size: var(--fs-xs);
}
.dox--card p { max-width: none; }
@media(max-width:1020px){ .dostrip--cards{ grid-template-columns: 1fr; } }

/* even 2-up bento card, alongside the existing --7/--5 sizes */
.bcard--6 { grid-column: span 6; min-height: 460px; }
.bcard--center { grid-column: 4 / span 6; }
@media(max-width:880px){ .bcard--6, .bcard--center{ grid-column: span 12; min-height: 0; } }

/* closing statement + CTA, reused after several sections */
.cta-block { margin-top: 48px; max-width: 46em; }
.cta-block__lead { font-family: var(--disp); font-size: clamp(19px, 2.1vw, 25px); font-weight: 600; letter-spacing: -.018em; color: var(--text); margin-bottom: 12px; }
.cta-block p { color: var(--muted); font-size: var(--fs-sm2); margin-bottom: 8px; max-width: 42em; }
.cta-block .btn { margin-top: 22px; }
.cta-block--center { margin-left: auto; margin-right: auto; text-align: center; }
.cta-block--center p { margin-left: auto; margin-right: auto; }

/* promoted variant — same premium treatment as .bcard (gradient panel,
   top accent line, layered shadow) instead of reading as plain body text */
.cta-block--promo {
  max-width: none;
  padding: 44px 48px;
  border-radius: 24px;
  background: linear-gradient(172deg, #1B1D40 0%, #14152F 55%, #101126 100%);
  border: 1px solid var(--line-2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 26px 56px -30px rgba(0,0,0,.9), 0 10px 26px -14px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
.cta-block--promo::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 46%;
  height: 2.5px;
  transform: translateX(-50%);
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, transparent, var(--indigo-soft), transparent);
  opacity: .9;
}
.cta-block--promo .cta-block__lead {
  font-size: clamp(23px, 2.6vw, 31px);
  max-width: 30em;
  margin-left: auto;
  margin-right: auto;
}
.cta-block--promo p:not(.cta-block__lead) { color: var(--muted); font-size: 17px; max-width: 40em; }
.fnd .cta-block--promo { background: linear-gradient(172deg,#fff 0%,#F3F4FB 100%); border-color: var(--line); }
.fnd .cta-block__lead,.fnd .cta-block p{color:var(--lt-text)}
.fnd .cta-block p{color:var(--lt-muted)}

/* the six lifecycle disciplines, as a connected pill chain rather than
   a run-on sentence — each stage its own tag, joined by a hairline */
.lifecycle-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
.lifecycle-tags li {
  font-family: var(--mono);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--indigo-soft);
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--indigo-soft) 30%, transparent);
  background: color-mix(in srgb, var(--indigo-soft) 9%, transparent);
}
.lifecycle-tags li:not(:last-child) { position: relative; }
.lifecycle-tags li:not(:last-child)::after {
  content: "→";
  margin-left: 10px;
  color: var(--faint);
  font-family: var(--body);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 400;
  display: inline-block;
  position: absolute;
  right: -19px;
  top: 50%;
  transform: translateY(-50%);
}
@media(max-width:720px){ .lifecycle-tags li:not(:last-child)::after{ display:none; } }

/* small mono tag-line used at the foot of a card (comma/middot list) */
.uc__tags { font-family: var(--mono); font-size: var(--fs-2xs); letter-spacing: .02em; line-height: 1.7; color: var(--ice); margin-top: 14px; }
.fnd__card .uc__tags { color: var(--indigo-deep); margin-top: auto; padding-top: 14px; }

/* region statement, paired with an Arabian Peninsula marker map */
.region { padding: var(--f-sect-y) 0; background: var(--base); border-top: 1px solid var(--line); }
.region__grid { display: grid; grid-template-columns: 1fr minmax(260px, 380px); gap: 56px; align-items: center; }
.region__inner { max-width: 62em; text-align: left; }
.region h2 { font-family: var(--disp); font-weight: 600; font-size: clamp(30px, 4.2vw, 54px); letter-spacing: -.02em; line-height: 1.05; margin-bottom: 18px; }
.region p { color: var(--muted); font-size: var(--fs-base); line-height: 1.7; margin-top: 12px; }

.region__map { position: relative; width: 100%; }
.region__map svg { width: 100%; height: auto; overflow: visible; }
.region__pin-ring { fill: none; stroke: var(--indigo-soft); stroke-width: 1.2; opacity: .5; animation: ringpulse 3.2s ease-out infinite; transform-box: fill-box; transform-origin: center; }
.region__pin-dot { fill: var(--ice); }
.region__pin-lbl { font-family: var(--mono); font-size: 11px; letter-spacing: .04em; fill: var(--muted); }
@media(max-width:820px){
  .region__grid { grid-template-columns: 1fr; gap: 36px; }
  .region__map { max-width: 300px; margin: 0 auto; }
}

/* standalone stats band (same visual language as the hero .trust band) */
.proof { padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--base-2); }
.proof__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof__cell { padding: 18px 26px; border-right: 1px solid var(--line); text-align: center; }
.proof__cell:last-child { border-right: none; }
.proof__num { font-family: var(--disp); font-size: 35px; font-weight: 600; letter-spacing: -.02em; }
.proof__num em { font-style: normal; color: var(--ice); }
.proof__lbl { font-size: var(--fs-sm); color: var(--faint); margin-top: 5px; font-weight: 500; }
@media(max-width:880px){ .proof__in{ grid-template-columns: 1fr 1fr; } .proof__cell:nth-child(2){ border-right:none; } }
@media(max-width:560px){ .proof__cell{ padding:18px 14px; } .proof__num{ font-size:24px; } .proof__lbl{ font-size:var(--fs-2xs); margin-top:3px; } }

/* a kicker standing alone (not immediately followed by a .sec-hd h2,
   which normally supplies the gap via its own margin-top) */
.standalone-kicker { display: flex; margin-bottom: 18px; }

/* 4-up variant of .fnd__grid, and a dashed "more to come" card variant */
.fnd__grid--4 { grid-template-columns: repeat(4, 1fr); }
@media(max-width:900px){ .fnd__grid--4{ grid-template-columns: 1fr; } }
.fnd__card--dashed { border-style: dashed; }

.anat__grid--4 { grid-template-columns: repeat(4, 1fr); }
@media(max-width:960px){ .anat__grid--4{ grid-template-columns: 1fr 1fr; } }
@media(max-width:640px){ .anat__grid--4{ grid-template-columns: 1fr; } }

.contact__ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px; justify-content: center; }
@media(max-width:560px){ .contact__ctas{ flex-direction: column; align-items: stretch; } .contact__ctas a{ text-align:center; justify-content:center; } }

.hero--simple {
  padding-top: clamp(72px, 9vw, 116px);
  padding-bottom: clamp(72px, 9vw, 116px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(560px, 74vh, 760px);
}

.hero--simple .compassring { top: -220px; }

/* subtle vertical light-line pattern behind the hero content, evenly
   spaced hairlines fading top/bottom — adds depth without competing
   with the compass-ring ornament */
.hero--simple::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .5;
  background-image: repeating-linear-gradient(90deg, var(--line-2) 0, var(--line-2) 1px, transparent 1px, transparent 120px);
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
  mask-image: linear-gradient(180deg, transparent, #000 18%, #000 82%, transparent);
}
