/* High-Ticket Training Report — Broadsheet Navy design system
   Paper #FBFAF7, ink navy #12233D, single teal-blue accent #0E6BA8.
   Financial-broadsheet analysis aesthetic: ruled hierarchy, kicker labels,
   double-rule dividers, sourced stat blocks. No red/orange/yellow, no cards-with-shadows.
   Fonts: Source Serif 4 (headlines/lede), Public Sans (body/UI). */
:root{--paper:#FBFAF7;--paper2:#F3F1EA;--ink:#12233D;--ink-soft:#3D4A5F;--note:#6B7280;--accent:#0E6BA8;--accent-dark:#0A527F;--line:#D8D4C8;--line-dark:#B9B4A5}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Public Sans",system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:17px;line-height:1.6}
h1,h2,h3,.serif{font-family:"Source Serif 4",Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px}
h3{font-size:1.15rem;margin-bottom:8px}
p{margin-bottom:14px}
a{color:var(--accent)}
img{max-width:100%}
.container{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:780px}
.center{text-align:center}
/* header */
header.site{border-bottom:2px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:50}
header.site .inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{font-family:"Source Serif 4",serif;font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none;border-top:3px solid var(--ink);padding-top:4px}
nav.main{display:flex;gap:18px;flex-wrap:wrap}
nav.main a{font-size:.85rem;font-weight:500;color:var(--ink-soft);text-decoration:none}
nav.main a:hover{color:var(--accent)}
/* kicker + rules */
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;display:block}
.dateline{font-size:.78rem;color:var(--note);margin-bottom:18px}
.double-rule{border:0;border-top:3px solid var(--ink);position:relative;margin:0 0 6px}
.double-rule::after{content:"";display:block;border-top:1px solid var(--ink);margin-top:2px}
/* hero */
.hero{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.hero .lede{font-family:"Source Serif 4",serif;font-size:1.2rem;color:var(--ink-soft);max-width:64ch;margin:18px 0 0}
/* buttons */
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;padding:13px 26px;text-decoration:none;border:1px solid var(--accent);transition:background .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1)}
.btn:hover{background:var(--accent-dark)}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.ghost:hover{background:rgba(14,107,168,.07)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
/* quiet disclosure (user preference: unboxed, muted, top-of-page + footer only) */
.disclosure{font-size:.78rem;color:#8B8FA0;margin:14px 0;max-width:72ch;line-height:1.5}
.disclosure a{color:#8B8FA0}
/* sections */
section.band{padding:60px 0;border-bottom:1px solid var(--line)}
section.band.alt{background:var(--paper2)}
.grid-84{display:grid;grid-template-columns:2fr 1fr;gap:44px;align-items:start}
@media(max-width:820px){.grid-84{grid-template-columns:1fr}}
.marginalia{font-size:.8rem;color:var(--note);border-left:2px solid var(--line-dark);padding-left:14px;line-height:1.55}
/* stat blocks */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink)}
.stat{padding:18px 16px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat .num{font-family:"Source Serif 4",serif;font-weight:700;font-size:1.7rem}
.stat .lbl{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--note);margin-top:4px}
/* tables */
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.92rem}
th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--note);border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);padding:10px 12px}
td{border-bottom:1px solid var(--line);padding:11px 12px;vertical-align:top}
tr td:first-child{font-weight:600}
.src{font-size:.75rem;color:var(--note)}
/* numbered analysis blocks */
.numblock{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.numblock .n{font-family:"Source Serif 4",serif;font-size:1.6rem;font-weight:700;color:var(--accent)}
/* verdict */
.verdict{border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);padding:28px 0;margin:30px 0}
.verdict h3{font-size:1.3rem}
/* FAQ */
details{border-bottom:1px solid var(--line);padding:16px 0}
details summary{font-weight:600;cursor:pointer;font-size:1rem;list-style:none;display:flex;justify-content:space-between;gap:12px}
details summary::after{content:"+";color:var(--accent);font-weight:700}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--ink-soft);font-size:.95rem}
/* footer */
footer.site{background:var(--ink);color:#C9CFDA;padding:48px 0 32px;margin-top:0}
footer.site .cols{max-width:1080px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
@media(max-width:820px){footer.site .cols{grid-template-columns:1fr 1fr}}
footer.site a{color:#C9CFDA;text-decoration:none;font-size:.85rem;display:block;margin-bottom:8px}
footer.site a:hover{color:#fff}
footer.site h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8A93A6;margin-bottom:12px}
footer.site .legal{max-width:1080px;margin:28px auto 0;padding:20px 24px 0;border-top:1px solid #2A3A54;font-size:.75rem;color:#8A93A6;line-height:1.6}
.foot-brand{font-family:"Source Serif 4",serif;font-weight:700;font-size:1.05rem;color:#fff;border-top:3px solid #fff;padding-top:4px;display:inline-block;margin-bottom:10px}
/* article prose */
.prose h2{margin-top:38px}
.prose ul,.prose ol{margin:0 0 14px 22px}
.prose li{margin-bottom:6px}
/* fade-rise entrance */
@media(prefers-reduced-motion:no-preference){.rise{animation:rise .5s cubic-bezier(.23,1,.32,1) both}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}
