:root { --guide-ink:#132a44; --guide-muted:#526981; --guide-line:rgba(17,43,73,.14); --guide-teal:#126e63; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--guide-ink); font-family:"Avenir Next","Segoe UI",sans-serif; background:radial-gradient(circle at top right,#dfefea,transparent 34%),linear-gradient(180deg,#efe6d8,#f8f4ed 500px,#f7f3ee); }
a { color:#115d78; text-underline-offset:.19em; }
a:focus-visible,[tabindex]:focus-visible,summary:focus-visible { outline:3px solid #2d68c4; outline-offset:4px; }
.guide-shell { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:calc(var(--site-topbar-offset,98px) + 24px) 0 48px; }
.guide-hero,.guide-card { padding:32px; border:1px solid var(--guide-line); border-radius:24px; background:rgba(255,253,248,.94); }
.guide-hero { background:linear-gradient(125deg,#fffdf8,#e9f4ef); padding:42px; }
.guide-card { margin-top:24px; }
.eyebrow { display:inline-block; color:#176458; font-size:.76rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; line-height:1.6; }
h1,h2,h3 { color:var(--guide-ink); font-family:"Iowan Old Style","Palatino Linotype",serif; letter-spacing:-.025em; line-height:1.13; }
h1 { max-width:23ch; font-size:clamp(2.5rem,5vw,4rem); margin:16px 0; }
h2 { font-size:clamp(1.75rem,3vw,2.45rem); margin:0 0 16px; }
h3 { font-size:1.35rem; margin:24px 0 10px; }
p,li,dd,td,th { line-height:1.65; }
p,li,dd { color:#3d526d; }
p { margin:12px 0; }
.lead { font-size:1.12rem; max-width:76ch; }
.small { color:var(--guide-muted); font-size:.9rem; }
.fictional-notice,.guide-notice { padding:18px 20px; border:1px solid #bfd0c7; border-radius:14px; background:#f2f7f0; max-width:88ch; }
.guide-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:22px; }
.guide-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; border:1px solid var(--guide-line); border-radius:12px; background:#fffdf8; color:var(--guide-ink); font-weight:800; text-decoration:none; text-align:center; }
.guide-button.primary { background:#112b49; color:white; }
.guide-button:hover { box-shadow:0 4px 14px rgba(17,43,73,.1); }
.section-intro { max-width:84ch; margin-bottom:20px; }
#comparison { margin-top:36px; scroll-margin-top:calc(var(--site-topbar-offset,98px) + 20px); }
.report-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.report-comparison .guide-card { min-width:0; margin-top:0; padding:26px; }
.report-comparison h2 { font-size:2rem; margin-top:14px; }
.plus-example { border:2px solid #a6cfc1; background:#f5faf6; }
.report-section { margin-top:22px; padding-top:2px; border-top:1px solid var(--guide-line); }
.report-section dl { margin:0; }
.report-section dl>div { margin:14px 0; }
.report-details { margin-top:22px; padding-top:18px; border-top:1px solid var(--guide-line); }
.report-details summary { cursor:pointer; color:#115d78; font-weight:800; line-height:1.6; }
dt { font-size:.9rem; font-weight:800; }
dd { margin:4px 0 0; overflow-wrap:anywhere; }
.model-pattern { margin:20px 0; padding:16px; background:#e8f1eb; border-radius:12px; line-height:1.6; }
.model-pattern p { font-size:.9rem; margin-bottom:0; }
.table-scroll { overflow-x:auto; max-width:100%; }
table { border-collapse:collapse; width:100%; font-size:.92rem; }
caption { text-align:left; color:var(--guide-muted); font-size:.85rem; line-height:1.5; padding:0 0 12px; }
th,td { text-align:left; vertical-align:top; border-bottom:1px solid var(--guide-line); padding:12px 8px; }
thead th { font-size:.8rem; color:#45617a; }
tbody th { min-width:110px; }
.guide-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.guide-columns h3 { margin-top:4px; }
.timeline { list-style:none; padding:0; margin:24px 0; }
.timeline li { border-left:3px solid #adcabf; padding:0 0 18px 20px; }
.timeline li:last-child { padding-bottom:0; }
.timeline time { font-size:.9rem; color:var(--guide-teal); font-weight:800; }
.timeline p { margin:4px 0 0; }
.guide-card ul,.guide-card ol { padding-left:24px; }
.guide-card li { margin:8px 0; }
.guide-card .timeline { padding-left:0; }
.guide-footer { width:min(1160px,calc(100% - 40px)); margin:0 auto; padding:20px 0 28px; border-top:1px solid var(--guide-line); display:flex; flex-wrap:wrap; gap:12px 22px; font-size:.9rem; }
.guide-footer p { width:100%; margin:0; }
.guide-cta { background:#eaf2ee; }
.guide-toc { display:flex; flex-wrap:wrap; gap:10px 22px; padding:0; list-style:none; }
.guide-card[id] { scroll-margin-top:calc(var(--site-topbar-offset,98px) + 20px); }
@media(max-width:850px) { .report-comparison { grid-template-columns:1fr; } .guide-columns { grid-template-columns:1fr; gap:12px; } }
@media(max-width:600px) { .guide-shell { width:calc(100% - 28px); padding-top:calc(var(--site-topbar-offset,98px) + 12px); } .guide-hero,.guide-card,.report-comparison .guide-card { padding:22px; border-radius:19px; } .guide-actions { align-items:stretch; } .guide-button { width:100%; } .guide-footer { width:calc(100% - 28px); } }
@media print { [data-site-nav],.guide-actions,.guide-footer { display:none!important; } body { background:white; } .guide-shell { padding:0; width:100%; } .guide-hero,.guide-card { border-radius:0; padding:16px; box-shadow:none; } .report-comparison { display:block; } .report-comparison .guide-card { margin-top:20px; } h1 { font-size:30pt; } h2 { font-size:20pt; } h3 { break-after:avoid; } table,dl>div { break-inside:avoid; } }
