:root{
  --ink:#142033;
  --muted:#607086;
  --line:#dfe6ee;
  --soft:#f5f8fb;
  --brand:#173f73;
  --brand-2:#0f6a63;
  --accent:#e8f2ff;
  --white:#fff;
  --max:1120px;
  --reading:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;border:1px solid var(--line);z-index:99}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.header-inner{
  max-width:var(--max);margin:auto;padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.brand{text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:-.02em}
.brand small{display:block;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.01em}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);font-weight:650;font-size:.94rem}
nav a[aria-current="page"]{color:var(--brand)}
.hero{
  background:linear-gradient(180deg,#f6f9fd 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.hero-inner{max-width:var(--max);margin:auto;padding:58px 22px 48px}
.eyebrow{
  display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--brand-2);margin-bottom:12px
}
h1,h2,h3{line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(2.15rem,5vw,4rem);max-width:900px;margin:0 0 18px}
.hero p{font-size:1.14rem;max-width:760px;color:var(--muted);margin:0}
.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:18px}
.breadcrumbs a{color:var(--muted)}
.layout{
  max-width:var(--max);margin:0 auto;padding:36px 22px 70px;
  display:grid;grid-template-columns:minmax(0,var(--reading)) minmax(230px,1fr);
  gap:52px;align-items:start;
}
.article-meta{
  display:flex;gap:10px 22px;flex-wrap:wrap;color:var(--muted);
  font-size:.9rem;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px;
}
.quick-answer{
  background:var(--accent);border:1px solid #cfe1f7;border-radius:14px;
  padding:20px 22px;margin:24px 0;
}
.quick-answer strong{display:block;margin-bottom:4px}
.toc{
  border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:26px 0;background:#fff;
}
.toc p{font-weight:800;margin:0 0 10px}
.toc ul{margin:0;padding-left:20px}
article h2{font-size:1.75rem;margin:44px 0 14px}
article h3{font-size:1.28rem;margin:28px 0 10px}
article p{margin:0 0 18px}
article ul, article ol{padding-left:24px}
article li{margin:7px 0}
.table-wrap{overflow-x:auto;margin:24px 0 30px;border:1px solid var(--line);border-radius:14px}
table{width:100%;border-collapse:collapse;min-width:720px;font-size:.94rem}
th,td{padding:14px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{background:var(--soft);font-size:.85rem;letter-spacing:.02em}
tr:last-child td{border-bottom:0}
.course-card{border-top:1px solid var(--line);padding-top:4px}
.fact-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;
  margin:12px 0 18px;padding:15px 17px;background:var(--soft);border-radius:12px;font-size:.93rem
}
.fact-grid span{color:var(--muted)}
.cta-link{
  display:inline-block;margin:4px 0 10px;padding:10px 15px;border-radius:9px;
  text-decoration:none;background:var(--brand);color:white;font-weight:750
}
.note{border-left:4px solid var(--brand-2);padding:10px 0 10px 16px;color:#3d4b5d}
.source-list{
  margin-top:42px;padding-top:22px;border-top:1px solid var(--line);font-size:.91rem;color:var(--muted)
}
.source-list li{margin:9px 0}
aside{position:sticky;top:24px}
.side-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--soft);margin-bottom:18px}
.side-card h2{font-size:1.05rem;margin:0 0 10px}
.side-card p,.side-card li{font-size:.9rem;color:var(--muted)}
.side-card ul{padding-left:19px;margin-bottom:0}
.related{
  margin-top:46px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--soft)
}
.related h2{margin:0 0 10px;font-size:1.25rem}
.site-footer{border-top:1px solid var(--line);background:#0f1c2d;color:#d9e3ef}
.footer-inner{
  max-width:var(--max);margin:auto;padding:34px 22px;display:grid;
  grid-template-columns:2fr 1fr;gap:30px
}
.site-footer a{color:#fff}
.site-footer p{margin:5px 0;color:#b8c5d4;font-size:.9rem}
.footer-title{font-weight:800;color:#fff;margin-bottom:8px}
.resources-grid{
  max-width:var(--max);margin:auto;padding:42px 22px 76px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px
}
.resource-card{border:1px solid var(--line);border-radius:15px;padding:22px;text-decoration:none;color:var(--ink)}
.resource-card:hover{box-shadow:0 8px 24px rgba(20,32,51,.08)}
.resource-card h2{font-size:1.2rem;margin:8px 0}
.resource-card p{color:var(--muted);font-size:.94rem}
.tag{font-size:.74rem;text-transform:uppercase;font-weight:800;letter-spacing:.07em;color:var(--brand-2)}
@media(max-width:860px){
  .layout{grid-template-columns:1fr;gap:24px}
  aside{position:static}
  .resources-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .header-inner{align-items:flex-start;flex-direction:column}
  nav{gap:12px}
  .hero-inner{padding-top:38px}
  .layout{padding-top:26px}
  .fact-grid{grid-template-columns:1fr}
  .resources-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
}
