:root{
  --text:#111; --muted:#666; --rule:#e5e5e5; --bg:#fff; --link:#0645ad; --maxw:920px; --card:#fcfcfc;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans","Liberation Sans",sans-serif;line-height:1.65;}
a{color:var(--link);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:24px 18px 64px;}
header{border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:18px;}
.brand{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;}
.brand h1{font-size:26px;margin:0;letter-spacing:0.2px;}
.brand .tagline{color:var(--muted);font-style:italic;}
nav{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;}
nav a{padding:6px 10px;border:1px solid transparent;border-radius:10px;}
nav a[aria-current="page"]{border-color:var(--rule);background:#fafafa;text-decoration:none;}
main h2{font-size:20px;margin-top:26px;border-bottom:1px solid var(--rule);padding-bottom:6px;}
main h3{font-size:16px;margin-top:18px;}
.meta{color:var(--muted);font-size:14px;}
.card{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;background:var(--card);margin:12px 0;}
hr{border:0;border-top:1px solid var(--rule);margin:22px 0;}
footer{margin-top:40px;padding-top:14px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px;}
.smallnav{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 0;}
.smallnav a{color:var(--muted);}
@media print {
  body { font-size: 11pt; }
  header, nav, .smallnav, footer { display: none !important; }
  .wrap { max-width: none; padding: 0; }
  .card { border: 0; background: transparent; padding: 0; }
  a { color: #000; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #444; }
  h2 { page-break-after: avoid; }
  h3 { page-break-after: avoid; }
  p, ul { orphans: 3; widows: 3; }
}
