/* ==========================================================================
   BI Adlytics — v2 design system (light-first)
   Loaded after styles.css and switched on by <body class="v2">, so pages
   without the class are untouched. Layout: white canvas, cool-grey bands
   alternating between sections, two deep-navy bands for contrast, crisp
   1px borders, screenshots framed as app windows.
   ========================================================================== */
body.v2{
  --bg:#ffffff; --bg2:#f4f6fa; --card:#ffffff; --line:#e3e7ef; --line2:#d2d8e4;
  --txt:#0d1124; --mut:#474e66; --dim:#6b7290;
  --acc:#2c4ef0; --acc2:#5b3df0; --acc-ink:#1e37c2; --acc-soft:#eef1ff;
  --ok:#0a8a5f; --warn:#a35d06; --gold:#a35d06; --err:#cf3a46;
  --ink:#0b1020;
  --f-display:'Bricolage Grotesque','Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --f-body:'Onest',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --shadow-sm:0 1px 2px rgba(13,17,36,.06),0 1px 1px rgba(13,17,36,.04);
  --shadow-lg:0 1px 2px rgba(13,17,36,.06),0 24px 48px -24px rgba(13,17,36,.22);
  background:var(--bg);color:var(--txt);
  font:16px/1.6 var(--f-body);font-feature-settings:"ss01";
  -webkit-font-smoothing:antialiased
}
body.v2 ::selection{background:rgba(44,78,240,.16);color:var(--txt)}

/* type */
body.v2 h1,body.v2 h2,body.v2 h3,body.v2 h4{font-family:var(--f-display);font-weight:700;letter-spacing:-.025em;color:inherit;text-wrap:balance}
body.v2 h1{font-size:clamp(40px,5.2vw,62px);line-height:1.04;letter-spacing:-.022em}
body.v2 h2{font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-.018em}
body.v2 h3{font-size:20px;line-height:1.25;letter-spacing:-.015em}
body.v2 p{color:var(--mut);font-weight:400}
body.v2 .eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--acc)}
body.v2 .hl{color:var(--acc)}
body.v2 .gold{color:var(--gold)}

