/*
 * scout.css
 * Shared design-system foundation for the Scout marketing site.
 * Covers: tokens, reset, layout, eyebrow, nav, buttons, footer, reveal,
 * and all shared components from the design handoff (premium.css).
 * Page-specific component CSS stays inline per page.
 * Source of truth: software/scout/scout-home/design_handoff_scout_site/premium.css
 * Mobile-nav block (nav-toggle / nav-mobile) copied from assets/css/anvil.css.
 */

:root{
  --bg:#050505; --bg-2:#0a0a0a; --bg-3:#0f0f0f;
  --text:#fff;
  --text-2:rgba(255,255,255,0.78);
  --text-3:rgba(255,255,255,0.55);
  --text-4:rgba(255,255,255,0.32);
  --border:rgba(255,255,255,0.06);
  --border-2:rgba(255,255,255,0.12);
  --acc:#D4950A; --acc-hi:#E8A820;
  --crit:#f0654b; --good:#3ec98a;
  --font-d:'Inter',system-ui,-apple-system,sans-serif;
  --font-b:'Inter',system-ui,-apple-system,sans-serif;
  --font-m:'JetBrains Mono',ui-monospace,SF Mono,Menlo,monospace;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
body{background:var(--bg);color:var(--text);font-family:var(--font-b);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
.container{max-width:1240px;margin:0 auto;padding:0 2rem;}
.wide{max-width:1440px;}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--font-m);font-size:0.6875rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);}
.eyebrow .tri{color:var(--acc);font-size:0.6rem;}
.eyebrow.gold{color:var(--acc);}

/* ============ NAV ============ */
.nav{position:sticky;top:0;z-index:50;background:rgba(5,5,5,0.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;}
.nav-left{display:flex;align-items:center;gap:1.4rem;min-width:0;}
.nav-back{font-family:var(--font-m);font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-3);transition:color .2s;}
.nav-back:hover{color:#fff;}
.nav-div{width:1px;height:18px;background:var(--border-2);}
.brand{display:flex;align-items:center;gap:0.7rem;}
.brand-rule{width:22px;height:22px;background:url("/assets/pylon-brand-marks/scout/scout-icon.svg") center/contain no-repeat;transform:none;flex:none;}
.brand-name{font-family:var(--font-d);font-size:1.0625rem;font-weight:600;letter-spacing:-0.02em;}
.nav-tabs{display:flex;align-items:center;gap:1.5rem;margin-left:0.4rem;}
.nav-tab{font-size:0.8125rem;color:var(--text-3);transition:color .2s;}
.nav-tab:hover{color:#fff;}
.nav-tab.active{color:#fff;}
.nav-right{display:flex;align-items:center;gap:0.9rem;}
.nav-login{font-size:0.86rem;font-weight:600;color:var(--text-2);transition:color .2s;}
.nav-login:hover{color:var(--acc-hi);}
.nav-signin{position:relative;display:flex;align-items:center;}
.nav-signin-btn{display:inline-flex;align-items:center;gap:0.28rem;font-family:var(--font-d);font-size:0.86rem;font-weight:600;color:var(--text-2);background:none;border:none;padding:0;cursor:pointer;transition:color .2s;}
.nav-signin-btn .chev{width:12px;height:12px;transition:transform .2s;}
.nav-signin:hover .nav-signin-btn,.nav-signin:focus-within .nav-signin-btn{color:var(--acc-hi);}
.nav-signin:hover .chev,.nav-signin:focus-within .chev{transform:rotate(180deg);}
.nav-signin-menu{position:absolute;top:100%;right:0;padding-top:0.65rem;min-width:190px;opacity:0;visibility:hidden;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:120;}
.nav-signin:hover .nav-signin-menu,.nav-signin:focus-within .nav-signin-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-signin-inner{background:var(--bg-3);border:1px solid var(--border-2);border-radius:10px;padding:0.35rem;box-shadow:0 20px 46px rgba(0,0,0,0.55);}
.nav-signin-menu a{display:block;font-family:var(--font-d);font-size:0.84rem;font-weight:500;color:var(--text-2);padding:0.55rem 0.8rem;border-radius:6px;white-space:nowrap;transition:background .15s,color .15s;}
.nav-signin-menu a:hover{background:rgba(255,255,255,0.06);color:#fff;}
.btn{display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-d);font-weight:700;letter-spacing:-0.005em;border-radius:5px;cursor:pointer;transition:all .2s var(--ease);border:0;}
.btn-primary{background:var(--acc);color:#0a0a0a;font-size:0.875rem;padding:0.6rem 1.05rem;}
.btn-primary:hover{background:var(--acc-hi);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:#fff;border:1px solid var(--border-2);font-weight:600;font-size:0.9375rem;padding:0.7rem 1.15rem;}
.btn-ghost:hover{border-color:var(--acc);background:rgba(212,149,10,0.04);}
.btn-lg{font-size:1rem;padding:0.85rem 1.5rem;}
@media (max-width:920px){.nav-tabs,.nav-back,.nav-div{display:none;}}
@media (max-width:560px){.nav-login,.nav-signin{display:none;}.nav-right .btn-primary{font-size:0.82rem;padding:0.5rem 0.85rem;}}

/* ============ HERO ============ */
.hero{position:relative;padding:6.5rem 0 5rem;overflow:hidden;}
.hero-glow{position:absolute;left:50%;top:-120px;width:min(1300px,120vw);height:760px;transform:translateX(-50%);pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 60% 55% at 50% 40%,rgba(212,149,10,0.16),rgba(212,149,10,0.05) 42%,transparent 70%);}
.hero-grid-bg{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0.5;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);}
.hero>.container{position:relative;z-index:1;}
.hero-head{max-width:880px;margin:0 auto;text-align:center;}
.hero-badge{display:inline-flex;align-items:center;gap:0.6rem;font-family:var(--font-m);font-size:0.6875rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border-2);background:rgba(255,255,255,0.03);padding:0.4rem 0.85rem;border-radius:999px;margin-bottom:1.9rem;}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px rgba(212,149,10,0.18);}
.hero-title{font-family:'Unbounded',var(--font-d);font-size:clamp(1.8rem,3.6vw,2.85rem);font-weight:700;letter-spacing:-0.005em;text-transform:uppercase;line-height:1.02;margin-bottom:1.6rem;text-wrap:balance;}
.hero-title em{font-style:normal;color:var(--acc);}
.hero-sub{font-size:clamp(1.0625rem,1.8vw,1.25rem);line-height:1.6;color:var(--text-2);max-width:620px;margin:0 auto 2.3rem;text-wrap:pretty;}
.hero-actions{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.hero-roles{margin-top:2.1rem;font-family:var(--font-m);font-size:0.6875rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-4);}

/* hero product frame */
.hero-stage{position:relative;margin-top:4.5rem;}
.win{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--border-2);background:var(--bg-2);
  box-shadow:0 2px 4px rgba(0,0,0,.4),0 40px 80px -20px rgba(212,149,10,0.18),0 60px 120px -30px rgba(0,0,0,0.8);}
.win-bar{display:flex;align-items:center;gap:0.55rem;padding:0.75rem 1rem;background:#0d0d0d;border-bottom:1px solid var(--border);}
.win-dot{width:11px;height:11px;border-radius:50%;}
.win-bar .url{margin-left:0.6rem;font-family:var(--font-m);font-size:0.7rem;color:var(--text-4);letter-spacing:0.04em;}
.win img{width:100%;display:block;}
.hero-stage::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:160px;background:linear-gradient(transparent,var(--bg));pointer-events:none;}
/* ===== Insight callouts (focused, legible) ===== */
.ic{position:absolute;z-index:5;display:flex;flex-direction:column;gap:0.35rem;padding:0.72rem 0.95rem;border-radius:6px;max-width:240px;
  background:linear-gradient(155deg,rgba(26,24,20,0.95),rgba(10,10,12,0.96));
  border:1px solid rgba(255,255,255,0.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 20px 44px -16px rgba(0,0,0,0.88),0 6px 16px -8px rgba(0,0,0,0.5);
  -webkit-backdrop-filter:blur(11px) saturate(1.1);backdrop-filter:blur(11px) saturate(1.1);
  opacity:0;transform:translateY(10px) scale(0.97);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.lit .ic, .rv.in .ic, .hw-frame.show .ic{opacity:1;transform:none;}
.ic.d2{transition-delay:.14s;}
.ic-k{display:flex;align-items:center;gap:0.45rem;font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-4);white-space:nowrap;}
.ic-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px rgba(212,149,10,0.16);flex:0 0 auto;}
.ic-dot.crit{background:var(--crit);box-shadow:0 0 0 3px rgba(240,101,75,0.16);}
.ic-dot.good{background:var(--good);box-shadow:0 0 0 3px rgba(62,201,138,0.16);}
.ic-dot.vio{background:#8b6df0;box-shadow:0 0 0 3px rgba(139,109,240,0.18);}
.ic-row{display:flex;align-items:baseline;gap:0.45rem;}
.ic-v{font-family:var(--font-d);font-weight:700;letter-spacing:-0.025em;color:#fff;line-height:0.95;font-size:1.85rem;}
.ic-v.sm{font-size:1.1rem;font-weight:600;letter-spacing:-0.01em;}
.ic-v.crit{color:var(--crit);}.ic-v.gold{color:var(--acc);}.ic-v.good{color:var(--good);}.ic-v.vio{color:#b89bff;}
.ic-u{font-family:var(--font-m);font-size:0.7rem;color:var(--text-3);}
.ic-s{font-size:0.72rem;color:var(--text-3);line-height:1.4;}
.ic.tl{top:20px;left:-20px;}.ic.tr{top:20px;right:-20px;}.ic.bl{bottom:24px;left:-20px;}.ic.br{bottom:24px;right:-20px;}
@media (prefers-reduced-motion:reduce){.ic{opacity:1!important;transform:none!important;}}
@media (max-width:760px){.ic{display:none;}}

/* ============ MARQUEE / roles strip ============ */
.strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.6rem 0;background:var(--bg-2);}
.strip-inner{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3.5rem);flex-wrap:wrap;}
.strip-lab{font-family:var(--font-m);font-size:0.65rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-4);}
.strip-item{font-family:var(--font-d);font-size:0.95rem;font-weight:600;color:var(--text-3);letter-spacing:-0.01em;}

