:root { --ink:#202428; --paper:#f4f5f2; --panel:#fff; --forest:#0f5142; --brick:#9e352e; --nav:#1d2730; --line:#d5d9d5; --muted:#59615e; --gold:#efb65c; --soft:#eaf1ee; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:4rem; }
body { margin:0; color:var(--ink); background:var(--paper); font:17px/1.62 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--forest); }
a:focus-visible, summary:focus-visible { outline:3px solid #e39a35; outline-offset:3px; }
.skip { position:absolute; left:1rem; top:-5rem; background:#fff; padding:.7rem; z-index:30; }
.skip:focus { top:.5rem; }
.nav { position:sticky; top:0; z-index:20; min-height:48px; background:var(--nav); color:#fff; padding:.65rem 4vw; display:flex; gap:1.1rem; overflow:auto; }
.nav a { color:#fff; white-space:nowrap; text-decoration:none; font-weight:700; }
.hero { min-height:min(780px,calc(100vh - 78px)); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); background:#0d3032; color:#fff; }
.hero-copy { padding:clamp(1.6rem,3.4vw,3.2rem); align-self:center; max-width:820px; }
.eyebrow, .section-kicker { margin:0 0 .45rem; color:#82cec1; font-weight:800; text-transform:uppercase; font-size:.82rem; }
.section-kicker { color:var(--brick); }
.hero h1 { font:700 clamp(2.6rem,4.1vw,4.1rem)/1.01 Georgia,serif; margin:.2rem 0 .65rem; letter-spacing:0; }
.dek { font-size:1.12rem; margin:.5rem 0; }
.hero-media { min-height:440px; position:relative; display:flex; flex-direction:column; }
.hero img { width:100%; height:100%; min-height:0; flex:1; object-fit:cover; display:block; }
.hero-media .ai-note { color:#d8e7e2; margin:0; padding:.55rem 1rem; background:#0d3032; }
.meta { color:#d8e7e2; }
.bottom-line { max-width:70ch; }
.hero-copy > p { margin-top:.65rem; margin-bottom:.65rem; }
.actions { display:flex; gap:.8rem; flex-wrap:wrap; margin:1.1rem 0 0; }
.button { display:inline-block; padding:.7rem 1rem; background:var(--gold); color:#17202a; text-decoration:none; font-weight:800; border-radius:4px; }
.button.secondary { background:transparent; color:#fff; border:1px solid #b9d1cb; }
.guard { border-left:4px solid var(--gold); padding-left:1rem; }
.wrap { max-width:1120px; margin:auto; padding:4rem 1.2rem; }
.band { background:#e9eeeb; }
h2 { font:700 clamp(1.85rem,3vw,2.75rem)/1.1 Georgia,serif; letter-spacing:0; margin:.25rem 0 1.25rem; }
h3 { font-size:1.26rem; letter-spacing:0; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
details, .passport-grid > div, .boundary { background:var(--panel); border:1px solid var(--line); border-radius:6px; padding:1.1rem; }
summary { font-weight:800; cursor:pointer; }
details p { margin:.55rem 0; }
table { width:100%; border-collapse:collapse; background:#fff; }
caption { text-align:left; font-weight:700; padding:.7rem 0; }
th, td { text-align:left; vertical-align:top; border:1px solid var(--line); padding:.75rem; }
th { background:var(--soft); }
.table-scroll { overflow:auto; }
.recommendation { padding:1.6rem 0; border-top:1px solid var(--line); }
.recommendation h3 { color:var(--forest); font:700 1.45rem/1.2 Georgia,serif; }
.verify { color:var(--muted); }
.utility { max-width:1120px; }
.passport-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1.2rem 0; }
.passport-grid b, .passport-grid span { display:block; }
.passport-grid b { color:var(--forest); margin-bottom:.25rem; }
.boundary { margin:1.5rem 0; border-left:5px solid var(--brick); }
.source-list { columns:2; column-gap:2.5rem; }
.source-list li { margin:0 0 .65rem; break-inside:avoid; }
.ai-note, .fine { color:var(--muted); font-size:.92rem; }
footer { background:var(--nav); color:#dfe9e6; padding:2rem max(1rem,4vw); }
footer a { color:#9ad8d0; }
@media (max-width:820px) {
  body { font-size:16px; }
  html { scroll-padding-top:3rem; }
  .nav { font-size:.83rem; gap:.9rem; min-height:43px; padding:.58rem 1rem; }
  .hero { display:flex; flex-direction:column; min-height:auto; }
  .hero-media { min-height:0; order:-1; }
  .hero img { flex:none; height:110px; object-position:center 61%; }
  .hero-copy { padding:1rem 1rem 1.15rem; }
  .hero h1 { font-size:1.78rem; line-height:1.01; }
  .dek { font-size:.96rem; }
  .hero-copy p { margin-top:.5rem; margin-bottom:.5rem; }
  .hero-copy [data-guide-evidence] { font-size:.92rem; line-height:1.48; }
  .hero-copy .bottom-line { font-size:.92rem; line-height:1.48; }
  .hero-copy .guard { font-size:.9rem; line-height:1.45; }
  .actions { margin-top:.8rem; }
  .grid, .passport-grid { grid-template-columns:1fr; }
  .wrap { padding:3rem 1rem; }
  #fit .wrap { padding-top:1rem; }
  .passport-grid { gap:.4rem; }
  .passport-grid > div { padding:.6rem .75rem; }
  .passport-grid span { line-height:1.42; }
  .source-list { columns:1; }
  table.details, table.details caption, table.details tbody, table.details tr, table.details th, table.details td { display:block; width:100%; }
  table.details caption { padding:.7rem 0 1rem; }
  table.details thead { position:absolute; left:-9999px; }
  table.details tr { border:1px solid var(--line); margin-bottom:1rem; background:#fff; }
  table.details th, table.details td { border:0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
  table.details td::before { content:attr(data-label); display:block; font-weight:800; color:var(--forest); margin-bottom:.2rem; }
  table.details tr { font-size:.92rem; line-height:1.45; }
  table.details th, table.details td { padding:.55rem .7rem; }
}
@media (max-width:420px) {
  .button { padding:.6rem .7rem; font-size:.86rem; }
  .hero-media .ai-note { font-size:.82rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
