
:root{
  --ink:#191547; --muted:#55517a; --line:#e2e0f4; --bg:#f8f8fd; --panel:#ffffff;
  --navy:#191547; --navy2:#241d63; --cyan:#8f88f2; --blue:#5f58db; --peri:#a19cf9; --green:#1cc89b; --amber:#ffb84d;
  --grad:linear-gradient(135deg,#14113c 0%,#231d5e 48%,#4a3fae 100%);
  --soft:linear-gradient(135deg,rgba(95,88,219,.09),rgba(161,156,249,.14));
  --shadow:0 18px 50px rgba(25,21,71,.12); --radius:22px;
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55} 
a{color:inherit;text-decoration:none} img{max-width:100%}.container{width:min(1180px,calc(100% - 44px));margin:0 auto}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
h1,h2,h3{font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;line-height:1.04;margin:0 0 16px;letter-spacing:-.025em;word-spacing:.08em}h1{font-size:clamp(46px,7vw,86px)}h2{font-size:clamp(34px,4.7vw,58px)}h3{font-size:24px}.lead{font-size:20px;color:var(--bc-e2e0fa);max-width:780px}.muted{color:var(--muted)}.small{font-size:14px}.section{padding:92px 0}.section.tight{padding:64px 0}.dark{background:var(--navy);color:white}.dark .muted{color:var(--bc-b3aed6)}.dark .eyebrow{color:var(--bc-b9b5ff)}.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 1px 0 rgba(8,28,56,.03)}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:.22s}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13)}.pill{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:var(--bc-f0effd);border:1px solid var(--bc-dedcf6);color:var(--bc-2f2a6e);font-weight:800;font-size:13px}.dark .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--bc-e8e6ff)}.btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:14px;font-weight:800;border:1px solid transparent}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--cyan));color:white}.btn.secondary{background:white;color:var(--navy);border-color:var(--line)}.btn.ghost{border-color:rgba(255,255,255,.25);color:white}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,230,244,.8)}.nav{display:flex;align-items:center;justify-content:space-between;height:74px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em}.logo{width:36px;height:39px;background:url("logo_mark.png") center/contain no-repeat;position:relative}.footer .logo,.dark .logo{filter:brightness(0) invert(1)}.brand .ops{color:var(--peri)}.navlinks{display:flex;gap:4px;align-items:center}.navlinks>li{list-style:none;position:relative}.navlinks a,.navlinks button{font:inherit;font-weight:800;font-size:14px;padding:12px 13px;border:0;background:transparent;border-radius:12px;color:var(--bc-241f5c);cursor:pointer}.navlinks a:hover,.navlinks button:hover{background:var(--bc-f0effd)}.mega{display:none;position:absolute;top:48px;left:0;width:min(920px,calc(100vw - 44px));background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.16);padding:22px;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.navlinks li:hover .mega{display:grid}.mega a{display:block;padding:12px;border-radius:14px}.mega a:hover{background:var(--bc-f3f2fd)}.mega b{display:block;margin-bottom:2px}.mega span{display:block;font-size:13px;color:var(--muted);font-weight:500}.hero{background:radial-gradient(circle at 82% 18%,var(--bc-a19cf9-a38),transparent 30%),radial-gradient(circle at 15% 0%,var(--bc-5f58db-a35),transparent 30%),var(--grad);color:white;padding:88px 0 54px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.hero-panel{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:30px;padding:22px;box-shadow:0 30px 120px rgba(0,0,0,.25)}.product-ui{background:var(--bc-14113c);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:18px}.ui-top{display:flex;gap:8px;margin-bottom:16px}.dot{width:11px;height:11px;border-radius:99px;background:var(--bc-6d68a0)}.signal{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;margin:12px 0}.status{font-size:12px;font-weight:900;padding:7px 9px;border-radius:999px;background:rgba(28,200,155,.14);color:#65ffd3}.status.warn{background:rgba(255,184,77,.15);color:#ffd79a}.status.hot{background:rgba(255,89,120,.15);color:#ffadc0}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.kpi{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);padding:14px;border-radius:16px}.kpi strong{font-size:26px;display:block}.strip{background:var(--bc-14113c);color:white;padding:18px 0}.strip .container{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}.strip b{color:var(--bc-b9b5ff)}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.flow .step{position:relative;padding:22px;border-radius:18px;background:white;border:1px solid var(--line)}.flow .step:after{content:"→";position:absolute;right:-14px;top:28px;color:var(--blue);font-weight:900}.flow .step:last-child:after{display:none}.icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-weight:900;margin-bottom:14px}.feature-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.mock{background:linear-gradient(180deg,#ffffff,var(--bc-f8f8fe));border:1px solid var(--line);border-radius:28px;padding:22px;box-shadow:var(--shadow)}.timeline{border-left:3px solid var(--bc-dedcf6);padding-left:18px}.event{margin:0 0 18px}.event b{display:block}.tablelike{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:white}.row{display:grid;grid-template-columns:1fr 1.2fr 1fr;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row div{padding:16px}.row.head{background:var(--bc-f0effd);font-weight:900}.quote{font-size:24px;letter-spacing:-.02em;font-weight:800}.footer{background:var(--bc-120f38);color:white;padding:54px 0}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px}.footer a{display:block;color:var(--bc-b9b4d8);margin:10px 0}.breadcrumb{font-size:14px;margin:20px 0;color:var(--bc-7a76a0)}.page-hero{background:linear-gradient(135deg,var(--bc-14113c),var(--bc-2a2274));color:white;padding:70px 0}.page-hero h1{font-size:clamp(42px,6vw,72px)}.toc{position:sticky;top:92px}.toc a{display:block;padding:11px 0;color:var(--muted);font-weight:750;border-bottom:1px solid var(--line)}.content-layout{display:grid;grid-template-columns:260px 1fr;gap:38px}.case{background:linear-gradient(135deg,var(--bc-14113c),var(--bc-332a84));color:white;border-radius:28px;padding:32px}.case .muted{color:var(--bc-cfccec)}.audit-badge{display:inline-flex;align-items:center;gap:8px;background:#eafaf6;color:#05634b;border:1px solid #bfeede;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px}.mobile-menu{display:none}
@media(max-width:940px){.hero-grid,.feature-row,.content-layout{grid-template-columns:1fr}.g2,.g3,.g4,.flow{grid-template-columns:1fr}.navlinks{display:none}.mobile-menu{display:block}.footer-grid{grid-template-columns:1fr 1fr}.mega{position:static}.flow .step:after{display:none}.row{grid-template-columns:1fr}.toc{position:static}.section{padding:64px 0}}


.value-list{display:grid;gap:12px;margin-top:18px}.value-list div{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:16px;padding:16px}.dark .value-list div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13)}.value-list b{display:block;margin-bottom:4px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.metric{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.metric b{display:block;font-size:26px;color:var(--blue);letter-spacing:-.03em}.dark .metric{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .metric b{color:var(--bc-b9b5ff)}.linked-record{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.linked-record span{padding:8px 11px;border-radius:999px;background:var(--bc-f0effd);border:1px solid var(--bc-dedcf6);color:var(--bc-2f2a6e);font-weight:800;font-size:13px}.dark .linked-record span{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15);color:var(--bc-e8e6ff)}.feature-list{columns:2;column-gap:36px;margin:16px 0;padding-left:18px}.feature-list li{break-inside:avoid;margin:0 0 9px;color:var(--muted)}@media(max-width:760px){.feature-list{columns:1}.metric-grid{grid-template-columns:1fr 1fr}}

/* V2.3 value articulation additions */
.callout{background:linear-gradient(135deg,#ffffff,var(--bc-f5f4fe));border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.dark .callout{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:none}.callout h3{margin-top:0}.callout .lead-dark{font-size:19px;color:var(--bc-3a3474);max-width:900px}.dark .callout .lead-dark{color:var(--bc-d5d2f2)}
.value-row{display:grid;grid-template-columns:.78fr 1.22fr;gap:26px;align-items:start;border-top:1px solid var(--line);padding:28px 0}.value-row:first-child{border-top:0}.value-row h3{margin-bottom:8px}.value-row .tag{display:inline-flex;border:1px solid var(--bc-dedcf6);background:var(--bc-f0effd);color:var(--bc-2f2a6e);border-radius:999px;font-size:12px;font-weight:900;padding:6px 10px;margin-bottom:10px}.value-row ul{margin:0;padding-left:20px}.value-row li{margin:0 0 9px;color:var(--muted)}
.dark .value-row{border-color:rgba(255,255,255,.14)}.dark .value-row li{color:var(--bc-b3aed6)}.dark .value-row .tag{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--bc-e8e6ff)}
.matrix{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white}.matrix .mrow{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;border-bottom:1px solid var(--line)}.matrix .mrow:last-child{border-bottom:0}.matrix .mrow>div{padding:18px}.matrix .head{background:var(--bc-f0effd);font-weight:900}.matrix b{display:block;margin-bottom:4px}.dark .matrix{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.dark .matrix .mrow{border-color:rgba(255,255,255,.14)}.dark .matrix .head{background:rgba(255,255,255,.1)}
.outcome-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.outcome{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.outcome b{display:block;color:var(--blue);font-size:28px;letter-spacing:-.04em}.outcome span{display:block;color:var(--muted)}.dark .outcome{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .outcome b{color:var(--bc-b9b5ff)}.dark .outcome span{color:var(--bc-b3aed6)}
.audit-thread{border-left:3px solid var(--bc-dedcf6);padding-left:20px}.audit-thread .audit-item{position:relative;margin:0 0 18px;background:white;border:1px solid var(--line);border-radius:18px;padding:16px}.audit-thread .audit-item:before{content:"";position:absolute;left:-29px;top:22px;width:12px;height:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));border-radius:50%;box-shadow:0 0 0 5px var(--bc-f0effd)}.dark .audit-thread{border-color:rgba(255,255,255,.18)}.dark .audit-thread .audit-item{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .audit-thread .audit-item:before{box-shadow:0 0 0 5px rgba(255,255,255,.08)}
.doc-folders{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.folder{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.folder b{display:block;margin-bottom:6px}.folder small{color:var(--muted)}.dark .folder{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .folder small{color:var(--bc-b3aed6)}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare .old,.compare .new{border-radius:24px;padding:24px;border:1px solid var(--line)}.compare .old{background:#fff7f4}.compare .new{background:#effaf7}.compare h3{margin-bottom:10px}.compare ul{padding-left:20px;margin-bottom:0}.compare li{margin-bottom:8px;color:var(--muted)}
@media(max-width:940px){.value-row,.matrix .mrow,.compare{grid-template-columns:1fr}.outcome-band,.doc-folders{grid-template-columns:1fr}.matrix .mrow>div{border-bottom:1px solid var(--line)}.matrix .mrow>div:last-child{border-bottom:0}}

/* platform architecture stack */
.arch-stack{display:flex;flex-direction:column;gap:14px;margin-top:30px}
.arch-band{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start;background:rgba(255,255,255,.04);border:1px solid var(--bc-b9b5ff-a16);border-radius:16px;padding:26px 28px;position:relative}
.arch-band::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--acc,var(--bc-b9b5ff))}
.arch-band .lyr{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bc-b9b5ff);opacity:.75;display:block;margin-bottom:6px;font-weight:700}
.arch-band h3{margin:0 0 6px;font-size:22px}
.arch-band .role{color:var(--bc-cfccec);font-size:15px;margin:0}
.arch-band .bits{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.arch-band .bits span{font-size:12.5px;letter-spacing:.02em;color:var(--bc-dedcf6);border:1px solid var(--bc-b9b5ff-a22);border-radius:8px;padding:6px 11px;background:rgba(255,255,255,.03)}
.arch-band .feeds{font-size:13.5px;color:var(--bc-b3aed6);margin:0;font-style:italic}
.arch-join{text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bc-7a76a0);margin:-2px 0}
@media(max-width:860px){.arch-band{grid-template-columns:1fr;gap:14px}}

/* ---------- Login screen + logout control ---------- */
.nav-actions{display:flex;align-items:center;gap:10px}
.btn-logout{font:inherit;font-weight:800;font-size:14px;padding:12px 16px;cursor:pointer}
.btn-logout:hover{background:var(--bc-f0effd)}

.login-body{min-height:100vh;display:flex;background:radial-gradient(circle at 82% 18%,var(--bc-a19cf9-a38),transparent 32%),radial-gradient(circle at 12% 4%,var(--bc-5f58db-a35),transparent 32%),var(--grad);color:white}
.login-shell{width:min(520px,calc(100% - 44px));margin:auto;padding:48px 0;position:relative;z-index:1}
.login-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:38px;box-shadow:0 30px 120px rgba(0,0,0,.3)}
.login-brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em;font-size:20px;margin-bottom:22px}
.login-brand .logo{filter:brightness(0) invert(1)}
.login-brand .ops{color:var(--peri)}
.login-card .pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--bc-e8e6ff)}
.login-card h1{font-size:clamp(34px,6vw,46px);margin:0 0 10px}
.login-sub{color:var(--bc-cfccec);margin:0 0 26px;font-size:15px}
.login-field{display:block;margin-bottom:16px}
.login-field span{display:block;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bc-b9b5ff);margin-bottom:8px}
.login-field input{width:100%;font:inherit;font-weight:650;color:white;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 16px;outline:none;transition:.18s}
.login-field input::placeholder{color:var(--bc-9d98c4);font-weight:500}
.login-field input:focus{border-color:var(--peri);background:rgba(255,255,255,.12);box-shadow:0 0 0 2px var(--peri)}
.login-error{min-height:20px;margin:0 0 10px;font-size:13.5px;font-weight:800;color:#ffadc0;opacity:0;transition:.18s}
.login-error.show{opacity:1}
.login-submit{width:100%;padding:15px 18px;font-size:15px;cursor:pointer;margin-top:2px}
.login-foot{margin:22px 0 0;font-size:13.5px;color:var(--bc-b3aed6)}
.login-foot a{color:var(--peri);font-weight:800}
.login-copyright{text-align:center;margin:24px 0 0;font-size:13px;color:#8fa5bd}
@media(max-width:520px){.login-card{padding:28px 22px;border-radius:24px}}

/* login backdrop — light operations/asset motif */
.login-body{position:relative;overflow:hidden}
.login-bg{position:fixed;inset:0;pointer-events:none;z-index:0}
.login-grid{position:absolute;inset:-2px;opacity:.5;
  background-image:linear-gradient(var(--bc-b9b5ff-a7) 1px,transparent 1px),linear-gradient(90deg,var(--bc-b9b5ff-a7) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 45%,transparent 22%,#000 72%);
  mask-image:radial-gradient(ellipse at 50% 45%,transparent 22%,#000 72%)}
.login-net{position:absolute;inset:0;width:100%;height:100%;
  -webkit-mask-image:radial-gradient(ellipse at 50% 48%,transparent 26%,#000 66%);
  mask-image:radial-gradient(ellipse at 50% 48%,transparent 26%,#000 66%)}
.login-net .net-links path{fill:none;stroke:var(--bc-b9b5ff-a22);stroke-width:1.2}
.login-net .net-nodes circle{fill:var(--bc-d2cfff-a34)}
.login-net .net-live circle{fill:none;stroke:var(--bc-a19cf9-a50);stroke-width:1.4;transform-origin:center;animation:netPulse 4.6s ease-out infinite}
.login-net .net-live circle:nth-child(2){animation-delay:1.15s}
.login-net .net-live circle:nth-child(3){animation-delay:2.3s}
.login-net .net-live circle:nth-child(4){animation-delay:3.45s}
@keyframes netPulse{0%{transform:scale(.55);opacity:.85}70%{transform:scale(1.9);opacity:0}100%{transform:scale(1.9);opacity:0}}
@media(max-width:760px){.login-net{opacity:.7}}
@media(prefers-reduced-motion:reduce){.login-net .net-live circle{animation:none}.login-net .net-live circle{opacity:.35}}

/* login submit — loading state */
.login-submit{position:relative;transition:opacity .18s}
.login-spinner{width:17px;height:17px;flex:0 0 17px;border-radius:50%;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
  display:none;animation:loginSpin .7s linear infinite}
.login-submit.is-loading .login-spinner{display:block}
.login-submit.is-loading{opacity:.9;cursor:progress}
.login-submit:disabled{cursor:progress}
.login-field input:disabled{opacity:.6;cursor:not-allowed}
@keyframes loginSpin{to{transform:rotate(360deg)}}
/* keep the card in its busy state while the next page loads */
.login-body.is-leaving .login-card{opacity:.75;transition:opacity .25s}
@media(prefers-reduced-motion:reduce){.login-spinner{animation-duration:1.6s}}

/* ---------- Stealth landing (index.html) ---------- */
.stealth-body{margin:0;min-height:100vh;overflow:hidden;background:var(--bc-060418);color:var(--bc-f4f3ff);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;position:relative}
.stealth-globe{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.stealth-vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 46% 38% at 52% 48%,var(--bc-060418-a78) 0%,var(--bc-060418-a38) 46%,var(--bc-060418-a0) 72%)}

.stealth-copy{position:fixed;z-index:2;top:47%;left:50%;transform:translate(-50%,-50%);
  width:100%;padding:0 20px;text-align:center;pointer-events:none}
.stealth-copy h1{font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;
  font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0;
  font-size:clamp(1.5rem,5.4vw,3.5rem);color:#fff;
  text-shadow:0 2px 24px rgba(0,0,0,.85),0 0 44px var(--bc-5f58db-a50)}
.stealth-copy p{margin:14px 0 0;font-size:clamp(.9rem,2.4vw,1.35rem);color:var(--bc-e6e4ff);
  text-shadow:0 2px 16px rgba(0,0,0,.85),0 0 24px var(--bc-5f58db-a45)}

/* Log in pill — a light travels around the border */
@property --stealth-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.stealth-login{position:fixed;z-index:3;top:24px;right:28px;
  display:inline-flex;align-items:center;padding:10px 22px;border-radius:999px;
  font-weight:800;font-size:14px;color:#fff;text-decoration:none;border:1.5px solid transparent;
  background:
    linear-gradient(var(--bc-14113c-a94),var(--bc-14113c-a94)) padding-box,
    conic-gradient(from var(--stealth-angle),transparent 0deg,transparent 250deg,
      rgba(255,255,255,.12) 300deg,#ffffff 340deg,rgba(255,255,255,.12) 20deg,transparent 70deg) border-box,
    linear-gradient(var(--bc-a19cf9-a60),var(--bc-a19cf9-a60)) border-box;
  animation:stealthTravel 3s linear infinite;
  transition:transform .2s,box-shadow .2s;backdrop-filter:blur(4px)}
.stealth-login:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--bc-5f58db-a40)}
@keyframes stealthTravel{to{--stealth-angle:360deg}}

.stealth-foot{position:fixed;z-index:2;bottom:16px;left:26px;max-width:92vw;
  font-size:12.5px;color:var(--bc-d6d3ff-a55)}
@media(max-width:560px){.stealth-login{top:16px;right:16px;padding:9px 18px}
  .stealth-foot{left:16px;bottom:12px;font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.stealth-login{animation:none}}

/* ---------- Hidden brand switcher (teaser footer, 5+ taps) ---------- */
.stealth-brand-tap{cursor:default;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.brand-switch{position:fixed;z-index:5;left:26px;bottom:46px;width:236px;padding:14px;border-radius:18px;
  background:var(--bc-14113c-a94);border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 60px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;font:600 13px/1.3 Inter,system-ui,sans-serif}
.brand-switch[hidden]{display:none}
.brand-switch-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;
  font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bc-cfccec)}
.brand-switch-close{font:inherit;font-size:18px;line-height:1;width:26px;height:26px;border:0;border-radius:8px;
  background:transparent;color:var(--bc-cfccec);cursor:pointer}
.brand-switch-close:hover{background:rgba(255,255,255,.1);color:#fff}
.brand-switch-options{display:grid;gap:8px}
.brand-switch-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;
  font:inherit;font-size:14px;font-weight:750;color:#fff;text-align:left;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:.15s}
.brand-switch-option:hover{background:rgba(255,255,255,.11)}
.brand-switch-option[aria-pressed="true"]{border-color:var(--peri);box-shadow:0 0 0 3px var(--bc-a19cf9-a18)}
.brand-switch-option[aria-pressed="true"]::after{content:"\2713";margin-left:auto;color:var(--peri);font-weight:900}
.brand-switch-option:focus-visible,.brand-switch-close:focus-visible{outline:2px solid var(--peri);outline-offset:2px}
.brand-swatch{width:22px;height:22px;border-radius:7px;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
/* swatches always show their own brand, whichever brand is active */
.brand-swatch-purple{background:linear-gradient(135deg,#5f58db,#a19cf9)}
.brand-swatch-cyan{background:linear-gradient(135deg,#2e6bff,#12c7e8)}
@media(max-width:560px){.brand-switch{left:16px;bottom:62px}}

/* Header "Book a demo" CTA — hidden while the site is in stealth.
   Delete this rule to bring it back. */
.topbar .nav a.btn.primary{display:none}

/* Mega menu — anchor to the header container so it can never overflow the
   viewport, regardless of which nav item opens it. */
.topbar .nav{position:relative}
.navlinks>li{position:static}
.mega{left:0;right:0;top:65px;width:auto;
  max-height:calc(100vh - 96px);overflow-y:auto;
  grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:940px){
  .topbar .nav{position:static}
  .mega{position:static;max-height:none;overflow:visible;grid-template-columns:1fr}
}

/* Mega menu — forgiving hover.
   1. An invisible bridge spans the gap between the button and the panel.
   2. The panel lingers ~220ms after the pointer leaves, so a diagonal move
      toward it doesn't close it mid-travel.
   3. focus-within opens it for keyboard users. */
.mega{display:grid;visibility:hidden;opacity:0;transform:translateY(-6px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .22s}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.navlinks>li:hover>.mega,
.navlinks>li:focus-within>.mega{visibility:visible;opacity:1;transform:none;
  transition:opacity .16s ease,transform .16s ease,visibility 0s}
@media(max-width:940px){
  .mega{visibility:visible;opacity:1;transform:none;transition:none}
  .mega::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .mega{transition:visibility 0s linear .22s}
  .navlinks>li:hover>.mega,.navlinks>li:focus-within>.mega{transition:visibility 0s}
}


/* ---------- V2.7 package: modular deployment and onboarding (recoloured) ---------- */
/* V2.4 modular deployment and onboarding additions */
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.module-card{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 38px var(--bc-0e0b3a-a6)}.module-card .module-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;color:var(--bc-2f2a6e);background:var(--bc-f0effd-2);border:1px solid var(--bc-dedcf6-2);border-radius:999px;padding:7px 11px;margin-bottom:14px}.module-card h3{margin-bottom:8px}.module-card ul{margin:14px 0 0;padding-left:18px}.module-card li{color:var(--muted);margin:0 0 8px}.dark .module-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:none}.dark .module-card .module-label{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16);color:var(--bc-e8e6ff)}.dark .module-card li{color:var(--bc-b3aed6)}
.onboard-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:26px}.onboard-step{background:white;border:1px solid var(--line);border-radius:22px;padding:22px;position:relative}.onboard-step .num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--grad);color:#ffffff;font-weight:900;margin-bottom:14px}.onboard-step h3{font-size:19px;margin-bottom:8px}.onboard-step p{color:var(--muted);font-size:14px}.dark .onboard-step{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .onboard-step p{color:var(--bc-b3aed6)}
.faq-list{display:grid;gap:14px;margin-top:24px}.faq-item{background:white;border:1px solid var(--line);border-radius:20px;padding:22px}.faq-item h3{margin-bottom:8px}.faq-item p{color:var(--muted);margin:0}.dark .faq-item{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}.dark .faq-item p{color:var(--bc-b3aed6)}
.deploy-ribbon{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.deploy-ribbon span{padding:9px 12px;border-radius:999px;background:var(--bc-f0effd);border:1px solid var(--bc-dedcf6);color:var(--bc-2f2a6e);font-weight:850;font-size:13px}.dark .deploy-ribbon span{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15);color:var(--bc-e8e6ff)}
@media(max-width:980px){.module-grid,.onboard-flow{grid-template-columns:1fr}.module-card{padding:22px}}
/* Dropdown indicator — a chevron marks nav items that open a menu and flips while it is open. */
.navlinks>li>button::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;
  border:solid currentColor;border-width:0 2px 2px 0;opacity:.55;
  transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.navlinks>li:hover>button,.navlinks>li:focus-within>button{background:var(--bc-f0effd)}
.navlinks>li:hover>button::after,.navlinks>li:focus-within>button::after{transform:translateY(0) rotate(-135deg)}
@media(prefers-reduced-motion:reduce){.navlinks>li>button::after{transition:none}}
/* Status chips on light .mock panels — the base colours are tuned for dark surfaces and wash out on white. */
.mock .status{background:#e3f8f1;color:#0b7a5c}
.mock .status.warn{background:#fff1dc;color:#9a5a00}
.mock .status.hot{background:#ffe4ea;color:#b4233f}
/* Current page — an underline marks the active section; a tinted bar marks the page inside its menu. */
.navlinks>li>a[aria-current=page],.navlinks>li.is-current>button{text-decoration:underline;text-decoration-color:var(--blue);
  text-decoration-thickness:2px;text-underline-offset:8px}
.mega a[aria-current=page]{background:var(--bc-f0effd)}
/* Focus ring — lives here so every page (teaser and login included) gets it.
   --blue passes 3:1 on light sections; dark sections switch to --peri. */
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.dark :focus-visible,.hero :focus-visible,.page-hero :focus-visible,.footer :focus-visible,.home28-core :focus-visible,.home28-trust :focus-visible,.stealth-body :focus-visible{outline-color:var(--peri)}
/* Primary button — the gradient ends on a colour that keeps white text at 4.5:1 or better. */
:root{--btn-from:#5f58db;--btn-to:#6a62e0}
html[data-brand="cyan"]{--btn-from:#1f5be0;--btn-to:#0c7f9e}
.btn.primary{background:linear-gradient(135deg,var(--btn-from),var(--btn-to))}
/* Timeline cards: the label sits on its own line instead of running into the text. */
.audit-item>b{display:block;margin-bottom:3px}
/* Visually hidden, still announced by screen readers (e.g. section headings that keep the outline in order). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