/* buttons: one solid accent, no gradient or shimmer */
body.v2 .btn{border-radius:10px;font-weight:600;letter-spacing:-.005em}
body.v2 .btn-p{background:var(--acc);color:#fff;border-color:var(--acc-ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 2px rgba(13,17,36,.18),0 8px 18px -10px rgba(44,78,240,.6)}
body.v2 .btn-p::before{display:none}
body.v2 .btn-p:hover{background:var(--acc-ink);filter:none;transform:translateY(-1px)}
body.v2 .btn-g{background:#fff;color:var(--txt);border-color:var(--line2);box-shadow:var(--shadow-sm)}
body.v2 .btn-g:hover{border-color:var(--acc);color:var(--acc)}

/* nav — keeps the narrow floating pill, now crisp white */
body.v2 header nav{background:rgba(255,255,255,.88);border-color:var(--line2);box-shadow:0 1px 2px rgba(13,17,36,.05),0 12px 28px -14px rgba(13,17,36,.22);font-family:var(--f-body)}
body.v2 header nav .navlinks{color:#2f3550;font-weight:600}
body.v2 header nav .logo{font-family:var(--f-display);letter-spacing:-.02em}
body.v2 .logo i{box-shadow:none}
body.v2 header nav .dd-panel{background:#fff;border-color:var(--line2)}
body.v2 header nav .dd-panel a:hover{background:var(--bg2);color:var(--acc)}
body.v2 #scrollbar{height:2px;background:var(--acc);box-shadow:none}

/* sections and bands */
body.v2 section{border-top:0;padding:104px 0;background:#fff}
body.v2 section.s-band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.v2 .mod-ads,body.v2 .mod-reports,body.v2 .mod-fix,body.v2 .mod-archive,body.v2 .mod-bento,body.v2 .prob{background:#fff}
body.v2 .prob.s-band,body.v2 .mod-fix.s-band,body.v2 .mod-reports.s-band,body.v2 .mod-bento.s-band,body.v2 .mod-archive.s-band{background:var(--bg2)}
body.v2 .shead{margin-bottom:56px}
body.v2 .shead p{font-size:18px}

/* deep-navy contrast band: re-tokened so every component inside adapts */
body.v2 .s-ink,body.v2 .bigcta{
  --txt:#f3f5fc; --mut:#b3bad0; --dim:#8c94ad; --line:#252d47; --line2:#2f3854;
  --card:#121a33; --bg2:#121a33; --acc:#7d95ff; --acc-ink:#5f7bff; --ok:#3ddc9f; --gold:#f3b552;
  background:var(--ink);color:var(--txt)
}
body.v2 section.s-ink{border-top:0}
body.v2 .s-ink .memory-vis{box-shadow:none}
body.v2 .s-ink .btn-p,body.v2 .bigcta .btn-p{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
body.v2 .s-ink .btn-p:hover,body.v2 .bigcta .btn-p:hover{background:#e8ecff}
body.v2 .s-ink .btn-g,body.v2 .bigcta .btn-g{background:transparent;color:#fff;border-color:rgba(255,255,255,.28);box-shadow:none}
body.v2 .s-ink .btn-g:hover,body.v2 .bigcta .btn-g:hover{border-color:#fff;color:#fff}

/* hero copy stays left-aligned (older centring rules were winning) */
body.v2 .hero-copy p.sub{margin:22px 0 32px}
body.v2 .hero-copy .cta{justify-content:flex-start}

/* nav buttons stay plain text, as agreed */
body.v2 header nav .btn-g,body.v2 header nav .btn-p{background:none;border:none;box-shadow:none}
body.v2 header nav .btn-g{color:var(--txt)}
body.v2 header nav .btn-p{color:var(--acc)}
body.v2 header nav .btn-p:hover{background:none;color:var(--acc-ink);transform:none}

/* hero */
body.v2 .hero{background:#fff;padding:72px 0 88px;border-bottom:1px solid var(--line)}
body.v2 .hero::before{top:-120px;left:auto;right:-160px;transform:none;width:820px;height:640px;background:radial-gradient(ellipse at center,rgba(44,78,240,.13),rgba(91,61,240,.06) 45%,transparent 70%);animation:none}
body.v2 .hero::after{background-image:radial-gradient(rgba(13,17,36,.13) 1px,transparent 1.3px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 85%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 45%,transparent 85%)}
body.v2 .hero .spotlight{display:none}
body.v2 .hero h1{color:var(--txt)}
body.v2 .hero p.sub{color:var(--mut);font-size:19px;line-height:1.55;max-width:500px}
body.v2 .hero .pill{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--acc);background:var(--acc-soft);border-color:rgba(44,78,240,.22);padding:6px 13px}
body.v2 .hero .pill .dot{background:var(--acc);box-shadow:0 0 0 3px rgba(44,78,240,.15)}
body.v2 .hero .note{font-family:var(--f-mono);font-size:12px;color:var(--dim);letter-spacing:.01em}
body.v2 .hero .btn-g{background:#fff;border-color:var(--line2);color:var(--txt)}

/* product windows: solid borders, light chrome */
body.v2 .mock,body.v2 .fvis,body.v2 .hero .mock,body.v2 .hero .fvis{background:#fff;border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow-lg)}
body.v2 .fvis:hover{box-shadow:0 1px 2px rgba(13,17,36,.06),0 30px 60px -26px rgba(44,78,240,.28)}
body.v2 .fvis.shot .bar,body.v2 .mock .bar{background:#f7f8fb;border-bottom:1px solid var(--line)}
body.v2 .fvis.shot .bar b,body.v2 .mock .bar b{font-family:var(--f-mono);font-size:11px;color:var(--dim)}
body.v2 .fvis.shot .bar b.live,body.v2 .mock .bar b.live{color:var(--ok)}
body.v2 .fv-frame img{border-radius:0}
body.v2 .fv-frame::before{display:none}
body.v2 .tilt-shadow,body.v2 .hero .tilt-shadow{background:#fff;border:1px solid var(--line2);opacity:.9}
body.v2 .tilt-shadow.s2{opacity:.6}
body.v2 .fv-pin{background:#fff;color:var(--txt);border:1px solid var(--line2);box-shadow:0 8px 20px -10px rgba(13,17,36,.35);font-family:var(--f-body);font-weight:600}
body.v2 .fv-pin::before{background:var(--acc);box-shadow:none}
body.v2 .fv-pin.ok::before{background:var(--ok)}
body.v2 .hero-badge{background:#fff;border:1px solid var(--line2);box-shadow:0 1px 2px rgba(13,17,36,.06),0 22px 40px -18px rgba(13,17,36,.35)}
body.v2 .hero-badge li{color:var(--txt);font-weight:600}
body.v2 .hero-badge li::before{background:var(--ok);box-shadow:0 0 0 3px rgba(10,138,95,.14)}
body.v2 .tilt-stage .demo-hint{background:var(--ink)}

/* proof strip */
body.v2 .statrow{margin-top:64px;max-width:none;background:var(--line);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow-sm)}
body.v2 .statrow .stat{background:#fff;padding:24px 18px;text-align:left}
body.v2 .statrow .stat b{font-family:var(--f-display);font-size:clamp(24px,2.6vw,32px);font-weight:700;letter-spacing:-.03em;background:none;-webkit-text-fill-color:currentColor;color:var(--txt)}
body.v2 .statrow .stat>span{font-size:13px;color:var(--dim);font-weight:500;margin-top:6px}

/* problem cards */
body.v2 .probgrid.four{gap:16px;max-width:1040px}
body.v2 .prob-i{background:#fff;border:1px solid var(--line2);border-left:3px solid var(--err);border-radius:12px;padding:24px 26px;box-shadow:var(--shadow-sm)}
body.v2 .prob-i b{font-family:var(--f-display);font-size:19px;letter-spacing:-.015em;margin-bottom:8px}
body.v2 .prob-i p{font-size:15px}

/* bento: label sits on a white bar, no dark scrim over light screenshots */
body.v2 .bento-tile{border:1px solid var(--line2);background:#fff;box-shadow:var(--shadow-sm)}
body.v2 .bento-tile:hover{border-color:rgba(44,78,240,.45);box-shadow:0 1px 2px rgba(13,17,36,.06),0 22px 40px -22px rgba(44,78,240,.4)}
body.v2 .bento-tile::before{display:none}
body.v2 .bento-tile img{opacity:1}
body.v2 .bento-tile .bento-label{left:0;right:0;bottom:0;padding:11px 16px;background:rgba(255,255,255,.96);border-top:1px solid var(--line)}
body.v2 .bento-tile .bento-label b{color:var(--txt);font-family:var(--f-display);font-size:15px}
body.v2 .bento-tile .bento-label span{color:var(--dim);font-size:12.5px}
body.v2 .bento-big .bento-label b{font-size:18px}

/* two-column feature panels */
body.v2 .memory{gap:64px}
body.v2 .memory-vis{background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow-lg)}
body.v2 .mrow{border-bottom-color:var(--line)}
body.v2 .mrow b{color:var(--mut)}
body.v2 .mbar{background:#e9edf4}
body.v2 .s-ink .mbar{background:#1e2742}
body.v2 .mbar i.us{background:var(--acc)}
body.v2 .mrow u{color:var(--ok)}

/* feature rows */
body.v2 .frow{padding:0}
body.v2 .fcopy .badge{font-family:var(--f-mono);font-weight:500;font-size:12px;letter-spacing:.06em;color:var(--acc)}
body.v2 .fcopy h3{font-size:clamp(26px,2.8vw,34px);line-height:1.1;letter-spacing:-.025em}
body.v2 .fcopy p{font-size:16.5px}
body.v2 .fcopy li{color:var(--txt);font-size:15px}
body.v2 .fcopy li::before{background:var(--acc)}

/* cards */
body.v2 .card{background:#fff;border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow-sm)}
body.v2 .card::before{background:var(--acc);height:2px}
body.v2 .card:hover{border-color:rgba(44,78,240,.4);box-shadow:0 1px 2px rgba(13,17,36,.06),0 20px 36px -22px rgba(44,78,240,.4)}
body.v2 .card .kicker{font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.06em}
body.v2 .card h3{font-size:21px}
body.v2 .card p{font-size:15px}

/* comparison table */
body.v2 .tbl-wrap{background:#fff;border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow-sm)}
body.v2 .cmp th{background:#f7f8fb;font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.05em;color:var(--dim)}
body.v2 .cmp th.us{color:var(--acc);background:var(--acc-soft)}
body.v2 .cmp td{color:var(--mut)}
body.v2 .cmp td:first-child{color:var(--txt)}
body.v2 .cmp td.us{background:var(--acc-soft);color:var(--acc-ink)}
body.v2 .cmp .yes{color:var(--ok)}
body.v2 .cmp td.us.yes{color:var(--ok)}
body.v2 .cmp .no{color:#9aa1b6}
body.v2 .cmp .part{color:var(--warn)}

/* sample report message */
body.v2 .msg-head{font-family:var(--f-mono);font-weight:500;letter-spacing:.06em}
body.v2 .msg-bubble .msg-row span:last-child{font-family:var(--f-mono);font-weight:500}

/* closing CTA: full-width deep-navy panel */
body.v2 .bigcta{border:0;border-radius:24px;padding:84px 32px;max-width:1180px;margin:0 auto;background-image:radial-gradient(600px 300px at 80% 0%,rgba(125,149,255,.22),transparent 70%),radial-gradient(500px 260px at 10% 100%,rgba(91,61,240,.18),transparent 70%)}
body.v2 .bigcta h2{color:#fff;font-size:clamp(32px,4vw,48px)}
body.v2 .bigcta p{color:var(--mut)}

/* footer */
body.v2 footer{background:var(--bg2);border-top:1px solid var(--line);color:var(--dim)}
body.v2 .fcols h4{font-family:var(--f-mono);font-weight:500;color:var(--dim);letter-spacing:.06em}
body.v2 .fcols a,body.v2 .fcontact a{color:var(--mut)}
body.v2 .fcols a:hover{color:var(--acc)}
body.v2 footer .logo{font-family:var(--f-display);color:var(--txt)}
body.v2 .fbottom{border-top-color:var(--line)}

@media(max-width:900px){
  body.v2 section{padding:72px 0}
  body.v2 .hero{padding:48px 0 64px}
  body.v2 .memory{gap:36px}
  body.v2 .statrow .stat{text-align:center}
}

/* ==========================================================================
   Reading pages (blog posts, legal pages): long-form .prose
   ========================================================================== */
body.v2 .prose{max-width:720px;font-size:18px;line-height:1.75;color:#2f3550}
body.v2 .prose h1{font-size:clamp(34px,4.4vw,50px);line-height:1.08;color:var(--txt);margin:10px 0 14px}
body.v2 .prose h2{font-size:clamp(26px,2.8vw,32px);line-height:1.15;color:var(--txt);margin:52px 0 16px}
body.v2 .prose h2::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--acc);margin-top:14px}
body.v2 .prose h3{font-size:21px;color:var(--txt);margin:34px 0 10px}
body.v2 .prose p{color:#2f3550;margin:0 0 20px}
body.v2 .prose li{margin:0 0 10px}
body.v2 .prose li::marker{color:var(--acc)}
body.v2 .prose a:not(.btn){color:var(--acc);text-decoration-thickness:1px;text-underline-offset:3px}
body.v2 .prose .btn{text-decoration:none}
body.v2 .prose .btn-p{color:#fff}
body.v2 .prose blockquote{background:var(--acc-soft);border-left:3px solid var(--acc);border-radius:0 12px 12px 0;padding:14px 20px;font:500 16px/1.6 var(--f-mono);color:var(--txt);margin:0 0 22px}
body.v2 .prose table{font-size:15px;border:1px solid var(--line2);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;display:block;overflow-x:auto}
body.v2 .prose th,body.v2 .prose td{border:none;border-bottom:1px solid var(--line);padding:12px 16px}
body.v2 .prose tr:last-child td{border-bottom:none}
body.v2 .prose th{background:var(--bg2);font:600 11px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
body.v2 .post{border-color:var(--line2);border-radius:16px;box-shadow:var(--shadow-sm)}
body.v2 .post:hover{border-color:var(--acc);box-shadow:var(--shadow-lg)}
body.v2 .post h3{color:var(--txt)}
@media (max-width:760px){body.v2 .prose{font-size:17px}}
