/* Shared styles for the platform product pages. Loaded after /css/site.css. */
.section{padding:104px 0}
.section.tight{padding:80px 0}
.section-head{max-width:660px;margin-bottom:56px}
.section-head.center{max-width:640px;margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px;letter-spacing:-.01em}
.section-head p{font-size:17px}
.btn-ghost{border-color:var(--line);color:var(--ink)}
.crumb a{color:var(--slate)}
.crumb span{color:var(--line);margin:0 8px}
/* ---------- hero ---------- */
.phero{position:relative;overflow:hidden;background: radial-gradient(1000px 480px at 85% -10%, var(--brand-tint) 0%, transparent 60%), linear-gradient(180deg,var(--white) 0%, var(--white) 100%)}
.phero .wrap{padding-top:80px;padding-bottom:72px;max-width:820px}
.phero h1{font-size:clamp(32px,4.2vw,50px);letter-spacing:-.015em;margin-bottom:22px}
.phero h1 em{font-style:normal;color:var(--brand-text)}
.phero p.lede{font-size:18.5px;max-width:640px;margin-bottom:34px}
.phero-ctas{display:flex;gap:14px;flex-wrap:wrap}
/* ---------- framework strip (shared) ---------- */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);padding:26px 0}
.strip .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}
.strip .lbl{font-size:13px;color:var(--slate);margin-right:8px}
.chip{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:7px 16px}
/* ---------- leak case cards ---------- */
.cases{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.case-main{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:var(--white)}
.case-timeline{margin-top:20px;display:grid;gap:10px}
.tl-row{display:flex;gap:12px;align-items:flex-start;font-size:13px}
.case-side{display:grid;gap:22px}
.fine-mini{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--white)}
/* ---------- stat band ---------- */
.statband{background:var(--surface-dark);border-radius:20px;padding:56px 64px;position:relative;overflow:hidden}
.statband::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 12% 0%, rgba(146,208,79,.16), transparent 65%);pointer-events:none}
.statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative}
.stat{border-left:2px solid rgba(255,255,255,.14);padding-left:22px}
.stat .num{font-family:var(--font-display);font-size:clamp(28px,3vw,38px);font-weight:700;color:#fff;letter-spacing:-.01em;margin-bottom:6px}
.statband-note{margin-top:30px;font-size:12.5px;color:#8FA0BC;position:relative}
.flow-card .taglist{display:flex;flex-wrap:wrap;gap:7px}
/* ---------- deep dive ---------- */
.dive{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.dive + .dive{margin-top:110px}
.dive.flip .dive-viz{order:2}
.dive-viz{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
.section.alt .dive-viz{background:var(--white)}
.viz-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
/* ---------- policy toggle rows ---------- */
.polrow{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}
.pmode{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:5px 10px;border-radius:6px;border:1px solid var(--line);color:var(--slate)}
.pmode.active-block{background:var(--red-tint);color:var(--red-soft);border-color:var(--red-line)}
.pmode.active-redact{background:var(--brand-tint);color:var(--brand-text);border-color:var(--brand-line)}
.pmode.active-obfuscate{background:var(--amber-tint);color:var(--amber);border-color:var(--amber-line)}
.pmode.active-allow{background:var(--green-tint);color:var(--green);border-color:var(--green-line)}
/* ---------- visibility dashboard rows ---------- */
.visrow{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
/* ---------- coaching cards ---------- */
.coach{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.coach-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--white)}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
}
@media (max-width:1020px){
  .cases{grid-template-columns:1fr}
  .statgrid{grid-template-columns:1fr;gap:26px}
  .stat{border-left:none;border-top:2px solid rgba(255,255,255,.14);padding-left:0;padding-top:16px}
  .dive{grid-template-columns:1fr;gap:40px}
  .dive.flip .dive-viz{order:0}
  .coach{grid-template-columns:1fr}
  .visrow{flex-wrap:wrap}
}
@media (max-width:640px){
  .section{padding:72px 0}
  .statband{padding:40px 26px}
  .polrow{flex-direction:column;align-items:flex-start;gap:8px}
  .case-main{padding:24px}
  .roi-row .val{align-self:flex-end}
}
