/* Letter Desk hub. Navbar, text-size toggle, footer and tip jar live in ld-shell.css (shared with every check). */
:root{
  --ink:#111827; --ink2:#374151; --bg:#f7f5f0; --card:#fff; --line:#d6d3cc;
  --brand:#1e3a8a; --brand2:#1d4ed8; --accent:#1a4480;
  --gov:#1a4480; --gov-lt:#d9e8f6; --irs:var(--gov); --ssa:var(--gov); --mcr:var(--gov); --state:var(--gov);
  --fs:20px; --r:14px;
}
html.big{--fs:24px}
*{box-sizing:border-box}
body{margin:0;font:var(--fs)/1.6 Atkinson Hyperlegible,Verdana,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand2)}
:focus-visible{outline:4px solid #f59e0b;outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:9}

.hero{background:linear-gradient(160deg,#eef4fb 0%,#dbe7f5 100%);color:var(--ink);padding:56px 0 52px;border-bottom:1px solid #c9d8ea}
.hero h1{font-size:clamp(1.7em,3.6vw,2.5em);line-height:1.2;margin:0;max-width:880px;letter-spacing:-.01em}
.hero .help-line{margin:28px 0 10px;font-size:clamp(1.3em,2.4vw,1.6em);font-weight:800;color:#1e4f8a}
.hero p{margin:0;max-width:780px;color:var(--ink2);font-size:1.05em}

.ribbon{background:#3a6ea5;color:#fff}
.ribbon ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:0;padding:18px 24px;list-style:none;font-weight:800;font-size:.88em}
.ribbon li{display:flex;align-items:center;gap:10px}
.ribbon li::before{content:"✓";display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#3a6ea5;font-size:.85em}

.jump{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:22px 24px;margin:32px 0 0}
.jump h2{font-size:1.1em;margin:0 0 14px}
.jump nav{display:flex;flex-wrap:wrap;gap:12px}
.jump a{display:inline-flex;align-items:center;min-height:56px;padding:0 20px;border-radius:999px;background:#fff;border:2px solid var(--ink);color:var(--ink);font-weight:700;text-decoration:none}
.jump a:hover{background:var(--ink);color:#fff}

.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);gap:32px;align-items:start;margin:24px auto 48px}
@media(max-width:960px){.layout{grid-template-columns:1fr}}

.group{margin:0 0 34px;scroll-margin-top:150px}
.group>h2{display:flex;align-items:center;gap:12px;font-size:1.25em;margin:0 0 14px}
.badge{display:inline-block;font-size:.7em;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:4px 12px;border-radius:8px}
.badge{background:var(--gov)}

.route{background:var(--card);border:2px solid var(--line);border-top:6px solid var(--gov);border-radius:var(--r);padding:22px 24px;margin:0 0 18px;display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:start}
.route h3{margin:0;font-size:1.1em;line-height:1.35}
.route .go{grid-row:1;grid-column:2;width:290px}
.route .body{grid-column:1/3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.route .says{margin:0;color:var(--ink2)}
.route .says strong{color:var(--ink)}
@media(max-width:760px){.route{grid-template-columns:1fr}.route .go{grid-row:2;grid-column:1;width:100%}.route .body{grid-column:1;grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:0 24px;border-radius:12px;background:var(--gov);color:#fff;font-weight:800;text-decoration:none;white-space:nowrap}
.btn:hover{background:#162e51}
.tool{display:block;font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gov);margin:0 0 4px}
.letter{position:relative;background:#fffdf8;border:1px solid #cfc9bc;border-radius:6px;box-shadow:3px 4px 0 #e7e2d7;padding:16px 18px 14px;font-family:Georgia,"Times New Roman",serif;font-size:.78em;line-height:1.5;color:#2b2b2b}
.letter .lh{display:flex;justify-content:space-between;gap:10px;border-bottom:2px solid #2b2b2b;padding-bottom:6px;margin-bottom:8px;font-family:Verdana,sans-serif;font-weight:700;font-size:.85em;letter-spacing:.02em}
.letter .lh small{font-weight:400}
.letter p{margin:0 0 6px}
.letter mark{background:#fff2a8;padding:0 3px;font-weight:700}
.letter .blur{color:transparent;text-shadow:0 0 6px rgba(0,0,0,.35);user-select:none}
.letter .tag{position:absolute;top:-11px;right:12px;background:var(--gov);color:#fff;font-family:Verdana,sans-serif;font-size:.75em;font-weight:700;padding:2px 10px;border-radius:999px}
.letter .look{margin:8px 0 0;font-family:Verdana,sans-serif;font-size:.85em;color:#444}
.side{position:sticky;top:20px}
@media(max-width:960px){.side{position:static}}
.dates{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);padding:22px 24px}
.dates h2{margin:0 0 4px;font-size:1.2em}
.dates .sub{margin:0 0 14px;color:var(--ink2);font-size:.85em}
.dates ol{list-style:none;margin:0;padding:0}
.dates li{padding:14px 0;border-top:2px solid var(--line)}
.dates .when{display:block;font-weight:800;color:var(--accent)}
.dates .what{display:block;margin:2px 0 4px}
.dates .now .when{color:#b91c1c}
.dates a{font-weight:700}
.help{margin-top:20px;background:#fffbeb;border:2px solid #f59e0b;border-radius:var(--r);padding:20px 24px}
.help h2{margin:0 0 6px;font-size:1.05em}
.help p{margin:0}

@media(max-width:760px){.route .btn{white-space:normal;text-align:center}}
