/* Page-specific styles (home). Loaded last. */
.section{padding:104px 0}
.section-head{max-width:660px;margin-bottom:56px}
.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)}
/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background: radial-gradient(1000px 500px at 85% -10%, var(--brand-tint) 0%, transparent 60%), linear-gradient(180deg,var(--white) 0%, var(--white) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:96px;padding-bottom:110px}
.hero h1{font-size:clamp(34px,4.4vw,54px);letter-spacing:-.015em;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--brand-text);position:relative;white-space:nowrap}
.hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:9px;background:var(--brand-tint);z-index:-1;border-radius:3px}
.hero p.lede{font-size:18px;max-width:520px;margin-bottom:34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}
.hero-proof{display:flex;gap:26px;flex-wrap:wrap}
.hero-proof div{font-size:13.5px;color:var(--slate)}
.hero-proof strong{display:block;font-family:var(--font-display);font-size:21px;color:var(--ink);font-weight:700}
/* signature panel */
.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}
.panel-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--paper)}
.panel-bar .dots{display:flex;gap:6px}
.panel-bar .dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.panel-bar .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--slate)}
.panel-body{padding:22px}
.chatline{font-family:var(--font-mono);font-size:12.5px;color:var(--slate);margin-bottom:8px;letter-spacing:.06em}
.chatbox{border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-family:var(--font-mono);font-size:13.5px;line-height:1.9;color:var(--ink-soft);min-height:96px;background:var(--white)}
.chatbox .caret{display:inline-block;width:8px;height:15px;background:var(--brand);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.redact{background:var(--red-tint);color:var(--red-soft);border:1px solid var(--red-line);border-radius:5px;padding:1px 7px;font-size:11.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.panel-verdict{display:flex;align-items:center;gap:9px;margin-top:14px;font-family:var(--font-mono);font-size:12px;color:var(--green);letter-spacing:.05em}
.panel-verdict svg{width:15px;height:15px;flex:none}
.panel-split{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}
.covrow{display:flex;align-items:center;gap:12px;padding:7px 0;font-size:13px}
.covrow .reg{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--ink);width:118px;flex:none}
.covrow .track{flex:1;height:6px;background:var(--paper);border-radius:99px;overflow:hidden}
.covrow .fill{height:100%;background:var(--green);border-radius:99px;width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}
.covrow .pct{font-family:var(--font-mono);font-size:11.5px;color:var(--green);width:42px;text-align:right;flex:none;font-weight:600}
.covrow.custom .fill{background:var(--brand)}
.covrow.custom .pct{color:var(--brand-text)}
/* ---------- framework strip ---------- */
.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}
/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:all .22s ease;display:flex;flex-direction:column}
.pillar:hover{border-color:var(--brand-line-strong);box-shadow:var(--shadow);transform:translateY(-4px)}
.pillar .ic{width:46px;height:46px;border-radius:11px;background:var(--brand-tint);display:grid;place-items:center;margin-bottom:20px}
.pillar .ic svg{width:23px;height:23px;stroke:var(--brand-text);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pillar h3{font-size:18.5px;margin-bottom:10px}
.pillar p{font-size:14.5px;flex:1}
.pillar a{margin-top:18px;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--brand-text);display:inline-flex;align-items:center;gap:6px}
.pillar a svg{width:13px;height:13px;transition:transform .2s}
.pillar a:hover svg{transform:translateX(3px)}
/* ---------- deep dives ---------- */
.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 h3{font-size:clamp(24px,2.6vw,32px);margin-bottom:16px;letter-spacing:-.01em}
.dive p{margin-bottom:14px}
.dive ul{list-style:none;margin:22px 0 28px}
.dive li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;font-size:15px;color:var(--ink-soft)}
.dive li svg{width:17px;height:17px;flex:none;margin-top:3px}
.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)}
/* ---------- dpo band ---------- */
.dpo{background:var(--surface-dark);color:#B9C4D9;border-radius:20px;padding:64px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.dpo::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 88% 0%, rgba(146,208,79,.16), transparent 65%);pointer-events:none}
.dpo h2{color:#fff;font-size:clamp(26px,3vw,36px);margin-bottom:16px}
.dpo p{font-size:16.5px;margin-bottom:28px;max-width:480px}
.dpo .eyebrow{color:#92D04F}
.dpo .eyebrow::before{background:#92D04F}
.dpo .btn-primary{background:var(--white);color:var(--ink)}
.dpo .btn-primary:hover{background:var(--track)}
.dpo-list{display:grid;gap:14px;position:relative}
.dpo-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:18px 20px;display:flex;gap:15px;align-items:flex-start}
.dpo-item svg{width:19px;height:19px;flex:none;stroke:#92D04F;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.dpo-item strong{display:block;color:#fff;font-family:var(--font-display);font-size:15.5px;font-weight:600;margin-bottom:3px}
.dpo-item span{font-size:13.5px;line-height:1.55}
/* ---------- credibility ---------- */
.cred{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cred-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:var(--white)}
.cred-card .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin-bottom:14px;font-weight:600}
.cred-card h4{font-size:17.5px;margin-bottom:8px}
.cred-card p{font-size:14px}
.cta-band h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:16px}
.cta-band p{font-size:17px;margin-bottom:32px}
/* 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}
  .chatbox .caret{animation:none}
  .covrow .fill{transition:none}
}
@media (max-width:1020px){
  .hero .wrap{grid-template-columns:1fr;gap:52px;padding-top:64px;padding-bottom:72px}
  .pillars{grid-template-columns:repeat(2,1fr)}
  .dive{grid-template-columns:1fr;gap:40px}
  .dive.flip .dive-viz{order:0}
  .dpo{grid-template-columns:1fr;padding:44px 32px}
  .cred{grid-template-columns:1fr}
}
@media (max-width:640px){
  .section{padding:72px 0}
  .pillars{grid-template-columns:1fr}
  .dpo{padding:36px 24px}
  .hero-proof{gap:20px}
}
.trusted-banner{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0 48px;overflow:hidden}
.tb-head{text-align:center;margin-bottom:28px}
.tb-head .eyebrow{justify-content:center;margin-bottom:8px}
.tb-head h2{font-size:19px;color:var(--ink-soft)}
.tb-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tb-track{display:flex;gap:16px;width:max-content;animation:tb-scroll 34s linear infinite}
.tb-track:hover{animation-play-state:paused}
@keyframes tb-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tb-logo{display:flex;align-items:center;justify-content:center;flex:none;width:180px;height:76px;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:11px;transition:all .2s ease}
.tb-logo:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-2px)}
.tb-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:filter .2s ease,opacity .2s ease}
.tb-logo:hover img{filter:grayscale(0%);opacity:1}
@media (prefers-reduced-motion: reduce){
  .tb-track{animation:none}
}

/* five pillars: three across, then two wider cards */
.pillars{grid-template-columns:repeat(6,1fr)}
.pillar{grid-column:span 2}
.pillar:nth-child(n+4){grid-column:span 3}
@media (max-width:1020px){
  .pillars{grid-template-columns:repeat(2,1fr)}
  .pillar,.pillar:nth-child(n+4){grid-column:auto}
  .pillar:last-child:nth-child(odd){grid-column:1 / -1}
}
@media (max-width:640px){
  .pillars{grid-template-columns:1fr}
  .pillar:last-child:nth-child(odd){grid-column:auto}
}

/* Featured blog posts (built by tools/build_site.py from FEATURED_POSTS).
   The grid and card styles are shared with the blog index, in site.css. */
.featured-more{display:flex;justify-content:center;margin-top:36px}
