/* ===== Stage 5: site-wide design system (inner pages), reference page, AIO blocks ===== */

/* answer-first block: the short, quotable answer a search engine or AI assistant can lift */
.answer{display:grid;grid-template-columns:minmax(220px,.8fr) 2fr;gap:36px;align-items:start;padding:30px 34px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;background:var(--card)}
.answer h2{font-size:clamp(22px,2.4vw,28px)}
.answer .ans{font-size:18px;line-height:1.65;color:var(--ink)}
.answer .ans + p{margin-top:12px;font-size:14px;color:var(--muted)}
@media (max-width:820px){.answer{grid-template-columns:1fr;gap:14px;padding:24px 22px}}

/* entity facts (definition list) */
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border-top:1px solid var(--line)}
.facts>div{padding:20px 24px 22px 0;border-bottom:1px solid var(--line)}
.facts>div:nth-child(odd){border-right:1px solid var(--line)}
.facts>div:nth-child(even){padding-left:24px}
.facts dt{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.facts dd{margin:0;font-size:16.5px;line-height:1.55}
.facts dd a{color:var(--ink)}
@media (max-width:760px){.facts{grid-template-columns:1fr}.facts>div:nth-child(odd){border-right:0}.facts>div:nth-child(even){padding-left:0}}

/* practice navigator inside dark page heads */
.pnav{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.pnav-c{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:18px 20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pnav-c p{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-lt);margin-bottom:8px}
.pnav-c a{display:flex;justify-content:space-between;gap:10px;color:#fff;text-decoration:none;font-size:15px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.pnav-c a:last-child{border-bottom:0}
.pnav-c a::after{content:"\2193";color:var(--sage-lt);transition:transform .2s}
.pnav-c a:hover::after{transform:translateY(2px)}
@media (max-width:900px){.pnav{grid-template-columns:1fr}}

/* services: sticky summary column */
.svc-row{align-items:flex-start}
@media (min-width:981px){.svc-row .svc-l{position:sticky;top:110px}}
.svc-r .card.flat{transition:border-color .25s}
.svc-r .card.flat:hover{border-color:#B9C8C0}
.svc-detail{scroll-margin-top:110px}

/* steps timeline reused on contact */
.steps.g3::before,.steps.g3::after{left:28px;right:28px}

/* insights: editorial lead */
.ed-lead{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:stretch}
.ed-lead .feature.card{margin:0}
.ed-list{border-top:3px solid var(--navy);padding-top:14px}
.ed-list h2{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-family:var(--bf);color:var(--muted);margin-bottom:6px}
.ed-list ol{list-style:none;margin:0;padding:0;counter-reset:ed}
.ed-list li{counter-increment:ed;display:grid;grid-template-columns:34px 1fr;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}
.ed-list li::before{content:counter(ed,decimal-leading-zero);font-family:var(--hf);font-weight:700;color:var(--sage);font-size:18px;line-height:1.3}
.ed-list li span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.ed-list li a{color:var(--ink);text-decoration:none;font-weight:600;line-height:1.35}
.ed-list li a:hover{color:var(--accent);text-decoration:underline}
@media (max-width:900px){.ed-lead{grid-template-columns:1fr}}

/* official sources box (articles) */
.srcbox{border:1px solid var(--line);border-radius:14px;padding:20px 20px 16px;background:var(--card)}
.srcbox h3{font-size:16px;margin-bottom:10px}
.srcbox ul{list-style:none;margin:0;padding:0}
.srcbox li{padding:9px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--muted)}
.srcbox li a{display:block;font-weight:600;color:var(--ink);text-decoration:none}
.srcbox li a:hover{color:var(--accent);text-decoration:underline}
.srcbox .more{display:inline-block;margin-top:10px;font-size:14px}

/* tools: category tabs */
.tool-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tools-grid .card[hidden]{display:none}
.tool-count{font-size:13.5px;color:var(--muted);margin:-10px 0 20px}

/* reports: standard framework */
.frame{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.frame>div{padding:24px 24px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.frame>div:nth-child(3n){border-right:0}
.frame>div:nth-last-child(-n+3){border-bottom:0}
.frame b{display:block;font-family:var(--hf);font-size:28px;color:var(--sage-lt);line-height:1;margin-bottom:10px}
.frame h3{font-size:18px;margin-bottom:6px}
.frame p{font-size:15px;color:var(--muted)}
.frame .tag{position:absolute;top:22px;right:22px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 9px;background:var(--soft);color:var(--accent)}
@media (max-width:900px){.frame{grid-template-columns:1fr}.frame>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.frame>div:last-child{border-bottom:0!important}}
.method{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.method div{padding-top:16px;border-top:2px solid var(--accent)}
.method h3{font-size:17px;margin-bottom:6px}
.method p{font-size:15px;color:var(--muted)}
@media (max-width:820px){.method{grid-template-columns:1fr}}

/* reference page */
.ref-head{background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.ref-head::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(169,192,180,.18) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:linear-gradient(120deg,#000,transparent 70%);mask-image:linear-gradient(120deg,#000,transparent 70%)}
.ref-head h1{color:#fff;max-width:20ch}
.ref-head .eyebrow{color:var(--sage-lt)}
.ref-head .lead{color:#D5DCE7;max-width:62ch;margin-top:16px}
.ref-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ref-meta span{font-size:13px;color:#DCE2EB;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 12px}
.ref-layout{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.ref-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:2px;border-left:2px solid var(--line)}
.ref-toc a{padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:14.5px}
.ref-toc a:hover,.ref-toc a.on{color:var(--ink);border-left-color:var(--accent)}
.ref-body>section{padding:0 0 56px;scroll-margin-top:110px}
.ref-body h2{margin-bottom:16px}
.ref-body .lead{margin-bottom:22px}
@media (max-width:900px){.ref-layout{grid-template-columns:1fr}.ref-toc{display:none}}
.agency{display:grid;grid-template-columns:1fr;gap:12px}
.ag{display:grid;grid-template-columns:200px 1fr 1fr;gap:22px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:border-color .25s,box-shadow .25s}
.ag:hover{border-color:#B9C8C0;box-shadow:var(--lift)}
.ag h3{font-size:17px}
.ag h3 small{display:block;font-family:var(--bf);font-size:12.5px;font-weight:600;color:var(--accent);letter-spacing:.06em;margin-top:4px}
.ag p{font-size:15px;color:var(--muted);line-height:1.55}
.ag p b{display:block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:4px}
.ag a.off{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:13.5px;font-weight:600;color:var(--accent);text-decoration:none}
.ag a.off::after{content:"\2197"}
.ag a.off:hover{text-decoration:underline}
@media (max-width:900px){.ag{grid-template-columns:1fr;gap:8px}}
.terms{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.terms>div{padding:18px 0;border-bottom:1px solid var(--line)}
.terms dt{font-family:var(--hf);font-weight:700;font-size:18px;color:var(--ink)}
.terms dd{margin:6px 0 0;font-size:15.5px;line-height:1.6;color:var(--muted)}
@media (max-width:820px){.terms{grid-template-columns:1fr}}
.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.matrix th,.matrix td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.matrix th{background:var(--navy);color:#fff;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.matrix tr:last-child td{border-bottom:0}
.matrix td:first-child{font-weight:600;color:var(--ink);white-space:nowrap}
.matrix tr:hover td{background:var(--alt)}
.disclaim{font-size:13.5px;color:var(--muted);border-left:3px solid var(--line);padding-left:14px;margin-top:8px}

@media (max-width:700px){.matrix td:first-child{white-space:normal}.matrix th,.matrix td{padding:12px 10px;font-size:14px}.ref-body .tbl-wrap{overflow-x:auto}}
.ed-lead .feature-cover .cover{aspect-ratio:16/9;min-height:0;height:auto}