/* ============ SECTION SHELL ============ */
.sec{padding:6.5rem 0;border-top:1px solid var(--border);}
.sec-head{max-width:680px;}
.sec-head.center{margin:0 auto;text-align:center;}
.sec-title{font-family:var(--font-d);font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:700;letter-spacing:-0.03em;line-height:1.1;margin:1.1rem 0 1.1rem;text-wrap:balance;}
.sec-sub{font-size:1.0625rem;line-height:1.6;color:var(--text-2);text-wrap:pretty;}

/* ============ DEAL SCORE / SCORECARD ============ */
.score-grid{display:grid;grid-template-columns:0.92fr 1.08fr;gap:4rem;align-items:center;margin-top:1rem;}
@media(max-width:900px){.score-grid{grid-template-columns:1fr;gap:2.6rem;}}
.legend{margin-top:1.9rem;border-top:1px solid var(--border);}
.lg{display:grid;grid-template-columns:1.6ch 1fr;gap:1rem;align-items:baseline;padding:0.85rem 0;border-bottom:1px solid var(--border);}
.lg-let{font-family:var(--font-d);font-size:1.45rem;font-weight:700;letter-spacing:-0.03em;line-height:1;}
.lg-let.a{color:var(--good);}.lg-let.b{color:#9bcf6b;}.lg-let.c{color:var(--acc);}.lg-let.d{color:#f6a04a;}.lg-let.f{color:var(--crit);}
.lg-r{display:flex;flex-direction:column;gap:0.2rem;}
.lg-range{font-family:var(--font-m);font-size:0.62rem;letter-spacing:0.12em;color:var(--text-4);}
.lg-lab{font-size:0.875rem;color:var(--text-2);line-height:1.4;}
.scorecard{position:relative;border:1px solid var(--border-2);border-radius:5px;background:linear-gradient(165deg,#131210,#0a0a0b);padding:1.9rem 2rem 2.1rem;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 40px 90px -34px rgba(212,149,10,0.16),0 50px 100px -44px rgba(0,0,0,0.85);}
.sc-glow{position:absolute;top:-32%;right:-12%;width:62%;height:82%;background:radial-gradient(ellipse at center,rgba(212,149,10,0.16),transparent 70%);pointer-events:none;}
.sc-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.sc-deal{display:flex;align-items:center;gap:0.7rem;}
.sc-ico{width:32px;height:32px;border-radius:5px;background:rgba(212,149,10,0.12);border:1px solid rgba(212,149,10,0.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);font-weight:700;color:var(--acc);font-size:0.95rem;}
.sc-deal b{display:block;font-family:var(--font-d);font-size:0.98rem;font-weight:600;letter-spacing:-0.01em;}
.sc-deal i{display:block;font-style:normal;font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.12em;color:var(--text-4);text-transform:uppercase;margin-top:0.2rem;}
.sc-tag{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);border:1px solid var(--border-2);border-radius:999px;padding:0.28rem 0.62rem;white-space:nowrap;}
.sc-hero{position:relative;display:flex;align-items:flex-end;gap:1.3rem;margin:1.5rem 0 0.2rem;}
.sc-grade{font-family:var(--font-d);font-size:5.2rem;font-weight:700;line-height:0.78;letter-spacing:-0.045em;color:var(--acc);}
.sc-meta{display:flex;flex-direction:column;gap:0.3rem;padding-bottom:0.55rem;}
.sc-score{font-family:var(--font-d);font-size:1.45rem;font-weight:700;letter-spacing:-0.02em;color:#fff;}
.sc-score small{color:var(--text-4);font-weight:500;font-size:0.92rem;}
.sc-cap{font-size:0.82rem;color:var(--text-3);}
.sc-dims{position:relative;display:flex;flex-direction:column;gap:0.95rem;margin-top:1.7rem;}
.sc-dim{display:flex;flex-direction:column;gap:0.45rem;}
.sc-dim-head{display:flex;align-items:baseline;justify-content:space-between;}
.sc-dn{font-size:0.85rem;color:var(--text-2);}
.sc-dn em{font-style:normal;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.06em;color:var(--text-4);margin-left:0.45rem;}
.sc-dv{font-family:var(--font-d);font-size:0.92rem;font-weight:700;color:#fff;letter-spacing:-0.01em;}
.sc-track{height:6px;border-radius:3px;background:rgba(255,255,255,0.07);overflow:hidden;}
.sc-track i{display:block;height:100%;width:0;border-radius:3px;transition:width 1.1s var(--ease);}
.sc-track i.c{background:linear-gradient(90deg,var(--acc),var(--acc-hi));}
.sc-track i.b{background:linear-gradient(90deg,#7fae57,#9bcf6b);}
.sc-track i.d{background:linear-gradient(90deg,#c14b35,#f0654b);}
.sc-dim:nth-child(1) .sc-track i{transition-delay:.15s;}
.sc-dim:nth-child(2) .sc-track i{transition-delay:.27s;}
.sc-dim:nth-child(3) .sc-track i{transition-delay:.39s;}
.sc-dim:nth-child(4) .sc-track i{transition-delay:.51s;}
.rv.in .sc-track i{width:var(--w);}
.sc-scale{position:relative;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--border);}
.sc-scale-track{position:relative;height:7px;border-radius:4px;background:linear-gradient(90deg,#f0654b 0%,#f0654b 50%,#f6a04a 64%,#D4950A 74%,#9bcf6b 85%,#3ec98a 96%);}
.sc-marker{position:absolute;top:50%;left:0;width:15px;height:15px;border-radius:50%;background:#fff;border:2px solid #0a0a0b;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.6);transition:left 1.2s var(--ease) .4s;}
.rv.in .sc-marker{left:var(--at);}
.sc-scale-labs{position:relative;height:0.9em;margin-top:0.6rem;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.1em;color:var(--text-4);}
.sc-scale-labs span{position:absolute;transform:translateX(-50%);}
.sc-tk{position:absolute;top:-3px;bottom:-3px;width:1px;background:rgba(255,255,255,0.28);transform:translateX(-50%);}
@media(prefers-reduced-motion:reduce){.sc-track i{width:var(--w);}.sc-marker{left:var(--at);}}

/* ============ STATS ============ */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;border:1px solid var(--border);border-radius:6px;overflow:hidden;}
@media (max-width:760px){.stats{grid-template-columns:1fr;}}
.stat{padding:2.2rem;border-right:1px solid var(--border);background:var(--bg-2);}
.stat:last-child{border-right:0;}
@media (max-width:760px){.stat{border-right:0;border-bottom:1px solid var(--border);}.stat:last-child{border-bottom:0;}}
.stat-val{font-family:var(--font-d);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;letter-spacing:-0.03em;line-height:1;}
.stat-val.gold{color:var(--acc);}
.stat-lab{font-size:0.9375rem;color:var(--text-3);line-height:1.55;margin-top:0.7rem;max-width:30ch;}
.stat-src{font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-top:0.6rem;}

/* ============ FEATURE ROWS (zigzag) ============ */
.frow{display:grid;grid-template-columns:1fr 1.25fr;gap:4rem;align-items:center;}
.frow+.frow{margin-top:6rem;}
.frow.rev{grid-template-columns:1.25fr 1fr;}
.frow.rev .frow-text{order:2;}
.frow.rev .frow-vis{order:1;}
@media (max-width:900px){.frow,.frow.rev{grid-template-columns:1fr;gap:2.2rem;}.frow.rev .frow-text,.frow.rev .frow-vis{order:0;}}
.frow-num{font-family:var(--font-m);font-size:0.7rem;letter-spacing:0.16em;color:var(--acc);margin-bottom:1rem;}
.frow-title{font-family:var(--font-d);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-0.025em;line-height:1.15;margin-bottom:1rem;text-wrap:balance;}
.frow-desc{font-size:1rem;line-height:1.65;color:var(--text-2);max-width:46ch;text-wrap:pretty;}
.frow-list{margin-top:1.6rem;display:flex;flex-direction:column;gap:0.85rem;}
.frow-li{display:grid;grid-template-columns:18px 1fr;gap:0.7rem;align-items:start;font-size:0.9375rem;color:var(--text-2);}
.frow-li .bul{width:6px;height:6px;border-radius:50%;background:var(--acc);margin-top:0.55rem;}
.frow-vis{position:relative;}
.frow-vis .win{box-shadow:0 2px 4px rgba(0,0,0,.4),0 26px 60px -24px rgba(212,149,10,0.14),0 40px 80px -30px rgba(0,0,0,0.7);}

/* ============ HERO ANNOUNCEMENT ============ */
.hero-ann{display:inline-flex;align-items:center;gap:0.55rem;font-size:0.8rem;font-weight:500;color:var(--text-2);border:1px solid var(--border-2);background:rgba(255,255,255,0.03);padding:0.38rem 0.75rem 0.38rem 0.4rem;border-radius:999px;margin-bottom:1.9rem;transition:border-color .2s,background .2s;}
.hero-ann:hover{border-color:rgba(139,109,240,0.5);background:rgba(139,109,240,0.06);}
.hero-ann .na{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:#0a0a0a;background:#b89bff;padding:0.2rem 0.5rem;border-radius:999px;font-weight:700;}
.hero-ann .ar{color:#b89bff;}

/* ============ HUDSON FLAGSHIP ============ */
.hudson{position:relative;overflow:hidden;background:linear-gradient(180deg,#070708,#0a0712 55%,#070708);}
.hudson-glow{position:absolute;left:62%;top:-12%;width:min(920px,85vw);height:720px;transform:translateX(-30%);pointer-events:none;z-index:0;background:radial-gradient(ellipse 55% 50% at 50% 40%,rgba(139,109,240,0.2),rgba(139,109,240,0.05) 45%,transparent 72%);}
.hudson>.container{position:relative;z-index:1;}
.hudson-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:4rem;align-items:center;}
@media(max-width:900px){.hudson-grid{grid-template-columns:1fr;gap:2.5rem;}}
.violet{color:#b89bff!important;}
.hudson-feats{margin-top:2.1rem;display:flex;flex-direction:column;gap:1.25rem;}
.hf{display:grid;grid-template-columns:36px 1fr;gap:0.95rem;align-items:start;}
.hf-ic{width:36px;height:36px;border-radius:6px;background:rgba(139,109,240,0.12);border:1px solid rgba(139,109,240,0.3);display:flex;align-items:center;justify-content:center;}
.hf b{display:flex;align-items:center;font-family:var(--font-d);font-size:1rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:0.25rem;}
.hf .t{font-size:0.9rem;color:var(--text-3);line-height:1.55;}
.hf-beta{font-family:var(--font-m);font-size:0.5rem;letter-spacing:0.12em;text-transform:uppercase;color:#0a0a0a;background:#b89bff;border-radius:4px;padding:0.12rem 0.34rem;margin-left:0.5rem;}
.hudson-demo{position:relative;}
.hpanel{position:relative;border-radius:5px;border:1px solid rgba(255,255,255,0.1);background:linear-gradient(165deg,#141019,#0a0a0d);overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 40px 90px -30px rgba(139,109,240,0.32),0 50px 100px -42px rgba(0,0,0,0.85);}
.hp-top{display:flex;align-items:center;gap:0.9rem;padding:0.9rem 1.15rem;border-bottom:1px solid var(--border);background:rgba(255,255,255,0.015);}
.hp-rec{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:#ff7a6a;}
.hp-rec .d{width:8px;height:8px;border-radius:50%;background:#ff5a48;}
.hp-wave{display:flex;align-items:center;gap:3px;height:22px;}
.hp-wave i{width:3px;border-radius:2px;background:#8b6df0;height:24%;}
.hp-beta{margin-left:auto;font-family:var(--font-m);font-size:0.54rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-4);border:1px solid var(--border-2);border-radius:5px;padding:0.15rem 0.42rem;}
.hp-ctl{padding:1rem 1.15rem 0.5rem;}
.hp-ctl .tag{font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.12em;color:var(--acc);}
.hp-ctl .nm{font-family:var(--font-d);font-size:1.05rem;font-weight:600;letter-spacing:-0.015em;margin-top:0.3rem;}
.hp-script{padding:0.5rem 1.15rem;display:flex;flex-direction:column;gap:0.7rem;min-height:150px;}
.hp-line{display:flex;flex-direction:column;gap:0.32rem;opacity:0;transform:translateY(8px);}
.hp-line .who{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);}
.hp-line .who.tgt{color:#b89bff;}
.hp-line .txt{font-size:0.9rem;line-height:1.5;color:var(--text-2);background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:3px 7px 7px 7px;padding:0.55rem 0.8rem;}
.hp-line.tgt-line{align-items:flex-end;}
.hp-line.tgt-line .txt{border-radius:7px 3px 7px 7px;background:rgba(139,109,240,0.08);border-color:rgba(139,109,240,0.22);}
.hp-suggest{margin:0.3rem 1.15rem 1.15rem;border-radius:6px;border:1px solid rgba(139,109,240,0.34);background:linear-gradient(160deg,rgba(34,26,56,0.92),rgba(15,13,21,0.94));padding:0.95rem 1.05rem;opacity:0;transform:translateY(14px);}
.hp-sg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.6rem;}
.hp-sg-mark{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:#b89bff;}
.hp-sg-conf{font-family:var(--font-m);font-size:0.6rem;color:var(--text-3);}
.hp-sg-row{display:flex;align-items:center;gap:0.7rem;margin-bottom:0.5rem;}
.hp-sg-rating{font-family:var(--font-d);font-size:1.3rem;font-weight:700;letter-spacing:-0.02em;color:var(--acc);}
.hp-sg-pill{font-family:var(--font-m);font-size:0.54rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);border:1px solid var(--border-2);border-radius:999px;padding:0.16rem 0.5rem;}
.hp-conf-bar{height:3px;border-radius:2px;background:rgba(255,255,255,0.08);overflow:hidden;margin-bottom:0.7rem;}
.hp-conf-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8b6df0,#b89bff);}
.hp-sg-why{font-size:0.82rem;line-height:1.55;color:var(--text-3);margin-bottom:0.85rem;}
.hp-sg-actions{display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap;}
.hp-apply{font-family:var(--font-d);font-size:0.78rem;font-weight:700;color:#0a0a0a;background:var(--acc);border:0;border-radius:5px;padding:0.5rem 0.85rem;cursor:pointer;transition:background .2s;}
.hp-apply:hover{background:var(--acc-hi);}
.hp-src{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.03em;color:var(--text-4);}
@media(prefers-reduced-motion:no-preference){
  .hp-wave i{animation:hpWave .9s ease-in-out infinite;}
  .hp-wave i:nth-child(2){animation-delay:.1s}.hp-wave i:nth-child(3){animation-delay:.22s}.hp-wave i:nth-child(4){animation-delay:.32s}.hp-wave i:nth-child(5){animation-delay:.18s}.hp-wave i:nth-child(6){animation-delay:.26s}.hp-wave i:nth-child(7){animation-delay:.05s}.hp-wave i:nth-child(8){animation-delay:.4s}.hp-wave i:nth-child(9){animation-delay:.15s}.hp-wave i:nth-child(10){animation-delay:.3s}
  .hp-rec .d{animation:hpPulse 1.6s ease-out infinite;}
  .hpanel.play .hp-line.l1{animation:hpL1 13s ease infinite;}
  .hpanel.play .hp-line.l2{animation:hpL2 13s ease infinite;}
  .hpanel.play .hp-suggest{animation:hpSg 13s ease infinite;}
  .hpanel.play .hp-conf-bar i{animation:hpConf 13s ease infinite;}
}
@keyframes hpWave{0%,100%{height:22%}50%{height:86%}}
@keyframes hpPulse{0%{box-shadow:0 0 0 0 rgba(255,90,72,0.45)}70%{box-shadow:0 0 0 7px rgba(255,90,72,0)}100%{box-shadow:0 0 0 0 rgba(255,90,72,0)}}
@keyframes hpL1{0%,4%{opacity:0;transform:translateY(8px)}8%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes hpL2{0%,20%{opacity:0;transform:translateY(8px)}26%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(8px)}}
@keyframes hpSg{0%,44%{opacity:0;transform:translateY(14px)}52%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(14px)}}
@keyframes hpConf{0%,48%{width:0}62%,90%{width:87%}96%,100%{width:0}}
@media(prefers-reduced-motion:reduce){
  .hp-line,.hp-suggest{opacity:1!important;transform:none!important;}
  .hp-conf-bar i{width:87%!important;}
}

/* ============ HOW IT WORKS (interactive) ============ */
.hw{display:grid;grid-template-columns:0.8fr 1.2fr;gap:3rem;margin-top:3rem;align-items:start;}
@media(max-width:900px){.hw{grid-template-columns:1fr;gap:2rem;}}
.hw-list{display:flex;flex-direction:column;}
.hw-item{text-align:left;background:transparent;border:0;border-left:2px solid var(--border);padding:1.05rem 0 1.05rem 1.5rem;cursor:pointer;position:relative;font-family:inherit;color:inherit;width:100%;}
.hw-top{display:flex;align-items:center;gap:0.85rem;}
.hw-n{font-family:var(--font-m);font-size:0.64rem;letter-spacing:0.14em;color:var(--text-4);transition:color .3s;}
.hw-h{font-family:var(--font-d);font-size:1.15rem;font-weight:600;letter-spacing:-0.02em;color:var(--text-3);transition:color .3s;}
.hw-item:hover .hw-h{color:var(--text-2);}
.hw-d{font-size:0.9rem;line-height:1.55;color:var(--text-3);max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s,margin-top .45s var(--ease);padding-right:1rem;}
.hw-item.active .hw-n{color:var(--acc);}
.hw-item.active .hw-h{color:#fff;}
.hw-item.active .hw-d{max-height:96px;opacity:1;margin-top:0.55rem;}
.hw-prog{position:absolute;left:-2px;top:0;width:2px;height:100%;background:var(--acc);transform:scaleY(0);transform-origin:top;}
.hw-stage{position:relative;border-radius:5px;overflow:hidden;border:1px solid var(--border-2);background:var(--bg-2);box-shadow:0 2px 4px rgba(0,0,0,.4),0 40px 80px -30px rgba(212,149,10,0.18),0 50px 100px -42px rgba(0,0,0,0.82);}
.hw-bar{display:flex;align-items:center;gap:0.5rem;padding:0.7rem 1rem;background:#0d0d0d;border-bottom:1px solid var(--border);}
.hw-bar .url{margin-left:0.6rem;font-family:var(--font-m);font-size:0.66rem;color:var(--text-4);letter-spacing:0.03em;}
.hw-frames{position:relative;aspect-ratio:1.92;background:#090a0a;}
.hw-frame{position:absolute;inset:0;opacity:0;transition:opacity .55s var(--ease);pointer-events:none;}
.hw-frame.show{opacity:1;pointer-events:auto;}
.hw-frame img{width:100%;height:100%;object-fit:contain;object-position:top center;display:block;}
.hw-cap{padding:0.8rem 1rem;border-top:1px solid var(--border);font-family:var(--font-m);font-size:0.64rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);background:rgba(255,255,255,0.012);}
.ic.i-tl{top:16px;left:16px;}.ic.i-tr{top:16px;right:16px;}.ic.i-bl{bottom:16px;left:16px;}.ic.i-br{bottom:16px;right:16px;}
.hw-item.active .hw-prog{transform:scaleY(1);transition:transform .45s var(--ease);}

/* ============ MOSAIC ============ */
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
@media (max-width:900px){.mosaic{grid-template-columns:1fr;}}
.tile{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s var(--ease);}
.tile:hover{border-color:var(--border-2);transform:translateY(-4px);box-shadow:0 26px 54px -30px rgba(0,0,0,0.85);}
.tile-vis{position:relative;border-bottom:1px solid var(--border);background:var(--bg);cursor:zoom-in;}
.tile-bar{display:flex;align-items:center;gap:0.4rem;padding:0.55rem 0.85rem;background:#0d0d0d;border-bottom:1px solid var(--border);}
.tile-bar .win-dot{width:8px;height:8px;border-radius:50%;}
.tile-url{margin-left:0.45rem;min-width:0;font-family:var(--font-m);font-size:0.6rem;color:var(--text-4);letter-spacing:0.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tile-shot{aspect-ratio:16/10;overflow:hidden;}
.tile-shot img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .55s var(--ease);}
.tile:hover .tile-shot img{transform:scale(1.035);}
.tile-body{padding:1.4rem 1.5rem 1.6rem;}
.tile-mark{font-family:var(--font-m);font-size:0.62rem;letter-spacing:0.16em;color:var(--acc);}
.tile-name{font-family:var(--font-d);font-size:1.15rem;font-weight:600;letter-spacing:-0.02em;margin:0.55rem 0 0.45rem;display:flex;align-items:center;gap:0.45rem;}
.tile-name .ar{color:var(--acc);font-weight:700;opacity:0;transform:translateX(-5px);transition:opacity .3s,transform .3s var(--ease);}
.tile:hover .tile-name .ar{opacity:1;transform:none;}
.tile-desc{font-size:0.875rem;line-height:1.6;color:var(--text-3);}
.tile-zoom{position:absolute;top:0.7rem;right:0.7rem;z-index:2;width:30px;height:30px;border-radius:5px;background:rgba(8,8,8,0.66);border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:scale(0.9);transition:opacity .25s var(--ease),transform .25s var(--ease),border-color .2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.tile:hover .tile-zoom{opacity:1;transform:none;border-color:rgba(212,149,10,0.5);}

/* ============ LIFECYCLE ============ */
.lifecycle{background:var(--bg-2);}
.flow{position:relative;margin-top:3.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
@media (max-width:900px){.flow{grid-template-columns:1fr;gap:1rem;}}
.flow::before{content:"";position:absolute;left:7%;right:7%;top:13px;height:2px;background:linear-gradient(90deg,rgba(212,149,10,0.1),rgba(212,149,10,0.5),rgba(212,149,10,0.1));z-index:0;}
@media (max-width:900px){.flow::before{display:none;}}
.phase{position:relative;z-index:1;}
.phase .node{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--acc);background:var(--bg-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-m);font-size:0.7rem;color:var(--acc);margin-bottom:1.4rem;}
.phase .ttl{font-family:var(--font-d);font-size:1.05rem;font-weight:600;letter-spacing:-0.015em;margin-bottom:0.5rem;}
.phase .dsc{font-size:0.875rem;line-height:1.6;color:var(--text-3);}
.lc-foot{margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--border);display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap;}
.lc-foot .big{font-family:var(--font-d);font-size:1.5rem;font-weight:700;color:var(--acc);letter-spacing:-0.02em;}
.lc-foot .txt{font-size:0.95rem;color:var(--text-3);}

/* ============ AI BAND ============ */
.ai{position:relative;overflow:hidden;}
.ai-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center;}
@media (max-width:900px){.ai-grid{grid-template-columns:1fr;gap:2.5rem;}}
.ai-card{position:relative;border:1px solid var(--border-2);border-radius:6px;background:linear-gradient(160deg,#121016,#0b0b0d);padding:2rem;box-shadow:0 30px 70px -30px rgba(120,80,200,0.25);}
.ai-card .tag{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-m);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;color:#b89bff;margin-bottom:1.2rem;}
.ai-card .tag .d{width:6px;height:6px;border-radius:50%;background:#8b6df0;box-shadow:0 0 0 3px rgba(139,109,240,0.2);}
.ai-line{display:flex;align-items:flex-start;gap:0.8rem;padding:0.85rem 0;border-top:1px solid var(--border);font-size:0.9375rem;color:var(--text-2);}
.ai-line:first-of-type{border-top:0;}
.ai-line .ck{flex-shrink:0;width:18px;height:18px;border-radius:5px;background:rgba(212,149,10,0.14);color:var(--acc);display:flex;align-items:center;justify-content:center;font-size:0.7rem;margin-top:0.1rem;}
.ai-line b{color:#fff;font-weight:600;}

/* ============ CTA ============ */
.cta{position:relative;text-align:center;overflow:hidden;border-top:1px solid var(--border);}
.cta-glow{position:absolute;left:50%;bottom:-300px;width:min(1100px,110vw);height:680px;transform:translateX(-50%);pointer-events:none;background:radial-gradient(ellipse at center,rgba(212,149,10,0.14),rgba(212,149,10,0.04) 40%,transparent 70%);}
.cta>.container{position:relative;z-index:1;}
.cta-title{font-family:var(--font-d);font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:700;letter-spacing:-0.035em;line-height:1.05;margin:1.2rem 0 1.2rem;text-wrap:balance;}
.cta-sub{font-size:1.0625rem;color:var(--text-2);max-width:520px;margin:0 auto 2.3rem;}

/* ============ FOOTER ============ */
.ft{border-top:1px solid var(--border);padding:4rem 0 2.4rem;}
.ft-top{display:grid;grid-template-columns:1.4fr 2fr;gap:3rem;padding-bottom:3rem;}
@media (max-width:760px){.ft-top{grid-template-columns:1fr;gap:2rem;}}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:0.7rem;}
.ft-mark{display:flex;align-items:center;gap:0.6rem;}
.ft-tag{font-size:0.8125rem;line-height:1.6;color:var(--text-3);max-width:280px;margin-top:0.3rem;}
.ft-nav{display:flex;gap:clamp(2rem,5vw,4rem);flex-wrap:wrap;}
.ft-col{display:flex;flex-direction:column;gap:0.6rem;}
.ft-col .lab{font-family:var(--font-m);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.35rem;}
.ft-col a{font-size:0.875rem;color:var(--text-3);transition:color .2s;}
.ft-col a:hover{color:#fff;}
.ft-soon{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-4);margin-left:0.35rem;}
.ft-bot{padding-top:2rem;border-top:1px solid var(--border);font-size:0.75rem;color:var(--text-4);}

/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}}
.lbx{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:4vw;background:rgba(3,3,3,0.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .3s var(--ease);}
.lbx.open{display:flex;opacity:1;}
.lbx-card{position:relative;max-width:1080px;width:100%;border-radius:6px;overflow:hidden;border:1px solid var(--border-2);background:var(--bg-2);box-shadow:0 40px 120px -30px rgba(0,0,0,0.9);transform:translateY(12px) scale(0.98);transition:transform .35s var(--ease);}
.lbx.open .lbx-card{transform:none;}
.lbx-card img{width:100%;display:block;max-height:72vh;object-fit:contain;background:#0a0a0a;}
.lbx-cap{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;padding:1.05rem 1.3rem;border-top:1px solid var(--border);}
.lbx-cap .t{font-family:var(--font-d);font-size:1.05rem;font-weight:600;letter-spacing:-0.01em;}
.lbx-cap .t small{display:block;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--acc);margin-bottom:0.32rem;font-weight:400;}
.lbx-cap .d{font-size:0.85rem;color:var(--text-3);max-width:48ch;text-align:right;}
@media(max-width:640px){.lbx-cap{flex-direction:column;align-items:flex-start;gap:0.5rem;}.lbx-cap .d{text-align:left;}}
.lbx-close{position:absolute;top:0.9rem;right:0.9rem;width:36px;height:36px;border-radius:5px;border:1px solid var(--border-2);background:rgba(8,8,8,0.7);color:#fff;font-size:0.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.lbx-close:hover{border-color:var(--acc);background:rgba(212,149,10,0.12);}
/* ===== Originality pass: grain + instrument detailing + focus callout ===== */
body::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.fig{display:flex;align-items:center;gap:1.1rem;margin:0 0 1.1rem;padding:0 0.2rem;}
.fig .lbl{font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);white-space:nowrap;}
.fig .tick{flex:1;height:8px;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,0.16) 0 1px,transparent 1px 26px);}
.win-shot{position:relative;}
.win-shot img{display:block;width:100%;}
.win-dim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,5,5,0) 56%,rgba(5,5,5,0.42));}
.focus-card{position:absolute;left:3.5%;bottom:-30px;z-index:6;width:min(342px,50%);padding:1.15rem 1.3rem 1.25rem;border-radius:5px;background:linear-gradient(160deg,rgba(22,20,17,0.93),rgba(10,10,12,0.96));border:1px solid rgba(255,255,255,0.12);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 34px 64px -22px rgba(0,0,0,0.92),0 12px 26px -12px rgba(0,0,0,0.65);opacity:0;transform:translateY(16px) scale(0.97);transition:opacity .7s var(--ease) .25s,transform .7s var(--ease) .25s;}
.lit .focus-card{opacity:1;transform:none;}
.fc-top{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;margin-bottom:0.75rem;}
.fc-co{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-4);}
.fc-hero{display:flex;align-items:flex-end;gap:0.95rem;}
.fc-grade{font-family:var(--font-d);font-size:3.3rem;font-weight:700;line-height:0.78;letter-spacing:-0.04em;color:#f6a04a;}
.fc-meta{display:flex;flex-direction:column;gap:0.28rem;padding-bottom:0.35rem;}
.fc-num{font-family:var(--font-d);font-size:1.05rem;font-weight:700;color:#fff;letter-spacing:-0.02em;}
.fc-num small{color:var(--text-4);font-weight:500;font-size:0.78rem;margin-left:0.1rem;}
.fc-cap{font-size:0.74rem;color:var(--text-3);line-height:1.35;}
.fc-scale{position:relative;height:6px;border-radius:3px;margin-top:1rem;background:linear-gradient(90deg,#f0654b 0%,#f0654b 50%,#f6a04a 64%,#D4950A 74%,#9bcf6b 85%,#3ec98a 96%);}
.fc-marker{position:absolute;top:50%;left:61%;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid #0a0a0b;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(0,0,0,0.55);}
.fc-labs{position:relative;height:0.8em;margin-top:0.42rem;font-family:var(--font-m);font-size:0.54rem;letter-spacing:0.1em;color:var(--text-4);}
.fc-labs span{position:absolute;transform:translateX(-50%);}
.fc-tk{position:absolute;top:-2px;bottom:-2px;width:1px;background:rgba(0,0,0,0.45);transform:translateX(-50%);}
@media(max-width:760px){.focus-card{position:static;width:auto;margin-top:1.2rem;bottom:auto;opacity:1;transform:none;}.win-dim{display:none;}}

/* ===== SCOUT theme + originality ===== */
:root{--acc:#0D9488;--acc-hi:#2DD4BF;--tealdim:rgba(13,148,136,0.14);}
.btn-primary{background:var(--acc);color:#04201d;}
.btn-primary:hover{background:var(--acc-hi);}

body::before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media (max-width:560px){.nav-login,.nav-signin{display:none;}.nav-right .btn-primary{font-size:0.82rem;padding:0.5rem 0.85rem;}}
.scout-glow{background:radial-gradient(ellipse 60% 55% at 50% 40%,rgba(13,148,136,0.2),rgba(13,148,136,0.05) 42%,transparent 70%) !important;}
.eyebrow.teal{color:var(--acc-hi);}
.hero-title em{color:var(--acc-hi);}
.fig{display:flex;align-items:center;gap:1.1rem;margin:0 0 1.1rem;padding:0 0.2rem;}
.fig .lbl{font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);white-space:nowrap;}
.fig .tick{flex:1;height:8px;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,0.16) 0 1px,transparent 1px 26px);}
/* compass scan mark */
@keyframes scanSpin{to{transform:rotate(360deg);}}
@keyframes scanPing{0%{transform:scale(0.6);opacity:0.6;}70%{transform:scale(2.2);opacity:0;}100%{opacity:0;}}
.compass{position:relative;width:20px;height:20px;flex:0 0 auto;color:var(--acc-hi);}
.compass svg{display:block;}
.compass.scanning svg{animation:scanSpin 1.1s linear infinite;transform-origin:center;}
/* ===== Watchlist console ===== */
.wlwrap{margin-top:2.8rem;display:grid;grid-template-columns:1.08fr 0.92fr;gap:1px;background:var(--border);border:1px solid var(--border-2);border-radius:5px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 44px 92px -42px rgba(0,0,0,0.82);}
@media(max-width:900px){.wlwrap{grid-template-columns:1fr;}}
.wl-left,.wl-right{background:var(--bg-2);min-width:0;}
.wl-head{display:flex;align-items:center;gap:0.7rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:rgba(255,255,255,0.015);}
.wl-h-t{font-family:var(--font-d);font-weight:600;font-size:0.95rem;letter-spacing:-0.01em;}
.wl-h-s{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-4);}
.wl-scan{margin-left:auto;display:inline-flex;align-items:center;gap:0.45rem;font-family:var(--font-d);font-size:0.76rem;font-weight:700;color:#04201d;background:var(--acc);border:0;border-radius:5px;padding:0.45rem 0.8rem;cursor:pointer;transition:background .2s;}
.wl-scan:hover{background:var(--acc-hi);}
.wl-scan:disabled{opacity:0.6;cursor:default;}
.wl-row{display:grid;grid-template-columns:1fr auto;gap:0.8rem;align-items:center;padding:0.85rem 1.2rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;}
.wl-row:last-child{border-bottom:0;}
.wl-row:hover{background:rgba(255,255,255,0.025);}
.wl-row.sel{background:var(--tealdim);box-shadow:inset 3px 0 0 var(--acc);}
.wl-row.flash{animation:wlFlash 1.3s var(--ease);}
@keyframes wlFlash{0%{background:rgba(240,101,75,0.22);}100%{background:var(--tealdim);}}
.wl-nm{font-family:var(--font-d);font-weight:600;font-size:0.95rem;}
.wl-cat{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);margin-top:0.2rem;}
.wl-rt{display:flex;align-items:center;gap:0.8rem;}
.wl-tr{font-size:0.85rem;width:1em;text-align:center;}
.wl-tr.down{color:var(--crit);}.wl-tr.up{color:var(--good);}.wl-tr.flat{color:var(--text-4);}
.wl-g{font-family:var(--font-d);font-weight:700;font-size:1.15rem;width:1.2em;text-align:center;}
.wl-g.a{color:var(--good);}.wl-g.b{color:#9bcf6b;}.wl-g.c{color:var(--acc-hi);}.wl-g.d{color:#f6a04a;}.wl-g.f{color:var(--crit);}
.wl-detail{padding:1.3rem 1.4rem;}
.wl-d-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem;}
.wl-d-nm{font-family:var(--font-d);font-size:1.3rem;font-weight:700;letter-spacing:-0.02em;}
.wl-d-cat{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-4);margin-top:0.25rem;}
.wl-d-g{font-family:var(--font-d);font-size:2.6rem;font-weight:700;line-height:0.8;letter-spacing:-0.03em;}
.wl-fac{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.7rem 0;border-top:1px solid var(--border);font-size:0.88rem;color:var(--text-2);}
.wl-fac .k{color:var(--text-3);}
.wl-fac .s{font-family:var(--font-m);font-size:0.66rem;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:0.4rem;}
.wl-fac .s .d{width:6px;height:6px;border-radius:50%;}
.wl-fac .s.ok{color:var(--good);}.wl-fac .s.ok .d{background:var(--good);}
.wl-fac .s.warn{color:#f6a04a;}.wl-fac .s.warn .d{background:#f6a04a;}
.wl-fac .s.bad{color:var(--crit);}.wl-fac .s.bad .d{background:var(--crit);}
.wl-feed{margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border-2);}
.wl-feed-h{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.7rem;}
.wl-ev{display:grid;grid-template-columns:auto 1fr auto;gap:0.7rem;align-items:baseline;padding:0.45rem 0;font-size:0.84rem;color:var(--text-2);}
.wl-ev .dot{width:6px;height:6px;border-radius:50%;background:var(--acc);margin-top:0.35rem;}
.wl-ev.crit .dot{background:var(--crit);}
.wl-ev .tm{font-family:var(--font-m);font-size:0.6rem;color:var(--text-4);white-space:nowrap;}
.wl-ev.new{animation:wlIn .5s var(--ease);}
@keyframes wlIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
/* watch grid */
.watch{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem;}
@media(max-width:820px){.watch{grid-template-columns:1fr;}}
.wcard{border:1px solid var(--border);border-radius:6px;background:var(--bg-2);padding:1.7rem;transition:border-color .3s,transform .3s var(--ease);}
.wcard:hover{border-color:rgba(13,148,136,0.4);transform:translateY(-3px);}
.wcard .wic{width:44px;height:44px;border-radius:12px;background:var(--tealdim);border:1px solid rgba(13,148,136,0.3);color:var(--acc-hi);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;}
.wcard h3{font-family:var(--font-d);font-size:1.1rem;font-weight:600;letter-spacing:-0.015em;margin-bottom:0.45rem;}
.wcard p{font-size:0.9rem;line-height:1.55;color:var(--text-3);}
/* hudson band (teal) */
.hb{position:relative;border:1px solid rgba(13,148,136,0.28);border-radius:5px;background:linear-gradient(165deg,#0c1413,#0a0b0b);overflow:hidden;margin-top:2.8rem;padding:2.4rem;display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;box-shadow:0 2px 4px rgba(0,0,0,.4),0 44px 100px -44px rgba(13,148,136,0.4);}
@media(max-width:760px){.hb{grid-template-columns:1fr;gap:1.4rem;padding:1.8rem;}}
.hb-glow{position:absolute;top:-40%;left:-8%;width:50%;height:90%;background:radial-gradient(ellipse at center,rgba(13,148,136,0.22),transparent 70%);pointer-events:none;}
.hb .beacon{width:84px;color:var(--acc-hi);filter:drop-shadow(0 0 28px rgba(13,148,136,0.5));position:relative;}
.hb-t h3{font-family:var(--font-d);font-size:1.5rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:0.6rem;}
.hb-t p{font-size:1rem;line-height:1.6;color:var(--text-2);max-width:60ch;}
/* beacon */
@keyframes hr1{from{transform:rotate(30deg)}to{transform:rotate(390deg)}}
@keyframes hr2{from{transform:rotate(150deg)}to{transform:rotate(510deg)}}
@keyframes hr3{from{transform:rotate(270deg)}to{transform:rotate(630deg)}}
.beacon{display:block;overflow:visible;}
.beacon .bring,.beacon .bnode{transform-box:fill-box;transform-origin:center;}
.beacon .b1{transform:rotate(30deg);}.beacon .b2{transform:rotate(150deg);stroke-opacity:0.62;}.beacon .b3{transform:rotate(270deg);stroke-opacity:0.46;}
.beacon.analyzing .b1{animation:hr1 4s linear infinite;}.beacon.analyzing .b2{animation:hr2 6.5s linear infinite;}.beacon.analyzing .b3{animation:hr3 9.5s linear infinite;}
@media(prefers-reduced-motion:reduce){.beacon .bring,.compass.scanning svg{animation:none !important;}}
/* ===== Blast-radius map ===== */
.map{position:relative;margin-top:2.8rem;border:1px solid var(--border-2);border-radius:5px;background:linear-gradient(180deg,#0b0c0c,#0a0b0b);padding:1.8rem 1.8rem 1.5rem;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 44px 92px -44px rgba(0,0,0,0.82);}
.map-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,12vw,9rem);}
.map-col{display:flex;flex-direction:column;gap:0.85rem;}
.map-col:last-child{align-items:flex-end;}
.map-col-h{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.3rem;}
.node{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0.12rem;border:1px solid var(--border-2);border-radius:6px;background:var(--bg-2);padding:0.65rem 0.9rem;cursor:pointer;font-family:var(--font-d);font-weight:600;font-size:0.9rem;color:var(--text-2);transition:border-color .25s,background .25s,color .25s,box-shadow .25s,opacity .25s;min-width:150px;text-align:left;}
.map-col:last-child .node{align-items:flex-end;text-align:right;}
.node:hover{border-color:var(--acc);color:#fff;}
.node.on{border-color:var(--acc);background:var(--tealdim);color:#fff;box-shadow:0 0 0 1px var(--acc),0 0 26px -8px rgba(13,148,136,0.7);}
.node.dim{opacity:0.3;}
.node-cat{font-family:var(--font-m);font-size:0.52rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);font-weight:400;}
.node.conc::after{content:"";position:absolute;top:-5px;right:-5px;width:9px;height:9px;border-radius:50%;background:var(--crit);box-shadow:0 0 0 3px #0a0b0b;}
.map-edges{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;}
.map-edges path{fill:none;stroke:rgba(255,255,255,0.1);stroke-width:1.5;transition:stroke .25s,stroke-width .25s;}
.map-edges path.on{stroke:var(--acc-hi);stroke-width:2;}
.map-edges path.dim{stroke:rgba(255,255,255,0.045);}
.map-read{position:relative;z-index:1;margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;}
.map-read .big{font-family:var(--font-d);font-size:1.7rem;font-weight:700;letter-spacing:-0.02em;color:var(--acc-hi);white-space:nowrap;}
.map-read .big.crit{color:var(--crit);}
.map-read .tx{font-size:0.92rem;color:var(--text-2);line-height:1.5;max-width:54ch;}
.map-read .tx b{color:#fff;font-weight:600;}
@media(max-width:600px){.map-grid{gap:1.6rem;}.node{min-width:0;font-size:0.82rem;padding:0.55rem 0.7rem;}}
/* ===== Problem + Trust network ===== */
.probs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:3rem;}
@media(max-width:820px){.probs{grid-template-columns:1fr;}}
.prob{border:1px solid var(--border);border-radius:6px;background:var(--bg-2);padding:1.6rem;transition:border-color .3s,transform .3s var(--ease);}
.prob:hover{border-color:var(--border-2);transform:translateY(-3px);}
.prob .pn{font-family:var(--font-m);font-size:0.62rem;letter-spacing:0.12em;color:var(--acc-hi);}
.prob h3{font-family:var(--font-d);font-size:1.05rem;font-weight:600;margin:0.7rem 0 0.45rem;letter-spacing:-0.01em;}
.prob p{font-size:0.9rem;line-height:1.55;color:var(--text-3);text-wrap:pretty;}
.fw{display:grid;grid-template-columns:repeat(5,1fr);margin-top:3rem;}
@media(max-width:820px){.fw{grid-template-columns:1fr;}}
.fw-step{position:relative;padding:1.5rem 1.15rem;border:1px solid var(--border);border-right:0;background:var(--bg-2);}
.fw-step:first-child{border-radius:6px 0 0 14px;}
.fw-step:last-child{border-right:1px solid var(--border);border-radius:0 14px 14px 0;}
@media(max-width:820px){.fw-step,.fw-step:first-child,.fw-step:last-child{border-right:1px solid var(--border);border-radius:12px;}}
.fw-n{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--acc);color:var(--acc-hi);display:flex;align-items:center;justify-content:center;font-family:var(--font-m);font-size:0.78rem;margin-bottom:1.1rem;}
.fw-step h3{font-family:var(--font-d);font-size:1rem;font-weight:600;letter-spacing:-0.01em;margin-bottom:0.5rem;}
.fw-step p{font-size:0.85rem;line-height:1.5;color:var(--text-3);text-wrap:pretty;}
.fw-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2.4rem;border:1px solid var(--border);border-radius:6px;overflow:hidden;}
@media(max-width:680px){.fw-stats{grid-template-columns:1fr;}}
.fw-stat{padding:2rem;border-right:1px solid var(--border);background:var(--bg-2);}
.fw-stat:last-child{border-right:0;}
@media(max-width:680px){.fw-stat{border-right:0;border-bottom:1px solid var(--border);}.fw-stat:last-child{border-bottom:0;}}
.fw-stat .v{font-family:var(--font-d);font-size:clamp(2rem,4vw,2.7rem);font-weight:700;color:var(--acc-hi);letter-spacing:-0.03em;line-height:1;}
.fw-stat .l{font-size:0.9rem;color:var(--text-3);margin-top:0.55rem;line-height:1.5;}

/* ===== Scout features page panels ===== */
.fp{position:relative;border:1px solid var(--border-2);border-radius:6px;background:linear-gradient(165deg,#0d1413,#0a0b0b);overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 30px 70px -30px rgba(13,148,136,0.16),0 40px 80px -36px rgba(0,0,0,0.72);}
.fp-bar{display:flex;align-items:center;gap:0.5rem;padding:0.72rem 0.95rem;border-bottom:1px solid var(--border);font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);background:rgba(255,255,255,0.015);}
.fp-b{padding:1.1rem;display:flex;flex-direction:column;gap:0.55rem;}
.fp-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.6rem 0.78rem;border:1px solid var(--border);border-radius:5px;background:var(--bg-2);font-size:0.85rem;color:var(--text-2);}
.fp-row .k{min-width:0;}
.fp-s{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:0.35rem;white-space:nowrap;}
.fp-s .d{width:6px;height:6px;border-radius:50%;flex:0 0 auto;}
.fp-s.ok{color:var(--good);}.fp-s.ok .d{background:var(--good);}
.fp-s.warn{color:#f6a04a;}.fp-s.warn .d{background:#f6a04a;}
.fp-s.bad{color:var(--crit);}.fp-s.bad .d{background:var(--crit);}
.fp-s.teal{color:var(--acc-hi);}.fp-s.teal .d{background:var(--acc);}
.fp-pill{font-family:var(--font-m);font-size:0.54rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.2rem 0.5rem;border-radius:999px;border:1px solid var(--border-2);color:var(--text-3);white-space:nowrap;}
.fp-pill.t1{color:var(--crit);border-color:rgba(240,101,75,0.4);}
.fp-pill.t2{color:#f6a04a;border-color:rgba(246,160,74,0.4);}
.fp-pill.t3{color:var(--acc-hi);border-color:rgba(13,148,136,0.4);}
.fp-big{display:flex;align-items:flex-end;gap:1rem;}
.fp-score{font-family:var(--font-d);font-size:2.7rem;font-weight:700;color:var(--acc-hi);letter-spacing:-0.03em;line-height:0.78;}
.fp-bars{display:flex;flex-direction:column;gap:0.5rem;flex:1;}
.fp-bar2{display:flex;align-items:center;gap:0.7rem;font-size:0.72rem;color:var(--text-3);}
.fp-bar2 span:first-child{width:8.5ch;flex:0 0 auto;}
.fp-bar2 .tr{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,0.08);overflow:hidden;}
.fp-bar2 .tr i{display:block;height:100%;background:var(--acc);}
.fp-prog{height:6px;border-radius:3px;background:rgba(255,255,255,0.08);overflow:hidden;margin:0.2rem 0 0.3rem;}
.fp-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),var(--acc-hi));}

/* ===== Section kicker + real screenshot frames ===== */
.kick{display:flex;align-items:center;gap:0.7rem;font-family:var(--font-m);font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-4);margin-bottom:1.1rem;}
.kick b{color:var(--acc-hi);font-weight:500;}
.kick .ln{flex:0 0 24px;height:1px;background:var(--acc);opacity:0.55;}
.shot{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--border-2);background:var(--bg-2);box-shadow:0 2px 4px rgba(0,0,0,.4),0 30px 70px -28px rgba(13,148,136,0.16),0 44px 90px -40px rgba(0,0,0,0.75);}
.shot img{width:100%;display:block;}
.shot .win-dim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,5,5,0) 58%,rgba(5,5,5,0.34));}

/* ===== Live SOC 2 extraction ===== */
.exwrap{margin-top:3rem;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border-2);border-radius:5px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 44px 92px -42px rgba(0,0,0,0.82);}
@media(max-width:900px){.exwrap{grid-template-columns:1fr;}}
.ex-col{background:var(--bg-2);min-width:0;display:flex;flex-direction:column;}
.ex-head{display:flex;align-items:center;gap:0.8rem;padding:1rem 1.2rem;border-bottom:1px solid var(--border);background:rgba(255,255,255,0.015);}
.ex-fileico{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.08em;color:var(--crit);border:1px solid rgba(240,101,75,0.4);border-radius:5px;padding:0.3rem 0.42rem;background:rgba(240,101,75,0.08);flex:0 0 auto;}
.ex-fmeta{min-width:0;flex:1;}
.ex-fname{font-family:var(--font-d);font-weight:600;font-size:0.9rem;letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ex-fsub{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);margin-top:0.2rem;}
.ex-run{flex:0 0 auto;display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-d);font-size:0.78rem;font-weight:700;color:#04201d;background:var(--acc);border:0;border-radius:5px;padding:0.55rem 0.9rem;cursor:pointer;transition:background .2s,opacity .2s;}
.ex-run:hover{background:var(--acc-hi);}
.ex-run:disabled{opacity:0.65;cursor:default;}
.ex-run-spin{width:13px;height:13px;border-radius:50%;border:2px solid rgba(4,32,29,0.35);border-top-color:#04201d;display:none;}
.is-analyzing .ex-run-spin{display:inline-block;animation:exspin .7s linear infinite;}
@keyframes exspin{to{transform:rotate(360deg);}}
.ex-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:1.1rem;}
.ex-doc{position:relative;border:1px solid var(--border);border-radius:6px;background:linear-gradient(180deg,#0c0d0d,#0a0b0b);padding:1rem 1.1rem;overflow:hidden;}
.ex-scanline{position:absolute;left:0;right:0;top:0;height:44px;background:linear-gradient(180deg,rgba(45,212,191,0),rgba(45,212,191,0.22),rgba(45,212,191,0));opacity:0;pointer-events:none;}
.is-analyzing .ex-scanline{opacity:1;animation:exscan 1.7s var(--ease);}
@keyframes exscan{0%{transform:translateY(-44px);}100%{transform:translateY(240px);}}
.ex-page{display:flex;flex-direction:column;gap:0.5rem;}
.ex-ln{height:7px;border-radius:4px;background:rgba(255,255,255,0.07);}
.ex-ln.w90{width:90%}.ex-ln.w85{width:85%}.ex-ln.w80{width:80%}.ex-ln.w75{width:75%}.ex-ln.w70{width:70%}.ex-ln.w60{width:60%}.ex-ln.w55{width:55%}.ex-ln.w50{width:50%}.ex-ln.w40{width:40%}
.ex-ctrls-h{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.6rem;display:flex;justify-content:space-between;}
.ex-ctrls-h b{color:var(--acc-hi);font-weight:500;}
.ex-ctrl{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;padding:0.5rem 0.7rem;border:1px solid var(--border);border-radius:5px;background:var(--bg);font-size:0.82rem;color:var(--text-2);margin-bottom:0.4rem;opacity:0;transform:translateY(6px);}
.is-done .ex-ctrl{opacity:1;transform:none;transition:opacity .4s var(--ease),transform .4s var(--ease);}
.ex-ctrl .cc{font-family:var(--font-m);color:var(--acc-hi);font-size:0.7rem;margin-right:0.55rem;}
.ex-cs{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:0.35rem;white-space:nowrap;}
.ex-cs .d{width:6px;height:6px;border-radius:50%;}
.ex-cs.ok{color:var(--good);}.ex-cs.ok .d{background:var(--good);}
.ex-cs.warn{color:#f6a04a;}.ex-cs.warn .d{background:#f6a04a;}
.ex-cs.bad{color:var(--crit);}.ex-cs.bad .d{background:var(--crit);}
.ex-right{position:relative;}
.ex-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.1rem;padding:3rem 2rem;min-height:100%;color:var(--text-3);}
.ex-empty .beacon{width:46px;color:var(--acc-hi);filter:drop-shadow(0 0 20px rgba(13,148,136,0.45));}
.ex-empty p{font-size:0.92rem;line-height:1.6;max-width:30ch;}
.ex-empty b{color:#fff;}
.is-done .ex-empty,.is-analyzing .ex-empty{display:none;}
.ex-result{display:none;padding:1.1rem 1.2rem 1.3rem;flex-direction:column;gap:1.05rem;}
.is-done .ex-result{display:flex;}
.ex-rhead{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--acc-hi);}
.ex-rhead .compass{width:15px;height:15px;}
.ex-sum{font-size:0.92rem;line-height:1.6;color:var(--text-2);border-left:2px solid var(--acc);padding-left:0.9rem;}
.ex-bh{font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.65rem;display:flex;align-items:center;gap:0.5rem;}
.ex-bn{color:var(--acc-hi);border:1px solid rgba(13,148,136,0.4);border-radius:999px;padding:0.1rem 0.45rem;}
.ex-chips{display:flex;flex-wrap:wrap;gap:0.5rem;}
.ex-chip{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-b);font-size:0.8rem;color:var(--text-2);border:1px solid var(--border-2);border-radius:999px;padding:0.4rem 0.7rem 0.4rem 0.85rem;background:var(--bg-2);cursor:pointer;transition:border-color .2s,background .2s,color .2s;}
.ex-chip .cat{font-family:var(--font-m);font-size:0.52rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);}
.ex-chip .pl{font-family:var(--font-d);font-weight:700;color:var(--acc-hi);width:0.9em;text-align:center;}
.ex-chip:hover{border-color:var(--acc);}
.ex-chip.added{border-color:rgba(13,148,136,0.5);background:var(--tealdim);color:#fff;}
.ex-chip.added .pl{color:var(--good);}
.ex-conns{display:flex;flex-direction:column;gap:0.5rem;}
.ex-conn{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;padding:0.55rem 0.6rem 0.55rem 0.78rem;border:1px solid var(--border);border-radius:5px;background:var(--bg);font-size:0.82rem;}
.ex-conn .path{display:flex;align-items:center;gap:0.5rem;color:var(--text-2);min-width:0;}
.ex-conn .path b{font-weight:600;}
.ex-conn .ar{color:var(--acc-hi);}
.ex-conn-r{display:flex;align-items:center;gap:0.6rem;flex:0 0 auto;}
.ex-conn .ty{font-family:var(--font-m);font-size:0.52rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);border:1px solid var(--border-2);border-radius:4px;padding:0.12rem 0.4rem;}
.ex-addbtn{font-family:var(--font-d);font-size:0.7rem;font-weight:700;color:var(--acc-hi);background:transparent;border:1px solid rgba(13,148,136,0.4);border-radius:6px;padding:0.32rem 0.62rem;cursor:pointer;transition:background .2s;white-space:nowrap;}
.ex-addbtn:hover{background:var(--tealdim);}
.ex-conn.added{border-color:rgba(13,148,136,0.45);background:var(--tealdim);}
.ex-conn.added .ex-addbtn{color:var(--good);border-color:rgba(62,201,138,0.4);}
.ex-find{border:1px solid var(--border);border-radius:5px;background:var(--bg);padding:0.8rem 0.9rem;margin-bottom:0.5rem;}
.ex-find:last-child{margin-bottom:0;}
.ex-find-top{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.45rem;}
.ex-sev{font-family:var(--font-m);font-size:0.52rem;letter-spacing:0.06em;text-transform:uppercase;color:#f6a04a;border:1px solid rgba(246,160,74,0.4);border-radius:4px;padding:0.12rem 0.4rem;}
.ex-find-cat{font-family:var(--font-m);font-size:0.52rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);}
.ex-find b{font-family:var(--font-d);font-size:0.9rem;font-weight:600;letter-spacing:-0.01em;}
.ex-find p{font-size:0.8rem;color:var(--text-3);line-height:1.5;margin-top:0.3rem;}
.ex-find-act{margin-top:0.65rem;}
.ex-cbtn{font-family:var(--font-d);font-size:0.72rem;font-weight:700;color:#04201d;background:var(--acc);border:0;border-radius:6px;padding:0.42rem 0.72rem;cursor:pointer;transition:background .2s;}
.ex-cbtn:hover{background:var(--acc-hi);}
.ex-cbtn.done{background:transparent;color:var(--good);border:1px solid rgba(62,201,138,0.4);cursor:default;}
.ex-foot{display:flex;align-items:center;justify-content:space-between;padding-top:0.85rem;border-top:1px solid var(--border);font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-4);}
.ex-reset{font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);background:transparent;border:1px solid var(--border-2);border-radius:6px;padding:0.35rem 0.7rem;cursor:pointer;transition:border-color .2s,color .2s;}
.ex-reset:hover{border-color:var(--acc);color:#fff;}
.ex-reveal{opacity:0;transform:translateY(10px);}
.is-done .ex-reveal{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease);}
.is-done .ex-reveal:nth-child(2){transition-delay:.05s;}
.is-done .ex-reveal:nth-child(3){transition-delay:.18s;}
.is-done .ex-reveal:nth-child(4){transition-delay:.3s;}
.is-done .ex-reveal:nth-child(5){transition-delay:.42s;}
.is-done .ex-reveal:nth-child(6){transition-delay:.54s;}
@media(prefers-reduced-motion:reduce){.ex-reveal,.ex-ctrl{opacity:1!important;transform:none!important;}.ex-scanline{display:none;}}
.hw-bar .win-dot{width:9px;height:9px;border-radius:50%;}

/* ===== Hudson breach investigation ===== */
.hz{margin-top:3rem;border:1px solid rgba(139,109,240,0.28);border-radius:5px;background:linear-gradient(170deg,#0d0a16,#0a0a0d);overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.4),0 44px 100px -44px rgba(139,109,240,0.4);}
.hz-bar{display:flex;align-items:center;gap:0.9rem;padding:0.9rem 1.2rem;border-bottom:1px solid var(--border);background:rgba(139,109,240,0.05);flex-wrap:wrap;}
.hz-rec{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-m);font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:#ff7a6a;}
.hz-rec .d{width:8px;height:8px;border-radius:50%;background:#ff5a48;}
@media(prefers-reduced-motion:no-preference){.hz-rec .d{animation:hpPulse 1.6s ease-out infinite;}}
.hz-alert{font-family:var(--font-m);font-size:0.66rem;color:var(--text-3);letter-spacing:0.02em;}
.hz-mon{margin-left:auto;font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:#b89bff;}
.hz-thread{padding:1.4rem 1.4rem 0.4rem;display:flex;flex-direction:column;gap:1.1rem;}
.hz-msg{display:flex;flex-direction:column;gap:0.4rem;max-width:92%;}
.hz-msg.you{align-self:flex-end;align-items:flex-end;}
.hz-msg.hud{align-self:flex-start;max-width:100%;}
.hz-msg .who{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);}
.hz-msg .who.hud{color:#b89bff;}
.hz-msg .bub{font-size:0.92rem;line-height:1.55;color:var(--text-2);background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:7px 3px 7px 7px;padding:0.7rem 0.95rem;}
.hz-msg.hud .bub{border-radius:3px 7px 7px 7px;background:rgba(139,109,240,0.06);border-color:rgba(139,109,240,0.2);}
.hz-typing{display:none;align-self:flex-start;gap:5px;padding:0.75rem 0.95rem;border:1px solid rgba(139,109,240,0.2);background:rgba(139,109,240,0.06);border-radius:3px 7px 7px 7px;}
.hz-typing.on{display:flex;}
.hz-typing span{width:7px;height:7px;border-radius:50%;background:#b89bff;opacity:0.5;}
@media(prefers-reduced-motion:no-preference){.hz-typing span{animation:hzdot 1s infinite;}.hz-typing span:nth-child(2){animation-delay:.18s;}.hz-typing span:nth-child(3){animation-delay:.36s;}}
@keyframes hzdot{0%,100%{opacity:0.35;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}
.hz-find-h{font-family:var(--font-m);font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);margin-bottom:0.6rem;}
.hz-finds{list-style:none;display:flex;flex-direction:column;gap:0.55rem;margin:0 0 0.9rem;padding:0;}
.hz-finds li{display:grid;grid-template-columns:auto 1fr;gap:0.6rem;align-items:start;font-size:0.86rem;color:var(--text-2);line-height:1.5;opacity:0;transform:translateY(6px);}
.hz-finds li .dot{width:6px;height:6px;border-radius:50%;background:#8b6df0;margin-top:0.5rem;}
.hz-finds li.crit .dot{background:var(--crit);}
.hz-finds li b{color:#fff;font-weight:600;}
.is-revealed .hz-finds li{opacity:1;transform:none;transition:opacity .4s var(--ease),transform .4s var(--ease);}
.is-revealed .hz-finds li:nth-child(2){transition-delay:.1s;}.is-revealed .hz-finds li:nth-child(3){transition-delay:.2s;}.is-revealed .hz-finds li:nth-child(4){transition-delay:.3s;}
.hz-rec-txt{font-size:0.9rem;line-height:1.55;color:var(--text-2);margin-bottom:0.85rem;}
.hz-actions{display:flex;flex-direction:column;gap:0.5rem;}
.hz-act{display:flex;align-items:center;justify-content:space-between;gap:0.9rem;padding:0.6rem 0.7rem 0.6rem 0.85rem;border:1px solid var(--border-2);border-radius:5px;background:var(--bg-2);font-size:0.86rem;color:var(--text-2);transition:border-color .2s,background .2s;}
.hz-act .lab b{color:#fff;font-weight:600;}
.hz-act .lab .tag{font-family:var(--font-m);font-size:0.5rem;letter-spacing:0.06em;text-transform:uppercase;color:#ff7a6a;border:1px solid rgba(255,90,72,0.4);border-radius:4px;padding:0.1rem 0.36rem;margin-right:0.5rem;}
.hz-do{font-family:var(--font-d);font-size:0.72rem;font-weight:700;color:#0a0a0a;background:#b89bff;border:0;border-radius:6px;padding:0.4rem 0.72rem;cursor:pointer;transition:background .2s;white-space:nowrap;flex:0 0 auto;}
.hz-do:hover{background:#cdb8ff;}
.hz-act.done{border-color:rgba(62,201,138,0.4);background:rgba(62,201,138,0.06);}
.hz-act.done .hz-do{background:transparent;color:var(--good);border:1px solid rgba(62,201,138,0.4);cursor:default;}
.hz-resolved{display:none;align-items:center;gap:0.5rem;margin-top:0.9rem;padding:0.7rem 0.9rem;border:1px solid rgba(62,201,138,0.4);border-radius:5px;background:rgba(62,201,138,0.07);color:var(--good);font-size:0.86rem;font-weight:600;}
.hz-resolved.on{display:flex;}
.hz-srcs{margin-top:0.9rem;font-family:var(--font-m);font-size:0.58rem;letter-spacing:0.04em;color:var(--text-4);display:flex;align-items:center;gap:0.45rem;}
.hz-foot{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.4rem 1.4rem;flex-wrap:wrap;}
.hz-run{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-d);font-size:0.82rem;font-weight:700;color:#0a0a0a;background:#b89bff;border:0;border-radius:5px;padding:0.6rem 1rem;cursor:pointer;transition:background .2s;}
.hz-run:hover{background:#cdb8ff;}
.hz-run:disabled{opacity:0.6;cursor:default;}
.hz-prog{font-family:var(--font-m);font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-4);}
.hz-reveal{opacity:0;}
.is-revealed .hz-reveal{opacity:1;transition:opacity .5s var(--ease) .15s;}
@media(prefers-reduced-motion:reduce){.hz-finds li,.hz-reveal{opacity:1!important;transform:none!important;}}

/* ============ MOBILE NAV (copied from anvil.css) ============ */
.nav-toggle { display: none; }
.nav-mobile { display: none; }
@media (max-width: 920px) {
  .nav-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 34px; padding: 0; margin-left: 0.2rem;
    border: 1px solid var(--border-2); border-radius: 8px;
    background: rgba(255,255,255,0.03); color: var(--text); cursor: pointer;
    transition: border-color .2s;
  }
  .nav-toggle:hover { border-color: var(--acc); }
  .nav-toggle .bar { display: block; width: 16px; height: 1.5px; background: currentColor; transition: transform .2s var(--ease), opacity .2s; }
  .nav-toggle .bar + .bar { margin-top: 4px; }
  .nav-toggle.open .bar:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
  .nav-toggle.open .bar:nth-child(2) { opacity: 0; }
  .nav-toggle.open .bar:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
  .nav-mobile.open {
    display: block; position: absolute; left: 0; right: 0; top: 100%;
    background: rgba(5,5,5,0.97); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
  }
  .nav-mobile .container { display: flex; flex-direction: column; padding-top: 0.4rem; padding-bottom: 1rem; }
  .nav-mobile a { font-family: var(--font-d); font-size: 0.95rem; color: var(--text-2); padding: 0.8rem 0; border-top: 1px solid var(--border); transition: color .2s; }
  .nav-mobile a:first-child { border-top: 0; }
  .nav-mobile a.active, .nav-mobile a:hover { color: #fff; }
}
@media (prefers-reduced-motion: reduce) { .nav-toggle .bar { transition: none; } }

/* ============================================================
   DESIGN SYSTEM v2 — Linear refresh
   Appended last so it overrides the foundation above. Re-skins
   the shared chrome to match the Scout homepage redesign:
   pure black, quiet hairlines, NO background grids or glow
   blobs, top-lit gradient card edges, squared 7px corners.
   Only touches shared classes + adds a brand-new ::after the
   pages never define, so every page inherits it cleanly.
   ============================================================ */

/* — 1 · kill the AI-slop tropes: background grid + heavy glows — */
.hero-grid-bg{display:none !important;}
.hero-glow,.cta-glow{opacity:0.42;}
.scout-glow{background:radial-gradient(ellipse 52% 48% at 50% 38%,rgba(13,148,136,0.10),rgba(13,148,136,0.03) 44%,transparent 70%) !important;}
.hudson-glow{opacity:0.55;}
.sc-glow,.hb-glow{opacity:0.5;}
/* the doubled film-grain overlay reads as noise on pure black — quiet it */
body::before{opacity:0.025 !important;}

/* — 2 · squared corners (6–8px) on the shared containers — */
.nav-login,.btn,.btn-primary,.btn-ghost,
.scorecard,.stats,.stat,.win,.frow-vis .win,.hw-stage,.tile,.mosaic .tile,
.ai-card,.hpanel,.map,.wlwrap,.node,.shot,.exwrap,.hz,.hb,.wcard,.prob,
.lbx-card,.lbx-close,.hf-ic,.hp-suggest,.hp-apply,.sc-ico{
  border-radius:7px;
}

/* — 3 · Linear top-lit gradient edge on the card surfaces —
   a 1px hairline that's bright at the top and fades down, the
   signature elevation cue from the redesign. ::after is unique
   to this file, so page-inline cards pick it up too. */
.scorecard,.stats,.win,.hw-stage,.tile,.ai-card,.hpanel,.map,.wlwrap,
.shot,.exwrap,.hb,.wcard,.prob,.ops,.cmp,.vframe{
  position:relative;
}
.scorecard::after,.stats::after,.win::after,.hw-stage::after,.tile::after,
.ai-card::after,.hpanel::after,.map::after,.wlwrap::after,.shot::after,
.exwrap::after,.hb::after,.wcard::after,.prob::after,.ops::after,
.cmp::after,.vframe::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;
  padding:1px;
  background:linear-gradient(180deg,rgba(255,255,255,0.16),rgba(255,255,255,0.05) 36%,rgba(255,255,255,0.02) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
}
/* tiles lift on hover — brighten the edge to match */
.tile:hover::after,.wcard:hover::after,.prob:hover::after{
  background:linear-gradient(180deg,rgba(255,255,255,0.24),rgba(255,255,255,0.07) 36%,rgba(255,255,255,0.03) 100%);
}

/* — 4 · quieter, more neutral card surfaces (drop the colored
   shadow halos the old system layered under every panel) — */
.scorecard,.hw-stage,.shot,.frow-vis .win,.exwrap,.wlwrap,.map{
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 2px 6px rgba(0,0,0,0.5),0 50px 100px -52px rgba(0,0,0,0.95);
}
.win{
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 2px 6px rgba(0,0,0,0.5),0 60px 120px -50px rgba(0,0,0,0.95);
}

/* — 5 · button polish to match the redesign (teal-hi primary) — */
.btn-primary{background:var(--acc-hi);color:#03201c;}
.btn-primary:hover{background:#5fe3cf;}

/* — 6 · brighter section hairlines read cleaner on pure black — */
.sec{border-top-color:var(--border);}
