/* Dring website design system, light. Brand: navy #011838, sky #62A4FF. */
:root{
  color-scheme:light;
  --bg:#FFFFFF;
  --bg-soft:#F6F8FD;
  --tint:#EBF3FF;
  --tint-2:#DCE9FF;
  --ink:#011838;
  --ink-2:#2B3A5C;
  --muted:#66738F;
  --line:#E4EAF5;
  --line-strong:#C9D5EA;
  --sky:#62A4FF;
  --sky-text:#2F6FD1;
  --sky-deep:#1B4FA8;
  --navy:#011838;
  --navy-2:#0A2450;
  --green:#16A34A;
  --glow:rgba(98,164,255,.35);
  --display:'Bricolage Grotesque','Manrope','Helvetica Neue',Arial,sans-serif;
  --body:'Manrope','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --r:16px;
  --r-sm:10px;
  --max:1200px;
  --shadow:0 1px 2px rgba(1,24,56,.04),0 24px 60px -30px rgba(1,24,56,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@view-transition{navigation:auto}
body{margin:0;background:var(--bg);color:var(--ink-2);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
i{font-style:normal}
h1,h2,h3,h4{font-family:var(--display);margin:0;color:var(--ink);text-wrap:balance;letter-spacing:-.02em;overflow-wrap:anywhere}
p{margin:0;overflow-wrap:anywhere}
ul,ol{margin:0;padding:0}
svg{display:block}
:focus-visible{outline:2px solid var(--sky-text);outline-offset:3px;border-radius:6px}
::selection{background:var(--tint-2);color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;width:100%}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 28px;width:100%}
.sec{padding:112px 0;position:relative}
.sec-tint{background:var(--bg-soft)}
.sec-head{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;margin-bottom:56px}
.sec-head .h2{margin-top:18px}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
@media (max-width:860px){.sec-head{grid-template-columns:1fr;gap:18px;margin-bottom:40px}.sec{padding:80px 0}.wrap,.wrap-narrow{padding:0 20px}}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-text);display:inline-flex;align-items:center;gap:10px;font-weight:500}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky-text);flex:none;box-shadow:0 0 0 3px var(--tint)}
.h1{font-size:clamp(38px,6vw,76px);line-height:1;font-weight:600;letter-spacing:-.035em;font-variation-settings:"opsz" 96}
.h2{font-size:clamp(30px,4.2vw,54px);line-height:1.04;font-weight:600;max-width:20ch;font-variation-settings:"opsz" 96}
.h3{font-size:clamp(22px,2.4vw,30px);line-height:1.15;font-weight:600}
h1 em,h2 em,h3 em,.h1 em,.h2 em{font-style:normal;color:var(--sky-text)}
.lede{color:var(--ink-2);font-size:18px;max-width:56ch;line-height:1.6}
.note{background:var(--tint);border:1px solid var(--tint-2);border-radius:var(--r-sm);padding:14px 18px;font-size:14.5px;color:var(--ink-2);margin:20px 0}
.note strong{color:var(--ink)}
.factory-care-note{max-width:980px;margin-left:auto;margin-right:auto}
.quote{margin:0;padding:32px 36px;border-left:3px solid var(--sky);background:var(--bg-soft);border-radius:0 var(--r) var(--r) 0}
.quote p{font-family:var(--display);font-size:clamp(22px,2.6vw,32px);line-height:1.25;color:var(--ink);font-weight:500;letter-spacing:-.02em}
.quote footer{margin-top:14px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prose{font-size:16.5px;line-height:1.7}
.prose h1{font-size:clamp(34px,4.5vw,52px);line-height:1.05;margin-bottom:12px}
.prose h2{font-size:26px;margin:44px 0 12px;line-height:1.2}
.prose h3{font-size:19px;margin:28px 0 8px}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{margin:0 0 16px 22px}
.prose li{margin:4px 0}
.prose li::marker{color:var(--sky-text)}
.prose a{color:var(--sky-text);text-decoration:underline;text-underline-offset:3px}
.prose .meta-line{font-family:var(--mono);font-size:13px;color:var(--muted);margin-bottom:28px}
.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.prose table{font-size:14.5px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;font-weight:600;font-size:15px;line-height:1.2;transition:transform .2s ease,box-shadow .25s ease,background .2s ease,border-color .2s;white-space:nowrap;position:relative;overflow:hidden;min-height:44px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-primary:hover{box-shadow:0 14px 34px -14px rgba(1,24,56,.55)}
.btn-ghost{border:1px solid var(--line-strong);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--ink);background:var(--bg-soft)}
.btn-sky{background:var(--sky);color:var(--navy)}
.btn-sky:hover{box-shadow:0 14px 40px -14px var(--glow)}
.btn svg{width:16px;height:16px;flex:none}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--sky-text)}
.link-arrow::after{content:"";width:14px;height:14px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s}
.link-arrow:hover::after{transform:translateX(4px)}

/* ---------- header ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 0;transform:scaleX(0);background:linear-gradient(90deg,var(--sky-deep),var(--sky));z-index:80}
.hdr{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.logo{display:flex;align-items:center;flex:none}
.logo svg{height:22px;width:auto}
.nav{display:flex;gap:4px;align-items:center}
.nav>li{list-style:none;position:relative}
.nav>li>a,.nav>li>button{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--ink-2);transition:background .2s,color .2s;min-height:40px}
.nav>li>a:hover,.nav>li>button:hover,.nav>li:focus-within>button,.nav>li.open>button{background:var(--bg-soft);color:var(--ink)}
.nav>li>button svg{width:12px;height:12px;transition:transform .25s}
.nav>li.open>button svg,.nav>li:hover>button svg{transform:rotate(180deg)}
.dd{position:absolute;top:calc(100% + 10px);left:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:18px;display:grid;gap:22px;min-width:560px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;z-index:5;max-height:calc(100vh - 96px);overflow:auto}
.dd.cols-2{grid-template-columns:1fr 1fr;min-width:640px}
.dd.cols-3{grid-template-columns:1fr 1fr 1fr;min-width:820px}
.nav>li:hover .dd,.nav>li:focus-within .dd,.nav>li.open .dd{opacity:1;visibility:visible;transform:none}
.dd h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:6px 12px 8px}
.dd a{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:8px 10px;border-radius:12px;align-items:start;transition:background .2s}
.dd a:hover{background:var(--bg-soft)}
.dd a .ic{width:36px;height:36px;border-radius:10px;background:var(--tint);color:var(--sky-text);display:grid;place-items:center}
.dd a .ic svg{width:18px;height:18px}
.dd a b{display:block;font-size:14px;color:var(--ink);font-weight:600;line-height:1.3}
.dd a span{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}
.dd .plain a{grid-template-columns:1fr;padding:7px 12px;font-size:14px;color:var(--ink-2)}
.dd .plain a:hover{color:var(--ink)}
.dd-customers{position:fixed;top:82px;right:max(16px,calc((100vw - var(--max)) / 2));left:auto;width:min(760px,calc(100vw - 32px));min-width:0;grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);gap:18px;padding:16px;align-items:start}
.dd-customers .plain{display:grid;align-content:start;gap:2px;min-width:0}
.dd-customers .plain h4{margin:4px 12px 7px}
.dd-customers .plain .dd-subhead{margin-top:13px}
.dd-customers .plain .menu-primary{display:block;padding:7px 12px;border:1px solid transparent}
.dd-customers .plain .menu-primary b{font-size:14px}
.dd-customers .plain .menu-primary span{font-size:12px;line-height:1.35}
.dd-customers .plain>a:not(.menu-primary){padding:5px 12px;line-height:1.25}
.dd-customers .feat{min-height:246px}
.dd-customers .feat-kicker{display:block;margin-bottom:12px;color:var(--sky);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.dd .feat{background:var(--navy);color:#fff;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;justify-content:space-between}
.dd .feat b{display:block;color:#fff;font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.dd .feat span{display:block;color:#B8C7E6;font-size:13px;line-height:1.45}
.dd .feat a{padding:0;color:var(--sky);font-weight:600;display:inline-flex;grid-template-columns:none;font-size:13px}
.dd .feat a:hover{background:none}
.hdr-right{display:flex;align-items:center;gap:10px}
.hdr .btn{padding:10px 18px;font-size:14px;min-height:40px}
.menu-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;font-weight:600;min-height:40px}
.menu-btn i{width:18px;height:12px;position:relative;display:block}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,top .3s}
.menu-btn i::before{top:0}.menu-btn i::after{top:10px}
.menu-open .menu-btn i::before{top:5px;transform:rotate(45deg)}
.menu-open .menu-btn i::after{top:5px;transform:rotate(-45deg)}
/* Keep the full menu available until the header has room for every primary
   destination, language control and callback action on one line. */
@media (max-width:1200px){.nav{display:none}}
@media (min-width:1201px){.menu-btn{display:none}}
@media (max-width:560px){.hdr .btn-primary{display:none}.menu-btn span{display:none}.menu-btn{padding:10px 12px}}
@media (max-width:760px){.dd-customers{width:min(680px,calc(100vw - 24px));grid-template-columns:1fr}.dd-customers .feat{min-height:210px}}

/* full menu overlay */
.mega{position:fixed;inset:72px 0 0 0;background:#fff;z-index:69;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility .3s}
.menu-open .mega{opacity:1;visibility:visible;transform:none}
.menu-open{overflow:hidden}
.mega .wrap{padding-top:36px;padding-bottom:60px}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px 28px}
.mega h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mega ul{list-style:none}
.mega li a{display:block;padding:8px 0;font-size:15px;color:var(--ink-2);transition:color .2s,transform .2s}
.mega li a:hover{color:var(--ink);transform:translateX(4px)}
.mega li a.big{font-family:var(--display);font-size:22px;font-weight:600;color:var(--ink);padding:6px 0 10px;letter-spacing:-.02em}
.mega .col{opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.menu-open .mega .col{opacity:1;transform:none}
.menu-open .mega .col:nth-child(2){transition-delay:.06s}.menu-open .mega .col:nth-child(3){transition-delay:.12s}.menu-open .mega .col:nth-child(4){transition-delay:.18s}.menu-open .mega .col:nth-child(5){transition-delay:.24s}.menu-open .mega .col:nth-child(6){transition-delay:.3s}
.mega-foot{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:14px}
/* The full menu keeps category groups readable as the main nav collapses.
   Tablets get two balanced columns; phones use one predictable flow. */
@media (max-width:1200px){
  .mega .wrap{padding-top:28px;padding-bottom:44px}
  .mega-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
  .mega .col{max-width:none;min-width:0}
}
@media (max-width:700px){
  .mega .wrap{padding-top:22px;padding-bottom:34px}
  .mega-grid{grid-template-columns:1fr;gap:28px}
  .mega li a.big{font-size:20px}
}

/* mobile sticky CTA */
.mob-cta{display:none}
@media (max-width:560px){
  .mob-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;gap:8px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:var(--shadow)}
  .mob-cta .btn{flex:1;padding:12px 14px;font-size:14px}
  body{padding-bottom:76px}
}

/* ---------- timed homepage callback ---------- */
/* Keep the delayed CTA inside the visual viewport, even when the browser is
   zoomed or the page is open in a narrow embedded window. */
