/* ACCOUNTability! blog — styles tightened to match the CDB report design */
:root{
  --rose:#bf7474; --rose-soft:#d99e9e; --marker:#a83838;
  --navy:#0b446f; --page-bg:#030617; --panel-bg:#06091a; --panel-deep:#00010a;
  --ink:#ffffff; --ink-soft:#c9d3dd; --rule:rgba(255,255,255,0.10);
  --maxw:720px;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  color:var(--ink);
  background:radial-gradient(ellipse at center, #030617 0%, #000 78%) fixed, #030617;
  font-family:'Montserrat','Heebo','Helvetica Neue',Arial,sans-serif;
  font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{ color:var(--rose); text-decoration:none; }
a:hover{ color:var(--rose-soft); text-decoration:underline; }

/* header / wordmark — matches the CDB topbar (white ACCOUNT + ability + !) */
.site-header{ position:sticky; top:0; z-index:1000; background:#00010a;
  border-bottom:1px solid var(--rule); }
.brand-block{ display:block; text-align:center; padding:13px 18px; text-decoration:none; }
.brand-block:hover{ text-decoration:none; }
.brand-word{ display:inline-flex; align-items:baseline;
  font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;
  font-size:26px; font-weight:500; line-height:1; letter-spacing:-0.5px; color:#fff; }
.b-account{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400;
  font-size:1.15em; letter-spacing:0.5px; text-transform:uppercase; color:#fff; }
.b-ability{ font-weight:500; font-size:1em; letter-spacing:-0.3px; color:#fff; }
.b-bang{ font-family:'Montserrat','Helvetica Neue',Arial,sans-serif; font-weight:500; color:#fff; }
.brand-sub{ display:block; font-size:10px; font-weight:400; letter-spacing:0.12em;
  text-transform:uppercase; color:rgba(255,255,255,0.55); margin-top:6px; }

/* layout */
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 22px; position:relative; z-index:1; }
.blog-hero{ text-align:center; padding:54px 22px 30px; border-bottom:1px solid var(--rule); }
.blog-hero h1{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400;
  font-size:2.7rem; letter-spacing:1px; line-height:1.04; color:#fff; margin:0 0 10px; }
.blog-hero p{ color:var(--ink-soft); max-width:560px; margin:0 auto; font-size:0.95rem; }

/* post list (index) */
.post-list{ list-style:none; margin:0; padding:36px 0 60px; }
.post-card{ display:block; padding:24px 0; border-bottom:1px solid var(--rule); text-decoration:none; }
.post-card:hover{ text-decoration:none; }
.post-card .kicker{ color:var(--rose); font-size:11px; letter-spacing:0.16em;
  text-transform:uppercase; font-weight:600; }
.post-card h2{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400;
  font-size:1.75rem; letter-spacing:0.6px; color:#fff; margin:8px 0 8px; line-height:1.08; }
.post-card:hover h2{ color:var(--rose-soft); }
.post-card p{ color:var(--ink-soft); margin:0; font-size:0.95rem; }
.post-meta{ color:rgba(255,255,255,0.4); font-size:12px; margin-top:10px;
  letter-spacing:0.06em; text-transform:uppercase; }

/* article */
.article{ padding:44px 0 30px; }
.article .kicker{ color:var(--rose); font-size:11px; letter-spacing:0.16em;
  text-transform:uppercase; font-weight:600; }
.article h1{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400;
  font-size:2.6rem; letter-spacing:0.8px; line-height:1.06; color:#fff; margin:10px 0 12px; }
.article .byline{ color:rgba(255,255,255,0.5); font-size:13px; margin-bottom:30px;
  padding-bottom:22px; border-bottom:1px solid var(--rule); }
.article h2{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400;
  font-size:1.7rem; letter-spacing:0.6px; color:#fff; margin:40px 0 12px; }
.article h3{ font-size:1.1rem; font-weight:700; color:#fff; margin:26px 0 8px; }
.article p{ margin:0 0 18px; color:#e7edf5; }
.article ul,.article ol{ margin:0 0 18px; padding-left:22px; color:#e7edf5; }
.article li{ margin:0 0 8px; }
.article li::marker{ color:var(--rose); }
.article strong{ color:#fff; }
.article code{ background:var(--panel-bg); border:1px solid var(--rule);
  border-radius:5px; padding:1px 6px; font-size:0.86em; color:var(--rose-soft); }
.article blockquote{ margin:24px 0; padding:14px 20px; border-left:3px solid var(--rose);
  background:var(--panel-bg); color:var(--ink-soft); font-style:italic; border-radius:0 8px 8px 0; }

/* CTA box — matches CDB card treatment */
.cta{ margin:44px 0 20px; padding:26px 24px; background:var(--panel-deep);
  border:1px solid rgba(191,116,116,0.30); border-radius:14px; text-align:center;
  box-shadow:0 8px 30px rgba(0,0,0,0.5); }
.cta h3{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400; font-size:1.55rem;
  letter-spacing:0.6px; color:#fff; margin:0 0 8px; }
.cta p{ color:var(--ink-soft); font-size:0.92rem; margin:0 0 16px; }
/* ghost button — matches the site (transparent bg, thin rose border, uppercase) */
.cta a.btn{ display:inline-block; background:transparent; color:var(--rose);
  border:1px solid var(--rose); border-radius:12px; padding:11px 26px;
  font-family:'Montserrat','Helvetica Neue',Arial,sans-serif; font-size:12px; font-weight:700;
  letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; cursor:pointer;
  transition:color .18s,border-color .18s,background .18s; }
.cta a.btn:hover{ color:#fff; border-color:#d18a8a; background:rgba(191,116,116,0.18); text-decoration:none; }
.disclosure{ color:rgba(255,255,255,0.42); font-size:12px; font-style:italic; margin-top:14px; }

/* footer */
.site-footer{ border-top:1px solid var(--rule); padding:30px 22px; text-align:center;
  color:rgba(255,255,255,0.45); font-size:13px; position:relative; z-index:1; }
.site-footer a{ color:var(--rose-soft); }

@media (max-width:600px){
  body{ font-size:16px; }
  .blog-hero h1{ font-size:2.2rem; }
  .article h1{ font-size:2.1rem; }
}

/* photo hero + interlinks (2026-07-07) */
.post-photo{ margin:0 0 8px; border-radius:14px; overflow:hidden; border:1px solid var(--rule); background:#00010a; position:relative; }
.post-photo img{ display:block; width:100%; height:340px; object-fit:cover; filter:saturate(.9) brightness(.8) contrast(1.02); }
.post-photo figcaption{ position:absolute; bottom:0; left:0; right:0; padding:6px 12px; font-size:10.5px; color:rgba(255,255,255,.55); background:linear-gradient(transparent,rgba(0,1,10,.9)); text-align:right; }
.post-photo figcaption a{ color:rgba(255,255,255,.72); }
.crumbs{ font-size:12px; letter-spacing:0.04em; margin:0 0 14px; }
.crumbs a{ color:var(--rose); }
.related{ margin:42px 0 8px; padding-top:24px; border-top:1px solid var(--rule); }
.related h2{ font-family:'Bebas Neue',Impact,sans-serif; font-weight:400; font-size:1.4rem; letter-spacing:0.5px; color:#fff; margin:0 0 12px; }
.related ul{ list-style:none; margin:0 0 12px; padding:0; }
.related li{ margin:0 0 9px; }
.related li a{ color:var(--rose-soft); font-weight:600; }
.cta-alt{ display:inline-block; margin-top:12px; font-size:12px; letter-spacing:0.06em; color:var(--rose-soft); }
@media (max-width:600px){ .post-photo img{ height:220px; } }
.blog-hero h1 .hero-ability{ font-family:'Montserrat','Helvetica Neue',Arial,sans-serif; text-transform:none; font-weight:500; font-size:0.82em; letter-spacing:-0.5px; }
/* SEO/conversion enhancements (2026-07-07) */
.toc{ margin:22px 0 30px; padding:16px 20px; background:var(--panel-bg); border:1px solid var(--rule); border-radius:12px; }
.toc .toc-title{ display:block; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--rose); font-weight:600; margin-bottom:8px; }
.toc ul{ list-style:none; margin:0; padding:0; }
.toc li{ margin:0 0 6px; }
.toc a{ color:var(--ink-soft); font-size:0.92rem; }
.toc a:hover{ color:var(--rose-soft); }
.mid-cta{ margin:34px 0; padding:22px 24px; background:var(--panel-deep); border:1px solid rgba(191,116,116,0.30); border-left:3px solid var(--rose); border-radius:12px; }
.mid-cta p{ margin:0 0 14px; color:var(--ink-soft); font-size:0.95rem; }
.mid-cta a{ display:inline-block; background:transparent; color:var(--rose); border:1px solid var(--rose); border-radius:12px; padding:10px 24px; font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; transition:color .18s,border-color .18s,background .18s; }
.mid-cta a:hover{ color:#fff; border-color:#d18a8a; background:rgba(191,116,116,0.18); text-decoration:none; }
h2[id]{ scroll-margin-top:70px; }
.scan-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:2000; display:none; align-items:center; gap:14px; justify-content:center; padding:12px 18px; background:rgba(0,1,10,0.92); backdrop-filter:blur(10px); border-top:1px solid rgba(191,116,116,0.4); transform:translateY(100%); transition:transform .3s; }
.scan-sticky.show{ display:flex; transform:translateY(0); }
.scan-sticky .ss-text{ color:var(--ink-soft); font-size:0.9rem; }
.scan-sticky .ss-btn{ background:transparent; color:var(--rose); border:1px solid var(--rose); border-radius:10px; padding:8px 20px; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; text-decoration:none; }
.scan-sticky .ss-btn:hover{ color:#fff; border-color:#d18a8a; background:rgba(191,116,116,0.18); text-decoration:none; }
.scan-sticky-x{ background:none; border:none; color:rgba(255,255,255,0.5); font-size:20px; line-height:1; cursor:pointer; padding:0 4px; }
@media (max-width:600px){ .scan-sticky .ss-text{ display:none; } .scan-sticky{ justify-content:space-between; } }
.topics{ text-align:center; font-size:13px; color:var(--ink-soft); margin:26px 0 6px; }
.topics span{ color:rgba(255,255,255,.45); }
.topics a{ color:var(--rose-soft); }
.faq{ margin:42px 0 8px; padding-top:24px; border-top:1px solid var(--rule); }
.faq h2{ font-family:'Bebas Neue',Impact,sans-serif; font-weight:400; font-size:1.5rem; letter-spacing:0.5px; color:#fff; margin:0 0 16px; }
.faq h3{ font-size:1.02rem; font-weight:700; color:#fff; margin:18px 0 6px; }
.faq p{ margin:0 0 6px; color:#dde4ee; }
.quick-answer{ margin:0 0 26px; padding:16px 20px; background:rgba(191,116,116,0.08); border:1px solid rgba(191,116,116,0.28); border-left:3px solid var(--rose); border-radius:12px; }
.quick-answer p{ margin:0; color:#eef2f8; font-size:1.02rem; line-height:1.55; }
.quick-answer strong{ color:var(--rose); letter-spacing:0.02em; }
.key-takeaways{ margin:40px 0 8px; padding:20px 24px; background:rgba(255,255,255,0.02); border:1px solid var(--rule); border-radius:12px; }
.key-takeaways h2{ font-family:'Bebas Neue',Impact,sans-serif; font-weight:400; font-size:1.5rem; letter-spacing:0.5px; color:#fff; margin:0 0 12px; }
.key-takeaways ul{ margin:0; padding-left:20px; }
.key-takeaways li{ margin:0 0 8px; color:#dde4ee; }
/* Breathing "start scan" CTA — mirrors the CDB report button (2026-07-08) */
@keyframes runCtaBreathe{
  0%,100%{ transform:scale(1);    box-shadow:0 0 10px 1px rgba(232,122,122,0.22); }
  50%    { transform:scale(1.05); box-shadow:0 0 24px 5px rgba(232,122,122,0.50); }
}
.mid-cta a, .cta a.btn, .scan-sticky .ss-btn{
  display:inline-block; text-decoration:none; white-space:nowrap;
  font-family:'Montserrat','Helvetica Neue',Arial,sans-serif; font-weight:500;
  font-size:15px; letter-spacing:0.5px; text-transform:none;
  color:#e87a7a; background:transparent;
  border:1px solid rgba(232,116,116,0.65); border-radius:9999px;
  padding:10px 26px; cursor:pointer; transition:color .18s ease;
  animation:runCtaBreathe 2.6s ease-in-out infinite;
}
.mid-cta a:hover, .cta a.btn:hover, .scan-sticky .ss-btn:hover{ color:#fff; border-color:#e87a7a; background:transparent; }
.scan-sticky .ss-btn{ font-size:13px; padding:8px 22px; }
@media (prefers-reduced-motion: reduce){
  .mid-cta a, .cta a.btn, .scan-sticky .ss-btn{ animation:none; box-shadow:0 0 12px 2px rgba(232,122,122,0.35); }
}
/* ===== landing-mirror header + Samples/Q&A(carousel)/Contact overlays + fine print (2026-07-09 v3) ===== */
.site-header--nav{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; width:100%; max-width:none; margin:0; padding:16px 30px; box-sizing:border-box; text-align:left; }
.site-header--nav .brand-block{ justify-self:start; }
.header-nav{ display:flex; gap:30px; align-items:center; justify-self:center; }
.header-nav a{ font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#fff; text-decoration:none; opacity:.9; white-space:nowrap; cursor:pointer; transition:opacity .18s,color .18s; }
.header-nav a:hover{ opacity:1; color:#e87a7a; } .header-nav a.hn-scan{ color:#e87a7a; opacity:1; }
@media (max-width:820px){ .site-header--nav{ grid-template-columns:1fr; row-gap:8px; justify-items:center; padding:14px 16px; } .header-nav{ gap:16px; flex-wrap:wrap; justify-content:center; font-size:11px; } .vsr-prefix{ display:none; } }
.blog-ov{ position:fixed; inset:0; z-index:4000; display:none; background:rgba(3,6,23,.94); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.blog-ov.open{ display:block; }
.ov-tabs{ position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:4200; display:flex; gap:6px; background:rgba(0,0,0,.55); border:1px solid rgba(232,116,116,.35); border-radius:9999px; padding:5px 6px; }
.ov-tabs a{ color:rgba(255,255,255,.72); text-decoration:none; font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:6px 15px; border-radius:9999px; white-space:nowrap; transition:color .15s,background .15s; }
.ov-tabs a:hover{ color:#fff; } .ov-tabs a.active{ background:rgba(232,116,116,.18); color:#e87a7a; }
@media (max-width:640px){ .ov-tabs a{ font-size:10.5px; padding:6px 10px; letter-spacing:.02em; } .ov-tabs{ gap:2px; } }
.ov-close{ position:fixed; top:16px; right:18px; z-index:4300; width:42px; height:42px; border-radius:50%; background:rgba(0,0,0,.45); border:1px solid rgba(232,116,116,.5); color:#e87a7a; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.ov-close svg{ width:20px; height:20px; } .ov-close:hover{ color:#fff; border-color:#e87a7a; }
.ov-screen{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:76px 16px 24px; }
.ov-pane{ width:100%; max-width:960px; max-height:100%; display:flex; align-items:center; justify-content:center; }
#ovSamplesFrame{ width:100%; height:84vh; border:0; border-radius:12px; background:#030617; }
.ov-box{ width:100%; max-width:560px; margin:0 auto; max-height:84vh; overflow:auto; background:#0a0f1f; border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:26px 28px; }
.ov-h{ font-family:'Bebas Neue',Impact,sans-serif; font-size:1.9rem; color:#fff; letter-spacing:.5px; }
.ov-subh{ color:rgba(255,255,255,.6); font-size:.9rem; margin-bottom:16px; }
.c-group{ margin:0 0 14px; } .c-group label{ display:block; font-size:12px; color:rgba(255,255,255,.6); margin-bottom:5px; } .c-opt{ opacity:.6; }
.c-group input,.c-group textarea{ width:100%; box-sizing:border-box; background:#06091a; border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:10px 12px; color:#fff; font-family:'Montserrat',sans-serif; font-size:14px; }
.c-group textarea{ min-height:110px; resize:vertical; }
.c-send{ background:transparent; color:#e87a7a; border:1px solid rgba(232,116,116,.65); border-radius:9999px; padding:10px 26px; font-family:'Montserrat',sans-serif; font-weight:500; letter-spacing:.5px; cursor:pointer; }
.c-send:hover{ color:#fff; border-color:#e87a7a; } .c-send:disabled{ opacity:.6; }
.c-msg{ margin-top:10px; font-size:13px; } .c-msg.error{ color:#ff9a9a; } .c-msg.success{ color:#9ae6a0; }
#ovQA{ align-items:stretch; }
.qa-card{ position:relative; width:min(660px,100%); height:min(82vh,700px); margin:0 auto; display:flex; flex-direction:column; box-sizing:border-box; padding:6px 6px 10px; }
.qa-title{ font-family:'Bebas Neue',Impact,sans-serif; color:#fff; font-size:34px; letter-spacing:1px; line-height:1; text-transform:uppercase; margin:0 0 4px; flex:0 0 auto; }
.qa-sub{ font-family:'Montserrat',sans-serif; color:#e87a7a; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; margin:0 0 16px; flex:0 0 auto; }
.qa-stack{ position:relative; flex:1 1 auto; min-height:0; width:100%; perspective:1200px; touch-action:none; }
.qa-cardx{ position:absolute; left:50%; top:0; width:min(560px,100%); box-sizing:border-box; padding:24px 26px; border-radius:16px; background:rgba(6,9,20,.9); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.1); box-shadow:0 22px 70px rgba(0,0,0,.55); transform-origin:center center; transition:transform .55s cubic-bezier(.22,.61,.36,1),opacity .55s ease,filter .55s ease; will-change:transform,opacity; }
.qa-cardx[data-hidden="1"]{ pointer-events:none; }
.qa-q{ font-family:'Montserrat',sans-serif; color:#fff; font-weight:700; font-size:18px; line-height:1.3; margin:0 0 10px; }
.qa-q .qa-n{ color:#e87a7a; margin-right:7px; }
.qa-a{ font-family:'Montserrat',sans-serif; color:rgba(255,255,255,.86); font-weight:400; font-size:13.5px; line-height:1.55; margin:0; }
.qa-cardx[data-peek="1"] .qa-a{ display:none; } .qa-cardx[data-peek="1"] .qa-q{ margin:0; } .qa-cardx[data-peek="1"]{ padding-top:18px; padding-bottom:18px; }
.qa-dots{ position:relative; flex:0 0 auto; align-self:center; width:min(240px,72%); height:20px; margin:18px auto 2px; cursor:pointer; touch-action:none; }
.qa-dots::before{ content:''; position:absolute; left:0; right:0; top:50%; height:3px; transform:translateY(-50%); background:rgba(255,255,255,.18); border-radius:2px; }
.qa-thumb{ position:absolute; top:50%; left:0; width:16px; height:16px; border-radius:50%; transform:translate(-50%,-50%); background:#e87a7a; box-shadow:0 0 10px rgba(232,122,122,.7); transition:left .3s cubic-bezier(.22,.61,.36,1); pointer-events:none; }
.qa-hint{ flex:0 0 auto; text-align:center; font-family:'Montserrat',sans-serif; color:rgba(255,255,255,.5); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; margin-top:8px; }
.lf-fineprint{ font-family:'Montserrat',sans-serif; font-size:11px; letter-spacing:.04em; color:rgba(255,255,255,.6); margin-top:12px; }
.lf-fineprint a{ color:#e87a7a; text-decoration:none; } .lf-fineprint a:hover{ text-decoration:underline; }
@keyframes tvOff{ 0%{transform:scale(1,1);opacity:1;filter:none;} 18%{transform:scale(1.03,.92);filter:brightness(1.5) drop-shadow(5px 0 0 rgba(255,40,80,.7)) drop-shadow(-5px 0 0 rgba(0,220,255,.7));} 32%{transform:scale(1.04,.9);filter:brightness(1.4) drop-shadow(-5px 0 0 rgba(255,40,80,.7)) drop-shadow(5px 0 0 rgba(0,220,255,.7));} 48%{transform:scale(1.14,.016);opacity:1;filter:brightness(3.2);} 78%{transform:scale(.04,.012);opacity:1;filter:brightness(4);} 100%{transform:scale(0,0);opacity:0;filter:brightness(5);} }
@keyframes tvOn{ 0%{transform:scale(0,0);opacity:0;filter:brightness(5);} 22%{transform:scale(.04,.012);opacity:1;filter:brightness(4);} 50%{transform:scale(1.14,.016);opacity:1;filter:brightness(3.2);} 66%{transform:scale(1.04,.9);filter:brightness(1.5) drop-shadow(5px 0 0 rgba(255,40,80,.7)) drop-shadow(-5px 0 0 rgba(0,220,255,.7));} 80%{transform:scale(1.02,.97);filter:brightness(1.3) drop-shadow(-4px 0 0 rgba(255,40,80,.6)) drop-shadow(4px 0 0 rgba(0,220,255,.6));} 100%{transform:scale(1,1);opacity:1;filter:none;} }
.tv-off{ animation:tvOff .58s cubic-bezier(.6,0,.7,1) forwards; transform-origin:center center; }
.tv-on{ animation:tvOn .58s cubic-bezier(.3,0,.4,1) forwards; transform-origin:center center; }
@media (prefers-reduced-motion: reduce){ .tv-off,.tv-on{ animation:none; } }
/* header: fixed above overlays (stays open), thin, matches intro (v4 2026-07-09) */
.site-header--nav{ position:fixed; top:0; left:0; right:0; z-index:4500; padding:9px 30px; align-items:center; background:rgba(3,6,23,.92); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.header-nav a.active{ color:#e87a7a; opacity:1; }
.ov-close{ top:74px; z-index:4600; }
.ov-screen{ padding-top:98px; }
/* header v5 2026-07-09 — kill inner brand-block padding (was double-padded → 100px); match intro ~77px, nav bottom-aligned to wordmark */
.site-header--nav{ padding:14px 30px; align-items:end; }
.site-header--nav .brand-block{ padding:0 0 0 4px; }
.site-header--nav .header-nav{ padding-bottom:5px; }
.ov-close{ top:78px; }
.ov-screen{ padding-top:92px; }
/* header v6 2026-07-09 — center-align nav to wordmark baseline (end dropped it below subtitle); trim to ~78px */
.site-header--nav{ padding:11px 30px; align-items:center; }
.site-header--nav .header-nav{ padding-bottom:0; }
/* header v7 2026-07-09 — remove thin rule under header, match page bg exactly, keep close btn clear of header; blog-card 2-line ellipsis */
.site-header--nav{ border-bottom:none; box-shadow:none; background:var(--page-bg); -webkit-backdrop-filter:none; backdrop-filter:none; }
.ov-close{ top:90px; }
.post-card p{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* v7b — center the mid-article CTA button (leave callout text left-aligned under its rose bar) */
.mid-cta a{ display:block; width:-moz-fit-content; width:fit-content; margin-left:auto; margin-right:auto; }
/* v7c — header bg = body's fixed radial gradient (seamless match, still opaque over scrolling content); "Blog" wordmark in Bebas Neue */
.site-header--nav{ background:radial-gradient(ellipse at center, #030617 0%, #000 78%) fixed, #030617; }
.brand-blog{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400; font-size:26px; line-height:1; letter-spacing:.5px; color:var(--rose); margin-left:9px; }
/* v7d — close btn was lifted out of .blog-ov (so it clears the header) but that made it always visible; hide unless an overlay is open */
.ov-close{ display:none; }
.blog-ov.open ~ .ov-close{ display:flex; }
/* v8 — Start Scan opens the real /form in an overlay (like Samples), instead of navigating to /intro */
#ovScan{ max-width:680px; }
#ovScanFrame{ width:100%; height:84vh; border:0; border-radius:12px; background:#030617; }
/* v9 — news-site index layout: featured lead (large image) + 3 secondary image cards, rest stay as text list */
.lead-card{ display:block; text-decoration:none; margin:26px 0 22px; }
.lead-card .lead-img{ width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:16px; display:block; margin-bottom:18px; }
.lead-card .kicker{ color:var(--rose); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; display:block; margin-bottom:8px; }
.lead-card h2{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400; font-size:2.5rem; line-height:1.02; letter-spacing:.5px; color:#fff; margin:0 0 10px; }
.lead-card:hover h2{ color:var(--rose-soft); }
.lead-card p{ color:var(--ink-soft); font-size:1.02rem; margin:0; max-width:760px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.secondary-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:6px 0 8px; padding-bottom:34px; border-bottom:1px solid var(--rule); }
.sec-card{ display:block; text-decoration:none; }
.sec-card .sec-img{ width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:12px; display:block; margin-bottom:12px; }
.sec-card .kicker{ color:var(--rose); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; display:block; margin-bottom:6px; }
.sec-card h3{ font-family:'Bebas Neue','Impact',sans-serif; font-weight:400; font-size:1.45rem; line-height:1.06; letter-spacing:.4px; color:#fff; margin:0; }
.sec-card:hover h3{ color:var(--rose-soft); }
@media(max-width:820px){ .secondary-grid{ grid-template-columns:1fr; gap:22px; } .lead-card h2{ font-size:2rem; } .lead-card .lead-img{ aspect-ratio:16/9; } }
/* v10 — social share bar under the article byline */
.share-bar{ display:flex; align-items:center; gap:10px; margin:4px 0 24px; flex-wrap:wrap; }
.share-label{ font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-right:2px; }
.share-btn{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:transparent; color:var(--ink-soft); cursor:pointer; padding:0; transition:color .16s,border-color .16s,background .16s,transform .16s; }
.share-btn svg{ width:17px; height:17px; fill:currentColor; }
.share-btn:hover{ color:#fff; border-color:var(--rose); background:rgba(232,116,116,.14); transform:translateY(-1px); }
.share-copied{ font-family:'Montserrat',sans-serif; font-size:12px; color:#9ae6a0; opacity:0; transform:translateX(-6px); transition:opacity .2s,transform .2s; pointer-events:none; }
.share-copied.show{ opacity:1; transform:translateX(0); }
/* v11 — lead image mirrors the in-post hero (340px cover, filtered); secondary = small left-aligned thumbnail rows within the column */
.lead-card .lead-img{ aspect-ratio:auto; height:340px; object-fit:cover; border-radius:14px; border:1px solid var(--rule); filter:saturate(.9) brightness(.8) contrast(1.02); }
.secondary-grid{ display:block; grid-template-columns:none; gap:0; margin:2px 0 6px; padding-bottom:6px; border-bottom:1px solid var(--rule); }
.sec-card{ display:flex; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--rule); }
.sec-card:last-child{ border-bottom:none; }
.sec-card .sec-img{ flex:0 0 33%; width:33%; max-width:220px; height:112px; aspect-ratio:auto; object-fit:cover; border-radius:10px; margin:0; filter:saturate(.9) brightness(.82) contrast(1.02); }
.sec-text{ flex:1 1 auto; min-width:0; }
.sec-card .kicker{ margin-bottom:5px; }
.sec-card h3{ font-size:1.35rem; margin:0 0 5px; }
.sec-card p{ color:var(--ink-soft); font-size:.9rem; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(max-width:600px){ .lead-card .lead-img{ height:220px; } .sec-card .sec-img{ height:84px; } .sec-card p{ display:none; } }
/* v12 — mobile header: centered logo + single-line nav carousel; footer = fine print only (mobile: fixed, hides past half-screen) */
@media (max-width:820px){
  .site-header--nav{ grid-template-columns:1fr; row-gap:6px; justify-items:center; padding:10px 12px; }
  .site-header--nav .brand-block{ justify-self:center; text-align:center; }
  .site-header--nav .header-nav{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; justify-content:flex-start; gap:18px; max-width:100%; padding:2px 2px 4px; scrollbar-width:none; -ms-overflow-style:none; }
  .site-header--nav .header-nav::-webkit-scrollbar{ display:none; }
  .site-header--nav .header-nav a{ flex:0 0 auto; }
}
.site-footer p{ display:none; }
.site-footer{ padding:18px 22px; }
.lf-fineprint{ text-align:center; margin-top:0; }
@media (max-width:820px){
  .site-footer{ border-top:none; padding:0; }
  .lf-fineprint{ position:fixed; left:0; right:0; bottom:0; z-index:3000; margin:0; padding:9px 14px; text-align:center; background:rgba(3,6,23,.94); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-top:1px solid rgba(255,255,255,.08); transition:transform .3s ease; }
  .lf-fineprint.fp-hidden{ transform:translateY(130%); }
}
/* v13 — mobile: collapse header while a menu overlay is open (full-screen pane); pull the close button up */
@media (max-width:820px){
  body.ov-open .site-header--nav{ display:none; }
  body.ov-open .ov-close{ top:12px; }
  body.ov-open .ov-screen{ padding-top:56px; }
}
/* v14 — brand-colored share icons + mobile single-line fit */
.share-btn.s-x{ color:#fff; } .share-btn.s-fb{ color:#1877f2; } .share-btn.s-li{ color:#0a66c2; }
.share-btn.s-wa{ color:#25d366; } .share-btn.s-mail{ color:#e87a7a; } .share-btn.s-link{ color:#e87a7a; }
.share-btn.s-x:hover{ background:#fff; color:#0b0e17; border-color:#fff; }
.share-btn.s-fb:hover{ background:#1877f2; color:#fff; border-color:#1877f2; }
.share-btn.s-li:hover{ background:#0a66c2; color:#fff; border-color:#0a66c2; }
.share-btn.s-wa:hover{ background:#25d366; color:#fff; border-color:#25d366; }
.share-btn.s-mail:hover,.share-btn.s-link:hover{ background:#e87a7a; color:#fff; border-color:#e87a7a; }
@media (max-width:600px){
  .share-bar{ flex-wrap:nowrap; gap:8px; }
  .share-btn{ width:34px; height:34px; flex:0 0 auto; }
  .share-btn svg{ width:16px; height:16px; }
  .share-label{ display:none; }
}
/* v15 — header Start Scan: white + breathing to stand out */
.header-nav a.hn-scan, .header-nav a.hn-scan.active{ color:#fff !important; opacity:1; display:inline-block; transform-origin:center; animation:hnBreath 1.9s ease-in-out infinite; }
.header-nav a.hn-scan:hover{ color:#fff !important; }
@keyframes hnBreath{ 0%,100%{ transform:scale(1); text-shadow:0 0 0 rgba(255,255,255,0);} 50%{ transform:scale(1.09); text-shadow:0 0 12px rgba(255,255,255,.55);} }
@media (prefers-reduced-motion: reduce){ .header-nav a.hn-scan{ animation:none; } }
/* v16 — no underline on hover for index/hub cards (global a:hover underline is for body links only) */
.lead-card:hover,.lead-card:hover h2,.sec-card:hover,.sec-card:hover h3,.post-card:hover,.post-card:hover h2,.post-card:hover p,.topics a:hover{ text-decoration:none; }
/* v17 — scan pane spans full width so the form scrollbar sits at the viewport (browser) edge */
.ov-screen.ov-scanmode{ padding-left:0; padding-right:0; }
.ov-screen.ov-scanmode .ov-pane{ max-width:none; width:100%; }
.ov-screen.ov-scanmode #ovScan{ max-width:none; width:100%; }
/* v18 — mobile scan form: use the form's own close button (mirrors intro); hide the overlay X there */
@media (max-width:820px){ body.ov-scan .ov-close{ display:none !important; } }
/* v19 — brand scrollbar on all blog pages (matches intro/form) */
html{ scrollbar-width:thin; scrollbar-color:#bf7474 #06091a; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:#06091a; }
::-webkit-scrollbar-thumb{ background:#bf7474; border-radius:6px; border:2px solid #06091a; }
::-webkit-scrollbar-thumb:hover{ background:#d99e9e; }
::-webkit-scrollbar-corner{ background:#06091a; }
@media (max-width:820px){ html{ scrollbar-width:none; } ::-webkit-scrollbar{ width:0; height:0; display:none; } }
/* Dtox animated slogan */
.dtox-slogan{ display:inline-block; white-space:nowrap; }
.dsl-set{ display:inline-block; }
.dsl-ch{ display:inline-block; transition:transform .6s cubic-bezier(.5,-0.5,.4,1), opacity .5s ease, filter .5s ease; will-change:transform,opacity; }
.dsl-fly .dsl-ch{ opacity:0; transform:translate(var(--dx,-6px),-16px) rotate(14deg) scale(.55); filter:blur(1px); }
.dsl-caret{ display:inline-block; width:2px; height:1em; background:#e87a7a; margin-left:2px; vertical-align:-1px; animation:dslBlink .7s step-end infinite; }
.dtox-slogan.dsl-done .dsl-caret{ animation:none; opacity:0; }
@keyframes dslBlink{ 50%{ opacity:0; } }
/* Dtox brand tagline */
.brand-by{ display:block; font-family:'Montserrat',sans-serif; font-size:9px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--rose-soft,#d99e9e); margin-top:1px; }
.site-header--nav .brand-by{ margin-top:0; }
/* Dtox AI-authorship notice */
.ai-notice{ font-family:'Montserrat',sans-serif; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.62); background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.10); border-radius:10px; padding:12px 16px; margin:2px 0 22px; }
.ai-notice strong{ color:var(--rose-soft,#d99e9e); font-weight:700; }
/* Dtox brand lockup: big red Dtox + ACCOUNTability! wordmark to its right */
.brand-lockup{ display:inline-flex; align-items:baseline; gap:10px; flex-wrap:nowrap; }
.brand-dtox{ display:block; font-family:'Bebas Neue','Impact',sans-serif; font-weight:400; font-size:46px; line-height:.8; letter-spacing:1px; color:#fff; }
.brand-dtox .dtox-d{ color:#c91f1f; }
.brand-by2{ font-family:'Montserrat',sans-serif; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.45); }
.brand-lockup .brand-word{ color:#fff; }
@media (max-width:600px){ .brand-dtox{ font-size:34px; } .brand-lockup{ gap:7px; } }
/* Dtox publisher note — restrained, not a sales box */
.pubnote{ font-family:'Montserrat',sans-serif; font-size:13px; line-height:1.65; color:rgba(255,255,255,.5); border-top:1px solid rgba(255,255,255,.10); margin-top:26px; padding-top:16px; }
.pubnote a{ color:var(--rose-soft,#d99e9e); text-decoration:none; } .pubnote a:hover{ text-decoration:underline; }

/* wordmark drift fix: fixed slogan width + left-align desktop / center mobile so the D never re-centers as the slogan animates */
.dtox-slogan{ display:block; width:210px; max-width:100%; box-sizing:border-box; overflow:visible; white-space:nowrap; }
.site-header--nav .brand-block{ text-align:left; }
@media (max-width:820px){ .site-header--nav .brand-block{ text-align:center; } .dtox-slogan{ text-align:center; margin-left:auto; margin-right:auto; } }
/* Dtox brand icon (crossed fists) to the left of the wordmark */
.site-header--nav .brand-block{ display:inline-flex; align-items:center; gap:12px; }
.brand-icon{ height:44px; width:auto; display:block; flex:0 0 auto; mix-blend-mode:screen; }
.brand-text{ display:flex; flex-direction:column; }
@media (max-width:820px){ .site-header--nav .brand-block{ gap:9px; } .brand-icon{ height:36px; } }
/* overlay bg mirrors page: same fixed radial gradient (was flat navy = looked blueish) */
.blog-ov{ background:radial-gradient(ellipse at center, #030617 0%, #000 78%) fixed, #030617; }
/* iframe bg transparent so the page gradient shows through (was flat #030617 = the blueish rectangle) */
#ovSamplesFrame, #ovScanFrame{ background:transparent !important; }
