
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap");
:root { --ink:#1c1917; --muted:#57534e; --line:#e7e5e4; --paper:#f7f6f3; --link:#0f4c5c; --cta:#0f4c5c; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:18px/1.65 "Source Sans 3", system-ui, sans-serif; }
a { color: var(--link); }
.skip { position:absolute; left:-999px; }
.skip:focus { left:8px; top:8px; background:#fff; padding:8px; z-index:3; }
.top { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:2; }
.bar { max-width:72rem; margin:0 auto; display:flex; align-items:center; gap:.75rem; padding:.7rem 1.1rem; }
.brand { color:var(--ink); font-weight:700; text-decoration:none; margin-right:auto; }
.cta { display:inline-block; background:var(--cta); color:#fff; text-decoration:none; font-weight:700; border-radius:999px; padding:.55rem .95rem; }
.cta:focus-visible, a:focus-visible { outline:2px solid var(--link); outline-offset:2px; }
.nav-toggle { font:inherit; background:#fff; border:1px solid var(--line); border-radius:8px; padding:.35rem .6rem; }
#nav { display:none; max-width:72rem; margin:0 auto; padding:0 1.1rem .7rem; gap:.35rem; flex-wrap:wrap; }
#nav.is-open { display:flex; }
#nav a { color:var(--muted); text-decoration:none; padding:.3rem .45rem; }
#nav a[aria-current="page"] { color:var(--ink); box-shadow:inset 0 -2px 0 var(--link); }
.sheet { max-width:42rem; margin:0 auto; padding:1.4rem 1.1rem 3rem; }
h1, h2, h3, h4 { font-family:"Source Serif 4", Georgia, serif; line-height:1.2; }
h1 { font-size:clamp(1.8rem, 4vw, 2.5rem); margin:0 0 1rem; }
h2 { font-size:1.45rem; margin:1.8rem 0 .5rem; }
h3 { font-size:1.15rem; margin:1.2rem 0 .35rem; }
p, li { max-width:68ch; }
figure { margin:1rem 0; }
img { max-width:100%; height:auto; display:block; border-radius:8px; }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
th, td { border:1px solid var(--line); padding:.4rem .5rem; text-align:left; vertical-align:top; }
.toc { background:#fff; border:1px solid var(--line); border-radius:10px; padding:.8rem 1rem; margin:0 0 1.2rem; }
.toc p { margin:.1rem 0 .4rem; font-weight:700; }
.toc ol { margin:0; padding-left:1.2rem; }
.toc a { text-decoration:none; }
.schema-faq-section { border-top:1px solid var(--line); padding:.7rem 0; }
.schema-faq-question { display:block; margin-bottom:.25rem; }
.end-cta { margin-top:1.6rem; }
footer { max-width:42rem; margin:0 auto; padding:1rem 1.1rem 2rem; color:var(--muted); font-size:.9rem; border-top:1px solid var(--line); }
footer a { color:var(--ink); }
@media (min-width: 900px) {
  .nav-toggle { display:none; }
  #nav { display:flex; }
}
@media (max-width: 720px) {
  .end-cta .cta, .bar .cta { }
  .sheet p, .sheet li { max-width:none; }
}