.timed-cta{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:85;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.timed-cta.show{opacity:1;transform:none;pointer-events:auto}
.timed-cta-card{position:relative;max-height:inherit;overflow:auto;padding:22px 22px 18px;border:1px solid rgba(98,164,255,.3);border-radius:18px;background:var(--navy);box-shadow:0 24px 70px -24px rgba(1,24,56,.6)}
.timed-cta .eyebrow{color:var(--sky)}
.timed-cta .eyebrow::before{background:var(--sky);box-shadow:0 0 0 3px rgba(98,164,255,.16)}
.timed-cta h2{max-width:18ch;margin:14px 38px 10px 0;color:#fff;font-size:clamp(24px,2.2vw,30px);line-height:1.08;letter-spacing:-.025em}
.timed-cta p{max-width:42ch;margin-bottom:20px;color:#B8C7E6;font-size:14px;line-height:1.55}
.timed-cta-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.timed-cta .btn-sky{padding:12px 16px;font-size:14px}
.timed-cta-dismiss{padding:10px 0;color:#B8C7E6;font-size:13px}
.timed-cta-dismiss:hover{color:#fff}
.timed-cta-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#B8C7E6}
.timed-cta-close:hover{background:rgba(255,255,255,.1);color:#fff}
.timed-cta-close svg{width:16px;height:16px}
@media (max-width:900px){
  .timed-cta{left:16px;right:16px;bottom:max(82px,calc(16px + env(safe-area-inset-bottom)));width:auto;max-height:calc(100dvh - 104px)}
}
@media (max-width:560px){
  .timed-cta{left:12px;right:12px;bottom:max(82px,calc(12px + env(safe-area-inset-bottom)));max-height:calc(100dvh - 104px)}
  .timed-cta-card{padding:20px 18px 16px}
  .timed-cta h2{font-size:25px}
  .timed-cta-actions{gap:10px}
}
@media (prefers-reduced-motion:reduce){.timed-cta{transition:none}}

/* A quiet, section-aware note for the platform page. It follows the reader's
   position and keeps the explanation short while the page carries the detail. */
.section-nudge{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:84;width:min(302px,calc(100vw - 36px));opacity:0;transform:translate3d(0,14px,0) scale(.98);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.section-nudge.show{opacity:1;transform:none;pointer-events:auto}
.section-nudge-card{position:relative;overflow:hidden;padding:18px 18px 16px;border:1px solid rgba(98,164,255,.42);border-radius:18px;background:rgba(1,24,56,.96);box-shadow:0 24px 70px -28px rgba(1,24,56,.7);color:#fff}
.section-nudge-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(98,164,255,.16),transparent 45%),radial-gradient(circle at 86% 4%,rgba(142,240,181,.15),transparent 30%);pointer-events:none}
.section-nudge-card>*{position:relative;z-index:1}
.section-nudge-close{position:absolute;z-index:2;top:11px;right:11px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(184,199,230,.28);border-radius:50%;color:#b8c7e6}
.section-nudge-close:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.section-nudge-close svg{width:13px;height:13px}
.section-nudge-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:34px;color:#91a9d0;font:500 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.section-nudge-live{display:inline-flex;align-items:center;gap:7px;color:#8ef0b5}.section-nudge-live i{width:6px;height:6px;border-radius:50%;background:#4ee28a;box-shadow:0 0 0 4px rgba(78,226,138,.12);animation:nudgePulse 1.8s ease-in-out infinite}
.section-nudge-index{color:#62a4ff;white-space:nowrap}
.section-nudge-signal{display:flex;align-items:flex-end;gap:3px;height:25px;margin-top:15px}.section-nudge-signal i{display:block;width:3px;border-radius:3px;background:#62a4ff;animation:nudgeBars 1.4s ease-in-out infinite}.section-nudge-signal i:nth-child(1){height:9px}.section-nudge-signal i:nth-child(2){height:18px;animation-delay:-.35s}.section-nudge-signal i:nth-child(3){height:13px;animation-delay:-.7s}
.section-nudge h2{max-width:18ch;margin:9px 28px 7px 0;color:#fff;font:600 22px/1.08 var(--display);letter-spacing:-.025em}
.section-nudge p{max-width:35ch;margin:0;color:#b8c7e6;font-size:13px;line-height:1.45}
.section-nudge ul{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 14px;padding:0;list-style:none}.section-nudge li{padding:5px 7px;border:1px solid rgba(151,181,226,.25);border-radius:999px;color:#d2ddf0;font:500 9px var(--mono);letter-spacing:.03em}
.section-nudge .link-arrow{color:#8eb9f8;font-size:12px}.section-nudge .link-arrow::after{color:#8eb9f8}
.section-nudge.is-changing .section-nudge-signal i{animation-name:nudgeBarsIn}.section-nudge.is-changing .section-nudge-card{animation:nudgeCardIn .38s ease both}
@keyframes nudgePulse{0%,100%{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@keyframes nudgeBars{0%,100%{transform:scaleY(.65);opacity:.45}50%{transform:scaleY(1);opacity:1}}
@keyframes nudgeBarsIn{0%{transform:scaleY(.2);opacity:.2}60%{transform:scaleY(1.1);opacity:1}100%{transform:scaleY(1);opacity:.8}}
@keyframes nudgeCardIn{0%{opacity:.45;transform:translateY(5px)}100%{opacity:1;transform:none}}
@media (max-width:760px){.section-nudge{right:12px;bottom:calc(18px + env(safe-area-inset-bottom));width:min(264px,calc(100vw - 24px))}.section-nudge-card{padding:16px 15px 14px}.section-nudge h2{font-size:20px}.section-nudge p{font-size:12px}.section-nudge li{font-size:8px}}
@media (max-width:560px){.section-nudge{display:none}}
@media (prefers-reduced-motion:reduce){.section-nudge{transition:none}.section-nudge-live i,.section-nudge-signal i,.section-nudge-card{animation:none!important}}

/* Small production-loop illustration: evidence becomes a reviewed release. */
.learning-loop{margin:24px 0 0;padding:17px 18px 15px;border:1px solid var(--line-strong);border-radius:16px;background:#fff;box-shadow:0 16px 34px -28px rgba(1,24,56,.42);overflow:hidden}
.learning-loop-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid var(--line);color:var(--muted);font:500 9px var(--mono);letter-spacing:.12em;text-transform:uppercase}.learning-loop-head b{display:inline-flex;align-items:center;gap:7px;color:var(--green);font-weight:500;white-space:nowrap}.learning-loop-head b i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.1);animation:learningPulse 1.8s ease-in-out infinite}
.learning-loop-flow{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:7px;padding:20px 0 17px}.learning-step{display:grid;gap:4px;min-width:0;padding:11px 10px;border:1px solid var(--line);border-radius:11px;background:var(--bg-soft);transition:border-color .2s,background .2s,transform .2s}.learning-step strong{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--tint-2);border-radius:50%;color:var(--sky-text);font:500 9px var(--mono)}.learning-step b{color:var(--ink);font:600 13px/1.15 var(--display);overflow-wrap:anywhere}.learning-step small{color:var(--muted);font-size:10px;line-height:1.25;overflow-wrap:anywhere}.learning-step.is-first{animation:learningStep 8s ease-in-out infinite}.learning-step:nth-of-type(3){animation:learningStep 8s ease-in-out -2s infinite}.learning-step:nth-of-type(5){animation:learningStep 8s ease-in-out -4s infinite}.learning-step.is-last{animation:learningStepLast 8s ease-in-out -6s infinite;border-color:rgba(22,163,74,.35);background:#f5fcf7}.learning-loop-flow>i{position:relative;height:1px;background:var(--line-strong)}.learning-loop-flow>i::after{content:"";position:absolute;top:50%;left:0;width:5px;height:5px;border-radius:50%;background:var(--sky);transform:translate(-50%,-50%);animation:learningTravel 2.6s ease-in-out infinite}.learning-loop-flow>i:nth-of-type(2)::after{animation-delay:-.85s}.learning-loop-flow>i:nth-of-type(3)::after{animation-delay:-1.7s}.learning-loop figcaption{}
.learning-loop figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.35}.learning-loop figcaption em{color:var(--sky-text);font:500 10px var(--mono);font-style:normal;letter-spacing:.03em;text-align:right}
@keyframes learningPulse{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@keyframes learningStep{0%,100%{border-color:var(--line);background:var(--bg-soft);transform:none}16%,30%{border-color:var(--sky);background:#f6faff;transform:translateY(-3px);box-shadow:0 9px 18px -17px rgba(98,164,255,.6)}}
@keyframes learningStepLast{0%,100%{transform:none;box-shadow:none}58%,75%{transform:translateY(-3px);box-shadow:0 9px 18px -17px rgba(22,163,74,.6)}}
@keyframes learningTravel{0%,100%{left:0;opacity:.25}45%,60%{left:100%;opacity:1}}
.learning-loop-flow .learning-step:nth-of-type(2){animation:learningStep 8s ease-in-out -2s infinite}.learning-loop-flow .learning-step:nth-of-type(3){animation:learningStep 8s ease-in-out -4s infinite}
@media (max-width:760px){.learning-loop{padding:15px 14px}.learning-loop-head{align-items:flex-start;flex-direction:column;gap:8px}.learning-loop-flow{grid-template-columns:1fr 1fr;gap:8px;padding:15px 0}.learning-loop-flow>i{display:none}.learning-step{padding:10px 9px}.learning-step b{font-size:12px}.learning-loop figcaption{align-items:flex-start;flex-direction:column;gap:7px}.learning-loop figcaption em{text-align:left}}
@media (prefers-reduced-motion:reduce){.learning-loop-head b i,.learning-step,.learning-loop-flow>i::after{animation:none!important}}

/* ---------- breadcrumbs ---------- */
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted);max-width:var(--max);margin:0 auto;padding:22px 28px 0}
.crumbs a:hover{color:var(--ink)}
.crumbs span:last-child{color:var(--ink)}
@media (max-width:860px){.crumbs{padding:18px 20px 0}}

/* ---------- page hero ---------- */
.page-hero,.sec.page-hero{padding:48px 0 40px;position:relative;overflow:hidden}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.page-hero .wrap:not(:has(.hero-card)){grid-template-columns:1fr}
.page-hero .copy{display:grid;gap:22px;justify-items:start;min-width:0;max-width:900px}
.hero-card{justify-self:end;width:100%;max-width:460px}
.hero-card .mock-body{gap:0}
.hero-card .mock-row{padding:11px 0;font-size:13px;gap:18px;align-items:baseline}
.hero-card .mock-row span{flex:none;min-width:96px}
.hero-card .mock-row b{font-family:var(--body);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.hero-card .link-arrow{margin-top:14px;font-size:14px}
@media (max-width:900px){.page-hero .wrap{grid-template-columns:1fr;gap:28px}.hero-card{justify-self:stretch;max-width:none}}
.page-hero .copy>.rv{opacity:1;transform:none}
.page-hero .h1{margin-top:4px;max-width:16ch;font-size:clamp(36px,5.2vw,68px)}
.page-hero .lede{font-size:19px}
.page-hero .actions{margin-top:6px}
.page-hero .stats,.page-hero .kpi-list{margin-top:10px;width:100%}
.hero-art{position:relative;aspect-ratio:1;max-width:460px;width:100%;justify-self:end;min-width:0}
.hero-art canvas{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:900px){.page-hero .wrap{grid-template-columns:1fr;gap:20px}.hero-art{max-width:300px;aspect-ratio:1.6/1;justify-self:center;order:-1}}
@media (max-width:860px){.page-hero{padding:32px 0 24px}}

/* Blog article heroes use the full editorial width: the lede becomes a deliberate right-hand rail instead of leaving an empty column. */
.blog-article-hero{padding:54px 0 48px}
.blog-article-hero .wrap{display:block}
.blog-article-hero .copy{max-width:none;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);column-gap:clamp(48px,7vw,104px);row-gap:22px;align-items:end}
.blog-article-hero .copy>.eyebrow{grid-column:1/-1}
.blog-article-hero .copy>.h1{grid-column:1;max-width:20ch}
.blog-article-hero .copy>.lede{grid-column:2;max-width:42ch;align-self:end;margin:0 0 5px;padding:4px 0 4px 28px;border-left:2px solid var(--blue)}
@media (max-width:900px){
  .blog-article-hero{padding:34px 0 30px}
  .blog-article-hero .copy{grid-template-columns:1fr;gap:18px}
  .blog-article-hero .copy>.eyebrow,.blog-article-hero .copy>.h1,.blog-article-hero .copy>.lede{grid-column:1}
  .blog-article-hero .copy>.lede{max-width:58ch;margin:0;padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}
}
.cta-band .art{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(46vw,560px);aspect-ratio:1;pointer-events:none;opacity:.9}
.cta-band .art canvas{width:100%;height:100%}
@media (max-width:900px){.cta-band .art{display:none}}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:16px}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.cols-4{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}
.card{--mx:50%;--my:50%;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;position:relative;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex;flex-direction:column;gap:12px;min-width:0}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(98,164,255,.14),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}
.card:hover::before{opacity:1}
.card:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:var(--shadow)}
.card>*{position:relative}
.card h3{font-size:19px;font-weight:600;line-height:1.25}
.card p{color:var(--ink-2);font-size:15px;line-height:1.55}
.card .ic{width:42px;height:42px;border-radius:12px;background:var(--tint);display:grid;place-items:center;color:var(--sky-text);transition:transform .3s,background .3s,color .3s}
.card:hover .ic{transform:translateY(-3px);background:var(--navy);color:#fff}
.card .ic svg{width:20px;height:20px}
.card .tag,.tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.card-tint{background:var(--bg-soft)}
.card-link{cursor:pointer}
.card-link .link-arrow{margin-top:auto}
.card-link h3{color:var(--ink)}
.card .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-text);margin-bottom:2px}
.card .display{display:block;font-family:var(--display);font-size:48px;font-weight:600;letter-spacing:0;color:var(--sky-text);line-height:1.05;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media (max-width:640px){.card .display{font-size:38px}}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span,.tags a{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:8px;padding:6px 10px;color:var(--ink-2);background:#fff;transition:border-color .2s,color .2s}
.tags a:hover{border-color:var(--sky-text);color:var(--sky-text)}

/* Team map: keep specialist functions legible as a single operating system. */
#teams .team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#teams .team-card{min-height:258px;padding:22px}
#teams .team-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#teams .team-card .ic{flex:none}
#teams .team-index{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg-soft);color:var(--sky-text);font:500 11px var(--mono);letter-spacing:.06em;transition:background .25s,color .25s,border-color .25s,transform .25s}
#teams .team-card:hover .team-index{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(8deg)}
#teams .team-card h3{max-width:15ch}
#teams .team-card p{margin-top:auto;max-width:29ch}
.team-section-intro{max-width:45ch}
.team-loop{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.team-loop span:not(:first-child){display:inline-flex;align-items:center;gap:24px}
.team-loop span:not(:first-child)::before{content:"";width:22px;height:1px;background:var(--sky);opacity:.7}
.team-loop-label{color:var(--sky-text)}
@media (max-width:1100px){#teams .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){#teams .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-loop{gap:10px 18px}.team-loop span:not(:first-child){gap:18px}}
@media (max-width:520px){#teams .team-grid{grid-template-columns:1fr}#teams .team-card{min-height:0}.team-loop{display:grid;grid-template-columns:1fr;gap:10px}.team-loop span:not(:first-child){gap:10px}.team-loop span:not(:first-child)::before{width:12px}}

/* Industry agent boards: keep every catalogue balanced, then let each card feel like
   a step in the same operational flow instead of an isolated feature tile. */
#agents .grid.cols-3{grid-template-columns:repeat(6,minmax(0,1fr));counter-reset:industry-agent}
#agents .grid.cols-3>.card{grid-column:span 2;min-height:238px;padding-top:62px}
#agents .grid.cols-3>.card{counter-increment:industry-agent}
#agents .grid.cols-3>.card::after{content:counter(industry-agent,decimal-leading-zero);position:absolute;top:22px;right:24px;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font:500 11px var(--mono);letter-spacing:.06em;color:var(--sky-text);background:var(--bg-soft);transition:background .25s,color .25s,border-color .25s,transform .25s}
#agents .grid.cols-3>.card:hover::after{background:var(--navy);border-color:var(--navy);color:#fff;transform:rotate(8deg)}
#agents .grid.cols-3>.card .tags{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);align-items:center}
#agents .grid.cols-3>.card .tags::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--sky-text),var(--sky));transform-origin:left;animation:agentSignal 2.8s ease-in-out infinite}
#agents .grid.cols-3>.card:nth-child(2) .tags::before{animation-delay:-.7s}
#agents .grid.cols-3>.card:nth-child(3) .tags::before{animation-delay:-1.4s}
#agents .grid.cols-3>.card:nth-child(4) .tags::before{animation-delay:-2.1s}
#agents .grid.cols-3:has(> .card:nth-child(4):last-child)>.card{grid-column:span 3}
#agents .grid.cols-3:has(> .card:nth-child(5):last-child)>.card:nth-child(4){grid-column:2/span 2}
#agents .grid.cols-3:has(> .card:nth-child(5):last-child)>.card:nth-child(5){grid-column:4/span 2}
@keyframes agentSignal{0%,100%{opacity:.35;transform:scaleX(.55)}50%{opacity:1;transform:scaleX(1)}}
@media (max-width:900px){
  #agents .grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  #agents .grid.cols-3>.card,
  #agents .grid.cols-3:has(> .card:nth-child(4):last-child)>.card,
  #agents .grid.cols-3:has(> .card:nth-child(5):last-child)>.card:nth-child(4),
  #agents .grid.cols-3:has(> .card:nth-child(5):last-child)>.card:nth-child(5){grid-column:span 1}
}
@media (max-width:560px){#agents .grid.cols-3{grid-template-columns:1fr}}

/* ---------- numbers ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:36px 0}
.stat{border-top:2px solid var(--sky);padding-top:18px;min-width:0}
.stat strong{display:block;font-family:var(--display);font-size:clamp(36px,4vw,56px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat span{display:block;margin-top:10px;color:var(--ink-2);font-size:14.5px;line-height:1.5}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.stats{grid-template-columns:1fr}}
.kpi-list{display:grid;gap:18px}
.kpi{display:grid;grid-template-columns:minmax(170px,240px) minmax(0,1fr);gap:18px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px}
.kpi strong{font-family:var(--display);font-size:clamp(34px,3.6vw,50px);font-weight:600;letter-spacing:-.04em;color:var(--sky-text);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.kpi span{color:var(--ink-2);font-size:14.5px;line-height:1.5}
@media (max-width:480px){.kpi{grid-template-columns:1fr;gap:6px}}

/* ---------- steps / timeline ---------- */
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;position:relative}
.steps li{counter-increment:s;position:relative;padding-top:54px;min-width:0}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--mono);font-size:12px;color:var(--sky-text);width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;background:#fff}
.steps li::after{content:"";position:absolute;top:18px;left:44px;right:-24px;height:1px;background:var(--line)}
.steps li:last-child::after{display:none}
.steps .k{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-text);margin-bottom:6px}
.steps h3{font-size:20px;font-weight:600;margin-bottom:8px;line-height:1.2}
.steps p{color:var(--ink-2);font-size:14.5px;line-height:1.55}
@media (max-width:640px){.steps{grid-template-columns:1fr;gap:18px}.steps li{padding-top:0;padding-left:52px}.steps li::after{top:44px;left:17px;right:auto;width:1px;height:calc(100% - 20px)}}
.factory-loop-scroll{overflow-x:auto;scrollbar-width:thin}
.factory-loop-steps{grid-template-columns:repeat(6,minmax(150px,1fr));gap:20px;min-width:1000px}
.factory-loop-steps li::after{right:-20px}
@media (max-width:640px){.factory-loop-scroll{overflow:visible}.factory-loop-steps{grid-template-columns:1fr;gap:18px;min-width:0}.factory-loop-steps li::after{right:auto}}
.timeline{list-style:none;border-left:1px solid var(--line);display:grid;gap:26px;padding-left:28px}
.timeline li{position:relative}
.timeline li::before{content:"";position:absolute;left:-33px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--sky)}
.timeline time{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sky-text)}
.timeline h3{font-size:19px;margin:6px 0}
.timeline p{color:var(--ink-2);font-size:15px}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--bg-soft)}
tr:last-child td{border-bottom:0}
td strong{color:var(--ink)}
td .btn{padding:10px 16px;font-size:13.5px}

/* ---------- FAQ ---------- */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:20px;padding:20px 0;font-family:var(--display);font-size:19px;font-weight:600;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;transition:transform .3s,background .3s;color:var(--ink-2);font-weight:400}
.faq details[open] summary i{transform:rotate(45deg) scale(.7);background:var(--navy);color:#fff;border-color:var(--navy)}
.faq details p{padding:0 0 24px;color:var(--ink-2);max-width:62ch;font-size:16px}
@media (min-width:900px){
  .wrap:has(> .faq){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
  .wrap:has(> .faq) > .sec-head{grid-template-columns:1fr;margin-bottom:0;position:sticky;top:96px}
  .wrap:has(> .faq) > .faq{max-width:none}
  .wrap:has(> .faq) > .faq-hub-link{grid-column:2;justify-self:start;margin-top:-32px}
}
.faq details p{max-width:none}

/* ---------- FAQ hub ---------- */
.faq-hub-link{margin-top:22px;font-size:14px}
.faq-hero{padding:78px 0 86px;background:var(--bg-soft);border-bottom:1px solid var(--line);overflow:hidden}
.faq-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:72px;align-items:center}
.faq-hero-copy{max-width:720px}
.faq-hero-copy .h1{max-width:12ch;margin-top:18px}
.faq-hero-copy .lede{max-width:62ch;margin-top:22px}
.faq-hero-copy .actions{margin-top:30px}
.faq-hero-visual{position:relative;min-height:342px;padding:22px;border:1px solid var(--line-strong);border-radius:24px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.faq-hero-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;opacity:.52;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 92%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 92%);pointer-events:none}
.faq-hero-top,.faq-hero-foot,.faq-hero-path{position:relative;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.faq-hero-top{justify-content:space-between;color:var(--muted);font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.faq-hero-top span:last-child{display:inline-flex;align-items:center;gap:8px;color:var(--green)}
.faq-hero-top i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:pulse 1.8s infinite}
.faq-hero-question{position:relative;margin-top:48px;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:rgba(246,248,253,.88);box-shadow:0 18px 32px -28px rgba(1,24,56,.35)}
.faq-hero-question small{display:block;color:var(--sky-text);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.faq-hero-question strong{display:block;max-width:19ch;margin-top:11px;color:var(--ink);font:600 clamp(22px,2.5vw,30px)/1.12 var(--display);letter-spacing:-.03em}
.faq-hero-question p{max-width:38ch;margin-top:12px;color:var(--ink-2);font-size:14px;line-height:1.5}
.faq-hero-path{justify-content:flex-start;margin-top:28px;color:var(--ink);font:600 13px var(--mono);letter-spacing:.04em}
.faq-hero-path span{padding:8px 11px;border:1px solid var(--line-strong);border-radius:999px;background:#fff}
.faq-hero-path i{position:relative;width:34px;height:1px;background:var(--sky);overflow:visible}
.faq-hero-path i::after{content:"";position:absolute;top:50%;left:0;width:6px;height:6px;border-radius:50%;background:var(--sky-text);transform:translate(-50%,-50%);animation:faqPathFlow 2.8s ease-in-out infinite}
.faq-hero-path i:nth-of-type(2)::after{animation-delay:-1.4s}
.faq-hero-foot{justify-content:space-between;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@keyframes faqPathFlow{0%,100%{left:0;opacity:.25}45%,60%{left:100%;opacity:1}}
.faq-index{padding-top:96px;padding-bottom:96px}
.faq-jump-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.faq-jump{display:grid;align-content:start;gap:10px;min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .25s,box-shadow .25s,transform .25s}
.faq-jump:hover{border-color:var(--sky);box-shadow:0 18px 34px -28px rgba(1,24,56,.45);transform:translateY(-3px)}
.faq-jump>span{color:var(--sky-text);font:11px var(--mono);letter-spacing:.12em}
.faq-jump strong{color:var(--ink);font:600 18px/1.2 var(--display);letter-spacing:-.02em}
.faq-jump small{min-height:42px;color:var(--muted);font-size:13px;line-height:1.5}
.faq-jump b{margin-top:6px;color:var(--sky-text);font:600 12px var(--mono);letter-spacing:.05em}
.faq-category .wrap{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:64px;align-items:start}
.faq-category .sec-head{display:block;margin:0;position:sticky;top:96px}
.faq-category .sec-head .h2{margin-top:18px}
.faq-category .sec-head .lede{margin-top:20px}
.faq-category .faq{max-width:none}
.faq-category .faq summary{padding:22px 0;font-size:20px}
.faq-category .faq details p{max-width:68ch;padding-bottom:26px;line-height:1.65}
@media (max-width:1000px){.faq-hero .wrap{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:40px}.faq-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-category .wrap{gap:42px}}
@media (max-width:900px){.faq-hero{padding:56px 0 64px}.faq-hero .wrap,.faq-category .wrap{grid-template-columns:1fr;gap:34px}.faq-category .sec-head{position:static}.faq-category .faq summary{font-size:18px}.faq-index{padding-top:80px;padding-bottom:80px}}
@media (max-width:560px){.faq-hero .wrap{gap:28px}.faq-hero-copy .h1{max-width:none}.faq-hero-copy .lede{font-size:16px}.faq-hero-visual{min-height:310px;padding:16px;border-radius:var(--r)}.faq-hero-question{margin-top:34px;padding:18px}.faq-hero-question strong{font-size:23px}.faq-hero-path{gap:8px;margin-top:22px;font-size:11px}.faq-hero-path i{width:18px}.faq-hero-foot{margin-top:24px;gap:8px;font-size:9px}.faq-jump-grid{grid-template-columns:1fr}.faq-jump small{min-height:0}.faq-category .faq summary{gap:12px;font-size:17px;padding:19px 0}.faq-category .faq details p{font-size:15px}}
@media (prefers-reduced-motion:reduce){.faq-hero-top i,.faq-hero-path i::after{animation:none}.faq-jump{transition:none}}

/* ---------- split / mock ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .h2{margin-top:18px}
.split .lede{margin-top:18px}
.split ul.check{list-style:none;display:grid;gap:10px;margin-top:22px}
.split ul.check li{padding-left:28px;position:relative;color:var(--ink-2)}
.split ul.check li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;background:var(--tint);box-shadow:inset 0 0 0 1px var(--tint-2)}
.split ul.check li::after{content:"";position:absolute;left:5px;top:11px;width:6px;height:4px;border-left:2px solid var(--sky-text);border-bottom:2px solid var(--sky-text);transform:rotate(-45deg)}
.split ul.check + .actions,.split .lede + .actions{margin-top:28px}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
.mock{background:#fff;border:1px solid var(--line-strong);border-radius:20px;box-shadow:var(--shadow);overflow:hidden;min-width:0}
.mock-bar{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--bg-soft)}
.mock-body{padding:18px;display:flex;flex-direction:column;gap:12px}
.mock-row{display:flex;justify-content:space-between;gap:14px;font-family:var(--mono);font-size:12.5px;color:var(--muted);padding:8px 0;border-bottom:1px dashed var(--line)}
.mock-row:last-child{border-bottom:0}
.mock-row b{color:var(--ink);font-weight:500;text-align:right;overflow-wrap:anywhere}
.mock-row .ok{color:var(--green)}
.hybrid-track{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:6px;padding:18px 18px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg-soft),#fff)}
.hybrid-node{display:grid;justify-items:center;gap:5px;min-width:0;text-align:center;color:var(--muted)}
.hybrid-node i{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;color:var(--sky-text);font:600 14px var(--body);font-style:normal}
.hybrid-node b{font:600 11px/1.15 var(--body);color:var(--ink);overflow-wrap:anywhere}
.hybrid-node small{font:10px/1.2 var(--body);overflow-wrap:anywhere}
.hybrid-node.active i{border-color:var(--sky);background:var(--tint);box-shadow:0 0 0 5px rgba(98,164,255,.1)}
.hybrid-connector{position:relative;height:1px;background:var(--line-strong)}
.hybrid-connector i{position:absolute;top:50%;left:0;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--sky);animation:hybrid-pulse 2.4s ease-in-out infinite}
.hybrid-connector:last-of-type i{animation-delay:1.2s}
@keyframes hybrid-pulse{0%,100%{left:0;opacity:.35}45%,60%{left:calc(100% - 6px);opacity:1}}
@media (prefers-reduced-motion:reduce){.hybrid-connector i{animation:none;left:calc(100% - 6px);opacity:1}}
.bubble{padding:11px 15px;border-radius:16px;font-size:14.5px;line-height:1.45;max-width:88%}
.bubble.cu{align-self:flex-end;background:var(--bg-soft);border:1px solid var(--line);border-bottom-right-radius:4px;color:var(--ink-2)}
.bubble.ai{align-self:flex-start;background:var(--tint);border:1px solid var(--tint-2);border-bottom-left-radius:4px;color:var(--ink)}
.bubble small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;width:var(--w,0%);background:linear-gradient(90deg,var(--sky-deep),var(--sky));transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.mock .lbl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;color:var(--muted)}
.mock .lbl b{color:var(--ink);font-weight:500}
.ops-scene{position:relative;min-width:0;overflow:hidden;padding:24px;border:1px solid rgba(98,164,255,.4);border-radius:24px;background:linear-gradient(145deg,#061d42 0%,#0a2c5e 100%);box-shadow:0 26px 56px -34px rgba(1,24,56,.64);color:#dbe7fb}
.ops-scene::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(174,204,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(174,204,255,.11) 1px,transparent 1px);background-size:28px 28px;opacity:.42;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 92%);pointer-events:none}
.ops-scene::after{content:"";position:absolute;inset:14px;border:1px solid rgba(98,164,255,.14);border-radius:16px;pointer-events:none;animation:opsBoardGlow 4.8s ease-in-out infinite}
.ops-top,.ops-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ops-kicker,.ops-label{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#a8c4ee}
.ops-status{display:inline-flex;align-items:center;gap:7px;color:#c2d3ec;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.ops-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:pulse 1.8s infinite}
.ops-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1.15fr .9fr;gap:16px;margin-top:22px;align-items:stretch}
.ops-inbox,.ops-pipeline,.ops-result{position:relative;min-width:0}
.ops-inbox,.ops-pipeline{padding-right:16px;border-right:1px solid rgba(194,211,236,.2)}
.ops-label{margin-bottom:12px;color:#91a8cc}
.ops-inbox-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(194,211,236,.18);opacity:.5;transition:opacity .4s,transform .4s}
.ops-inbox-row.active{opacity:1}
.ops-inbox-row.active{transform:translateX(3px)}
.ops-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(98,164,255,.16);color:#a8c4ee;font:10px var(--mono)}
.ops-inbox-row b{display:block;overflow:hidden;color:#f4f8ff;font:600 13px var(--display);white-space:nowrap;text-overflow:ellipsis}
.ops-inbox-row small{display:block;margin-top:3px;color:#9db3d4;font:11px var(--body)}
.ops-inbox-row em{color:#a8c4ee;font:9px var(--mono);font-style:normal;letter-spacing:.06em}
.ops-inbox-row:first-of-type em{color:var(--green)}
.ops-note{margin-top:18px;color:#a9bad7;font:12px var(--body);line-height:1.45}
.ops-track{display:grid;gap:8px}
.ops-node{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:center;padding:10px;border:1px solid rgba(194,211,236,.2);border-radius:12px;background:rgba(255,255,255,.06);opacity:.52;transition:opacity .4s,border-color .4s,transform .4s,background .4s}
.ops-node.on{border-color:var(--sky);background:rgba(98,164,255,.16);opacity:1;transform:translateX(3px);box-shadow:0 10px 26px -22px rgba(98,164,255,.9)}
.ops-node>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(98,164,255,.16);color:#b9d3f8;font:10px var(--mono)}
.ops-node b{color:#f4f8ff;font:600 13px var(--display)}
.ops-node small{display:block;grid-column:2;margin-top:2px;color:#9db3d4;font:11px var(--body)}
.ops-connector{position:relative;width:2px;height:22px;margin-left:22px;background:rgba(194,211,236,.28)}
.ops-connector i{position:absolute;top:50%;left:50%;width:6px;height:6px;border-radius:50%;background:var(--sky);transform:translate(-50%,-50%);opacity:.7}
.ops-transcript{margin-top:14px;padding:12px;border-radius:12px;background:#fff;color:var(--ink)}
.ops-transcript span{color:var(--sky-text);font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.ops-transcript p{margin-top:7px;color:#fff;font:13px var(--body);line-height:1.4}
.ops-result{display:flex;flex-direction:column}
.ops-transcript p{color:var(--ink);}
.ops-metric{display:flex;align-items:baseline;gap:9px;padding:10px 0;border-bottom:1px solid rgba(194,211,236,.2)}
.ops-metric strong{color:var(--sky);font:600 31px var(--display);letter-spacing:-.04em;white-space:nowrap}
.ops-metric span{color:#c2d3ec;font:12px var(--body);line-height:1.35}
.ops-result-box{display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding:12px;border:1px solid rgba(98,164,255,.65);border-radius:12px;background:rgba(255,255,255,.08)}
.ops-result-box>i{flex:none;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.ops-result-box b{display:block;color:#f4f8ff;font:600 13px var(--display)}
.ops-result-box small{display:block;margin-top:4px;color:#a9bad7;font:11px var(--body)}
.ops-footer{margin-top:18px;padding-top:14px;border-top:1px solid rgba(194,211,236,.2);color:#91a8cc;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ops-footer span{padding-right:10px;border-right:1px solid rgba(194,211,236,.2)}
.ops-footer strong{margin-left:auto;color:#f4f8ff;font:600 12px var(--body);letter-spacing:0;text-transform:none}
@keyframes opsBoardGlow{0%,100%{opacity:.35;transform:scale(.995)}50%{opacity:.8;transform:scale(1)}}
@media(max-width:900px){.ops-layout{grid-template-columns:1fr 1fr}.ops-result{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-result .ops-label{grid-column:1/-1}.ops-result-box{margin-top:0}.ops-pipeline{padding-right:0;border-right:0}}
@media(max-width:560px){.ops-scene{padding:16px}.ops-scene::after{inset:10px}.ops-layout{grid-template-columns:1fr}.ops-inbox,.ops-pipeline{padding-right:0;border-right:0}.ops-pipeline{padding-top:8px;border-top:1px solid rgba(194,211,236,.2)}.ops-result{display:block;grid-column:auto;padding-top:8px;border-top:1px solid rgba(194,211,236,.2)}.ops-result-box{margin-top:16px}.ops-node.on,.ops-inbox-row.active{transform:none}.ops-footer{align-items:flex-start}.ops-footer strong{width:100%;margin-left:0}}
@media(prefers-reduced-motion:reduce){.ops-scene::after,.ops-scene .ops-status i{animation:none}.ops-node.on,.ops-inbox-row.active{transform:none}}

/* ---------- homepage solution adaptation visual ---------- */
.solution-visual-sec{padding:20px 0 96px;background:var(--bg)}
.solution-visual-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:40px;align-items:end;margin-bottom:38px}
.solution-visual-head .h2{margin-top:18px}
.solution-map{position:relative;overflow:hidden;padding:22px 24px 20px;border:1px solid rgba(98,164,255,.48);border-radius:22px;background:linear-gradient(145deg,#061d42 0%,#0a2c5e 100%);box-shadow:0 26px 56px -34px rgba(1,24,56,.62);color:#dbe7fb}
.solution-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(174,204,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(174,204,255,.1) 1px,transparent 1px);background-size:28px 28px;opacity:.42;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 94%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 94%);pointer-events:none}
.solution-map-head,.solution-map-body,.solution-map-foot{position:relative;z-index:1}
.solution-map-head,.solution-map-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#91a8cc}
.solution-map-status{display:inline-flex;align-items:center;gap:8px;color:#a8c4ee}
.solution-map-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:solutionMapPulse 2.4s ease-in-out infinite}
.solution-map-body{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:28px;align-items:center;padding:34px 0}
.solution-map-core{position:relative;display:grid;place-items:center;min-height:188px;padding:22px;border:1px solid var(--sky);border-radius:18px;background:radial-gradient(circle at 50% 42%,rgba(98,164,255,.2),rgba(98,164,255,.12) 56%,rgba(98,164,255,.1));background-size:145% 145%;background-position:50% 42%;text-align:center;box-shadow:0 18px 42px -30px rgba(98,164,255,.9);will-change:transform,box-shadow,background-position}
.solution-map-core::before{content:"";width:76px;height:76px;margin-bottom:17px;border:1px solid rgba(98,164,255,.58);border-radius:50%;box-shadow:0 0 0 12px rgba(98,164,255,.06),0 0 0 25px rgba(98,164,255,.035);transform-origin:center;will-change:transform,opacity,box-shadow}
.solution-map-core span{color:var(--sky);font:10px var(--mono);letter-spacing:.15em}
.solution-map-core strong{margin-top:10px;color:#fff;font:600 25px/1.05 var(--display)}
.solution-map-core small{margin-top:8px;color:#a9bad7;font:12px var(--body)}
.solution-map-rows{display:grid;gap:10px}
.solution-map-row{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(194,211,236,.2);border-radius:13px;background:rgba(255,255,255,.06);opacity:.68;transition:opacity .3s,transform .3s,border-color .3s,background .3s}
.solution-map-row.active{opacity:1;transform:translateX(3px);border-color:var(--sky);background:rgba(98,164,255,.16);box-shadow:0 12px 30px -26px rgba(98,164,255,.95)}
.solution-map-index{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(98,164,255,.16);color:#b9d3f8;font:10px var(--mono)}
.solution-map-row b{display:block;color:#f4f8ff;font:600 15px var(--display)}
.solution-map-row small{display:block;margin-top:3px;color:#a9bad7;font:11px var(--body)}
.solution-map-row em{color:#63d486;font:9px var(--mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.solution-map-foot{padding-top:15px;border-top:1px solid rgba(194,211,236,.2)}
.solution-map-foot span{display:inline-flex;align-items:center;gap:7px}
.solution-map-foot span i{width:7px;height:7px;border-radius:50%;background:var(--sky)}
.solution-map-foot span i.green{background:var(--green)}
.solution-map-foot strong{margin-left:auto;color:#f4f8ff;font:600 12px var(--body);letter-spacing:0;text-transform:none}
@keyframes solutionMapPulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}50%{box-shadow:0 0 0 4px rgba(22,163,74,.13)}}
@keyframes solutionBrainBreathe{0%,100%{transform:translate3d(0,0,0);background-position:50% 42%;box-shadow:0 18px 42px -30px rgba(98,164,255,.9)}50%{transform:translate3d(0,-3px,0);background-position:54% 46%;box-shadow:0 23px 48px -27px rgba(98,164,255,.98)}}
@keyframes solutionBrainHalo{0%,100%{opacity:.62;transform:scale(.96);box-shadow:0 0 0 12px rgba(98,164,255,.05),0 0 0 25px rgba(98,164,255,.025)}50%{opacity:1;transform:scale(1.045);box-shadow:0 0 0 15px rgba(98,164,255,.09),0 0 0 30px rgba(98,164,255,.045)}}
@keyframes solutionMapFocus{0%,14%{opacity:1;transform:translateX(3px);border-color:var(--sky);background:rgba(98,164,255,.16);box-shadow:0 12px 30px -26px rgba(98,164,255,.95)}18%,100%{opacity:.68;transform:none;border-color:rgba(194,211,236,.2);background:rgba(255,255,255,.06);box-shadow:none}}
@media(prefers-reduced-motion:no-preference){.solution-map-core{animation:solutionBrainBreathe 5.8s ease-in-out infinite}.solution-map-core::before{animation:solutionBrainHalo 4.8s ease-in-out infinite}.solution-map-row{animation:solutionMapFocus 12s ease-in-out infinite}.solution-map-row:nth-child(1){animation-delay:0s}.solution-map-row:nth-child(2){animation-delay:-3s}.solution-map-row:nth-child(3){animation-delay:-6s}.solution-map-row:nth-child(4){animation-delay:-9s}}
@media(max-width:900px){.solution-visual-head{grid-template-columns:1fr;gap:18px}.solution-map-body{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){.solution-visual-sec{padding:4px 0 64px}.solution-map{padding:18px 16px;border-radius:18px}.solution-map-head{align-items:flex-start;flex-direction:column;gap:9px}.solution-map-body{padding:24px 0}.solution-map-core{min-height:160px}.solution-map-row{grid-template-columns:30px minmax(0,1fr);gap:10px}.solution-map-row em{grid-column:2}.solution-map-foot{align-items:flex-start;flex-direction:column;gap:9px}.solution-map-foot strong{margin-left:0}}
@media(prefers-reduced-motion:reduce){.solution-map-core,.solution-map-core::before,.solution-map-status i{animation:none}.solution-map-row{transition:none}}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;margin:0 -4px;scrollbar-width:thin}
.rail>*{flex:0 0 min(320px,80vw);scroll-snap-align:start}

/* ---------- forms ---------- */
.form{display:grid;gap:16px;max-width:560px;min-width:0}
.form label{display:grid;gap:6px;min-width:0;font-size:14px;font-weight:600;color:var(--ink)}
.form input,.form select,.form textarea{font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;color:var(--ink);width:100%;max-width:100%;min-width:0;min-height:44px}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--sky);outline-offset:0;border-color:var(--sky)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--ink-2);font-size:14px}
.form .check input{width:18px;height:18px;min-height:0;margin-top:2px}
.form .check a{color:var(--sky-text);text-decoration:underline}

/* ---------- AI callback conversion ---------- */
.hero-callback-path{display:flex;align-items:center;gap:10px;max-width:640px;margin-top:18px;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase}
.hero-callback-path span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.hero-callback-path b{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line-strong);border-radius:50%;color:var(--sky-text);font-weight:500}
.hero-callback-path i{width:34px;height:1px;background:var(--line-strong)}
.callback-hero .h1{max-width:17ch}
.callback-hero .lede{max-width:66ch}
.callback-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:820px;margin-top:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.callback-promise span{padding:18px 20px;color:var(--muted);font-size:13px;line-height:1.45}
.callback-promise span+span{border-left:1px solid var(--line)}
.callback-promise b{display:block;margin-bottom:3px;color:var(--ink);font-family:var(--display);font-size:21px;font-weight:600}
.callback-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);gap:clamp(36px,6vw,88px);align-items:start}
.callback-explainer{position:sticky;top:112px}
.callback-explainer .h2{max-width:13ch;margin:18px 0 30px}
.callback-steps{display:grid;gap:0;border-top:1px solid var(--line)}
.callback-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.callback-step>span{font-family:var(--mono);font-size:12px;color:var(--sky-text)}
.callback-step h3{font-size:17px;line-height:1.25}
.callback-step p{max-width:46ch;margin-top:4px;color:var(--muted);font-size:14px;line-height:1.55}
.callback-disclosure{margin-top:24px;padding:16px 18px;border-left:3px solid var(--sky);background:#fff;color:var(--ink-2);font-size:13px;line-height:1.6}
.callback-form{position:relative;max-width:none;padding:30px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;box-shadow:var(--shadow)}
.callback-form{min-width:0}
.callback-form>.eyebrow{margin-bottom:-2px}
.callback-form h2{font-size:28px;line-height:1.15}
.callback-form-intro{margin-top:-8px;color:var(--muted);font-size:14px;line-height:1.55}
.callback-agent-note{display:flex;align-items:center;gap:9px;margin:0;color:var(--ink-2);font-size:13px;line-height:1.45;font-weight:600}
.callback-agent-note::before{content:"";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(31,168,90,.1)}
.callback-fields{gap:14px}
.callback-form textarea{min-height:94px}
.callback-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.callback-submit{width:100%;justify-content:center;min-height:52px}
.callback-submit[disabled]{cursor:wait;opacity:.66}
.callback-fineprint{margin-top:-7px;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}
.form-status{padding:12px 14px;border:1px solid #e6b7b0;border-radius:var(--r-sm);background:#fff5f3;color:#8f3027;font-size:13px;line-height:1.5}
.callback-success{display:grid;gap:14px;padding:22px;border:1px solid rgba(31,168,90,.34);border-radius:var(--r-sm);background:#f4fbf7}
.callback-success[hidden]{display:none}
.callback-form.is-success>:not(.callback-success){display:none!important}
.callback-success-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-weight:700}
.callback-success h3{font-size:22px;line-height:1.2}
.callback-success p{color:var(--ink-2);font-size:14px;line-height:1.6}
.callback-success .btn{justify-self:start}
.callback-proof .sec-head{align-items:end}
.callback-proof .card .link-arrow{display:block;margin-top:22px;color:var(--sky-text)}
.callback-partner{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}
@media (max-width:960px){
  .callback-layout{grid-template-columns:1fr;gap:36px}
  .callback-explainer{position:static}
  .callback-explainer .h2{max-width:18ch}
}
@media (max-width:620px){
  .hero-callback-path{align-items:flex-start;flex-direction:column;gap:8px}
  .hero-callback-path i{width:1px;height:10px;margin-left:12px}
  .callback-promise{grid-template-columns:1fr;margin-top:28px}
  .callback-promise span{padding:14px 0}
  .callback-promise span+span{border-top:1px solid var(--line);border-left:0}
  .callback-form{padding:22px 18px}
  .callback-fields{grid-template-columns:1fr}
  .callback-form .check{font-size:13px;line-height:1.5}
  .callback-submit{white-space:normal;padding-inline:14px}
  .form-status{overflow-wrap:anywhere}
}

/* Keep narrow screens usable across every generated page. Long translated
   labels and animated headline variants must wrap inside the viewport rather
   than forcing horizontal scrolling. */
@media (max-width:700px){
  .actions{width:100%;align-items:stretch}
  .actions .btn{max-width:100%;white-space:normal;text-align:center}
  .hero-callback-path{flex-wrap:wrap}
  .h1 .swap{white-space:normal;height:auto}
  .h1 .swap span{white-space:normal}
  .form .grid.cols-2{grid-template-columns:1fr}
  .callback-form .btn{white-space:normal}
  .table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}
}
[dir="rtl"] .callback-promise span+span{border-right:1px solid var(--line);border-left:0}
[dir="rtl"] .callback-disclosure{border-right:3px solid var(--sky);border-left:0}

/* ---------- CTA band ---------- */
.cta-band{padding:100px 0;background:var(--navy);color:#fff;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:80%;background:radial-gradient(ellipse at center,rgba(98,164,255,.35),transparent 60%);pointer-events:none}
.cta-band .wrap{position:relative;display:grid;gap:22px;justify-items:start}
.cta-band .h2,.cta-band h2{color:#fff}
.cta-band .h2 em{color:var(--sky)}
.cta-band .lede{color:#B8C7E6}
.cta-band .btn-primary{background:var(--sky);color:var(--navy)}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);padding:64px 0 40px;font-size:14px;color:var(--muted);background:#fff}
.ftr-grid{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:32px 24px}
.ftr h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 14px;font-weight:500}
.ftr ul{list-style:none;display:grid;gap:2px}
.ftr a{display:block;padding:4px 0;color:var(--muted);transition:color .2s}
.ftr a:hover{color:var(--ink)}
.ftr .brand p{margin-top:16px;max-width:34ch;line-height:1.55}
.ftr-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px}
.ftr-legal{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;line-height:1.4}
.ftr-legal nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ftr-legal nav a{padding:0;color:var(--muted);white-space:nowrap}
.ftr-legal nav a:hover,.privacy-choice:hover{color:var(--ink)}
.ftr-legal nav i{display:block;width:1px;height:12px;background:var(--line-strong)}
.privacy-choice{padding:0;color:var(--ink-2);font:inherit;white-space:nowrap}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:960px;margin:0 auto;padding:18px 20px;border:1px solid rgba(98,164,255,.35);border-radius:16px;background:var(--navy);box-shadow:0 24px 70px -24px rgba(1,24,56,.65);color:#fff}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none}
.cookie-banner-copy{min-width:0}
.cookie-banner-copy strong{display:block;font-family:var(--display);font-size:17px;color:#fff;line-height:1.2}
.cookie-banner-copy p{margin-top:5px;color:#B8C7E6;font-size:13px;line-height:1.45;max-width:62ch}
.cookie-banner-actions,.cookie-modal-actions{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap}
.cookie-banner .btn,.cookie-modal .btn{font-size:13px;padding:11px 15px;min-height:40px}
.cookie-banner .btn-ghost,.cookie-modal .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.cookie-banner .btn-ghost:hover,.cookie-modal .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.cookie-unresolved .timed-cta{bottom:120px}
.cookie-modal{position:fixed;inset:0;z-index:92;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.cookie-modal.show{opacity:1;visibility:visible}
.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(1,24,56,.48);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.cookie-modal-card{position:relative;width:min(540px,100%);padding:30px;border:1px solid var(--line-strong);border-radius:18px;background:#fff;box-shadow:0 28px 90px -30px rgba(1,24,56,.55)}
.cookie-modal-close{position:absolute;top:18px;right:18px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink)}
.cookie-modal-close:hover{background:var(--bg-soft);border-color:var(--ink)}
.cookie-modal-close svg{width:16px;height:16px}
.cookie-modal-card h2{margin:15px 42px 10px 0;font-size:clamp(28px,4vw,38px);line-height:1.05}
.cookie-modal-card>p{color:var(--ink-2);font-size:14px;line-height:1.55;max-width:48ch}
.cookie-options{display:grid;gap:10px;margin:24px 0}
.cookie-option{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-soft);cursor:pointer}
.cookie-option input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--sky-text)}
.cookie-option span{display:grid;gap:3px;min-width:0}
.cookie-option strong{font-size:14px;color:var(--ink)}
.cookie-option small{font-size:12px;line-height:1.45;color:var(--muted)}
.cookie-option em{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding-top:2px}
.cookie-modal-actions{justify-content:flex-end}
.cookie-modal-actions .btn-primary{background:var(--navy);color:#fff}
@media (max-width:1000px){.ftr-grid{grid-template-columns:repeat(3,1fr)}.ftr .brand{grid-column:1/-1}.ftr .brand p{max-width:82ch}}
@media (max-width:700px){
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr .brand p{max-width:none}
  .ftr .brand .cbadges{max-width:488px;padding:12px;background:#fff;box-sizing:border-box;gap:16px}
  .ftr .brand .tech-badges{max-width:420px;grid-template-columns:1fr}
  .ftr .brand .tech-badges .tbadge{height:44px;padding:9px 12px;gap:8px;font-size:9px;letter-spacing:.06em}
  .cookie-banner{align-items:stretch;flex-direction:column;gap:14px;padding:16px}
  .cookie-banner-actions{width:100%}
  .cookie-banner-actions .btn{flex:1}
  .cookie-unresolved .timed-cta{bottom:150px}
}
@media (max-width:560px){
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-legal{align-items:flex-start;flex-direction:column;gap:10px}
  .cookie-modal{padding:12px}
  .cookie-modal-card{padding:24px 18px 18px}
  .cookie-option{grid-template-columns:20px minmax(0,1fr)}
  .cookie-option em{grid-column:2}
  .cookie-modal-actions{align-items:stretch;flex-direction:column}
  .cookie-modal-actions .btn{width:100%}
}
@media (max-width:420px){
  .ftr .brand .cbadges,.ftr .brand .tech-badges{max-width:360px}
  .ftr .brand .tech-badges{grid-template-columns:1fr}
}

/* ---------- reveal ---------- */
.rv{transform:translateY(20px);opacity:.25;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s}
.rv.in{transform:none;opacity:1}

/* =========================================================
   HOME PAGE
   ========================================================= */
.hero{position:relative;padding:72px 0 56px;overflow:hidden}
.hero-bg,#stars{position:absolute;inset:0;pointer-events:none}
#stars{width:100%;height:100%}
.hero-bg .grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 60% 60% at 30% 40%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 30% 40%,#000 10%,transparent 75%);opacity:.7}
.hero-bg .blob{display:none}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:40px;align-items:start;position:relative}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr;gap:28px}.hero{padding:44px 0 36px}}
.live{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px 8px 10px;background:#fff}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite;flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}70%{box-shadow:0 0 0 9px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
.hero .h1{margin:22px 0 18px;font-size:clamp(34px,5vw,68px);line-height:.98;letter-spacing:-.04em}
.h1 .swap{display:inline-grid;vertical-align:top;color:var(--sky-text);height:1.02em;overflow:hidden;max-width:100%}
.h1 .swap span{grid-area:1/1;white-space:nowrap;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s;transform:translateY(110%);opacity:0}
.h1 .swap span.on{transform:translateY(0);opacity:1}
.h1 .swap span.off{transform:translateY(-110%);opacity:0}
.hero .lede{font-size:18.5px;max-width:50ch}
.hero .actions{margin-top:32px}
.hero-note{margin-top:20px;font-size:14px;color:var(--muted)}
.hero-note b{color:var(--ink);font-weight:600}
.hero-speed{margin-top:10px;color:var(--sky-text);font:600 13px/1.45 var(--mono);letter-spacing:.02em}

/* Homepage is a decision path; technical animation belongs on the detail pages. */
body[data-page="index"] #quality .term{display:none}
body[data-page="index"] .hero-stats{grid-template-columns:repeat(3,auto)}
.hero-stats{display:grid;grid-template-columns:repeat(4,auto);gap:28px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);justify-content:start}
.hero-stats div{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.04em;line-height:1.4;min-width:0}
.hero-stats strong{display:block;font-family:var(--display);font-size:28px;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.1;margin-bottom:4px;font-variant-numeric:tabular-nums}
@media (max-width:560px){.hero-stats{grid-template-columns:1fr 1fr;gap:18px}}

.stage{position:relative;max-width:560px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:8px}
.stage canvas{position:relative;width:100%;height:auto;aspect-ratio:1.9/1;display:block;flex:none}
.stage .hud{order:-2;display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 4px}
.stage .hud b{color:var(--sky-text);font-weight:500}
.analysis{order:-1;display:flex;gap:8px;flex-wrap:wrap;padding:0 4px}
.analysis span{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 10px;transition:color .4s,border-color .4s}
.analysis span b{color:var(--ink);font-weight:500}
.analysis span.hot{border-color:var(--sky);color:var(--sky-text)}
.analysis span.hot b{color:var(--sky-text)}
.captions{display:flex;flex-direction:column;gap:5px;align-items:flex-start;height:180px;min-height:0;overflow:hidden;justify-content:flex-end;pointer-events:none}
.cap{max-width:86%;padding:6px 10px;border-radius:12px;font-size:13px;line-height:1.4;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px -14px rgba(1,24,56,.25)}
.cap.show{opacity:1;transform:none}
.cap.ai{background:var(--tint);border-color:var(--tint-2);color:var(--ink)}
.cap.cu{align-self:flex-end;color:var(--ink-2)}
.cap small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.cap.tool{background:none;border:0;box-shadow:none;padding:2px 6px;font-family:var(--mono);font-size:11px;color:var(--green)}
.cap.tool::before{content:"● "}
@media (max-width:980px){.stage{max-width:100%}.captions{height:190px}}

.clients{padding:26px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-soft)}
.clients .lbl{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;padding:0 20px}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.track{display:flex;gap:16px;width:max-content;animation:scroll 48s linear infinite;padding-bottom:22px}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.track span{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-size:14px;font-weight:600;color:var(--ink-2);white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px}
.track span i{width:8px;height:8px;border-radius:50%;background:var(--sky)}

.thesis{padding:120px 0 48px}
.thesis .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:64px;align-items:center}
.thesis p{font-family:var(--display);font-size:clamp(26px,3.6vw,48px);line-height:1.14;font-weight:500;letter-spacing:-.025em;max-width:24ch;color:var(--line-strong)}
.thesis p span{transition:color .5s}
.thesis p span.lit{color:var(--ink)}
.thesis p u{text-decoration:none;color:var(--sky-text);border-bottom:2px solid var(--sky)}
.thesis-visual{min-width:0;padding:20px 22px 18px;border:1px solid var(--navy);border-radius:var(--r);background:var(--navy);box-shadow:var(--shadow);color:#cbd8ef;overflow:hidden}
.thesis-visual-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14);font:500 10px var(--mono);letter-spacing:.14em;color:#90a6cc}
.thesis-visual-head b{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:#8ef0b5}
.thesis-visual-head b i{width:7px;height:7px;border-radius:50%;background:#4ee28a;box-shadow:0 0 0 4px rgba(78,226,138,.13);animation:pulse 1.8s infinite}
.thesis-loop{position:relative;min-height:300px;margin:14px 0 10px}
.thesis-orbit{position:absolute;left:50%;top:50%;width:190px;height:190px;border:1px solid rgba(98,164,255,.36);border-radius:50%;transform:translate(-50%,-50%)}
.thesis-orbit::before{content:"";position:absolute;inset:-1px;border:2px solid transparent;border-top-color:var(--sky);border-right-color:rgba(98,164,255,.18);border-radius:50%;animation:thesisOrbit 7s linear infinite}
.thesis-orbit::after{content:"";position:absolute;inset:20px;border:1px dashed rgba(255,255,255,.17);border-radius:50%;animation:thesisOrbit 12s linear infinite reverse}
.thesis-route{position:absolute;left:50%;top:50%;width:39%;height:1px;background:rgba(151,181,226,.34);transform-origin:left center}
.route-a{transform:rotate(-28deg)}.route-b{transform:rotate(28deg)}.route-c{transform:rotate(152deg)}.route-d{transform:rotate(208deg)}
.thesis-runner{position:absolute;left:50%;top:50%;z-index:2;width:7px;height:7px;border-radius:50%;background:#8ef0b5;box-shadow:0 0 0 5px rgba(142,240,181,.12),0 0 16px rgba(142,240,181,.7);animation:thesisRunner 7s linear infinite}
.thesis-node{position:absolute;z-index:3;display:grid;gap:3px;min-width:116px;padding:11px 13px;border:1px solid rgba(151,181,226,.42);border-radius:10px;background:rgba(5,31,67,.92);box-shadow:0 8px 22px rgba(0,0,0,.16);animation:thesisNode 7s ease-in-out infinite}
.thesis-node strong{font:500 11px var(--mono);letter-spacing:.14em;color:#fff}.thesis-node small{font:12px var(--body);color:#91a9d0}
.thesis-node-call{left:0;top:25px}.thesis-node-score{right:0;top:25px;animation-delay:-1.75s}.thesis-node-test{right:0;bottom:25px;animation-delay:-3.5s}.thesis-node-improve{left:0;bottom:25px;animation-delay:-5.25s}
.thesis-core{position:absolute;left:50%;top:50%;z-index:4;display:grid;place-items:center;gap:4px;width:118px;height:118px;border-radius:50%;background:#0d3977;border:1px solid rgba(151,181,226,.58);transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(98,164,255,.08),0 12px 30px rgba(0,0,0,.24)}
.thesis-core-mark{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:20px;margin-bottom:1px}
.thesis-core-mark span{display:block;width:4px;border-radius:4px 4px 1px 1px;background:var(--sky);animation:thesisSignal 1.8s ease-in-out infinite}
.thesis-core-mark span:nth-child(1){height:9px}.thesis-core-mark span:nth-child(2){height:18px;animation-delay:-.3s}.thesis-core-mark span:nth-child(3){height:13px;animation-delay:-.6s}
.thesis-core b{font:500 10px var(--mono);letter-spacing:.14em;color:#fff}.thesis-core>span{font:10px var(--body);color:#abc0df}.thesis-core i{width:26px;height:2px;background:var(--sky);animation:thesisMeter 2.4s ease-in-out infinite}
.thesis-telemetry{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);font:500 9px var(--mono);letter-spacing:.1em;color:#90a6cc}.thesis-telemetry span:nth-child(2){color:var(--sky);font-size:14px}.thesis-telemetry i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#8ef0b5}
/* The homepage thesis is a service promise, so keep the copy readable and give
   each part of the promise a clear path to its detailed page. */
body[data-page="index"] .thesis{padding:92px 0 84px;background:var(--bg)}
body[data-page="index"] .thesis .wrap{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:56px;align-items:start}
body[data-page="index"] .thesis-copy{max-width:520px}
body[data-page="index"] .thesis-copy .eyebrow{margin-bottom:16px}
body[data-page="index"] .thesis-copy .h2{max-width:14ch;margin:0 0 18px}
body[data-page="index"] .thesis-copy .lede{max-width:44ch;margin:0;font-family:var(--body);font-size:18px;line-height:1.55;font-weight:400;letter-spacing:0;color:var(--muted)}
body[data-page="index"] .thesis-services{grid-column:1/-1}
body[data-page="index"] .thesis-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:4px}
body[data-page="index"] .thesis-service{display:flex;flex-direction:column;min-height:220px;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;transition:border-color .2s,transform .2s,box-shadow .2s}
body[data-page="index"] .thesis-service:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:var(--shadow)}
body[data-page="index"] .thesis-service .k{color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
body[data-page="index"] .thesis-service strong{display:block;margin-top:14px;color:var(--ink);font:600 22px/1.08 var(--display);letter-spacing:-.02em}
body[data-page="index"] .thesis-service p{max-width:none;margin:12px 0 20px;color:var(--muted);font-family:var(--body);font-size:14px;line-height:1.48;font-weight:400;letter-spacing:0}
body[data-page="index"] .thesis-service .link-arrow{margin-top:auto;font-size:13px}
@media (max-width:900px){body[data-page="index"] .thesis .wrap{grid-template-columns:1fr;gap:30px}body[data-page="index"] .thesis-copy .h2{max-width:18ch}body[data-page="index"] .thesis-services{grid-template-columns:1fr}body[data-page="index"] .thesis-service{min-height:0}}
.role-section{background:var(--bg-soft)}
.role-grid{align-items:stretch}
.role-card{display:flex;flex-direction:column;min-height:340px;padding:28px 26px}
.role-card .role-index{display:grid;place-items:center;width:32px;height:32px;margin-bottom:18px;border:1px solid var(--line-strong);border-radius:50%;color:var(--sky-text);font:500 11px var(--mono)}
.role-card .tag{margin-bottom:10px;color:var(--sky-text);font-size:10px;letter-spacing:.12em}
.role-card h3{margin-top:0;max-width:18ch;line-height:1.08}
.role-card p{margin-top:10px;max-width:36ch}
.role-signals{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}
.role-signals i{padding:5px 9px;border:1px solid var(--tint-2);border-radius:999px;background:var(--bg-soft);color:var(--ink-2);font:500 10px var(--mono);font-style:normal;letter-spacing:.04em}
.role-card .link-arrow{margin-top:auto;padding-top:22px;font-size:13px}
@media (max-width:900px){.role-card{min-height:0}}
.comparison-section{background:var(--bg)}
.compare-table{border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.compare-row{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,1fr) minmax(0,1.18fr);gap:0;border-top:1px solid var(--line)}
.compare-row:first-child{border-top:0}
.compare-row>span{padding:18px 20px;color:var(--muted);font-size:14px;line-height:1.45}
.compare-row>span+span{border-left:1px solid var(--line)}
.compare-row>span:first-child{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--sky-text)}
.compare-row>span:last-child{background:linear-gradient(110deg,rgba(235,243,255,.7),rgba(248,251,255,.95));color:var(--ink-2)}
.compare-row b{color:var(--ink);font-weight:600}
.compare-head{background:var(--bg-soft)}
.compare-head>span:last-child{background:rgba(220,234,255,.46)}
.compare-head>span{padding-top:14px;padding-bottom:14px;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.compare-head>span:first-child{color:var(--muted)}
.compare-head>span:last-child{color:var(--sky-text)}
@media (max-width:700px){.compare-row{grid-template-columns:1fr 1fr}.compare-row>span:first-child{grid-column:1/-1;padding-bottom:4px;border-left:0}.compare-row>span:nth-child(2){border-left:0;padding-top:7px}.compare-row>span:nth-child(3){padding-top:7px}.compare-head{display:none}.compare-row>span:nth-child(2)::before,.compare-row>span:nth-child(3)::before{display:block;margin-bottom:7px;font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}.compare-row>span:nth-child(2)::before{content:attr(data-label);color:var(--muted)}.compare-row>span:nth-child(3)::before{content:attr(data-label);color:var(--sky-text)}}
.product-families{align-items:stretch}
.product-families>.card{display:flex;flex-direction:column;min-height:300px;padding:28px 26px}
.product-families>.card h3{max-width:18ch}
.product-families>.card p{max-width:52ch}
.family-links{margin-top:16px;color:var(--sky-text);font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.product-families>.card .link-arrow{margin-top:auto;padding-top:22px}
.product-included{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:18px;padding:20px 22px;border:1px solid var(--tint-2);border-radius:var(--r);background:linear-gradient(110deg,var(--tint),#fff 72%)}
.product-included .tag{margin:0;color:var(--sky-text);white-space:nowrap}
.product-included p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5}
.product-included .link-arrow{white-space:nowrap;font-size:13px}
@media (max-width:800px){.product-included{grid-template-columns:1fr;gap:10px}.product-included .link-arrow{white-space:normal}}
@media (max-width:560px){.product-included .tag{white-space:normal;line-height:1.35}}
@keyframes thesisOrbit{to{transform:rotate(360deg)}}
@keyframes thesisRunner{0%{transform:translate(-50%,-50%) rotate(-28deg) translateX(0)}25%{transform:translate(-50%,-50%) rotate(28deg) translateX(145px)}50%{transform:translate(-50%,-50%) rotate(152deg) translateX(145px)}75%{transform:translate(-50%,-50%) rotate(208deg) translateX(145px)}100%{transform:translate(-50%,-50%) rotate(332deg) translateX(0)}}
@keyframes thesisNode{0%,100%{border-color:rgba(151,181,226,.42);transform:translateY(0)}12%,25%{border-color:var(--sky);transform:translateY(-3px);box-shadow:0 10px 26px rgba(98,164,255,.16)}}
@keyframes thesisMeter{0%,100%{transform:scaleX(.6);opacity:.65}50%{transform:scaleX(1);opacity:1}}
@keyframes thesisSignal{0%,100%{opacity:.55;transform:scaleY(.72)}50%{opacity:1;transform:scaleY(1)}}
@media (max-width:900px){.thesis{padding:76px 0 36px}.thesis .wrap{grid-template-columns:1fr;gap:40px}.thesis p{max-width:24ch}.thesis-visual{max-width:620px;width:100%;justify-self:center}}
@media (max-width:560px){.thesis-visual{padding:16px 14px 14px}.thesis-loop{min-height:270px}.thesis-orbit{width:156px;height:156px}.thesis-node{min-width:102px;padding:9px 10px}.thesis-node small{font-size:11px}.thesis-node-call{left:-2px;top:18px}.thesis-node-score{right:-2px;top:18px}.thesis-node-test{right:-2px;bottom:18px}.thesis-node-improve{left:-2px;bottom:18px}.thesis-core{width:96px;height:96px}.thesis-core b{font-size:9px}.thesis-core>span{font-size:9px}.thesis-core-mark{height:15px}.thesis-core-mark span:nth-child(1){height:7px}.thesis-core-mark span:nth-child(2){height:14px}.thesis-core-mark span:nth-child(3){height:10px}.thesis-telemetry{font-size:8px}}
@media (prefers-reduced-motion:reduce){.thesis-visual *{animation:none!important}}

/* Agent Factory preview: a compact visual explanation for the home page. */
.factory-preview{overflow:hidden}
.factory-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;margin-bottom:42px}
.factory-intro .lede{margin-bottom:18px}
.factory-visual{background:#fff;border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow);padding:0 24px 20px;overflow:hidden}
.factory-visual-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font:500 11px var(--mono);letter-spacing:.12em;color:var(--muted)}
.factory-status{display:inline-flex;align-items:center;gap:8px;color:var(--sky-text)}
.factory-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--tint);animation:pulse 1.8s infinite}
.factory-track-wrap{overflow-x:auto;padding:28px 0 22px;scrollbar-width:thin}
.factory-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(122px,1fr));gap:18px;min-width:720px;padding:32px 10px 0}
.factory-track::before{content:"";position:absolute;left:34px;right:34px;top:13px;height:1px;background:var(--line-strong)}
.factory-pulse{position:absolute;z-index:2;left:28px;top:7px;width:13px;height:13px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 5px var(--tint),0 2px 8px rgba(1,24,56,.2);animation:factoryTravel 12s linear infinite}
.factory-node{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;min-height:112px;padding:15px 14px 13px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:#fff;animation:factoryFocus 12s ease-in-out infinite}
.factory-node:nth-child(3){animation-delay:-2.4s}.factory-node:nth-child(4){animation-delay:-4.8s}.factory-node:nth-child(5){animation-delay:-7.2s}.factory-node:nth-child(6){animation-delay:-9.6s}
.factory-node b{font:500 11px var(--mono);letter-spacing:.1em;color:var(--sky-text)}
.factory-node strong{font-family:var(--display);font-size:20px;line-height:1.1;color:var(--ink)}
.factory-node small{font-size:12px;color:var(--muted)}
.factory-signal{padding:18px 18px 15px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm)}
.factory-signal-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:17px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.factory-signal-head b{font-weight:500;color:var(--sky-text)}
.factory-signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.factory-signal-grid>div{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center;font-size:12px;color:var(--ink-2)}
.factory-signal-grid>div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.factory-signal-grid>div>b{font:500 10px var(--mono);color:var(--green);text-transform:uppercase}
.factory-signal-grid>div>i{grid-column:1/-1;height:5px;background:#dce9ff;border-radius:99px;overflow:hidden}
.factory-signal-grid>div>i em{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--sky-text);transform-origin:left;animation:factoryBar 5.4s ease-in-out infinite}
.factory-signal-grid>div:nth-child(2) em{animation-delay:-1.1s}.factory-signal-grid>div:nth-child(3) em{animation-delay:-2.2s}.factory-signal-grid>div:nth-child(4) em{animation-delay:-3.3s}
.factory-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:17px;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@keyframes factoryTravel{0%{left:28px}80%,100%{left:calc(100% - 28px)}}
@keyframes factoryFocus{0%,12%,100%{border-color:var(--line-strong);background:#fff;box-shadow:none;transform:none}18%,30%{border-color:var(--sky);background:var(--tint);box-shadow:0 10px 26px -18px var(--sky-text);transform:translateY(-4px)}}
@keyframes factoryBar{0%,100%{opacity:.55;transform:scaleX(.84)}50%{opacity:1;transform:scaleX(1)}}
@media (max-width:900px){.factory-intro{grid-template-columns:1fr;gap:18px}.factory-signal-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.factory-visual{padding:0 16px 16px}.factory-visual-head{align-items:flex-start;flex-direction:column;gap:8px}.factory-track-wrap{margin:0 -2px}.factory-track{padding-top:30px}.factory-track::before{top:12px}.factory-pulse{top:6px}.factory-signal-grid{grid-template-columns:1fr}.factory-foot{display:grid;grid-template-columns:1fr;gap:8px}.factory-foot span:not(:last-child)::after{content:" ↓";color:var(--sky-text)}}

/* A lightweight, human-readable view of Dring building the customer's AI employee. */
.staff-build-visual{position:relative;margin-bottom:22px;border:1px solid rgba(151,181,226,.38);border-radius:24px;background:linear-gradient(135deg,#061D40 0%,#0b2d5e 57%,#123f7b 100%);box-shadow:0 24px 54px -34px rgba(1,24,56,.7);color:#B8C7E6;overflow:hidden;isolation:isolate}
.staff-build-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(151,181,226,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(151,181,226,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);opacity:.55;pointer-events:none;z-index:-1}
.staff-build-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 24px;border-bottom:1px solid rgba(184,199,230,.18);font:500 10px var(--mono);letter-spacing:.14em;color:#91A9D0}
.staff-build-live{display:inline-flex;align-items:center;gap:8px;color:#8EF0B5}.staff-build-live i{width:7px;height:7px;border-radius:50%;background:#4EE28A;box-shadow:0 0 0 4px rgba(78,226,138,.13);animation:staffLivePulse 1.8s ease-in-out infinite}
.staff-build-board{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.82fr) minmax(0,1fr);gap:26px;align-items:center;padding:34px 34px 30px}
.staff-build-input,.staff-build-output{display:grid;gap:10px;min-width:0}.staff-build-label{font:500 9px var(--mono);letter-spacing:.13em;color:#8EB9F8}.staff-build-chip{position:relative;display:grid;grid-template-columns:29px minmax(0,1fr) 6px;gap:10px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid rgba(151,181,226,.3);border-radius:12px;background:rgba(7,31,65,.72);box-shadow:0 14px 25px -24px rgba(0,0,0,.75);animation:staffChipFloat 7.2s ease-in-out infinite}.staff-build-chip:nth-child(3){animation-delay:-2.4s}.staff-build-chip:nth-child(4){animation-delay:-4.8s}.staff-build-chip.is-active{border-color:rgba(98,164,255,.82);background:rgba(24,75,138,.72)}.staff-chip-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(98,164,255,.55);border-radius:9px;color:#62A4FF;font:500 14px var(--mono)}.staff-build-chip b{display:block;color:#fff;font:600 14px/1.15 var(--display);overflow-wrap:anywhere}.staff-build-chip small{display:block;margin-top:4px;color:#91A9D0;font-size:11px;line-height:1.25}.staff-build-chip>i{width:6px;height:6px;border-radius:50%;background:#62A4FF;box-shadow:0 0 0 4px rgba(98,164,255,.12)}.staff-build-chip.is-active>i{background:#8EF0B5;box-shadow:0 0 0 4px rgba(142,240,181,.12)}
.staff-build-engine{position:relative;display:grid;place-items:center;min-height:230px}.staff-build-core{position:relative;z-index:2;display:grid;place-items:center;gap:5px;width:148px;height:148px;border:1px solid rgba(98,164,255,.78);border-radius:50%;background:radial-gradient(circle at 35% 28%,#2c6db8 0%,#164885 42%,#0d3977 100%);box-shadow:0 0 0 8px rgba(98,164,255,.08),0 0 45px rgba(98,164,255,.22),0 22px 35px -20px rgba(0,0,0,.72);text-align:center}.staff-build-core::after{content:"";position:absolute;inset:9px;border:1px solid rgba(184,199,230,.2);border-radius:50%;pointer-events:none}.staff-build-core span{color:#8EB9F8;font:500 9px var(--mono);letter-spacing:.18em}.staff-build-core b{color:#fff;font:600 25px/1 var(--display);letter-spacing:-.02em}.staff-build-core small{color:#B8C7E6;font-size:11px}.staff-build-orbit{position:absolute;border:1px solid rgba(151,181,226,.3);border-radius:50%;pointer-events:none}.staff-build-orbit-a{width:190px;height:190px;transform:rotate(-28deg);border-style:dashed;animation:staffOrbit 12s linear infinite}.staff-build-orbit-b{width:224px;height:104px;transform:rotate(32deg);border-color:rgba(142,240,181,.35);animation:staffOrbit 15s linear infinite reverse}.staff-build-spark{position:absolute;z-index:3;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(98,164,255,.18),0 0 16px rgba(98,164,255,.9);animation:staffSpark 4.5s ease-in-out infinite}.staff-build-spark-a{top:22px;left:23%;animation-delay:-1.5s}.staff-build-spark-b{right:19%;bottom:26px;background:#8EF0B5;box-shadow:0 0 0 4px rgba(142,240,181,.15),0 0 16px rgba(142,240,181,.8);animation-delay:-3.2s}
.staff-build-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 12px;border:1px solid rgba(142,240,181,.55);border-radius:12px;background:rgba(11,54,76,.76);box-shadow:0 16px 28px -22px rgba(0,0,0,.7);animation:staffCardGlow 7.2s ease-in-out infinite}.staff-avatar{position:relative;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(142,240,181,.7);border-radius:11px;background:rgba(142,240,181,.12);color:#8EF0B5;font:600 10px var(--mono)}.staff-avatar i{position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border-radius:50%;background:#4EE28A;border:2px solid #0b364c}.staff-build-card b{display:block;color:#fff;font:600 14px/1.15 var(--display)}.staff-build-card small{display:block;margin-top:4px;color:#B8C7E6;font-size:11px}.staff-build-check{color:#8EF0B5;font:600 18px var(--display)}.staff-build-progress{display:grid;gap:8px;padding:5px 2px 0;color:#91A9D0;font-size:11px}.staff-build-progress>i{display:block;height:4px;border-radius:99px;background:rgba(184,199,230,.15);overflow:hidden}.staff-build-progress em{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#62A4FF,#8EF0B5);transform-origin:left;animation:staffProgress 5.2s ease-in-out infinite}
.staff-build-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 34px;border-top:1px solid rgba(184,199,230,.18);font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#91A9D0}.staff-build-foot>i{width:25px;height:1px;background:rgba(98,164,255,.48)}.staff-build-foot strong{margin-left:auto;color:#fff;font:500 12px var(--body);letter-spacing:0;text-transform:none}
@keyframes staffLivePulse{0%,100%{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@keyframes staffChipFloat{0%,100%{transform:translateY(0);border-color:rgba(151,181,226,.3)}45%,58%{transform:translateY(-3px);border-color:rgba(98,164,255,.72)}}
@keyframes staffCardGlow{0%,100%{transform:translateY(0);box-shadow:0 16px 28px -22px rgba(0,0,0,.7)}42%,56%{transform:translateY(-4px);box-shadow:0 20px 34px -22px rgba(142,240,181,.38)}}
@keyframes staffOrbit{to{transform:rotate(332deg)}}
@keyframes staffSpark{0%,10%{opacity:0;transform:translateX(0) scale(.6)}22%{opacity:1}78%{opacity:1}92%,100%{opacity:0;transform:translateX(110px) scale(1)}}
@keyframes staffProgress{0%,100%{transform:scaleX(.72);opacity:.72}50%{transform:scaleX(1);opacity:1}}
@media (max-width:980px){.staff-build-board{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr) minmax(0,1fr);gap:16px;padding-left:24px;padding-right:24px}.staff-build-core{width:132px;height:132px}.staff-build-orbit-a{width:170px;height:170px}.staff-build-orbit-b{width:200px;height:94px}}
@media (max-width:700px){.staff-build-visual{border-radius:18px}.staff-build-head{align-items:flex-start;flex-direction:column;gap:9px;padding:16px}.staff-build-board{grid-template-columns:1fr;gap:17px;padding:22px 16px 20px}.staff-build-engine{order:-1;min-height:190px}.staff-build-core{width:124px;height:124px}.staff-build-core b{font-size:23px}.staff-build-orbit-a{width:160px;height:160px}.staff-build-orbit-b{width:188px;height:88px}.staff-build-spark-a{top:11px;left:31%}.staff-build-spark-b{right:28%;bottom:17px}.staff-build-foot{display:grid;grid-template-columns:auto 24px auto 24px auto 24px auto;gap:9px;padding:14px 16px;font-size:8px}.staff-build-foot strong{grid-column:1/-1;margin-left:0;padding-top:5px;font-size:12px}.staff-build-foot>i{width:100%}}
@media (prefers-reduced-motion:reduce){.staff-build-visual *{animation:none!important}.staff-build-spark{opacity:1}.staff-build-progress em{transform:none}}

/* Agent Factory architecture: a customer-safe view of the production system. */
.factory-architecture{overflow:hidden}
.factory-map{background:linear-gradient(135deg,#fff 0%,#fff 68%,var(--tint) 100%);border:1px solid var(--line-strong);border-radius:24px;padding:0 24px 20px;box-shadow:var(--shadow);overflow:hidden}
.factory-map-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font:500 11px var(--mono);letter-spacing:.13em;color:var(--muted)}
.factory-map-head b{display:inline-flex;align-items:center;gap:8px;color:var(--sky-text);font-weight:500}
.factory-map-head b i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:pulse 1.8s infinite}
.factory-map-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:34px 0 22px}
.factory-stage{position:relative;display:grid;align-content:start;gap:17px;min-width:0;min-height:300px;padding:22px 20px 20px;border:1px solid var(--line-strong);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 16px 32px -30px rgba(1,24,56,.5)}
.factory-stage:not(:last-child)::after{content:"";position:absolute;z-index:0;top:39px;right:-19px;width:19px;height:1px;background:var(--line-strong)}
.factory-stage-index{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--sky);border-radius:50%;background:var(--tint);color:var(--sky-text);font:500 11px var(--mono)}
.factory-stage-k{display:block;margin-bottom:7px;color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.factory-stage h3{font-size:21px;line-height:1.12;margin-bottom:9px}
.factory-stage p{color:var(--ink-2);font-size:14px;line-height:1.55}
.factory-stage ul{display:grid;gap:9px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);list-style:none}
.factory-stage li{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:12.5px;line-height:1.4}
.factory-stage li::before{content:"";width:7px;height:7px;flex:none;margin-top:5px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 3px var(--tint)}
.factory-stage.is-core{border-color:var(--navy);background:var(--navy);box-shadow:0 18px 34px -24px rgba(1,24,56,.75)}
.factory-stage.is-core .factory-stage-index{border-color:var(--sky);background:rgba(98,164,255,.16);color:var(--sky)}
.factory-stage.is-core .factory-stage-k{color:var(--sky)}
.factory-stage.is-core h3{color:#fff}
.factory-stage.is-core p{color:#B8C7E6}
.factory-stage.is-core ul{border-color:rgba(255,255,255,.16)}
.factory-stage.is-core li{color:#B8C7E6}
.factory-stage.is-core li::before{background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.14)}
.factory-stage.is-core .factory-stage-index::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 5px rgba(98,164,255,.14),0 0 16px rgba(98,164,255,.7);animation:factoryCorePulse 2.6s ease-in-out infinite}
.factory-map-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
@keyframes factoryCorePulse{0%,100%{transform:scale(.7);opacity:.55}50%{transform:scale(1);opacity:1}}
@media (max-width:980px){.factory-map-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.factory-stage:not(:last-child)::after{display:none}.factory-stage{min-height:260px}}
@media (max-width:640px){.factory-map{padding:0 16px 16px;border-radius:18px}.factory-map-head{align-items:flex-start;flex-direction:column;gap:9px}.factory-map-flow{grid-template-columns:1fr;gap:12px;padding-top:22px}.factory-stage{min-height:0;padding:20px 18px}.factory-stage ul{margin-top:3px}.factory-map-foot{display:grid;grid-template-columns:1fr;gap:8px}.factory-map-foot span:not(:last-child)::after{content:" ↓";color:var(--sky-text)}}
@media (prefers-reduced-motion:reduce){.factory-map-head b i,.factory-stage.is-core .factory-stage-index::after{animation:none}}

/* ---------- Agent Factory infrastructure scene ---------- */
.factory-infra-section{overflow:hidden}
.factory-infra-scene{margin:0;border:1px solid var(--navy);border-radius:24px;background:var(--navy);box-shadow:0 24px 60px -32px rgba(1,24,56,.65);color:#B8C7E6;overflow:hidden}
.factory-infra-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;border-bottom:1px solid rgba(184,199,230,.18);font:500 11px var(--mono);letter-spacing:.13em;color:#91A9D0}
.factory-infra-head b{display:inline-flex;align-items:center;gap:8px;color:#8EF0B5;font-weight:500}
.factory-infra-head b i{width:7px;height:7px;border-radius:50%;background:#4EE28A;box-shadow:0 0 0 4px rgba(78,226,138,.12);animation:factoryInfraPulse 1.8s ease-in-out infinite}
.factory-infra-canvas{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.92fr) minmax(0,1fr);gap:34px;align-items:center;min-height:414px;padding:44px 34px 76px;background:#061D40;isolation:isolate}
.factory-infra-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(151,181,226,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(151,181,226,.07) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 82%,transparent 100%);pointer-events:none;z-index:-1}
.factory-infra-path{position:absolute;z-index:1;height:1px;background:rgba(98,164,255,.36);pointer-events:none}
.factory-infra-path-a{left:25%;width:17%;top:43%}.factory-infra-path-b{left:58%;width:17%;top:43%}.factory-infra-path-c{left:25%;width:17%;top:63%;background:rgba(142,240,181,.28)}.factory-infra-path-d{left:58%;width:17%;top:63%;background:rgba(142,240,181,.28)}
.factory-infra-path::before,.factory-infra-path::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:#62A4FF;box-shadow:0 0 0 5px rgba(98,164,255,.11);transform:translateY(-50%)}
.factory-infra-path::before{left:0}.factory-infra-path::after{right:0}
.factory-infra-path-c::before,.factory-infra-path-c::after,.factory-infra-path-d::before,.factory-infra-path-d::after{background:#8EF0B5;box-shadow:0 0 0 5px rgba(142,240,181,.1)}
.factory-infra-path i{position:absolute;left:0;top:50%;z-index:2;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(98,164,255,.2),0 0 14px rgba(98,164,255,.75);transform:translate(-50%,-50%);animation:factoryInfraPacket 4.8s ease-in-out infinite}
.factory-infra-path-b i{animation-delay:-1.5s}.factory-infra-path-c i{background:#8EF0B5;box-shadow:0 0 0 4px rgba(142,240,181,.16),0 0 14px rgba(142,240,181,.65);animation-delay:-2.35s;animation-direction:reverse}.factory-infra-path-d i{background:#8EF0B5;box-shadow:0 0 0 4px rgba(142,240,181,.16),0 0 14px rgba(142,240,181,.65);animation-delay:-3.6s;animation-direction:reverse}
.factory-infra-stack{position:relative;z-index:3;display:grid;gap:12px;min-width:0}
.factory-infra-kicker{color:#8EB9F8;font:500 10px var(--mono);letter-spacing:.14em}
.factory-infra-node{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;min-height:64px;padding:12px 14px;border:1px solid rgba(151,181,226,.36);border-radius:12px;background:rgba(7,34,72,.86);box-shadow:0 16px 30px -24px rgba(0,0,0,.65);animation:factoryInfraNode 8s ease-in-out infinite}
.factory-infra-node:nth-of-type(3){animation-delay:-4s}
.factory-infra-node-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(98,164,255,.55);border-radius:9px;color:#62A4FF;font:500 9px var(--mono);font-style:normal}
.factory-infra-node div{min-width:0}.factory-infra-node strong{display:block;color:#fff;font:600 14px/1.15 var(--display);overflow-wrap:anywhere}.factory-infra-node small{display:block;margin-top:4px;color:#91A9D0;font:10px/1.35 var(--body);overflow-wrap:anywhere}.factory-infra-node>b{color:#8EF0B5;font:500 9px var(--mono);letter-spacing:.08em}
.factory-infra-caption{max-width:28ch;color:#91A9D0;font-size:12px;line-height:1.45}
.factory-infra-core{position:relative;z-index:3;display:grid;place-items:center;gap:7px;min-width:0;min-height:270px;padding:34px 25px;border:1px solid rgba(98,164,255,.7);border-radius:22px;background:linear-gradient(180deg,#164885 0%,#0D3977 100%);box-shadow:0 0 0 8px rgba(98,164,255,.07),0 24px 42px -24px rgba(0,0,0,.78);text-align:center;overflow:hidden}
.factory-infra-core::before{content:"";position:absolute;inset:9px;border:1px solid rgba(184,199,230,.16);border-radius:16px;pointer-events:none}
.factory-infra-core-kicker,.factory-infra-core-status{position:relative;z-index:1;color:#8EB9F8;font:500 9px var(--mono);letter-spacing:.13em;text-transform:uppercase}.factory-infra-core>strong{position:relative;z-index:1;max-width:12ch;color:#fff;font:600 clamp(25px,3vw,36px)/1.06 var(--display);letter-spacing:0;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.18)}.factory-infra-core>strong em{color:#62A4FF;font-style:normal}.factory-infra-core>small{position:relative;z-index:1;max-width:20ch;color:#B8C7E6;font:11px/1.45 var(--body);text-wrap:balance}
.factory-infra-core-bars{position:relative;z-index:1;display:grid;gap:9px;width:100%;margin-top:12px;padding-top:12px;border-top:1px solid rgba(184,199,230,.17)}.factory-infra-core-bars i{position:relative;display:block;width:calc(100% - 96px);height:4px;margin-right:96px;border-radius:99px;background:rgba(184,199,230,.14);font-style:normal}.factory-infra-core-bars i::after{content:"";display:block;width:var(--bar);height:100%;border-radius:inherit;background:#62A4FF;transform-origin:left;animation:factoryInfraBar 3.6s ease-in-out infinite}.factory-infra-core-bars i:nth-child(2)::after{background:#8EF0B5;animation-delay:-1.2s}.factory-infra-core-bars i:nth-child(3)::after{animation-delay:-2.3s}.factory-infra-core-bars b{position:absolute;left:calc(100% + 9px);top:50%;color:#B8C7E6;font:9px/1 var(--mono);font-weight:500;white-space:nowrap;transform:translateY(-50%)}
.factory-infra-core-status{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:6px;color:#8EF0B5;font-size:8px;letter-spacing:.08em;line-height:1.35;text-align:center}.factory-infra-core-status i{width:6px;height:6px;border-radius:50%;background:#8EF0B5;box-shadow:0 0 0 4px rgba(142,240,181,.1);animation:factoryInfraPulse 1.8s ease-in-out infinite}
.factory-infra-telemetry{position:absolute;z-index:3;left:34px;right:34px;bottom:25px;display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding-top:14px;border-top:1px solid rgba(184,199,230,.16);color:#91A9D0;font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.factory-infra-telemetry span,.factory-infra-telemetry b{display:inline-flex;align-items:center;gap:7px}.factory-infra-telemetry span i{width:6px;height:6px;border-radius:50%;background:#62A4FF;box-shadow:0 0 0 4px rgba(98,164,255,.12)}.factory-infra-telemetry b{color:#8EB9F8;font-weight:500}.factory-infra-telemetry em{text-align:right;font-style:normal}.factory-infra-telemetry em strong{color:#fff;font-weight:500}
.factory-infra-feedback{display:flex;align-items:center;gap:12px;padding:15px 34px;border-top:1px solid rgba(184,199,230,.18);color:#91A9D0;font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.factory-infra-feedback>i{position:relative;width:42px;height:1px;background:rgba(142,240,181,.43)}.factory-infra-feedback>i::after{content:"";position:absolute;right:0;top:50%;width:5px;height:5px;border-radius:50%;background:#8EF0B5;transform:translate(50%,-50%)}.factory-infra-feedback>b{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:#8EF0B5;font-weight:500}.factory-infra-feedback>b i{width:6px;height:6px;border-radius:50%;background:#8EF0B5;animation:factoryInfraPulse 1.8s ease-in-out infinite}
.factory-infra-scene figcaption{padding:18px 34px 21px;border-top:1px solid rgba(184,199,230,.18);color:#B8C7E6;font-size:14px;line-height:1.55}.factory-infra-scene figcaption strong{color:#fff}
@keyframes factoryInfraPacket{0%,8%{left:0;opacity:0}18%{opacity:1}78%{left:100%;opacity:1}92%,100%{left:100%;opacity:0}}
@keyframes factoryInfraNode{0%,100%{border-color:rgba(151,181,226,.36);transform:translateY(0)}9%,27%{border-color:rgba(98,164,255,.9);transform:translateY(-2px);box-shadow:0 12px 25px -20px rgba(98,164,255,.9)}}
@keyframes factoryInfraBar{0%,100%{transform:scaleX(.88);opacity:.7}50%{transform:scaleX(1);opacity:1}}
@keyframes factoryInfraPulse{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.1)}}
@media (max-width:980px){.factory-infra-canvas{grid-template-columns:minmax(0,1fr) minmax(220px,.95fr) minmax(0,1fr);gap:17px;padding-left:24px;padding-right:24px}.factory-infra-path-a,.factory-infra-path-c{left:27%;width:12%}.factory-infra-path-b,.factory-infra-path-d{left:61%;width:12%}.factory-infra-telemetry{left:24px;right:24px}.factory-infra-feedback{padding-left:24px;padding-right:24px}}
@media (max-width:700px){.factory-infra-scene{border-radius:18px}.factory-infra-head{align-items:flex-start;flex-direction:column;gap:9px;padding:16px}.factory-infra-canvas{grid-template-columns:1fr;gap:14px;min-height:0;padding:25px 16px 67px}.factory-infra-path{display:none}.factory-infra-core{order:-1;min-height:235px;padding:32px 20px}.factory-infra-core>strong{max-width:11ch}.factory-infra-stack{gap:10px}.factory-infra-caption{max-width:none}.factory-infra-telemetry{left:16px;right:16px;bottom:22px;grid-template-columns:1fr auto;gap:8px;font-size:8px}.factory-infra-telemetry em{grid-column:1/-1;text-align:left}.factory-infra-feedback{display:grid;grid-template-columns:1fr auto;gap:9px 12px;padding:15px 16px;font-size:8px;letter-spacing:.08em}.factory-infra-feedback>i{width:100%}.factory-infra-feedback>b{grid-column:1/-1;margin-left:0;padding-top:4px}.factory-infra-scene figcaption{padding:16px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.factory-infra-head b i,.factory-infra-path i,.factory-infra-node,.factory-infra-core-bars i::after,.factory-infra-core-status i,.factory-infra-feedback>b i{animation:none}.factory-infra-path i{left:50%;opacity:1}}

/* story */
.story{padding:80px 0}
.story .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.phone-wrap{position:sticky;top:calc(50vh - 240px)}
.phone{position:relative;border:1px solid var(--line-strong);border-radius:28px;background:#fff;box-shadow:var(--shadow);height:480px;overflow:hidden;padding:22px;display:flex;flex-direction:column}
.phone .ph-top{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pane{position:absolute;left:22px;right:22px;top:64px;bottom:64px;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .5s,transform .5s;display:flex;flex-direction:column;justify-content:center;gap:14px;pointer-events:none}
.pane.on{opacity:1;transform:none;pointer-events:auto}
.panel{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.panel .k{color:var(--sky-text)}.panel .ok{color:var(--green)}.panel .dim{color:var(--muted)}
.panel h5{margin:0 0 6px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.intent{display:flex;gap:8px;flex-wrap:wrap}
.intent span{font-family:var(--mono);font-size:11px;padding:5px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--ink-2);background:#fff}
.intent span.hit{border-color:var(--sky-text);color:var(--sky-text);background:var(--tint)}
.score{display:grid;grid-template-columns:1fr auto;gap:6px 14px;font-family:var(--mono);font-size:12px}
.score b{color:var(--ink);font-weight:500}
.score .bar{grid-column:1/-1}
.pane .bar i{width:0}
.pane.on .bar i{width:var(--w)}
.steps-scroll{display:flex;flex-direction:column}
.st{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:40px 0 40px 36px;border-left:1px solid var(--line);position:relative;transition:opacity .4s}
.st::before{content:"";position:absolute;left:-5px;top:calc(50% - 5px);width:9px;height:9px;border-radius:50%;background:var(--line-strong);transition:all .4s}
.st.on::before{background:var(--sky-text);box-shadow:0 0 0 6px var(--tint)}
.st:not(.on){opacity:.35}
.st .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-text);margin-bottom:12px;display:block}
.st h3,.st h2{font-size:clamp(26px,3.2vw,40px);font-weight:600;line-height:1.06;margin-bottom:14px;letter-spacing:-.03em}
.st p{color:var(--ink-2);font-size:17px;max-width:44ch}
@media (max-width:900px){.story .wrap{grid-template-columns:1fr;gap:28px}.phone-wrap{position:static}.st{min-height:auto;opacity:1!important;padding:24px 0 24px 28px}}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bento .card{min-height:220px}
.bento .num{font-family:var(--display);font-size:clamp(40px,4.6vw,66px);font-weight:600;letter-spacing:-.045em;line-height:1;margin:14px 0 6px;color:var(--ink);font-variant-numeric:tabular-nums}
.bento .num.sm{font-size:clamp(26px,2.8vw,38px)}
.bento .card .arrow{position:absolute;top:22px;right:22px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;color:var(--muted);transition:all .25s;font-size:14px}
.bento .card:hover .arrow{background:var(--navy);color:#fff;border-color:var(--navy);transform:rotate(45deg)}
.bento .card .tag{padding-right:44px}
.c-2{grid-column:span 2}.c-3{grid-column:span 3}.c-4{grid-column:span 4}
.bento .feature{background:linear-gradient(135deg,var(--tint),#fff 60%);border-color:var(--tint-2)}
.bento .feature .num{color:var(--sky-text)}
.bento .spark{width:100%;height:64px;margin-top:auto;opacity:.9}
.bento .spark path.l{stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 2s ease}
.in .spark path.l{stroke-dashoffset:0}
.bento .ring{width:64px;height:64px;margin-top:auto;align-self:flex-end}
.bento .ring circle{fill:none;stroke:var(--line);stroke-width:5}
.bento .ring circle.p{stroke:var(--sky);stroke-dasharray:176;stroke-dashoffset:176;transition:stroke-dashoffset 1.8s ease;transform:rotate(-90deg);transform-origin:center}
.in .ring circle.p{stroke-dashoffset:var(--o,0)}
@media (max-width:1000px){.c-2,.c-3,.c-4{grid-column:span 3}}
@media (max-width:640px){.c-2,.c-3,.c-4{grid-column:span 6}}

/* platform strip */
.plat{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.plat>div{background:#fff;padding:28px 26px;min-height:200px;display:flex;flex-direction:column;gap:12px;transition:background .25s;min-width:0}
.plat>div:hover{background:var(--bg-soft)}
.plat .ic{width:42px;height:42px;border-radius:12px;background:var(--tint);display:grid;place-items:center;color:var(--sky-text);transition:transform .3s,background .3s,color .3s}
.plat>div:hover .ic{transform:translateY(-3px);background:var(--navy);color:#fff}
.plat .ic svg{width:20px;height:20px}
.plat h3{font-size:18px;font-weight:600;margin-top:4px}
.plat p{color:var(--ink-2);font-size:14.5px;line-height:1.55}
@media (max-width:1000px){.plat{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.plat{grid-template-columns:1fr}}

/* network svg */
.integ{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
@media (max-width:900px){.integ{grid-template-columns:1fr}}
.net{width:100%;max-width:640px;margin:0 auto;display:block;height:auto}
.net .wire{fill:none;stroke:var(--line-strong);stroke-width:1.2}
.net .pulse{fill:var(--sky-text)}
.net .pulse.g{fill:var(--green)}
.net .node rect{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.net .node text{fill:var(--ink);font:600 12.5px var(--body)}
.net .core rect{fill:var(--navy)}
.net .core text{fill:#fff;font:600 13px var(--display);letter-spacing:.06em}
.net .lbl{fill:var(--muted);font:11px var(--mono);letter-spacing:.12em}

/* pipeline */
.pipe{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:20px}
.pipe::before{content:"";position:absolute;left:0;right:0;top:18px;height:1px;background:var(--line)}
.pipe .fill{position:absolute;left:0;top:18px;height:1px;background:linear-gradient(90deg,var(--sky-deep),var(--sky));width:0;transition:width 2.4s cubic-bezier(.2,.8,.2,1)}
.pipe.go .fill{width:100%}
.step{position:relative;padding-top:54px;min-width:0}
.step .n{position:absolute;top:0;left:0;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--line-strong);display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--muted);transition:all .4s}
.pipe.go .step .n{background:var(--navy);color:#fff;border-color:var(--navy)}
.pipe.go .step:nth-child(3) .n{transition-delay:.45s}.pipe.go .step:nth-child(4) .n{transition-delay:.9s}.pipe.go .step:nth-child(5) .n{transition-delay:1.35s}.pipe.go .step:nth-child(6) .n{transition-delay:1.8s}
.step h3{font-size:21px;font-weight:600;margin-bottom:8px}
.step .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-text);margin-bottom:6px;display:block}
.step p{color:var(--ink-2);font-size:14.5px;line-height:1.55}
@media (max-width:900px){.pipe{grid-template-columns:1fr;gap:26px}.pipe::before,.pipe .fill{display:none}.step{padding-top:0;padding-left:52px}}

/* quality terminal */
.qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
@media (max-width:900px){.qgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.qgrid{grid-template-columns:1fr}}
.term{margin-top:56px;background:var(--navy);border-radius:var(--r);font-family:var(--mono);font-size:12.5px;line-height:1.8;color:#B8C7E6;overflow:hidden;box-shadow:var(--shadow)}
.term .tbar{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);align-items:center}
.term .tbar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18)}
.term pre{margin:0;padding:18px 20px;overflow-x:auto;white-space:pre;min-height:200px;font-family:inherit}
.term .ln{display:block;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.term .ln.on{opacity:1;transform:none}
.term .ok{color:#5BE39A}.term .k{color:var(--sky)}.term .dim{color:#7F94BC}
.term .cursor{display:inline-block;width:8px;height:14px;background:var(--sky);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* voices */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.voices:has(.v:only-child){grid-template-columns:minmax(0,520px)}
@media (max-width:900px){.voices{grid-template-columns:1fr}}
.v{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:18px;transition:border-color .25s,box-shadow .25s;min-width:0}
.v:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.v .meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.v h3{font-size:20px;font-weight:600}
.wave{display:flex;align-items:center;gap:3px;height:48px}
.wave i{flex:1;background:var(--tint-2);border-radius:2px;height:20%;transition:height .25s,background .25s}
.v.playing .wave i{background:var(--sky);animation:none;transition:height .08s linear;will-change:height}
.v .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.play{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;transition:transform .2s;flex:none}
.play:hover{transform:scale(1.06)}
.play:disabled{cursor:wait;opacity:.68;transform:none}
.play svg{width:16px;height:16px}
.v .row span{color:var(--ink-2);font-size:14px}
.v .row .audio-status{flex-basis:100%;padding-left:56px;color:var(--muted);font-size:12px}
.v.audio-error .audio-status{color:#ad4f42}
#voices .voices{grid-template-columns:repeat(4,minmax(0,1fr))}
#voices .voices:has(.v:only-child){grid-template-columns:repeat(4,minmax(0,1fr))}
#voices .v{padding:20px;gap:14px}
#voices .v h3{font-size:19px;line-height:1.18;min-height:2.36em}
#voices .v .meta{font-size:10px}
.v-link{margin-top:auto;font-size:14px}
.voices-more{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
@media (max-width:1100px){#voices .voices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){#voices .voices,#voices .voices:has(.v:only-child){grid-template-columns:1fr}.voices-more{align-items:flex-start;flex-direction:column;gap:10px}}

/* Localized homepages have one native audio asset today. Use the open space
   beside it to make the sector paths visible instead of implying missing audio. */
.voices-shell{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);gap:18px;align-items:stretch}
.voices-shell>.voices{grid-template-columns:1fr!important;align-content:stretch}
.voices-shell>.voices .v{height:100%}
.voices-sidecar{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:#f6f8fd}
.voices-sidecar::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(135deg,#000,transparent 78%);-webkit-mask-image:linear-gradient(135deg,#000,transparent 78%)}
.voices-sidecar>*{position:relative}
.voices-sidecar-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line-strong);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.voices-sidecar-head span{max-width:22ch}
.voices-sidecar-head b{color:var(--sky-text);font-weight:500;white-space:nowrap}
.voices-sidecar-row{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);transition:color .2s,transform .2s}
.voices-sidecar-row:last-of-type{border-bottom:0}
.voices-sidecar-row:hover{color:var(--sky-text);transform:translateX(4px)}
.voices-sidecar-row .index{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--tint-2);border-radius:50%;font:500 11px var(--mono);color:var(--sky-text);background:#fff}
.voices-sidecar-row strong{display:block;font-size:16px;font-weight:600;line-height:1.2}
.voices-sidecar-row small{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35}
.voices-sidecar-row .arrow{font-size:20px;color:var(--sky-text);text-align:right}
.voices-sidecar .link-arrow{margin-top:auto;padding-top:18px}
@media (max-width:900px){.voices-shell{grid-template-columns:1fr}.voices-sidecar{min-height:0}}
@media (max-width:600px){.voices-sidecar{padding:18px}.voices-sidecar-head{flex-direction:column;gap:8px}.voices-sidecar-row{grid-template-columns:32px minmax(0,1fr) 18px}.voices-sidecar-row strong{font-size:15px}}

/* The demo and sector paths form one balanced pair on desktop. A compact 2x2
   path grid keeps the panel the same visual weight as the audio card; it returns
   to a readable vertical list on smaller screens. */
@media (min-width:901px){
  .voices-sidecar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;align-content:start}
  .voices-sidecar-head,.voices-sidecar>.link-arrow{grid-column:1/-1}
  .voices-sidecar-row{min-width:0;padding:14px 0}
  .voices-sidecar-row:nth-of-type(odd){border-right:1px solid var(--line);padding-right:14px}
  .voices-sidecar>.link-arrow{border-right:0}
}
@media (max-width:900px){
  .voices-sidecar{display:flex}
  .voices-sidecar-row:nth-of-type(odd){border-right:0;padding-right:0}
}

/* Industry and solution pages use one focused demo: give it a real stage so the
   sample is discoverable without leaving a large, empty column beside it. */
.voice-demo .sec-head{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-areas:"copy lede";margin-bottom:32px}
.voice-demo .sec-head>div{grid-area:copy;min-width:0}
.voice-demo .sec-head>.lede{grid-area:lede;min-width:0}
.voice-demo .voices,.voice-demo .voices:has(.v:only-child){grid-template-columns:1fr;max-width:none}
.voice-demo .voices.rv{opacity:1;transform:none}
.voice-demo .v{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);grid-template-areas:"meta wave" "title wave" "row wave";column-gap:34px;row-gap:10px;align-items:center;min-width:0;padding:26px 30px;border-color:var(--tint-2);background:linear-gradient(110deg,#fff,var(--bg-soft))}
.voice-demo .sec-head .lede{max-width:48ch}
.voice-demo .v{box-shadow:0 16px 36px -28px rgba(1,24,56,.35)}
.voice-demo .v .meta{grid-area:meta}
.voice-demo .v h3{grid-area:title;font-size:clamp(22px,2.8vw,32px);max-width:16ch}
.voice-demo .v .wave{grid-area:wave;height:86px;padding:0 8px;border-left:1px solid var(--line-strong)}
.voice-demo .v .row{grid-area:row;align-self:end}
.voice-demo .v .row>span:not(.audio-status){font-size:13.5px;color:var(--muted)}
@media (max-width:900px){
  .voice-demo .sec-head{grid-template-columns:1fr;grid-template-areas:"copy" "lede"}
  .voice-demo .v{grid-template-columns:1fr;grid-template-areas:"meta" "title" "wave" "row";row-gap:14px}
  .voice-demo .v .wave{height:64px;padding:12px 0 0;border-left:0;border-top:1px solid var(--line-strong)}
}
@media (max-width:560px){.voice-demo .v{padding:22px}.voice-demo .v h3{max-width:20ch}.voice-demo .v .row{align-items:flex-start;flex-direction:column;gap:10px}.voice-demo .v .row .audio-status{padding-left:0}}
.voice-demo .v.playing{border-color:var(--sky);box-shadow:var(--shadow)}
@media (max-width:600px){
  .voice-demo .v{grid-template-columns:1fr;grid-template-areas:"meta" "title" "wave" "row";row-gap:16px;padding:22px}
  .voice-demo .v .wave{height:58px;border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
}

/* case teaser */
.case{background:linear-gradient(125deg,var(--tint) 0%,#fff 68%);border:1px solid var(--tint-2);border-radius:24px;padding:clamp(32px,4.5vw,56px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(32px,5vw,64px);align-items:stretch;position:relative;overflow:hidden;box-shadow:0 24px 60px -42px rgba(1,24,56,.34)}
.case>div:first-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;max-width:660px}
@media (max-width:1040px) and (min-width:901px){.case{grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);gap:34px;padding:38px}.case .kpi-list{padding-left:28px}}
.case h3{max-width:17ch;font-size:clamp(25px,2.8vw,36px);font-weight:600;line-height:1.12;margin:16px 0 18px;letter-spacing:-.03em}
.case p{color:var(--ink-2);font-size:16px;line-height:1.65;max-width:50ch}
.case .kpi-list{align-content:stretch;gap:0;padding-left:clamp(24px,3.5vw,44px);border-left:1px solid var(--line-strong)}
.case .kpi{grid-template-columns:minmax(130px,.92fr) minmax(0,1.08fr);gap:18px;align-items:center;min-height:92px;padding:0 0 22px;margin:0 0 22px}
.case .kpi:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.case .kpi strong{font-size:clamp(36px,4.2vw,54px)}
.case .kpi span{max-width:25ch;line-height:1.55}
@media (max-width:900px){.case{grid-template-columns:1fr;padding:32px}.case .kpi-list{padding:26px 0 0;border-left:0;border-top:1px solid var(--line-strong)}.case .kpi span{max-width:42ch}}
@media (max-width:480px){.case{padding:24px;border-radius:18px}.case h3{max-width:20ch}.case .kpi{grid-template-columns:1fr;gap:7px;min-height:0;padding-bottom:18px;margin-bottom:18px}.case .kpi strong{font-size:40px}}
.case .link-arrow{margin-top:26px}

/* live call network: a product visual that turns the global footprint into a useful flow */
.call-network-section{padding:30px 0 80px;background:var(--bg)}
.call-network-heading{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:40px;align-items:end;margin-bottom:38px}
.call-network-heading .h2{margin-top:18px;max-width:18ch}
.call-network-heading .lede{max-width:52ch}
.call-network-visual{position:relative;isolation:isolate;overflow:hidden;padding:22px 24px 18px;border:1px solid var(--line-strong);border-radius:22px;background:var(--bg-soft);box-shadow:0 26px 62px -42px rgba(1,24,56,.38)}
.call-network-visual::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(201,213,234,.27) 1px,transparent 1px),linear-gradient(90deg,rgba(201,213,234,.27) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.62) 72%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.62) 72%,transparent 100%);pointer-events:none}
.call-network-topbar,.network-core-head,.call-network-log{display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.call-network-topbar{padding-bottom:16px;border-bottom:1px solid var(--line-strong);color:var(--muted)}
.call-network-topbar>span:last-child{display:inline-flex;align-items:center;gap:8px;color:var(--green)}
.call-network-topbar i,.network-core-head b i,.network-log-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.call-network-topbar i{animation:pulse 1.8s infinite}
.call-network-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(260px,.82fr) minmax(0,1.04fr);gap:28px;align-items:stretch;padding:26px 0 22px}
.call-network-grid::before{content:"";position:absolute;z-index:0;left:29%;right:29%;top:50%;height:1px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 8px,transparent 8px 16px)}
.call-network-grid::after{content:"";position:absolute;z-index:0;top:calc(50% - 3px);left:29%;width:7px;height:7px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 5px rgba(98,164,255,.14);animation:networkRail 3.2s ease-in-out infinite}
.network-column,.network-core{position:relative;z-index:1;min-width:0}
.network-column-label{margin-bottom:12px;color:var(--muted);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.network-source-list,.network-outcome-list{display:grid;gap:8px}
.network-source{display:grid;grid-template-columns:34px minmax(0,1fr) 8px;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(255,255,255,.86);transition:background .35s,border-color .35s,box-shadow .35s,transform .35s}
.network-source.is-active{border-color:var(--sky);background:var(--tint);box-shadow:0 10px 24px -18px rgba(47,111,209,.8);transform:translateX(3px)}
.region-code{display:grid;place-items:center;width:30px;height:26px;border-radius:6px;background:var(--tint-2);color:var(--sky-text);font:600 10px var(--mono);letter-spacing:.04em}
.network-source strong,.network-source small,.network-outcome strong,.network-outcome small{display:block;overflow-wrap:anywhere}
.network-source strong{color:var(--ink);font:600 12.5px/1.25 var(--display)}
.network-source small{margin-top:2px;color:var(--muted);font-size:10.5px;line-height:1.25}
.network-source>i{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:background .3s,box-shadow .3s}
.network-source.is-active>i{background:var(--sky-text);box-shadow:0 0 0 4px rgba(98,164,255,.18);animation:networkSourcePulse 1.5s ease-in-out infinite}
.network-core{display:flex;flex-direction:column;min-height:382px;padding:20px;border:1px solid var(--navy);border-radius:18px;background:var(--navy);color:#B8C7E6;box-shadow:0 18px 38px -26px rgba(1,24,56,.7)}
.network-core::before{content:"";position:absolute;inset:10px;border:1px dashed rgba(98,164,255,.34);border-radius:12px;pointer-events:none}
.network-core-head{position:relative;color:#9CB0D4}
.network-core-head b{display:inline-flex;align-items:center;gap:8px;color:#8EF0B5;font-weight:500}
.network-core-head b i{width:6px;height:6px;background:#4EE28A;box-shadow:none;animation:pulse 1.8s infinite}
.network-core-signal{position:relative;margin:28px 0 22px;padding:16px;border:1px solid rgba(98,164,255,.42);border-radius:12px;background:rgba(30,79,151,.34)}
.network-core-signal>span{display:block;color:var(--sky);font:500 10px var(--mono);letter-spacing:.14em}
.network-core-signal strong{display:block;margin-top:8px;color:#fff;font:600 clamp(20px,2.1vw,27px)/1.1 var(--display);letter-spacing:-.025em}
.network-core-signal p{margin-top:8px;color:#9CB0D4;font-size:12px}
.network-core-signal p b{color:#D9E5FA;font-weight:600}.network-core-signal p i{padding:0 4px;color:var(--sky)}
.network-core-stages{position:relative;display:grid;gap:7px}
.network-stage{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(151,181,226,.22);border-radius:9px;background:rgba(255,255,255,.035);color:#94A8CC;transition:background .35s,border-color .35s,color .35s,transform .35s}
.network-stage b{font:500 10px var(--mono);color:#82A4D8}.network-stage span{font:600 12px var(--display);color:inherit}.network-stage small{font-size:10px;color:inherit;text-align:right;white-space:nowrap}
.network-stage.is-active{border-color:var(--sky);background:rgba(98,164,255,.2);color:#fff;transform:translateX(4px)}
.network-stage.is-done{border-color:rgba(78,226,138,.52);color:#8EF0B5}
.network-core-foot{position:relative;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);color:#8EA5CC;font:500 9px var(--mono);letter-spacing:.07em;text-transform:uppercase}
.network-outcome{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:12px 13px;border:1px solid var(--line-strong);border-radius:10px;background:rgba(255,255,255,.82);opacity:.58;transition:opacity .35s,background .35s,border-color .35s,transform .35s}
.network-outcome.is-active{opacity:1;border-color:var(--green);background:#fff;box-shadow:0 10px 24px -18px rgba(22,163,74,.55);transform:translateX(-3px)}
.network-outcome>i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tint);color:var(--sky-text);font:600 14px var(--body)}
.network-outcome.is-active>i{background:#E7F7ED;color:var(--green)}
.network-outcome strong{color:var(--ink);font:600 12.5px/1.25 var(--display)}
.network-outcome small{margin-top:3px;color:var(--muted);font-size:10.5px;line-height:1.3}
.network-outcome-note{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-strong);color:var(--muted);font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.network-outcome-note span{display:inline-flex;align-items:center;gap:7px}.network-outcome-note span i{width:6px;height:6px;border-radius:50%;background:var(--green)}
.network-outcome-note b{color:var(--sky-text);font-weight:500}
.network-rail{position:relative;height:1px;background:var(--line-strong);margin:0 10% 16px}
.network-rail::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12px,var(--bg-soft) 12px 20px)}
.network-rail i{position:absolute;top:-3px;left:0;width:7px;height:7px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 4px rgba(98,164,255,.14);animation:networkRail 3.2s ease-in-out infinite reverse}
.call-network-log{justify-content:flex-start;flex-wrap:wrap;padding-top:15px;border-top:1px solid var(--line-strong);color:var(--muted)}
.network-log-label{color:var(--sky-text)}
.call-network-log strong{color:var(--ink);font:600 12px var(--display);letter-spacing:0;text-transform:none}.call-network-log strong i{padding:0 5px;color:var(--sky-text);font-style:normal}
.network-log-state{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:var(--green)}.network-log-state i{width:6px;height:6px;box-shadow:none}
.call-network-log time{color:var(--muted);font:500 10px var(--mono);letter-spacing:.04em}
.call-network-visual.is-flowing .network-core-signal{animation:networkSignalIn .65s ease both}
.call-network-visual.is-flowing .network-rail i{animation-duration:1.35s}
@keyframes networkRail{0%{transform:translateX(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(calc(42vw - 120px));opacity:0}}
@keyframes networkSourcePulse{0%,100%{opacity:.65}50%{opacity:1;box-shadow:0 0 0 5px rgba(98,164,255,.22)}}
@keyframes networkSignalIn{0%{opacity:.45;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
@media (max-width:980px){.call-network-grid{grid-template-columns:minmax(0,1fr) minmax(250px,.84fr);gap:20px}.network-sources{grid-column:1}.network-core{grid-column:2;grid-row:1 / span 2}.network-outcomes{grid-column:1}.call-network-grid::before,.call-network-grid::after{display:none}.network-source-list{grid-template-columns:repeat(2,minmax(0,1fr))}.network-outcome-list{grid-template-columns:repeat(3,minmax(0,1fr))}.network-outcome{min-height:88px;align-content:center}.network-outcome-note{margin-top:12px}}
@media (max-width:760px){.call-network-section{padding:16px 0 64px}.call-network-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.call-network-heading .h2{max-width:20ch}.call-network-visual{padding:18px 16px 16px;border-radius:18px}.call-network-grid{grid-template-columns:1fr;padding-top:22px}.network-core{grid-column:1;grid-row:auto;min-height:350px;order:1}.network-sources{grid-column:1;order:2}.network-outcomes{grid-column:1;order:3}.network-sources .network-column-label,.network-outcomes .network-column-label{margin-top:2px}.network-outcome-list{grid-template-columns:1fr}.network-outcome{min-height:64px}.network-outcome-note{margin-top:15px}.network-core-foot{font-size:8px}.network-log-state{margin-left:0}.call-network-log{gap:10px}.call-network-log time{margin-left:auto}}
@media (max-width:480px){.network-source-list{grid-template-columns:1fr}.network-source{min-height:50px}.network-core{padding:16px}.network-core-signal{margin:22px 0 18px}.network-stage{grid-template-columns:26px minmax(0,1fr);}.network-stage small{grid-column:2;text-align:left;margin-top:-4px}.network-core-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px}.network-core-foot span:last-child{grid-column:1 / -1}.call-network-log{display:grid;grid-template-columns:auto 1fr;align-items:center}.call-network-log strong{grid-column:1 / -1}.network-log-state{margin:0}.call-network-log time{margin-left:0;justify-self:end}}
@media (prefers-reduced-motion:reduce){.call-network-visual *,.call-network-visual::before,.call-network-visual::after{animation:none!important;transition:none!important}}

/* security cards */
.secgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.secgrid{grid-template-columns:1fr}}
.s{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;gap:16px;align-items:flex-start;transition:border-color .25s,box-shadow .25s;min-width:0}
.s:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.s .sh{flex:none;width:36px;height:36px;color:var(--sky-text)}
.s h3{font-size:17px;font-weight:600;margin-bottom:6px}
.s p{color:var(--ink-2);font-size:14px;line-height:1.55}

/* ribbon divider */
.ribbon{display:block;width:100%;height:120px}

/* final CTA on home */
.cta{position:relative;text-align:center;padding:168px 0 156px;overflow:hidden;background:var(--navy);color:#fff}
.cta canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.42}
.cta .wrap{position:relative;z-index:1;display:grid;justify-items:center;gap:0;max-width:1120px}
.cta h2{color:#fff;font-size:clamp(34px,6vw,88px);font-weight:600;letter-spacing:-.04em;line-height:1.06;margin:30px auto 0;max-width:18ch}
.cta h2 em{color:var(--sky)}
.cta .eyebrow{color:var(--sky)}
.cta .eyebrow::before{background:var(--sky);box-shadow:0 0 0 3px rgba(98,164,255,.25)}
.phoneno{display:inline-flex;align-items:center;gap:14px;margin:40px auto 0;font-family:var(--display);font-size:clamp(24px,4vw,46px);font-weight:600;letter-spacing:-.02em;padding:16px 30px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s,color .25s; color:#fff;max-width:100%}
.phoneno:hover{border-color:var(--sky);box-shadow:0 0 70px -10px var(--glow)}
.phoneno svg{width:26px;height:26px;flex:none}
.cta .sub{margin-top:24px;color:#B8C7E6;font-size:16px;line-height:1.6;max-width:60ch}
.cta-loop{position:relative;width:min(100%,780px);height:220px;margin:28px auto 0;isolation:isolate}
.cta-loop-field{position:absolute;inset:0;overflow:hidden;border-top:1px solid rgba(169,203,255,.25);border-bottom:1px solid rgba(169,203,255,.25);background:rgba(1,24,56,.2)}
.cta-loop-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(98,164,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(98,164,255,.08) 1px,transparent 1px);background-size:28px 28px;opacity:.55}
.cta-loop-orbit{position:absolute;left:50%;top:50%;display:block;border:1px solid rgba(98,164,255,.34);border-radius:50%;pointer-events:none}
.cta-loop-orbit-a{width:330px;height:126px;transform:translate(-50%,-50%) rotate(-18deg);animation:ctaLoopSpin 20s linear infinite}
.cta-loop-orbit-b{width:218px;height:164px;transform:translate(-50%,-50%) rotate(42deg);border-color:rgba(169,203,255,.24);animation:ctaLoopSpinReverse 28s linear infinite}
.cta-loop-core{position:absolute;left:50%;top:50%;display:grid;place-items:center;align-content:center;gap:4px;width:154px;height:100px;transform:translate(-50%,-50%);border:1px solid rgba(98,164,255,.75);border-radius:18px;background:rgba(10,36,80,.9);box-shadow:0 0 0 10px rgba(98,164,255,.06),0 18px 42px rgba(0,0,0,.24)}
.cta-loop-core b{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:#fff}
.cta-loop-core small{font-family:var(--mono);font-size:9px;letter-spacing:.13em;color:#9cb7df}
.cta-loop-core i{width:7px;height:7px;border-radius:50%;background:#62e49b;box-shadow:0 0 0 4px rgba(98,228,155,.14);animation:ctaLoopPulse 1.8s ease-in-out infinite}
.cta-loop-node{position:absolute;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(169,203,255,.32);border-radius:999px;background:rgba(1,24,56,.7);font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#b8c7e6;white-space:nowrap}
.cta-loop-node i{width:6px;height:6px;border-radius:50%;background:var(--sky);flex:none}
.cta-loop-node-a{left:5%;top:25%}.cta-loop-node-b{left:9%;bottom:22%}.cta-loop-node-c{right:5%;top:25%}.cta-loop-node-d{right:9%;bottom:22%}
.cta-loop-node-c i,.cta-loop-node-d i{background:#83e6ad}
.cta-loop-caption{display:flex;justify-content:space-between;gap:16px;padding:10px 4px 0;font-family:var(--mono);font-size:9px;letter-spacing:.13em;color:#7f96bb;text-transform:uppercase}
.cta-secondary{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#fff;font-size:14px;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px;transition:color .2s,border-color .2s}
.cta-secondary span{color:var(--sky);font-size:17px;line-height:1}
.cta-secondary:hover{color:var(--sky);border-color:var(--sky)}
@keyframes ctaLoopSpin{from{transform:translate(-50%,-50%) rotate(-18deg)}to{transform:translate(-50%,-50%) rotate(342deg)}}
@keyframes ctaLoopSpinReverse{from{transform:translate(-50%,-50%) rotate(42deg)}to{transform:translate(-50%,-50%) rotate(-318deg)}}
@keyframes ctaLoopPulse{0%,100%{opacity:.65;transform:scale(.82)}50%{opacity:1;transform:scale(1)}}
.cta .actions{justify-content:center;margin-top:46px;gap:16px}
.cta .btn-primary{background:var(--sky);color:var(--navy)}
.cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.cta .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}

@media (max-width:700px){
  .cta{padding:112px 0 108px}
  .cta h2{line-height:1.03;margin-top:24px;max-width:13ch}
  .phoneno{margin:28px auto 0;padding:14px 22px;font-size:clamp(22px,7vw,34px)}
  .phoneno svg{width:22px;height:22px}
  .cta .sub{margin-top:18px;font-size:14px;line-height:1.55}
  .cta-loop{height:178px;margin-top:24px}
  .cta-loop-orbit-a{width:270px;height:108px}.cta-loop-orbit-b{width:182px;height:142px}
  .cta-loop-node{padding:6px 8px;font-size:8px;letter-spacing:.08em;gap:5px}
  .cta-loop-node-a{left:3%;top:18%}.cta-loop-node-b{left:4%;bottom:17%}.cta-loop-node-c{right:3%;top:18%}.cta-loop-node-d{right:4%;bottom:17%}
  .cta-loop-core{width:126px;height:86px}.cta-loop-core b{font-size:11px}.cta-loop-core small{font-size:8px}
  .cta-loop-caption{gap:8px;padding-top:8px;font-size:7px;letter-spacing:.08em}
  .cta-secondary{margin-top:16px;font-size:13px}
  .cta .actions{width:100%;margin-top:34px;flex-direction:column;gap:10px}
  .cta .actions .btn{width:100%;justify-content:center}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .rv{opacity:1;transform:none}.track{animation:none}
}

/* ---------- language switcher ---------- */
.lang{position:relative}
.lang>button{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;border-radius:999px;border:1px solid var(--line-strong);font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;min-height:40px;color:var(--ink)}
.lang>button svg{width:12px;height:12px}
.lang .lang-dd{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:grid;min-width:170px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;z-index:6}
.lang:hover .lang-dd,.lang:focus-within .lang-dd,.lang.open .lang-dd{opacity:1;visibility:visible;transform:none}
.lang .lang-dd a{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--ink-2)}
.lang .lang-dd a:hover{background:var(--bg-soft);color:var(--ink)}
.lang .lang-dd a.on{color:var(--ink);font-weight:600}
.lang .lang-dd a small{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}
.mega-langs{display:flex;gap:6px;flex-wrap:wrap}
.mega-langs a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--ink-2)}
.mega-langs a.on{border-color:var(--ink);color:var(--ink)}
@media (max-width:560px){.lang{display:none}}
html[dir="rtl"] .eyebrow::before{order:2}
html[dir="rtl"] .steps li::before{left:auto;right:0}
html[dir="rtl"] .steps li{padding-left:0}

/* ---------- case studies index ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:28px}
.filters .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.filters button{font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:var(--ink-2);transition:all .2s;min-height:36px}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.case-grid{display:grid;grid-template-columns:1fr;gap:16px}
.case-card{display:flex;flex-direction:column;gap:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;transition:border-color .25s,box-shadow .25s,transform .25s;min-width:0}
.case-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.case-card[hidden]{display:none}
.cc-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cc-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center}
.cc-num{display:block;font-family:var(--display);font-size:clamp(44px,5vw,72px);font-weight:600;letter-spacing:-.045em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:12px}
.cc-lead{color:var(--ink-2);font-size:16px;line-height:1.55;max-width:60ch;margin-bottom:16px}
.cc-chart{width:100%;aspect-ratio:1.5/1;display:block}
@media (max-width:860px){.cc-body{grid-template-columns:1fr}.cc-chart{max-width:360px;aspect-ratio:1.8/1}}

/* ---------- references wall ---------- */
.logo-wall{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.logo-wall li{background:#fff;padding:26px 24px;display:flex;flex-direction:column;gap:6px;min-width:0;transition:background .25s}
.logo-wall li:hover{background:var(--bg-soft)}
.logo-wall b{font-family:var(--display);font-size:clamp(20px,2vw,26px);font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.logo-wall span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.logo-wall{grid-template-columns:repeat(2,1fr)}}
.clients .wall{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;padding:0 20px 22px;max-width:var(--max);margin:0 auto}
.clients .wall a,.clients .wall span{font-family:var(--display);font-size:clamp(18px,1.7vw,24px);font-weight:600;letter-spacing:-.02em;color:var(--ink-2);opacity:.7;transition:opacity .2s,color .2s;white-space:nowrap}
.clients .wall a:hover{opacity:1;color:var(--ink)}
.clients .more{font-family:var(--mono)!important;font-size:12px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--sky-text)!important;opacity:1!important;align-self:center}

/* ---------- security emblems ---------- */
.emblems{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;align-items:center;max-width:960px}
.emblems img{width:100%;max-width:130px;height:auto;margin:0 auto;display:block;transition:transform .3s}
.emblems img:hover{transform:translateY(-4px)}
@media (max-width:900px){.emblems{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.emblems{grid-template-columns:repeat(2,1fr)}}
.cta-inline{padding:0}
.cta-inline .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:26px;padding-bottom:26px}
.cta-inline p{font-size:17px;color:var(--ink-2)}
.cta-inline p strong{color:var(--ink)}
.cta-inline .btn{padding:12px 18px;font-size:14px}

/* ---------- infrastructure diagram ---------- */
.infra-wrap{width:100%;min-width:0;max-width:100%;background:linear-gradient(135deg,#fff 0%,#fff 62%,var(--bg-soft) 100%);border:1px solid var(--line);border-radius:var(--r);padding:clamp(14px,2vw,24px);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}
.infra,.infra-wrap>.tech{width:100%;min-width:0;max-width:100%;height:auto;display:block}
.infra .stage rect{fill:var(--bg-soft);stroke:var(--line-strong);stroke-width:1}
.infra .stage.core rect{fill:var(--navy);stroke:var(--navy)}
.infra .t{font:600 12px var(--mono);letter-spacing:.14em;fill:var(--ink)}
.infra .s{font:12.5px var(--body);fill:var(--ink-2)}
.infra .core .t{fill:#fff}.infra .core .s{fill:#B8C7E6}
.infra .badge{fill:var(--sky)}
.infra .b{font:600 11px var(--mono);fill:var(--navy);letter-spacing:.06em}
.infra .wire{fill:none;stroke:var(--line-strong);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.infra .pulse{fill:var(--sky-text);filter:drop-shadow(0 0 3px rgba(47,111,209,.35))}
.infra .pulse.g{fill:var(--green);filter:drop-shadow(0 0 3px rgba(22,163,74,.3))}
.infra .infra-field{fill:url(#infra-grid);opacity:.32}
.infra .infra-sweep{fill:var(--sky);opacity:0;animation:infraSweep 10s ease-in-out infinite}
.infra .forward{stroke-dasharray:7 9;animation:infraDash 2.4s linear infinite}
.infra .return{stroke-dasharray:7 9;animation:infraDash 2.4s linear infinite reverse}
.infra .outcome{stroke-dasharray:5 11;animation:infraDash 3.6s linear infinite}
.infra .core-frame{fill:none;stroke:var(--sky);stroke-width:1;stroke-dasharray:3 8;opacity:.65;animation:infraFrame 10s linear infinite}
.infra .core-rail{fill:none;stroke:var(--sky);stroke-width:1;stroke-dasharray:1 12;opacity:.42}
.infra .core-token{fill:var(--sky);filter:drop-shadow(0 0 4px rgba(98,164,255,.7))}
.infra-mobile{display:none}
.infra .stage.input rect{animation:infraStage 6s ease-in-out infinite}
.infra .stage.edge rect{animation:infraStage 6s ease-in-out -1.5s infinite}
.infra .stage.tools rect{animation:infraStage 6s ease-in-out -3s infinite}
.infra .stage.systems rect{animation:infraStage 6s ease-in-out -4.5s infinite}
@keyframes infraDash{to{stroke-dashoffset:-32}}
@keyframes infraFrame{to{stroke-dashoffset:-66}}
@keyframes infraStage{0%,100%{stroke-opacity:.7}50%{stroke-opacity:1}}
@keyframes infraSweep{0%,8%,92%,100%{opacity:0}22%,78%{opacity:.24}}
.infra-legend{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding:13px 4px 1px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.infra-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.infra-legend i{width:8px;height:8px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 3px var(--tint)}
.infra-legend i.return{background:var(--green)}
.infra-legend i.outcome{background:var(--sky);border-radius:2px}
@media (max-width:700px){.infra-legend{justify-content:flex-start;gap:10px 16px;font-size:9px}}
@media (max-width:700px){
  .infra-wrap{padding:0;border:0;background:none;overflow:visible}
  .infra-wrap:has(+ .infra-mobile)>.infra{display:none}
  .infra-wrap:has(+ .infra-mobile) .infra-legend{display:none}
  .infra-mobile{display:block;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(145deg,#fff,var(--bg-soft));box-shadow:0 18px 35px -30px rgba(1,24,56,.45)}
  .infra-mobile-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;color:var(--muted);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
  .infra-mobile-head span:last-child{display:inline-flex;align-items:center;gap:7px}
  .infra-mobile-head i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:pulse 1.8s infinite}
  .infra-mobile-stage{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 24px -22px rgba(1,24,56,.45)}
  .infra-mobile-stage.core{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 16px 28px -22px rgba(1,24,56,.75)}
  .infra-mobile-stage .m-index{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--tint);color:var(--sky-text);font:11px var(--mono);letter-spacing:.04em}
  .infra-mobile-stage.core .m-index{background:rgba(98,164,255,.18);color:var(--sky)}
  .infra-mobile-stage strong{display:block;font:600 17px var(--display)}
  .infra-mobile-stage small{display:block;margin-top:4px;color:var(--muted);font:12px var(--body);line-height:1.4}
  .infra-mobile-stage.core small{color:#B8C7E6}
  .infra-mobile-link{position:relative;height:24px;width:2px;margin-left:29px;background:var(--line-strong)}
  .infra-mobile-link::after{content:"";position:absolute;left:50%;top:-2px;width:7px;height:7px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 4px var(--tint);transform:translate(-50%,-50%);animation:mobileInfraFlow 2.2s ease-in-out infinite}
  .infra-mobile-link.return::after{background:var(--green);animation-delay:-1.1s}
  .infra-mobile-result{margin-top:14px;padding:14px;border:1px solid var(--tint-2);border-radius:14px;background:var(--tint)}
  .infra-mobile-result span{display:block;color:var(--sky-text);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
  .infra-mobile-result strong{display:block;margin-top:7px;color:var(--ink);font:600 17px var(--display)}
  .infra-mobile-result small{display:block;margin-top:4px;color:var(--ink-2);font:12px var(--body);line-height:1.45}
}
@keyframes mobileInfraFlow{0%,100%{top:100%;opacity:.25}45%,60%{top:0;opacity:1}}
@media (prefers-reduced-motion:reduce){.infra .forward,.infra .return,.infra .outcome,.infra .core-frame,.infra .stage rect{animation:none}.infra .pulse,.infra .infra-sweep{display:none}}

/* ---------- localized shell and RTL guardrails ---------- */
/* Arabic pages use the same component geometry as the English shell, but
   their reading direction and word lengths need explicit boundaries. */
html[dir="rtl"] body{font-family:"Tahoma","Arial",var(--body);overflow-x:hidden}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4,html[dir="rtl"] .h1,html[dir="rtl"] .h2,html[dir="rtl"] .h3{font-family:"Tahoma","Arial",var(--display);letter-spacing:0}
html[dir="rtl"] .hdr .wrap{direction:rtl}
html[dir="rtl"] .nav{direction:rtl}
html[dir="rtl"] .dd{left:auto;right:0;direction:rtl}
html[dir="rtl"] .nav>li:last-child .dd{left:0;right:auto}
html[dir="rtl"] .dd-customers{right:auto;left:max(16px,calc((100vw - var(--max)) / 2))}
html[dir="rtl"] .dd a,html[dir="rtl"] .dd a>div,html[dir="rtl"] .dd .plain a,html[dir="rtl"] .mega .col{min-width:0}
html[dir="rtl"] .dd a b,html[dir="rtl"] .dd a span,html[dir="rtl"] .dd .feat b,html[dir="rtl"] .dd .feat span,html[dir="rtl"] .mega li a,html[dir="rtl"] .mega h4{overflow-wrap:anywhere;word-break:normal}
html[dir="rtl"] .mega{direction:rtl}
html[dir="rtl"] .mega-grid{direction:rtl}
html[dir="rtl"] .mega li a:hover{transform:translateX(-4px)}
html[dir="rtl"] .link-arrow::after{transform:scaleX(-1)}
html[dir="rtl"] .link-arrow:hover::after{transform:translateX(-4px) scaleX(-1)}
html[dir="rtl"] .lang .lang-dd{right:auto;left:0;direction:rtl}
html[dir="rtl"] .btn{white-space:normal;text-align:center;min-width:0}
html[dir="rtl"] .btn svg{transform:scaleX(-1)}
html[dir="rtl"] .crumbs{direction:rtl}
html[dir="rtl"] .prose ul,html[dir="rtl"] .prose ol{margin-left:0;margin-right:22px}

/* Long translated labels stay usable before the full menu takes over. */
@media (max-width:1200px){
  html[dir="rtl"] .hdr-right{gap:8px;min-width:0}
  html[dir="rtl"] .hdr .btn-primary{max-width:min(42vw,250px);padding-inline:14px;line-height:1.25}
  html[dir="rtl"] .mega .wrap{direction:rtl}
}
@media (max-width:760px){
  html[dir="rtl"] .dd{left:12px;right:12px;width:auto;min-width:0}
  html[dir="rtl"] .dd-customers{left:12px;right:12px}
  html[dir="rtl"] .lang .lang-dd{left:0;right:auto;min-width:min(220px,calc(100vw - 24px))}
}
@media (max-width:560px){
  html[dir="rtl"] .hdr .btn-primary{max-width:none}
  html[dir="rtl"] .mega-foot{align-items:stretch}
  html[dir="rtl"] .mega-foot>.btn{width:100%}
}

/* Some translated pages still use the compact map without a mobile companion.
   Keep that map visible and contained instead of leaving a blank section. */
@media (max-width:700px){
  .infra-wrap:has(>.infra):not(:has(+ .infra-mobile)){padding:10px;border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 62%,var(--bg-soft) 100%);overflow-x:auto}
  .infra-wrap:has(>.infra):not(:has(+ .infra-mobile))>.infra{display:block;width:100%;min-width:0;max-width:100%}
}

/* The full technical flow has more labels than the compact five-stage map.
   Preserve its designed scale at tablet widths, but keep the scroll inside
   the bordered card instead of widening the document. */
@media (max-width:1040px) and (min-width:701px){
  .infra-wrap:has(>.tech){overflow-x:auto;padding:14px}
  .infra-wrap>.tech{width:1080px;max-width:none}
}
@media (max-width:700px){
  .infra-wrap:has(>.tech){padding:10px;border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#fff 62%,var(--bg-soft) 100%);overflow-x:auto}
  .infra-wrap:has(>.tech)>.tech{width:900px;max-width:none}
}

/* ---------- homepage outcome visual ---------- */
.home-call-flow{background:#fff;border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.home-call-flow-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.home-call-flow-head span:last-child{display:inline-flex;align-items:center;gap:8px;color:var(--sky-text)}
.home-call-flow-head i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:homeFlowBeat 2.4s ease-in-out infinite}
.home-call-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.home-flow-step{position:relative;min-height:220px;padding:24px 22px 20px;border-right:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.home-flow-step:last-child{border-right:0}
.home-flow-step::after{content:"";position:absolute;left:22px;right:22px;top:0;height:2px;background:var(--line)}
.home-flow-step.active::after{background:var(--sky-text);animation:homeFlowBar 5.6s ease-in-out infinite}
.home-flow-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--sky-text);font:10px var(--mono);letter-spacing:.1em}
.home-flow-top b{color:var(--muted);font-weight:500}
.home-flow-step h3{margin:26px 0 10px;font:600 21px/1.08 var(--display);color:var(--ink)}
.home-flow-step p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.48}
.home-flow-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font:11px var(--mono);letter-spacing:.02em}
.home-flow-meta span{display:inline-flex;align-items:center;gap:7px}
.home-flow-meta i{width:7px;height:7px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 3px var(--tint);animation:homeFlowBeat 2.4s ease-in-out infinite}
.home-flow-meta b{color:var(--green);font-weight:600;text-transform:uppercase}
.home-call-flow-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 20px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.home-call-flow-foot span{display:inline-flex;align-items:center;gap:7px}
.home-call-flow-foot i{width:8px;height:8px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 3px var(--tint)}
.home-call-flow-foot i.green{background:var(--green)}
.home-call-flow-foot i.square{border-radius:2px;background:var(--sky)}
.home-flow-arrow{color:var(--line-strong);font-size:14px}
.home-call-flow-foot .link-arrow{margin-left:auto;font:600 12px var(--body);letter-spacing:0;text-transform:none}
html[dir="rtl"] .home-flow-step{border-right:0;border-left:1px solid var(--line)}
html[dir="rtl"] .home-flow-step:last-child{border-left:0}
html[dir="rtl"] .home-call-flow-foot .link-arrow{margin-left:0;margin-right:auto}
@keyframes homeFlowBeat{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}
@keyframes homeFlowBar{0%,100%{opacity:.55}50%{opacity:1}}
@media (max-width:900px){
  .home-call-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-flow-step:nth-child(2){border-right:0}
  .home-flow-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:560px){
  .home-call-flow-head{align-items:flex-start;flex-direction:column;gap:8px;padding:14px 16px}
  .home-call-flow-grid{grid-template-columns:1fr}
  .home-flow-step{min-height:0;padding:22px 18px 18px;border-right:0;border-bottom:1px solid var(--line)}
  html[dir="rtl"] .home-flow-step{border-left:0}
  .home-flow-step:nth-child(2){border-bottom:1px solid var(--line)}
  .home-flow-step:last-child{border-bottom:0}
  .home-flow-step::after{left:18px;right:18px}
  .home-flow-step h3{margin-top:20px;font-size:20px}
  .home-flow-meta{margin-top:18px}
  .home-call-flow-foot{padding:14px 16px;gap:9px 12px}
  .home-call-flow-foot .link-arrow{width:100%;margin:4px 0 0}
}
@media (prefers-reduced-motion:reduce){.home-call-flow-head i,.home-flow-step.active::after,.home-flow-meta i{animation:none}}

/* ---------- homepage operating showcase ---------- */
.showcase-sec{padding:44px 0 72px;background:var(--bg)}
.showcase-panel{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(28px,4.5vw,58px);border-radius:22px;background:var(--navy);overflow:hidden;position:relative;isolation:isolate}
.showcase-panel::before{content:"";position:absolute;width:52%;height:120%;right:-7%;top:-10%;background:radial-gradient(ellipse at center,rgba(98,164,255,.28),transparent 68%);z-index:-1;pointer-events:none}
.showcase-copy{max-width:480px;color:#B8C7E6}
.showcase-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--sky);font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.showcase-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 4px rgba(98,164,255,.15);animation:showcaseBeat 2.4s ease-in-out infinite}
.showcase-copy h2{max-width:10ch;margin:20px 0 18px;color:#fff;font:600 clamp(38px,4.6vw,62px)/.98 var(--display);letter-spacing:-.035em}
.showcase-copy h2 em{color:var(--sky);font-style:normal}
.showcase-copy>p{max-width:43ch;font-size:16px;line-height:1.58;color:#B8C7E6}
.showcase-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.showcase-actions .btn{padding:13px 18px;font-size:14px}
.showcase-link{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:14px;font-weight:600}
.showcase-link span{color:var(--sky);font-size:18px;transition:transform .2s}
.showcase-link:hover span{transform:translate(3px,-3px)}
.showcase-note{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:32px;padding-top:18px;border-top:1px solid rgba(184,199,230,.2);color:#8298bf;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.showcase-note span{display:inline-flex;align-items:center;gap:7px}
.showcase-note i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(22,163,74,.14)}
.showcase-console{min-width:0;padding:18px;border:1px solid rgba(184,199,230,.28);border-radius:16px;background:rgba(255,255,255,.07);box-shadow:0 30px 70px -42px rgba(0,0,0,.85)}
.showcase-console-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:3px 2px 16px;color:#B8C7E6;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.showcase-console-head span{display:inline-flex;align-items:center;gap:8px}
.showcase-console-head span i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12)}
.showcase-console-head b{color:var(--sky);font-weight:500;white-space:nowrap}
.showcase-console-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(190px,.88fr);gap:10px}
.showcase-call,.showcase-score{min-width:0;padding:18px;border:1px solid rgba(184,199,230,.18);border-radius:12px;background:rgba(1,24,56,.52)}
.showcase-label{display:flex;justify-content:space-between;gap:10px;color:#8298bf;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.showcase-label b{color:#B8C7E6;font-weight:500;white-space:nowrap}
.showcase-caller{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:20px}
.showcase-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(98,164,255,.16);color:var(--sky);font:600 11px var(--mono)}
.showcase-caller strong,.showcase-caller small{display:block;overflow-wrap:anywhere}
.showcase-caller strong{color:#fff;font:600 15px/1.15 var(--display)}
.showcase-caller small{margin-top:3px;color:#8298bf;font-size:11px;line-height:1.3}
.showcase-wave{display:flex;align-items:center;gap:3px;height:24px;color:var(--sky)}
.showcase-wave b{display:block;width:3px;height:var(--h,10px);border-radius:3px;background:currentColor;animation:showcaseWave .9s ease-in-out infinite alternate}
.showcase-wave b:nth-child(2){--h:17px;animation-delay:-.2s}.showcase-wave b:nth-child(3){--h:8px;animation-delay:-.42s}.showcase-wave b:nth-child(4){--h:21px;animation-delay:-.1s}.showcase-wave b:nth-child(5){--h:13px;animation-delay:-.32s}.showcase-wave b:nth-child(6){--h:18px;animation-delay:-.5s}.showcase-wave b:nth-child(7){--h:7px;animation-delay:-.25s}
.showcase-message{margin-top:20px;padding:11px 12px;border-radius:10px;background:rgba(184,199,230,.09)}
.showcase-message.agent{margin-top:8px;background:rgba(98,164,255,.16)}
.showcase-message span{display:block;color:#8298bf;font:9px var(--mono);letter-spacing:.1em}
.showcase-message p{margin-top:5px;color:#fff;font-size:13px;line-height:1.4}
.showcase-call-foot{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:12px;border-top:1px solid rgba(184,199,230,.16);color:#8298bf;font:10px var(--mono)}
.showcase-call-foot span:first-child{display:inline-flex;align-items:center;gap:6px}
.showcase-call-foot i{width:6px;height:6px;border-radius:50%;background:var(--green)}
.showcase-score{display:flex;flex-direction:column;gap:16px}
.showcase-score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding-top:3px;color:#B8C7E6;font-size:12px}
.showcase-score-row strong{color:#fff;font:600 15px var(--display);font-variant-numeric:tabular-nums}
.showcase-score-row>i{grid-column:1/-1;display:block;height:5px;border-radius:999px;background:rgba(184,199,230,.14);overflow:hidden}
.showcase-score-row>i em{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--sky);animation:showcaseBar 2.8s ease-in-out infinite alternate}
.showcase-outcome{margin-top:auto;padding-top:14px;border-top:1px solid rgba(184,199,230,.16)}
.showcase-outcome span{display:flex;align-items:center;gap:7px;color:#57c978;font:10px var(--mono);letter-spacing:.08em}
.showcase-outcome span i{width:7px;height:7px;border-radius:50%;background:var(--green)}
.showcase-outcome strong{display:block;margin-top:8px;color:#fff;font:600 14px/1.25 var(--display)}
.showcase-release{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:10px;padding:14px 16px;border:1px solid rgba(184,199,230,.18);border-radius:12px;background:rgba(98,164,255,.08)}
.showcase-release>div:first-child{min-width:145px}
.showcase-release span,.showcase-release b{display:block;color:#8298bf;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.showcase-release strong{display:block;margin-top:5px;color:#fff;font:600 14px var(--display)}
.showcase-release-track{display:flex;align-items:center;gap:10px;min-width:0;color:var(--sky)}
.showcase-release-track i{display:block;width:72px;height:2px;background:var(--sky);position:relative;overflow:visible}
.showcase-release-track i::after{content:"";position:absolute;top:50%;left:0;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(98,164,255,.18);transform:translate(-50%,-50%);animation:showcaseRunner 2.8s ease-in-out infinite}
.showcase-release-track b{color:#B8C7E6;font-weight:500;white-space:nowrap}
.showcase-release-track span{display:block;color:var(--sky);font-size:15px}
@keyframes showcaseBeat{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.12)}}
@keyframes showcaseWave{from{transform:scaleY(.55);opacity:.55}to{transform:scaleY(1);opacity:1}}
@keyframes showcaseBar{from{filter:brightness(.88)}to{filter:brightness(1.18)}}
@keyframes showcaseRunner{0%,10%{left:0}55%,70%{left:100%}100%{left:0}}
@media (max-width:900px){
  .showcase-panel{grid-template-columns:1fr;gap:34px}
  .showcase-copy{max-width:620px}
  .showcase-copy h2{max-width:12ch}
}
@media (max-width:600px){
  .showcase-sec{padding:28px 0 56px}
  .showcase-panel{padding:26px 18px;border-radius:18px}
  .showcase-copy h2{font-size:38px}
  .showcase-console{padding:12px}
  .showcase-console-grid{grid-template-columns:1fr}
  .showcase-score{gap:13px}
  .showcase-release{align-items:flex-start;flex-direction:column;gap:14px}
  .showcase-release-track{width:100%;overflow:auto;padding-bottom:2px}
  .showcase-release-track i{flex:1;min-width:52px}
  .showcase-call-foot{font-size:9px}
}
@media (prefers-reduced-motion:reduce){.showcase-eyebrow i,.showcase-wave b,.showcase-score-row>i em,.showcase-release-track i::after{animation:none}}
.track.brands{gap:48px}
.track.brands span{border:0;background:none;padding:6px 0;font-family:var(--display);font-size:clamp(20px,1.9vw,26px);font-weight:600;letter-spacing:-.02em;color:var(--ink-2);opacity:.75}
.track.brands span:hover{opacity:1;color:var(--ink)}

/* ---------- vertical rhythm between sibling blocks inside a section ---------- */
.wrap > :is(.grid,.steps,.table-wrap,.stats,.faq,.split,.tags,.quote,.kpi-list,.rail,.timeline,.mock,.plat,.bento,.secgrid,.voices,.case,.logo-wall,.infra-wrap,.case-grid,.pipe,.term,.emblems) + :is(p,.lede,.note,.actions,.tags,.grid,.steps,.table-wrap,.stats,.faq,.split,.quote,.kpi-list,.timeline,.mock,.link-arrow,h2,h3,.h2,.h3){margin-top:32px}
.wrap > :is(p,.lede,.note,.actions,.tags,.eyebrow,h2,h3,.h2,.h3) + :is(.grid,.steps,.table-wrap,.stats,.faq,.split,.quote,.kpi-list,.rail,.timeline,.mock,.logo-wall,.infra-wrap,.case-grid){margin-top:28px}
.wrap > :is(h2,.h2) + :is(p,.lede){margin-top:16px}
.wrap > .eyebrow + :is(h2,.h2,h3){margin-top:14px}
.wrap-narrow > :is(.grid,.steps,.table-wrap,.stats,.faq,.split,.tags) + :is(p,.lede,.note,.actions){margin-top:32px}
.stats{margin:32px 0 0}
.wrap > .stats + *{margin-top:36px}
.sec-head + .stats{margin-top:0}
.faq details p{padding-top:2px}

/* ---------- hero visual variants ---------- */
.hv-transcript .mock-body{gap:10px}
.hv-transcript .bubble{font-size:14px}
.hv-transcript .mock-row{padding:8px 0}
.hv-kpis{display:grid;gap:8px;padding:22px;background:#fff;border:1px solid var(--line-strong);border-radius:20px;box-shadow:var(--shadow)}
.hv-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hv-kpi strong{display:block;font-family:var(--display);font-size:clamp(24px,2.4vw,34px);font-weight:600;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.hv-kpi span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.35}
.hv-kpis canvas{width:100%;aspect-ratio:1.9/1;display:block}
.hv-term{margin:0;font-size:12px}
.hv-term pre{min-height:0;white-space:pre-wrap}
.hv-term .ln{opacity:1;transform:none}
.hv-emblems{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:center}
.hv-emblems img{width:100%;max-width:120px;height:auto;margin:0 auto;display:block}
.hv-chips{display:grid;gap:14px;padding:22px;background:var(--bg-soft);border:1px solid var(--line);border-radius:20px}
.hv-tiers{display:grid;gap:8px}
.hv-tier{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}
.hv-tier.on{border-color:var(--navy);background:var(--navy)}
.hv-tier b{font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink)}
.hv-tier span{font-size:13.5px;color:var(--muted)}
.hv-tier.on b{color:#fff}.hv-tier.on span{color:#B8C7E6}
.hv-quote .quote{margin:0}
.hv-people{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.hv-person{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.hv-person i{grid-row:1/3;width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--sky-text);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:500}
.hv-person b{font-size:14px;color:var(--ink);font-weight:600;line-height:1.2}
.hv-person span{font-size:12px;color:var(--muted)}
@media (max-width:600px){
  .hv-kpi-row{gap:8px}
  .hv-kpi strong{font-size:22px}
  .hv-people{grid-template-columns:1fr}
  .hv-emblems{grid-template-columns:repeat(3,1fr);gap:10px}
  .hv-chips,.hv-kpis{padding:16px}
  .hero-card .mock-row span{min-width:72px}
  .cta-inline .wrap{flex-direction:column;align-items:flex-start}
  .cta-inline .actions{width:100%}
  .cta-inline .btn{flex:1}
  .filters{gap:6px}
  .filters button{padding:7px 11px;font-size:13px}
  .filters .lbl{width:100%;margin:6px 0 0}
  .case-card{padding:20px}
  .cc-num{font-size:40px}
  .infra-wrap{padding:10px}
  .logo-wall li{padding:18px 16px}
}

/* ---------- journey ---------- */
.journey .step h3{font-size:clamp(19px,1.55vw,21px);line-height:1.18;min-height:2.36em;margin-bottom:12px;text-wrap:balance}
.journey .step>p:not(.win){min-height:11em}
.journey .step p.win{display:flex;align-items:flex-start;min-height:8.8em;margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--tint);color:var(--ink);font-size:14px;line-height:1.5;position:relative;padding-left:32px}
.journey .step p.win::before{content:"";position:absolute;left:12px;top:15px;width:10px;height:6px;border-left:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(-45deg)}
.pipe.go.journey .step .win{animation:none}

@media (max-width:900px){
  .journey .step h3,.journey .step>p:not(.win),.journey .step p.win{min-height:0}
}

/* ---------- journey visual ---------- */
.journey-visual{position:relative;margin-top:56px;padding:0 24px 24px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--r);background:linear-gradient(145deg,#fff 0%,var(--bg-soft) 100%);box-shadow:var(--shadow)}
.journey-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:28px 28px;opacity:.32;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 90%);pointer-events:none}
.journey-visual-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font:500 11px var(--mono);letter-spacing:.12em;color:var(--muted)}
.journey-visual-status{color:var(--green)}
.journey-visual-status i,.journey-call-foot i,.journey-score-note i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);vertical-align:middle;margin-right:7px}
.journey-visual-status i{animation:journeyStatus 2.2s ease-in-out infinite}
.journey-visual-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(190px,.72fr) minmax(0,1.08fr);gap:18px;padding-top:24px}
.journey-call-panel,.journey-route-panel,.journey-score-panel{min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.92)}
.journey-call-meta,.journey-route-head,.journey-score-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.journey-call-meta b,.journey-route-head b,.journey-score-head b{font-weight:500;color:var(--sky-text);white-space:nowrap}
.journey-wave{display:flex;align-items:center;gap:4px;height:38px;margin:18px 0 16px}
.journey-wave i{flex:1;height:var(--h,55%);min-height:5px;border-radius:99px;background:var(--sky);opacity:.7;transform-origin:center;animation:journeyWave 1.5s ease-in-out infinite}
.journey-wave i:nth-child(1){--h:32%;animation-delay:-.1s}.journey-wave i:nth-child(2){--h:64%;animation-delay:-.3s}.journey-wave i:nth-child(3){--h:44%;animation-delay:-.5s}.journey-wave i:nth-child(4){--h:82%;animation-delay:-.7s}.journey-wave i:nth-child(5){--h:55%;animation-delay:-.9s}.journey-wave i:nth-child(6){--h:92%;animation-delay:-1.1s}.journey-wave i:nth-child(7){--h:46%;animation-delay:-.4s}.journey-wave i:nth-child(8){--h:72%;animation-delay:-.6s}.journey-wave i:nth-child(9){--h:38%;animation-delay:-.8s}.journey-wave i:nth-child(10){--h:78%;animation-delay:-1s}.journey-wave i:nth-child(11){--h:54%;animation-delay:-1.2s}.journey-wave i:nth-child(12){--h:88%;animation-delay:-.2s}.journey-wave i:nth-child(13){--h:43%;animation-delay:-.45s}.journey-wave i:nth-child(14){--h:68%;animation-delay:-.65s}.journey-wave i:nth-child(15){--h:35%;animation-delay:-.85s}.journey-wave i:nth-child(16){--h:76%;animation-delay:-1.05s}.journey-wave i:nth-child(17){--h:50%;animation-delay:-1.25s}.journey-wave i:nth-child(18){--h:86%;animation-delay:-.25s}.journey-wave i:nth-child(19){--h:42%;animation-delay:-.55s}.journey-wave i:nth-child(20){--h:70%;animation-delay:-.75s}.journey-wave i:nth-child(21){--h:30%;animation-delay:-.95s}.journey-wave i:nth-child(22){--h:80%;animation-delay:-1.15s}.journey-wave i:nth-child(23){--h:48%;animation-delay:-.35s}.journey-wave i:nth-child(24){--h:64%;animation-delay:-.9s}
.journey-message{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft)}
.journey-message+.journey-message{margin-top:9px}
.journey-message.agent{background:var(--tint);border-color:var(--tint-2)}
.journey-message span{display:block;font:500 9px var(--mono);letter-spacing:.12em;color:var(--sky-text);margin-bottom:4px}
.journey-message p{font-size:13px;line-height:1.4;color:var(--ink)}
.journey-call-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.journey-call-foot i{width:6px;height:6px;margin-right:5px}
.journey-route{position:relative;display:grid;gap:13px;margin:19px 0 13px;padding:2px 0 2px 25px}
.journey-route::before,.journey-route-progress{content:"";position:absolute;left:5px;top:5px;bottom:5px;width:2px;border-radius:2px;background:var(--line-strong)}
.journey-route-progress{z-index:1;bottom:auto;height:48%;background:linear-gradient(var(--sky-text),var(--sky));transform-origin:top;animation:journeyRoute 4.2s ease-in-out infinite}
.journey-route-node{position:relative;display:grid;gap:1px}
.journey-route-node::before{content:"";position:absolute;left:-25px;top:4px;width:10px;height:10px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;z-index:2}
.journey-route-node.on::before{border-color:var(--sky-text);background:var(--sky)}
.journey-route-node b{font-family:var(--display);font-size:14px;font-weight:600;line-height:1.2;color:var(--ink)}
.journey-route-node small{font-size:11px;line-height:1.35;color:var(--muted)}
.journey-route-panel>p{padding-top:13px;border-top:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--ink-2)}
.journey-score-grid{display:grid;gap:17px;margin-top:21px}
.journey-score-row{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:12px;color:var(--ink-2)}
.journey-score-row>b{font:500 11px var(--mono);color:var(--sky-text)}
.journey-score-row>i{grid-column:1/-1;display:block;height:6px;border-radius:99px;background:var(--tint-2);overflow:hidden}
.journey-score-row>i em{display:block;width:var(--w);height:100%;border-radius:inherit;background:var(--sky-text);transform-origin:left;animation:journeyScore 4.8s ease-in-out infinite}
.journey-score-row:nth-child(2)>i em{animation-delay:-1.2s;background:var(--sky)}
.journey-score-row:nth-child(3)>i em{animation-delay:-2.4s;background:var(--green)}
.journey-score-note{display:flex;align-items:center;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--green)}
.journey-score-note i{width:6px;height:6px;flex:none;margin-right:7px}
@keyframes journeyWave{0%,100%{transform:scaleY(.62);opacity:.5}50%{transform:scaleY(1);opacity:1}}
@keyframes journeyRoute{0%,100%{height:25%;opacity:.55}55%,78%{height:88%;opacity:1}}
@keyframes journeyScore{0%,18%{width:14%}60%,100%{width:var(--w)}}
@keyframes journeyStatus{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}50%{box-shadow:0 0 0 4px rgba(22,163,74,.13)}}
@media (max-width:980px){.journey-visual-grid{grid-template-columns:1fr 1fr}.journey-call-panel{grid-column:1/-1}}
@media (max-width:600px){
  .journey-visual{margin-top:40px;padding:0 16px 16px}
  .journey-visual-head{align-items:flex-start;flex-direction:column;gap:8px}
  .journey-visual-grid{grid-template-columns:1fr;gap:12px;padding-top:16px}
  .journey-call-panel{grid-column:auto}
  .journey-call-panel,.journey-route-panel,.journey-score-panel{padding:15px}
}
@media (prefers-reduced-motion:reduce){.journey-visual-status i,.journey-wave i,.journey-route-progress,.journey-score-row>i em{animation:none}.journey-route-progress{height:88%}.journey-score-row>i em{width:var(--w)}}

/* ---------- customer lifecycle flow ---------- */
.flow{position:relative;padding:8px 0 4px;overflow-x:auto;scrollbar-width:thin}
.flow-line{position:absolute;left:24px;right:24px;top:31px;height:2px;background:var(--line)}
.flow-line i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--sky-deep),var(--sky))}
.flow-nodes{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:14px;min-width:1050px;position:relative}
.flow-nodes li{padding-top:52px;position:relative;transition:opacity .4s}
.flow-nodes li::before{content:"";position:absolute;left:50%;top:22px;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--line-strong);transform:translateX(-50%);transition:all .4s;z-index:1}
.flow-nodes li.on::before{border-color:var(--sky-text);background:var(--sky-text);box-shadow:0 0 0 6px var(--tint)}
.flow-nodes li.done::before{border-color:var(--sky-text);background:#fff}
.flow-nodes li.done::after{content:"";position:absolute;left:calc(50% - 3px);top:26px;width:5px;height:9px;border-right:2px solid #16A34A;border-bottom:2px solid #16A34A;transform:rotate(45deg);z-index:2}
.flow-nodes li:not(.on):not(.done){opacity:.55}
.flow-nodes .when{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sky-text)}
.flow-nodes b{display:block;font-family:var(--display);font-size:17px;font-weight:600;color:var(--ink);margin:4px 0 2px;line-height:1.2}
.flow-nodes .who{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin-bottom:8px}
.flow-nodes .who::before{content:"";width:13px;height:13px;flex:none;background:var(--muted);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.362 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.338 1.85.573 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat}
.flow-nodes .who.wa::before{background:none;mask:none;-webkit-mask:none;width:14px;height:14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2316A34A'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.8-1.4.1-.2 0-.3 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.8 11.9 11.9 0 0 0 4.6 4c1.7.7 2.1.6 2.8.5a2.4 2.4 0 0 0 1.6-1.1 2 2 0 0 0 .1-1.1c0-.1-.2-.2-.4-.3z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center}
.flow-nodes p{font-size:13.5px;color:var(--ink-2);line-height:1.5;max-height:0;overflow:hidden;opacity:0;transform:translateY(6px);transition:max-height .5s,opacity .4s}
.flow-nodes li.on p,.flow-nodes li.done p{max-height:120px;opacity:1;transform:translateY(0)}
.flow-dot{position:absolute;top:25px;left:0;width:12px;height:12px;border-radius:50%;background:var(--sky-deep);box-shadow:0 0 0 4px var(--tint),0 2px 6px rgba(1,24,56,.25);transform:translateX(-50%);opacity:0;z-index:3;pointer-events:none}
.flow-dot.show{opacity:1}
.flow-record{margin-top:20px;padding:14px 18px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-sm);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.flow-record .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex:none}
.flow-record .chips{display:flex;flex-wrap:wrap;gap:8px;min-height:26px}
.flow-record .chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;background:#fff;border:1px solid var(--line-strong);border-radius:999px;font-size:12.5px;color:var(--ink-2)}
.flow-record .chip i{width:6px;height:6px;border-radius:50%;background:#16A34A;flex:none}
@media (prefers-reduced-motion: no-preference){
  .flow-dot{}
  .flow-nodes p{transition:max-height .5s,opacity .4s,transform .4s}
  .flow-nodes li.on::before{animation:flowPulse 1.8s ease-out infinite}
  .flow-record .chip{animation:chipIn .3s ease}
}
@keyframes flowPulse{0%{box-shadow:0 0 0 6px var(--tint)}70%{box-shadow:0 0 0 15px rgba(98,164,255,0)}100%{box-shadow:0 0 0 6px var(--tint)}}
@keyframes chipIn{from{opacity:0;transform:translateY(4px) scale(.92)}to{opacity:1;transform:none}}
.flow-foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.flow-foot p{color:var(--ink-2);font-size:16px}
.flow-foot strong{color:var(--ink)}
@media (max-width:900px){.flow-nodes{min-width:1050px}.flow-nodes li:not(.on):not(.done){opacity:.8}.flow-nodes p{max-height:120px;opacity:1}}

/* ---------- telephony map ---------- */
.telco-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;overflow-x:auto}
.telco{width:100%;min-width:900px;height:auto;display:block}
.telco .node rect{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.telco .node.region rect{fill:var(--bg-soft)}
.telco .node.core rect{fill:var(--navy);stroke:var(--navy)}
.telco .t{font:600 13px var(--body);fill:var(--ink)}
.telco .s{font:11.5px var(--body);fill:var(--muted)}
.telco .core .t{fill:#fff}.telco .core .s{fill:#B8C7E6}
.telco .lbl{font:600 11px var(--mono);letter-spacing:.14em;fill:var(--muted)}
.telco .badge{fill:var(--sky)}.telco .badge.alt{fill:var(--tint-2)}
.telco .b{font:600 10px var(--mono);letter-spacing:.08em;fill:var(--navy)}
.telco .wire{fill:none;stroke:var(--line-strong);stroke-width:1.4}
.telco .wire.dash{stroke-dasharray:4 4}
.telco .pulse{fill:var(--sky-text)}
.telco .pulse.g{fill:var(--green)}
.telco .pulse.m{fill:#7C8DB5}
.telco .pulse.fo{fill:var(--sky)}
.telco .pulse.x{fill:#fff;stroke:#DC2626;stroke-width:1.6}
.telco .guard rect{fill:var(--tint);stroke:var(--line-strong);stroke-width:1;stroke-dasharray:5 4}
.telco .chip rect{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.telco .panel rect{fill:var(--bg-soft);stroke:var(--line-strong);stroke-width:1}
.telco .pod rect{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.telco .pod.ghost rect{fill:#fff;stroke:var(--sky);stroke-dasharray:4 4}
.telco .ban{fill:#fff;stroke:#DC2626;stroke-width:1.6}
.telco .node rect.badge{fill:var(--sky);stroke:var(--sky)}
.telco .node rect.badge.alt{fill:var(--tint-2);stroke:var(--tint-2)}
.telco .glyph{fill:none;stroke:var(--navy);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.telco .barfill{fill:var(--sky)}

/* ---------- integration catalogue ---------- */
.ilegend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.igroup{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.igroup h3{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--ink)}
.ichips{display:flex;flex-wrap:wrap;gap:8px}
.ichip{display:inline-flex;align-items:center;gap:8px;font-size:13px;border:1px solid var(--line);border-radius:999px;padding:6px 11px;color:var(--ink-2);background:#fff}
.ichip i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);flex:none}
.ichip.module i{background:var(--navy)}.ichip.native i{background:var(--sky-text)}.ichip.zapier i{background:#F59E0B}.ichip.api i{background:var(--line-strong)}
@media (max-width:1000px){.igrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.igrid{grid-template-columns:1fr}}
/* ---------- security controls grid ---------- */
.egrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ecard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;justify-items:center;text-align:center;gap:6px;transition:border-color .25s,box-shadow .25s}
.ecard:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}
.ecard img{width:110px;height:110px}
.ecard h3{font-size:15px;font-weight:600}
.ecard p{font-size:13px;color:var(--muted);line-height:1.45}
@media (max-width:640px){.egrid{grid-template-columns:repeat(2,1fr)}.ecard img{width:84px;height:84px}}
/* ---------- footer trust ---------- */
.ftr-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.tbadge{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--ink-2)}
.tbadge svg{width:14px;height:14px;color:var(--green)}
.tbadge.link{color:var(--sky-text);border-color:var(--tint-2)}
.cbadge{height:36px;width:auto}
.cbadges{display:flex;gap:12px;margin-top:22px}
.social{display:flex;gap:10px}
.social a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:all .2s}
.social a:hover{color:var(--ink);border-color:var(--ink)}
.social svg{width:18px;height:18px}

/* ---------- clean bar chart (replaces particle chart) ---------- */
.barchart{width:100%;height:auto;display:block}
.barchart .bg{fill:var(--bg-soft)}
.barchart .bar{fill:var(--sky-text)}
.barchart .bar.alt{fill:var(--sky)}
.barchart .lbl{font:11px var(--mono);fill:var(--muted);letter-spacing:.04em}
.barchart .val{font:600 12px var(--body);fill:var(--ink)}
.fsearch{flex:1 1 100%;display:block;margin-bottom:6px}
.fsearch input{width:100%;max-width:420px;font:inherit;font-size:14px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;min-height:40px}
.fsearch input:focus{outline:2px solid var(--sky);border-color:var(--sky)}

/* ---------- A/B test demo ---------- */
.ab{background:#fff;border:1px solid var(--line-strong);border-radius:20px;padding:22px;box-shadow:var(--shadow)}
.ab-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.ab-phase{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--tint);border-radius:999px;padding:6px 12px}
.ab-rows{display:grid;gap:10px}
.ab-row{display:grid;grid-template-columns:minmax(200px,1.1fr) minmax(0,1.6fr) auto;gap:18px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:14px;transition:background .5s,border-color .5s,opacity .5s}
.ab-row.win{border-color:var(--green);background:#F2FBF5}
.ab-row.lose{opacity:.45}
.ab-meta b{display:block;font-family:var(--display);font-size:16px;color:var(--ink)}
.ab-meta span{display:block;font-size:13px;color:var(--muted);line-height:1.4;margin-top:2px}
.ab-bars{display:grid;gap:8px}
.ab-bar{display:grid;grid-template-columns:118px 1fr 48px;align-items:center;gap:10px}
.ab-bar em{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);font-style:normal;text-transform:uppercase}
.ab-bar .trk{position:relative;height:12px;background:var(--bg-soft);border-radius:6px;overflow:hidden;display:block}
.ab-bar i{position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:6px;background:var(--sky);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.ab-bar.outcome i{background:var(--sky-text)}
.ab-row.win .ab-bar.outcome i{background:var(--green)}
.ab-bar b{font-family:var(--mono);font-size:12px;color:var(--ink);font-weight:500;text-align:right;transition:color .4s}
.ab-row{transition:background .8s,border-color .8s,opacity .8s}
.ab-n{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}
.ab-n b{color:var(--ink);font-weight:500}
.ab-foot{margin-top:16px;font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:14px}
@media (max-width:760px){.ab-row{grid-template-columns:1fr;gap:10px}.ab-n{text-align:right}}

.ilogo{width:18px;height:18px;flex:none;display:inline-grid;place-items:center}
.ilogo.mono{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.02em;color:var(--sky-text);background:var(--tint);border-radius:5px}
.ichip .ilogo{margin-right:2px}
.ichip i{margin-left:2px}
.tags.logos span{display:inline-flex;align-items:center;gap:8px}
.tags.logos .ilogo{width:16px;height:16px}

/* ---------- integration marquee ---------- */
.integ-marquee{margin-top:14px}
.track.integ{gap:12px;animation-duration:70s;padding-bottom:6px}
.track.integ.rev{animation-direction:reverse;animation-duration:80s}
.track.integ span{display:inline-flex;align-items:center;gap:9px;font-family:var(--body);font-size:14px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px 9px 11px;white-space:nowrap}
.track.integ .ilogo{width:16px;height:16px}

.cap.wa{align-self:flex-end;background:#E8F8EE;border-color:#BFE8CE;color:var(--ink);position:relative;padding-left:40px}
.cap.wa::before{content:"";position:absolute;left:12px;top:12px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2316A34A'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.8-1.4.1-.2 0-.3 0-.5l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.8 11.9 11.9 0 0 0 4.6 4c1.7.7 2.1.6 2.8.5a2.4 2.4 0 0 0 1.6-1.1 2 2 0 0 0 .1-1.1c0-.1-.2-.2-.4-.3z'/%3E%3C/svg%3E") center/contain no-repeat}
.cap.wa small{color:#15803D}
@media (max-width:760px){.ab-bar{grid-template-columns:90px 1fr 44px}}

.ph-bottom{position:absolute;left:22px;right:22px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}
.ph-bottom .dots{display:flex;gap:8px}
.ph-bottom .dots i{width:8px;height:8px;border-radius:50%;background:var(--line-strong);transition:background .4s,transform .4s}
.ph-bottom .dots i.on{background:var(--sky-text);transform:scale(1.25)}
.ph-bottom .dots i.done{background:var(--sky)}
.ph-bottom span{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.phone{height:auto;min-height:420px}.pane{position:relative;inset:auto;display:none}.pane.on{display:flex}.ph-bottom{position:static;margin-top:16px}}

.ftr .brand .cbadges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:488px;margin-top:18px;align-items:stretch}
.ftr .brand .cbadge{display:block;width:100%;height:auto;aspect-ratio:3/1;max-width:none}
.ftr .brand .tech-badges{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:488px;margin-top:10px;align-items:stretch}
.ftr .brand .tech-badges .tbadge{display:flex;width:100%;height:46px;min-width:0;box-sizing:border-box;justify-content:flex-start;gap:11px;padding:10px 18px;font-size:10px;letter-spacing:.08em;white-space:nowrap}
.ftr .brand .tech-badges .tbadge img{width:20px;height:20px;flex:none}
@media (max-width:700px){.ftr .brand .cbadges,.ftr .brand .tech-badges{width:min(100%,420px);max-width:none}.ftr .brand .cbadges{padding:10px;gap:10px}}
@media (max-width:420px){.ftr .brand .cbadges,.ftr .brand .tech-badges{width:min(100%,360px);max-width:none}}

/* ---------- security hero drawing ---------- */
.hv-svg{width:100%;max-width:520px;min-width:0}
.split .hv-svg{max-width:520px;justify-self:end;border:0;box-shadow:none;background:none}
.guard{width:100%;height:auto;display:block}
.guard .wire{fill:none;stroke:var(--line-strong);stroke-width:1.6}
.guard .node rect{fill:#fff;stroke:var(--line-strong)}
.guard .node.core rect{fill:var(--navy);stroke:var(--navy)}
.guard .t{font:600 12px var(--body);fill:var(--ink)}
.guard .s{font:11px var(--body);fill:var(--muted)}
.guard .core .t{fill:#fff}.guard .core .s{fill:#B8C7E6}
.guard .shield .t{font:700 13px var(--mono);letter-spacing:.08em;fill:var(--ink)}
.guard .lbl{font:600 11px var(--mono);letter-spacing:.14em;fill:var(--muted)}
.guard .pulse{fill:var(--sky-text)}.guard .pulse.g{fill:var(--green)}
@media (max-width:900px){
  .split .hv-svg{width:100%;max-width:none;justify-self:stretch}
  .split .hv-svg .guard{max-width:760px;margin:0 auto}
}

/* ---------- technical flow ---------- */
.tech{width:100%;min-width:980px;height:auto;display:block}
.tech .node rect{fill:#fff;stroke:var(--line-strong);stroke-width:1}
.tech .node.region rect{fill:var(--bg-soft)}
.tech .core>rect{fill:var(--navy)}
.tech .core .inner rect{fill:#0F2350;stroke:rgba(255,255,255,.14)}
.tech .core .inner.brain rect{fill:var(--sky-deep);stroke:var(--sky)}
.tech .core .inner.svc rect{fill:#13305F}
.tech .core .inner.guard rect{fill:#0B1C42;stroke:var(--sky);stroke-dasharray:3 3}
.tech .core .t{fill:#fff}.tech .core .s{fill:#B8C7E6}
.tech .core .wire.w{stroke:rgba(255,255,255,.35)}
.tech .rail>rect{fill:var(--bg-soft);stroke:var(--line)}
.tech .rail .inner rect{fill:#fff;stroke:var(--line-strong)}
.tech .t{font:600 12px var(--body);fill:var(--ink)}
.tech .s{font:10.5px var(--body);fill:var(--muted)}
.tech .lbl{font:600 11px var(--mono);letter-spacing:.14em;fill:var(--muted)}
.tech .badge{fill:var(--sky)}.tech .b{font:600 10px var(--mono);fill:var(--navy);letter-spacing:.06em}
.tech .wire{fill:none;stroke:var(--line-strong);stroke-width:1.4}
.tech .pulse{fill:var(--sky-text)}.tech .pulse.g{fill:var(--green)}.tech .pulse.m{fill:#7C8DB5}

/* ---------- fixes: integration marquee, lifecycle markers ---------- */
.marquee .track.integ{display:flex;grid-template-columns:none;gap:12px;align-items:center}
.marquee .track.integ.rev{animation-direction:reverse}
.flow-nodes{grid-template-columns:repeat(7,minmax(140px,1fr));gap:20px;min-width:1100px}
.flow-nodes li{padding-top:60px}
.flow-nodes li::before{left:50%;top:12px;width:20px;height:20px;border:2px solid var(--line-strong);background:#fff;box-shadow:none;animation:none}
.flow-nodes li.on{opacity:1}
.flow-nodes li.on::before{border-color:var(--line-strong);background:#fff;box-shadow:none;animation:none}
.flow-nodes li.on b{color:var(--sky-text)}
.flow-nodes li.done::before{border-color:var(--green);background:var(--green)}
.flow-nodes li::after{display:none}
.flow-nodes li.done::after{display:block;content:"";position:absolute;left:calc(50% - 4px);top:18px;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);background:none}
.flow-line{top:29px}
.flow-dot{top:22px;width:16px;height:16px;background:var(--sky-text);box-shadow:0 0 0 5px var(--tint),0 2px 8px rgba(1,24,56,.2)}
.flow-nodes b{font-size:18px;margin:6px 0 4px}
.flow-nodes .who{margin-bottom:10px}
.flow-nodes p{font-size:14px;max-height:none;opacity:1}
.flow-nodes li:not(.on):not(.done){opacity:.45}
.tech-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tech-badges .tbadge img{width:16px;height:16px}

/* ---------- blog featured images ---------- */
.blog-hero{max-width:var(--max);margin:0 auto;padding:0 28px}
.blog-hero img{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line);filter:saturate(.96) blur(.25px)}
@media (max-width:860px){.blog-hero{padding:0 20px}}

/* ---------- article field visuals ---------- */
.blog-field-visual{position:relative;max-width:var(--max);margin:12px auto 28px;padding:22px 28px 24px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--r);background:linear-gradient(145deg,#fff 0%,var(--bg-soft) 100%);box-shadow:var(--shadow)}
.blog-field-visual::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;opacity:.45;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 92%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 92%);pointer-events:none}
.blog-field-head,.blog-field-steps,.blog-field-visual figcaption{position:relative;z-index:1}
.blog-field-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:15px;border-bottom:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.blog-field-status{display:inline-flex;align-items:center;gap:8px;color:var(--green)}
.blog-field-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:blogFieldPulse 2.4s ease-in-out infinite}
.blog-field-kicker{position:relative;z-index:1;margin-top:22px;color:var(--sky-text);font:500 12px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.blog-field-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.blog-field-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;min-height:116px;padding:18px;border:1px solid var(--line-strong);border-radius:14px;background:rgba(255,255,255,.86);transition:border-color .25s,transform .25s,box-shadow .25s}
.blog-field-step:nth-child(2){background:var(--tint)}
.blog-field-step:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:0 14px 30px -24px var(--sky-text)}
.blog-field-step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-16px;width:15px;height:1px;background:var(--sky);opacity:.65}
.blog-field-step:not(:last-child)::before{content:"";position:absolute;top:calc(50% - 3px);right:-16px;width:6px;height:6px;border-top:1px solid var(--sky);border-right:1px solid var(--sky);transform:rotate(45deg);opacity:.8}
.blog-field-step>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font:10px var(--mono)}
.blog-field-step b{display:block;color:var(--ink);font:600 18px var(--display);line-height:1.15}
.blog-field-step small{display:block;margin-top:9px;color:var(--muted);font:13px var(--body);line-height:1.45}
.blog-field-visual figcaption{display:flex;align-items:center;gap:13px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.blog-field-visual figcaption strong{color:var(--ink);font:600 13px var(--body);letter-spacing:0;text-transform:none}
@keyframes blogFieldPulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}50%{box-shadow:0 0 0 4px rgba(22,163,74,.13)}}
@media (max-width:860px){.blog-field-visual{margin:4px 20px 28px;padding:20px}.blog-field-steps{grid-template-columns:1fr;gap:10px}.blog-field-step{min-height:0}.blog-field-step:not(:last-child)::after,.blog-field-step:not(:last-child)::before{display:none}}
@media (max-width:560px){.blog-field-visual{margin:0 20px 24px;padding:16px;border-radius:var(--r)}.blog-field-head{align-items:flex-start;flex-direction:column;gap:9px}.blog-field-kicker{margin-top:18px}.blog-field-step{grid-template-columns:30px minmax(0,1fr);padding:15px}.blog-field-step>span{width:28px;height:28px}.blog-field-step b{font-size:17px}.blog-field-step small{font-size:12.5px}.blog-field-visual figcaption{align-items:flex-start;flex-wrap:wrap;gap:8px}.blog-field-visual figcaption strong{width:100%;order:3}}
@media (prefers-reduced-motion:reduce){.blog-field-status i,.blog-field-step{animation:none;transition:none}}

/* ---------- references: open-ended "more" markers ---------- */
.logo-wall li.more b{color:var(--sky-text)}
.track.brands span.more{color:var(--sky-text);opacity:1}
.card-img{width:calc(100% + 52px);margin:-26px -26px 6px;height:150px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;filter:saturate(.96) blur(.25px)}

/* cta-band sphere placement: inside the container, not off the right edge */
.cta-band .art{right:max(28px,calc((100vw - var(--max)) / 2 + 28px));width:min(30vw,380px);top:50%;transform:translateY(-50%)}
.cta-band .wrap{padding-right:min(34vw,420px)}
@media (max-width:900px){.cta-band .wrap{padding-right:28px}}

/* bespoke hero illustrations */
.hv-art{max-width:520px;justify-self:end;width:100%}
.hv-art svg{width:100%;height:auto;display:block}
@media (max-width:900px){.hv-art{justify-self:stretch;max-width:420px;margin:0 auto}}

/* last nav dropdown (Company) hugs the right edge so it never overflows the viewport */
.nav li:last-child .dd{left:auto;right:0}

/* bespoke blog illustrations */
.blog-art svg{width:100%;height:auto;display:block;border-radius:var(--r);border:1px solid var(--line);background:#fff}
.card-art{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.card-art svg{width:165%;height:auto;flex:none;display:block}

/* investors page: indexed growth chart */
#growth-chart svg{width:100%;height:auto}
#growth-chart .l{fill:none;stroke:var(--navy);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s ease}
#growth-chart .a{fill:var(--sky);opacity:0;transition:opacity 1.2s ease .3s}
#growth-chart.in .l{stroke-dashoffset:0}
#growth-chart.in .a{opacity:.12}
#growth-chart .axis-line{stroke:var(--line-strong);stroke-width:1}
#growth-chart .axis-lbl,#growth-chart .chart-cap{font:11px var(--mono);letter-spacing:.06em;fill:var(--muted)}
#growth-chart .chart-values{font:600 12px var(--body);fill:var(--ink)}
#growth-chart .chip-bg{fill:var(--navy)}
#growth-chart .chip-txt{font:600 11.5px var(--mono);letter-spacing:.02em;fill:#fff}
#growth-chart .dot-pulse{fill:none;stroke:var(--green);stroke-width:2;animation:chart-pulse 2.2s ease-out infinite}
#growth-chart .dot-core{fill:var(--green)}
@keyframes chart-pulse{0%{r:6;stroke-opacity:.55}100%{r:16;stroke-opacity:0}}

/* ---------- Sector Insight: conversation-to-management visual ---------- */
.insight-architecture-sec{overflow:hidden}
.insight-architecture{position:relative;overflow:hidden;margin:0;border:1px solid var(--line-strong);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:22px 24px 20px}
.insight-architecture::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,248,253,.74),transparent 28%);pointer-events:none}
.insight-board-grid{position:absolute;inset:64px 0 54px;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;opacity:.38;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 90%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 90%);pointer-events:none}
.insight-board-head,.insight-architecture-grid,.insight-flow-labels,.insight-architecture figcaption{position:relative;z-index:1}
.insight-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.insight-board-head b{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:500}
.insight-board-head b i,.insight-report-bar b i,.insight-trace-head b i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.12);animation:insightPulse 2.4s ease-in-out infinite}
.insight-architecture-grid{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(190px,.7fr) minmax(0,1.07fr);gap:22px;align-items:stretch;padding:40px 0 34px}
.insight-panel{display:flex;flex-direction:column;min-width:0;height:100%;padding:18px;border:1px solid var(--line-strong);border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 16px 34px -30px rgba(1,24,56,.42)}
.insight-panel-head{display:grid;gap:7px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.insight-panel-head span{color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.13em}
.insight-panel-head b{color:var(--ink);font:600 18px/1.2 var(--display)}
.insight-panel-copy{margin:13px 0 15px;color:var(--muted);font-size:13px;line-height:1.45}
.insight-stream,.insight-output-list{display:grid;gap:10px}
.insight-stream-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:start;padding:10px 0;border-bottom:1px dashed var(--line);animation:insightRowFocus 9s ease-in-out infinite}
.insight-stream-row:nth-child(2){animation-delay:-3s}.insight-stream-row:nth-child(3){animation-delay:-6s}
.insight-stream-row:last-child{border-bottom:0}
.insight-stream-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--tint);color:var(--sky-text);font:500 10px var(--mono)}
.insight-stream-row b{display:block;color:var(--ink);font:500 12px/1.35 var(--body);overflow-wrap:anywhere}
.insight-stream-row small{display:block;margin-top:4px;color:var(--muted);font:11px/1.3 var(--body)}
.insight-stream-row em,.insight-output-list>div>em{font:500 9px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--green);font-style:normal;white-space:nowrap}
.insight-panel-foot{display:block;margin-top:auto;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.insight-engine{position:relative;align-self:center;display:grid;place-items:center;min-height:286px;isolation:isolate}
.insight-engine-orbit{position:absolute;left:50%;top:42%;border:1px solid rgba(98,164,255,.48);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.insight-orbit-one{width:128px;height:128px;box-shadow:0 0 0 14px rgba(98,164,255,.06)}
.insight-orbit-two{width:190px;height:190px;border-color:rgba(98,164,255,.2);animation:insightOrbit 8s linear infinite}
.insight-orbit-three{width:252px;height:252px;border-style:dashed;border-color:rgba(1,24,56,.14);animation:insightOrbit 13s linear infinite reverse}
.insight-engine-core{position:relative;z-index:1;display:grid;place-items:center;width:142px;height:142px;padding:18px;border:1px solid var(--sky);border-radius:50%;background:var(--navy);box-shadow:0 22px 50px -28px rgba(1,24,56,.8);text-align:center}
.insight-engine-core span{color:var(--sky);font:500 8px var(--mono);letter-spacing:.13em}
.insight-engine-core strong{margin-top:8px;color:#fff;font:600 23px/1 var(--display);letter-spacing:-.035em}
.insight-engine-core strong em{color:var(--sky);font-style:normal}
.insight-engine-core small{margin-top:7px;color:#b8c7e6;font:10px var(--body)}
.insight-engine-readout{position:absolute;right:0;bottom:0;display:grid;gap:2px;text-align:right}
.insight-engine-readout b{color:var(--ink);font:600 22px var(--display)}
.insight-engine-readout span{color:var(--muted);font:10px var(--mono);letter-spacing:.04em}
.insight-output-list>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:9px;align-items:start;padding:11px 0;border-bottom:1px dashed var(--line)}
.insight-output-list>div:last-child{border-bottom:0}
.insight-output-mark{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--sky-text);box-shadow:0 0 0 4px var(--tint)}
.insight-output-mark.green{background:var(--green);box-shadow:0 0 0 4px #e8f8ee}.insight-output-mark.navy{background:var(--navy);box-shadow:0 0 0 4px #e9eef7}.insight-output-mark.sky{background:var(--sky);box-shadow:0 0 0 4px #edf5ff}
.insight-output-list p{min-width:0}.insight-output-list p b{display:block;color:var(--ink);font:600 12px/1.3 var(--display)}
.insight-output-list p small{display:block;margin-top:4px;color:var(--muted);font:11px/1.3 var(--body);overflow-wrap:anywhere}
.insight-output-list>div>em{color:var(--sky-text)}
.insight-flow-labels{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font:500 10px var(--mono);letter-spacing:.13em}
.insight-flow-labels i{position:relative;display:block;flex:1;height:1px;background:var(--line-strong);overflow:visible}
.insight-flow-labels i::after{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--sky-text);transform:translate(-50%,-50%);animation:insightFlow 3.4s ease-in-out infinite}
.insight-flow-labels i:nth-of-type(2)::after{animation-delay:-1.1s}.insight-flow-labels i:nth-of-type(3)::after{animation-delay:-2.2s}
.insight-architecture figcaption{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.5;max-width:80ch}
@keyframes insightPulse{0%,100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}50%{box-shadow:0 0 0 4px rgba(22,163,74,.14)}}
@keyframes insightOrbit{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes insightFlow{0%,100%{left:0;opacity:.25}45%,60%{left:100%;opacity:1}}
@keyframes insightRowFocus{0%,100%{background:transparent;transform:none}8%,24%{background:var(--tint);transform:translateX(3px)}}

.insight-report{min-width:0;border:1px solid var(--line-strong);border-radius:20px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.insight-report-bar,.insight-report-foot,.insight-trace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.insight-report-bar{padding:15px 18px;border-bottom:1px solid var(--line);background:var(--bg-soft)}
.insight-report-bar b,.insight-trace-head b{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:500}
.insight-report-body{padding:23px}
.insight-report-title{display:flex;justify-content:space-between;gap:18px;align-items:start}
.insight-report-title span,.insight-report-highlight>span{color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.insight-report-title h3{margin-top:8px;color:var(--ink);font:600 24px/1.1 var(--display);letter-spacing:-.03em}
.insight-report-title small{color:var(--muted);font:11px/1.45 var(--mono);text-align:right}
.insight-report-highlight{display:grid;gap:7px;margin-top:22px;padding:15px;border:1px solid var(--tint-2);border-radius:12px;background:var(--tint)}
.insight-report-highlight strong{color:var(--ink);font:600 17px/1.25 var(--display)}
.insight-report-highlight small{color:var(--muted);font-size:12px;line-height:1.4}
.insight-report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.insight-report-metrics>div{display:grid;gap:5px;padding:12px 10px;border:1px solid var(--line);border-radius:10px}
.insight-report-metrics span,.insight-report-metrics small{color:var(--muted);font:10px var(--mono);line-height:1.3}
.insight-report-metrics strong{color:var(--sky-text);font:600 27px var(--display);letter-spacing:-.04em}
.insight-report-lines{display:grid;gap:0;margin-top:19px}
.insight-report-lines>div{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;padding:13px 0;border-bottom:1px dashed var(--line);align-items:start}
.insight-report-lines>div>span{color:var(--sky-text);font:500 10px var(--mono)}
.insight-report-lines p{min-width:0}.insight-report-lines p b{display:block;color:var(--ink);font:600 13px/1.3 var(--display)}
.insight-report-lines p small{display:block;margin-top:4px;color:var(--muted);font:11px/1.35 var(--body)}
.insight-report-lines em{color:var(--sky-text);font-style:normal}
.insight-report-foot{margin-top:15px;padding-top:14px;border-top:1px solid var(--line);letter-spacing:.04em;text-transform:none}
.insight-report-foot b{color:var(--sky-text);font:600 12px var(--body)}
.insight-signal-grid .card{min-height:220px}
.insight-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.insight-steps li::after{right:-20px}
.insight-trace{min-width:0;padding:22px;border:1px solid var(--line-strong);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.insight-trace-head{padding-bottom:15px;border-bottom:1px solid var(--line)}
.insight-trace-title{display:grid;gap:7px;padding:19px 0 17px}
.insight-trace-title span{color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.insight-trace-title strong{color:var(--ink);font:600 21px/1.2 var(--display)}
.insight-trace-title small{color:var(--muted);font:12px var(--body)}
.insight-trace-row{display:grid;grid-template-columns:minmax(100px,.72fr) minmax(0,1.28fr);gap:14px;padding:12px 0;border-top:1px dashed var(--line);align-items:start}
.insight-trace-row span{color:var(--muted);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.insight-trace-row b{color:var(--ink);font:500 12px/1.4 var(--body);text-align:right;overflow-wrap:anywhere}
.insight-trace-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:17px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.06em}
.insight-trace-footer a{color:var(--sky-text);font-weight:600}
@media(max-width:1000px){.insight-architecture-grid{grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);gap:18px}.insight-engine{grid-column:1/-1;grid-row:1;min-height:230px}.insight-input{grid-column:1}.insight-output{grid-column:2}.insight-engine-readout{right:calc(50% - 126px)}.insight-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-steps li:nth-child(3)::after{display:none}}
@media(max-width:700px){.insight-architecture{padding:17px 16px}.insight-board-head{align-items:flex-start;flex-direction:column;gap:9px}.insight-architecture-grid{grid-template-columns:1fr;padding:27px 0 25px}.insight-panel{height:auto}.insight-engine{grid-column:auto;grid-row:auto;min-height:245px}.insight-input,.insight-output{grid-column:auto}.insight-engine-readout{right:12%;bottom:0}.insight-flow-labels{gap:7px;font-size:8px;letter-spacing:.08em}.insight-architecture figcaption{font-size:12px}.insight-report-body{padding:18px}.insight-report-title{flex-direction:column;gap:10px}.insight-report-title small{text-align:left}.insight-report-metrics{grid-template-columns:1fr}.insight-signal-grid .card{min-height:0}.insight-steps{grid-template-columns:1fr}.insight-steps li:nth-child(3)::after{display:block}}
@media(max-width:480px){.insight-panel{padding:15px}.insight-stream-row{grid-template-columns:25px minmax(0,1fr);gap:7px}.insight-stream-row em{grid-column:2}.insight-engine-orbit{top:42%}.insight-orbit-one{width:112px;height:112px}.insight-orbit-two{width:166px;height:166px}.insight-orbit-three{width:218px;height:218px}.insight-engine-core{width:126px;height:126px}.insight-engine-core strong{font-size:20px}.insight-engine-readout{right:0}.insight-report-highlight strong{font-size:16px}.insight-trace{padding:17px}.insight-trace-row{grid-template-columns:1fr;gap:6px}.insight-trace-row b{text-align:left}}
@media(prefers-reduced-motion:reduce){.insight-board-head b i,.insight-report-bar b i,.insight-trace-head b i,.insight-engine-orbit,.insight-stream-row,.insight-flow-labels i::after{animation:none}.insight-stream-row{transform:none}}

/* Lifecycle rail: one centre line for the rail, markers and travelling signal. */
.flow-line{left:0;right:auto;width:0;top:29px;height:2px;z-index:0;pointer-events:none}
.flow-line i{display:block;width:var(--p,0%);height:100%;transition:none}
.flow-nodes li{box-sizing:border-box;min-width:0}
.flow-nodes li::before{top:12px;width:20px;height:20px}
.flow-nodes li.done::after{top:18px;left:calc(50% - 4px)}
.flow-dot{top:23px;width:14px;height:14px;box-shadow:0 0 0 4px var(--tint),0 2px 8px rgba(1,24,56,.2)}

/* ---------- AI Agents ---------- */
.ai-hero{padding-top:74px;padding-bottom:88px;background:var(--bg-soft)}
.ai-hero-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.96fr)!important;gap:64px!important;align-items:center!important}
.ai-hero-copy{display:grid;gap:22px;min-width:0;max-width:720px}
.ai-hero-copy .h1{max-width:12ch}
.ai-hero-copy .lede{max-width:58ch}
.ai-hero-proof{display:flex;flex-wrap:wrap;gap:18px 24px;margin-top:8px;color:var(--muted);font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.ai-hero-proof span{display:inline-flex;align-items:center;gap:8px}
.ai-hero-proof i,.ai-language-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.11);flex:none}
.ai-hero-visual{position:relative;min-width:0;overflow:hidden;padding:0 22px 17px;border:1px solid var(--line-strong);border-radius:22px;background:var(--navy);box-shadow:0 26px 56px -34px rgba(1,24,56,.72);color:#dce8fb}
.ai-hero-visual::before,.ai-architecture::before,.ai-release-board::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(174,204,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(174,204,255,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 94%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 94%);pointer-events:none}
.ai-hero-visual-head,.ai-architecture-head,.ai-release-board-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid rgba(194,211,236,.2);font:500 10px var(--mono);letter-spacing:.13em;color:#91a8cc}
.ai-hero-visual-head b,.ai-architecture-head b,.ai-release-board-head b{display:inline-flex;align-items:center;gap:8px;color:#8ef0b5;font-weight:500}
.ai-hero-visual-head b i,.ai-architecture-head b i,.ai-release-board-head b i{width:7px;height:7px;border-radius:50%;background:#4ee28a;box-shadow:0 0 0 4px rgba(78,226,138,.12);animation:aiLivePulse 1.8s ease-in-out infinite}
.ai-hero-visual-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(170px,1.14fr);grid-template-rows:1fr 1fr auto;gap:12px 18px;align-items:center;min-height:350px;padding:24px 0 20px}
.ai-hero-channel,.ai-hero-outcome{min-width:0;padding:13px;border:1px solid rgba(194,211,236,.28);border-radius:12px;background:rgba(255,255,255,.06);box-shadow:0 12px 24px -22px rgba(98,164,255,.9)}
.ai-hero-channel{position:relative}
.ai-hero-channel::after{content:"";position:absolute;right:-19px;top:50%;width:19px;height:1px;background:rgba(98,164,255,.48)}
.ai-hero-channel-a{grid-column:1;grid-row:1}.ai-hero-channel-b{grid-column:1;grid-row:2}
.ai-hero-channel span,.ai-hero-outcome span,.ai-hero-brain-kicker{display:block;color:#8fa8d1;font:500 9px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.ai-hero-channel strong,.ai-hero-outcome strong{display:block;margin-top:7px;color:#fff;font:600 14px/1.32 var(--display);overflow-wrap:anywhere}
.ai-hero-channel small,.ai-hero-outcome small{display:block;margin-top:6px;color:#9eb5d9;font:11px/1.4 var(--body)}
.ai-hero-brain{position:relative;isolation:isolate;display:grid;place-items:center;align-content:center;min-height:210px;overflow:hidden;padding:32px 14px;border:1px solid rgba(98,164,255,.8);border-radius:50%;background:#123b79;box-shadow:0 0 0 12px rgba(98,164,255,.08),0 20px 46px -25px rgba(98,164,255,.8)}
.ai-hero-brain strong{position:relative;z-index:1;margin-top:8px;color:#fff;font:600 24px/1.05 var(--display);text-align:center;letter-spacing:-.03em}.ai-hero-brain strong em{color:var(--sky);font-style:normal}
.ai-hero-brain small{position:relative;z-index:1;margin-top:9px;color:#b7c9e7;font:11px var(--body);text-align:center}
.ai-hero-ring{position:absolute;inset:12%;border:1px solid rgba(98,164,255,.35);border-radius:50%;pointer-events:none}.ai-hero-ring-a{animation:aiOrbit 8s linear infinite}.ai-hero-ring-b{inset:1%;border-style:dashed;opacity:.6;animation:aiOrbit 13s linear infinite reverse}
.ai-hero-brain-pulse{position:absolute;z-index:2;top:20%;right:19%;width:8px;height:8px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 5px rgba(98,164,255,.16),0 0 18px rgba(98,164,255,.9);animation:aiPulse 2.2s ease-in-out infinite}
.ai-hero-outcome{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border-color:rgba(78,226,138,.45);background:rgba(22,163,74,.08)}
.ai-hero-outcome span{grid-row:1/3;color:#8ef0b5}.ai-hero-outcome strong{margin-top:0}.ai-hero-outcome small{margin-top:0;text-align:right}
.ai-hero-visual>figcaption,.ai-architecture>figcaption,.ai-release-board>figcaption{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding-top:13px;border-top:1px solid rgba(194,211,236,.2);color:#8fa8d1;font:500 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ai-hero-visual>figcaption i,.ai-release-board>figcaption i{display:block;position:relative;flex:1;height:1px;background:rgba(98,164,255,.4);overflow:visible}.ai-hero-visual>figcaption i::after,.ai-release-board>figcaption i::after{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;border-radius:50%;background:var(--sky);transform:translate(-50%,-50%);animation:aiFlow 3.2s ease-in-out infinite}.ai-hero-visual>figcaption i:nth-of-type(2)::after,.ai-release-board>figcaption i:nth-of-type(2)::after{animation-delay:-1.1s}.ai-hero-visual>figcaption i:nth-of-type(3)::after,.ai-release-board>figcaption i:nth-of-type(3)::after{animation-delay:-2.2s}

.ai-architecture{position:relative;overflow:hidden;padding:0 24px 20px;border:1px solid var(--line-strong);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.ai-architecture::before{opacity:.55;background-image:linear-gradient(rgba(101,139,196,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(101,139,196,.08) 1px,transparent 1px);mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 95%);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 95%)}
.ai-architecture-head{color:var(--muted);border-color:var(--line)}.ai-architecture-head b{color:var(--green)}.ai-architecture-head b i{background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.11)}
.ai-architecture-flow{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.12fr) minmax(0,1fr);gap:34px;align-items:stretch;padding:34px 0 24px}
.ai-architecture-flow::before,.ai-architecture-flow::after{content:"";position:absolute;top:50%;width:34px;height:1px;background:var(--line-strong)}.ai-architecture-flow::before{left:calc(33.333% - 17px)}.ai-architecture-flow::after{right:calc(33.333% - 17px)}
.ai-architecture-rail{display:grid;align-content:start;gap:10px;min-width:0}.ai-architecture-kicker{display:block;margin-bottom:4px;color:var(--muted);font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.ai-architecture-node{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--bg-soft);transition:transform .25s,border-color .25s,background .25s}.ai-architecture-node:nth-of-type(3){animation:aiNodeFocus 7s ease-in-out infinite}.ai-architecture-node:nth-of-type(4){animation:aiNodeFocus 7s ease-in-out infinite -2.3s}
.ai-architecture-node>i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--sky-text);font:500 10px var(--mono)}.ai-architecture-node strong{display:block;color:var(--ink);font:600 14px/1.2 var(--display)}.ai-architecture-node small{display:block;margin-top:3px;color:var(--muted);font:11px/1.35 var(--body);overflow-wrap:anywhere}.ai-architecture-node>b{color:var(--sky-text);font:500 9px var(--mono);letter-spacing:.08em}.ai-architecture-node.is-active{border-color:var(--sky);background:var(--tint);box-shadow:0 12px 24px -22px var(--sky-deep)}.ai-architecture-node.is-active>b{color:var(--green)}
.ai-architecture-core{position:relative;isolation:isolate;display:grid;place-items:center;align-content:center;min-height:330px;overflow:hidden;padding:34px 24px;border-radius:20px;background:var(--navy);box-shadow:0 18px 36px -25px rgba(1,24,56,.8);text-align:center}.ai-architecture-core .ai-architecture-kicker{position:relative;z-index:1;color:#91a8cc}.ai-architecture-core>strong{position:relative;z-index:1;margin-top:19px;color:#fff;font:600 29px/1.04 var(--display);letter-spacing:-.04em}.ai-architecture-core>strong em{color:var(--sky);font-style:normal}.ai-architecture-core>p{position:relative;z-index:1;max-width:28ch;margin-top:15px;color:#b8c7e6;font:13px/1.5 var(--body)}
.ai-architecture-core-orbit{position:absolute;left:50%;top:51%;border:1px solid rgba(98,164,255,.32);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ai-architecture-core-orbit-a{width:230px;height:230px;animation:aiOrbit 12s linear infinite}.ai-architecture-core-orbit-b{width:310px;height:150px;border-style:dashed;animation:aiOrbit 9s linear infinite reverse}.ai-architecture-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:19px}.ai-architecture-tags span{padding:5px 8px;border:1px solid rgba(98,164,255,.35);border-radius:999px;color:#bdd0ee;font:10px var(--mono)}
.ai-architecture-line{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line);color:var(--muted);font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.ai-architecture-line i{position:relative;display:block;flex:1;height:1px;background:var(--line-strong);overflow:visible}.ai-architecture-line i b{position:absolute;left:0;top:50%;width:6px;height:6px;border-radius:50%;background:var(--sky-text);transform:translate(-50%,-50%);animation:aiFlow 3.2s ease-in-out infinite}.ai-architecture-line i:nth-of-type(2) b{animation-delay:-1.1s}.ai-architecture>figcaption{color:var(--muted);border-color:var(--line);white-space:normal;line-height:1.45}.ai-architecture>figcaption strong{color:var(--ink)}

.ai-conversation{min-width:0;border:1px solid var(--line-strong);border-radius:20px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.ai-conversation-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--bg-soft);color:var(--muted);font:500 10px var(--mono);letter-spacing:.12em}.ai-conversation-head b{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:500}.ai-conversation-head b i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(22,163,74,.1)}.ai-conversation-body{display:grid;gap:14px;padding:22px}.ai-conversation-row{padding:14px;border-radius:13px}.ai-conversation-row span,.ai-interpretation>span{display:block;color:var(--sky-text);font:500 10px var(--mono);letter-spacing:.11em;text-transform:uppercase}.ai-conversation-row p{margin-top:8px;color:var(--ink);font:500 14px/1.5 var(--body)}.ai-conversation-caller{background:var(--bg-soft);border:1px solid var(--line)}.ai-conversation-agent{background:var(--tint);border:1px solid var(--tint-2)}.ai-interpretation{padding:2px 14px}.ai-interpretation>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px}.ai-interpretation b,.ai-interpretation i{padding:7px 9px;border-radius:8px;font:500 11px var(--mono);font-style:normal}.ai-interpretation b{background:var(--navy);color:#fff}.ai-interpretation i{background:var(--tint);color:var(--sky-text);border:1px solid var(--tint-2)}.ai-conversation-foot{display:flex;flex-wrap:wrap;gap:8px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.ai-conversation-foot strong{margin-left:auto;color:var(--green);font-weight:500}

.ai-channel-grid .card{display:grid;align-content:start;min-height:245px}.ai-channel-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--sky);border-radius:50%;background:var(--tint);color:var(--sky-text);font:500 10px var(--mono)}.ai-channel-grid .card h3{margin-top:20px}.ai-channel-grid .card p{margin-top:9px}.ai-channel-grid .link-arrow{margin-top:auto;padding-top:18px;font-size:13px}
.ai-language-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:18px;padding:18px 20px;border:1px solid var(--tint-2);border-radius:14px;background:var(--tint)}.ai-language-band>div:first-child{display:flex;align-items:baseline;gap:9px}.ai-language-band strong{color:var(--sky-text);font:600 43px/1 var(--display);letter-spacing:-.04em}.ai-language-band>div:first-child span{color:var(--ink-2);font-size:13px}.ai-language-band p{color:var(--ink-2);font-size:14px;line-height:1.5}.ai-language-status{display:inline-flex;align-items:center;gap:8px;color:var(--green);font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}

.ai-behaviour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-behaviour-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;min-width:0;padding:22px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;box-shadow:0 16px 32px -30px rgba(1,24,56,.5)}.ai-behaviour-index{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--sky);border-radius:50%;background:var(--tint);color:var(--sky-text);font:500 10px var(--mono)}.ai-behaviour-card h3{font-size:22px;line-height:1.13}.ai-behaviour-card p{margin-top:9px;color:var(--ink-2);font-size:14.5px;line-height:1.55}.ai-behaviour-meta{grid-column:2;margin-top:5px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase}

.ai-release-board{position:relative;isolation:isolate;min-width:0;overflow:hidden;padding:0 22px 17px;border:1px solid var(--navy);border-radius:20px;background:var(--navy);box-shadow:var(--shadow);color:#dce8fb}.ai-release-board-head{border-color:rgba(194,211,236,.2)}.ai-release-board-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(170px,1.15fr) minmax(0,.9fr);gap:18px;align-items:center;min-height:285px;padding:26px 0 22px}.ai-release-column{display:grid;gap:9px;min-width:0}.ai-release-column>span{color:#91a8cc;font:500 9px var(--mono);letter-spacing:.12em}.ai-release-column p{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 8px;border:1px solid rgba(194,211,236,.2);border-radius:9px;color:#c2d3ec;font:11px var(--body)}.ai-release-column p i{width:6px;height:6px;border-radius:50%;background:var(--sky);box-shadow:0 0 0 3px rgba(98,164,255,.12);flex:none}.ai-release-middle{position:relative;isolation:isolate;display:grid;justify-items:center;align-content:center;min-height:190px;text-align:center}.ai-release-orbit{position:absolute;inset:5%;border:1px solid rgba(98,164,255,.32);border-radius:50%;animation:aiOrbit 10s linear infinite}.ai-release-middle strong,.ai-release-middle small,.ai-release-middle>b{position:relative;z-index:1}.ai-release-middle strong{color:#fff;font:600 28px var(--display);letter-spacing:-.04em}.ai-release-middle strong em{color:var(--sky);font-style:normal}.ai-release-middle small{margin-top:8px;color:#9db3d4;font:11px var(--body)}.ai-release-middle>b{display:inline-flex;align-items:center;gap:7px;margin-top:17px;color:#8ef0b5;font:500 9px var(--mono);letter-spacing:.07em}.ai-release-middle>b i{width:6px;height:6px;border-radius:50%;background:#4ee28a}.ai-release-board>figcaption{border-color:rgba(194,211,236,.2)}

@keyframes aiLivePulse{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
@keyframes aiPulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@keyframes aiOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes aiFlow{0%,100%{left:0;opacity:.3}45%,60%{left:100%;opacity:1}}
@keyframes aiNodeFocus{0%,100%{transform:none;border-color:var(--line-strong)}10%,26%{transform:translateX(3px);border-color:var(--sky)}}
@media(max-width:980px){.ai-hero-wrap{grid-template-columns:1fr!important;gap:36px!important}.ai-hero-copy{max-width:760px}.ai-hero-visual{max-width:760px}.ai-architecture-flow{grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:18px}.ai-architecture-flow::before,.ai-architecture-flow::after{display:none}.ai-architecture-core{grid-column:1/-1;grid-row:1;min-height:260px}.ai-architecture-rail:first-child{grid-column:1;grid-row:2}.ai-architecture-rail:last-child{grid-column:2;grid-row:2}.ai-release-board-body{grid-template-columns:1fr 1.1fr 1fr;gap:10px}}
@media(max-width:700px){.split>*,.grid>*,.page-hero .wrap>*,.callback-layout>*{min-width:0}.mock-row{align-items:flex-start;flex-wrap:wrap}.mock-row b{flex:1 1 100%;text-align:left}.product-included .tag{white-space:normal;line-height:1.35}}
@media(max-width:420px){.cta-loop-node{max-width:36%;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.ai-hero-visual-head b i,.ai-architecture-head b i,.ai-release-board-head b i,.ai-hero-ring,.ai-hero-brain-pulse,.ai-architecture-core-orbit,.ai-architecture-node,.ai-architecture-line i b,.ai-hero-visual>figcaption i::after,.ai-release-board>figcaption i::after,.ai-release-orbit{animation:none}.ai-architecture-node{transform:none}}

/* ---------- footer compliance chips ----------
   Replaces the oversized bordered <img> badge plates (badge-kvkk.svg etc.)
   with compact pill chips in the same visual language as .tbadge below.
   These rules override the older grid/aspect-ratio .cbadges sizing further
   up this file (same selector specificity, later in source = wins), so the
   old img-based sizing no longer applies to anything. */
.ftr .brand .cbadges{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;width:auto;max-width:none;margin-top:18px;padding:0;background:none}
.cchip{display:inline-flex;align-items:center;gap:8px;height:30px;box-sizing:border-box;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;font-family:var(--mono);font-size:11px;line-height:1;white-space:nowrap;color:var(--muted);flex:0 0 auto}
.cchip-ic{width:14px;height:14px;flex:none;color:var(--navy)}
.cchip b{font-weight:500;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}
.cchip i{font-style:normal;margin-left:1px;color:var(--muted)}
.ftr .brand .tech-badges{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;width:auto;max-width:none;grid-template-columns:none;margin-top:10px}
.ftr .brand .tech-badges .tbadge{display:inline-flex;width:auto;height:30px;box-sizing:border-box;padding:6px 10px;gap:8px;font-size:11px;letter-spacing:.03em;white-space:nowrap;flex:0 0 auto}
.ftr .brand .tech-badges .tbadge img{width:14px;height:14px}
@media (max-width:700px){
  .ftr .brand .cbadges,.ftr .brand .tech-badges{width:auto;max-width:none;padding:0;background:none;gap:8px}
  .ftr .brand .tech-badges{grid-template-columns:none}
}
@media (max-width:420px){
  .ftr .brand .cbadges,.ftr .brand .tech-badges{width:auto;max-width:none}
  .ftr .brand .tech-badges{grid-template-columns:none}
}
