:root { --paper:#f7faf9; --white:#fff; --ink:#273b40; --muted:#5d7073; --teal:#205e60; --teal-dark:#16484a; --line:#dce6e3; --wash:#eaf3f0; --note:#f5f0e6; --note-line:#d7c6a1; }
* { box-sizing:border-box; }
html { scroll-padding-top:28px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.85 Arial,Helvetica,sans-serif; }
a { color:var(--teal); text-underline-offset:4px; }
a:hover { color:var(--teal-dark); text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--teal); outline-offset:5px; }
.skip-link { position:absolute; top:-100px; left:16px; padding:12px; background:var(--white); z-index:5; }
.skip-link:focus { top:12px; }
.shell { max-width:1200px; margin:auto; padding-left:40px; padding-right:40px; }
.site-header { background:var(--white); border-top:4px solid var(--teal); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:100px; }
.wordmark { display:flex; align-items:center; gap:12px; color:var(--ink); font:normal 26px/1.2 Georgia,'Times New Roman',serif; letter-spacing:-0.6px; text-decoration:none; }
.brand-symbol { display:flex; justify-content:center; align-items:center; width:36px; height:40px; flex:0 0 36px; background:var(--teal); color:var(--white); border-radius:5px; font:normal 30px/1 Georgia,'Times New Roman',serif; letter-spacing:-2px; padding-right:3px; }
.brand-symbol > span { color:var(--wash); }
.header-inner nav { display:flex; gap:30px; }
.header-inner nav a { font-size:14px; text-decoration:none; white-space:nowrap; }
.header-inner nav a:hover,.header-inner nav a[aria-current] { text-decoration:underline; }
.page-shell { padding-top:48px; padding-bottom:64px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); font-size:13px; margin-bottom:30px; }
.breadcrumbs a { white-space:nowrap; }
.page-heading { max-width:880px; margin-bottom:32px; }
.eyebrow { color:var(--muted); font-size:11px; letter-spacing:0.07em; text-transform:uppercase; margin:0 0 18px; }
h1,h2,h3,h4 { font-family:Georgia,'Times New Roman',serif; font-weight:normal; line-height:1.2; letter-spacing:-0.03em; }
h1 { font-size:clamp(36px,4.6vw,56px); margin:0; overflow-wrap:anywhere; }
.archive-note { display:grid; grid-template-columns:130px minmax(0,1fr); gap:24px; background:var(--note); border-left:3px solid var(--note-line); border-radius:3px; padding:20px 24px; margin-bottom:44px; font-size:13px; }
.archive-note strong { font-weight:bold; color:var(--ink); }
.archive-note p { margin:0; color:var(--muted); }
.mobile-toc { display:none; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:80px; align-items:start; }
.article-copy { min-width:0; font-size:17px; line-height:1.95; }
.article-copy > p:first-child { font-size:19px; line-height:1.8; color:var(--teal-dark); margin-top:0; }
.article-copy p { margin:0 0 24px; }
.article-copy h2 { font-size:31px; margin:40px 0 22px; padding-top:28px; border-top:1px solid var(--line); }
.article-copy h2:first-child { margin-top:0; padding-top:0; border-top:0; }
.article-copy h3 { font-size:25px; margin:32px 0 18px; }
.article-copy h4 { font-size:22px; margin:26px 0 16px; }
.article-copy a { overflow-wrap:anywhere; }
.article-copy strong { color:var(--ink); }
aside { min-width:0; border-left:1px solid var(--line); padding-left:28px; }
aside h2 { font: bold 15px/1.4 Arial,Helvetica,sans-serif; letter-spacing:0; margin:0 0 18px; }
.on-page ul { list-style:none; padding:0; margin:0; }
.on-page li { margin-bottom:12px; }
.on-page a { font-size:14px; line-height:1.5; display:block; text-decoration:none; }
.on-page a:hover { text-decoration:underline; }
.guide-link { border-top:1px solid var(--line); padding-top:22px; margin-top:26px; }
.guide-link > span { display:block; color:var(--muted); font-size:11px; margin-bottom:8px; }
.guide-link a { font-size:14px; }
.health-note { margin-top:28px; padding:20px; background:var(--wash); border-radius:4px; }
.health-note h2 { font-size:14px; }
.health-note p { font-size:13px; line-height:1.75; color:var(--muted); margin:0 0 16px; }
.health-note a { font-size:12px; }
.next-page { display:block; max-width:790px; background:var(--white); border:1px solid var(--line); padding:24px 28px; margin-top:40px; border-radius:4px; text-decoration:none; }
.next-page > span { display:block; font-size:12px; color:var(--muted); margin-bottom:8px; }
.next-page strong { font:normal 24px/1.35 Georgia,'Times New Roman',serif; letter-spacing:-0.025em; }
.next-page:hover strong { text-decoration:underline; text-underline-offset:5px; }
.site-footer { border-top:1px solid var(--line); background:var(--white); }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:28px; padding-top:30px; padding-bottom:30px; }
.footer-brand { font:normal 24px/1.3 Georgia,'Times New Roman',serif; letter-spacing:-0.5px; text-decoration:none; }
.footer-inner p { margin:8px 0 0; color:var(--muted); font-size:12px; }
.footer-inner nav { display:flex; flex-wrap:wrap; gap:24px; }
.footer-inner nav a { white-space:nowrap; font-size:13px; }
.error-page { padding-top:64px; padding-bottom:64px; }
.error-page .footer-brand { display:inline-block; margin-bottom:40px; }
.error-page h1 { margin-bottom:28px; }
.error-page p { max-width:650px; }
@media(max-width:950px) {
  .article-layout { grid-template-columns:minmax(0,1fr) 220px; gap:40px; }
  aside { padding-left:22px; }
  .shell { padding-left:32px; padding-right:32px; }
}
@media(max-width:700px) {
  .shell { padding-left:22px; padding-right:22px; }
  .header-inner { flex-direction:column; align-items:flex-start; justify-content:center; gap:20px; padding-top:22px; padding-bottom:20px; }
  .wordmark { font-size:24px; }
  .header-inner nav { gap:28px; }
  .page-shell { padding-top:32px; padding-bottom:40px; }
  .page-heading { margin-bottom:24px; }
  h1 { font-size:39px; }
  .archive-note { grid-template-columns:minmax(0,1fr); gap:8px; padding:18px 20px; margin-bottom:32px; }
  .article-layout { display:block; }
  .mobile-toc { display:block; border:1px solid var(--line); border-radius:4px; padding:16px 20px; background:var(--white); margin-bottom:28px; }
  .mobile-toc summary { cursor:pointer; font-size:14px; color:var(--teal); }
  .mobile-toc summary:focus-visible { outline:3px solid var(--teal); outline-offset:4px; }
  .mobile-toc ul { padding-left:18px; margin:16px 0 0; font-size:14px; }
  .mobile-toc li { margin-bottom:10px; }
  .article-copy { font-size:16px; line-height:1.9; }
  .article-copy > p:first-child { font-size:18px; }
  .article-copy h2 { font-size:28px; }
  aside { padding:28px 0 0; border-left:0; border-top:1px solid var(--line); margin-top:36px; }
  .health-note { padding:22px; }
  .next-page { padding:22px; }
  .next-page strong { font-size:22px; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:22px; }
}
@media(max-width:360px) {
  .shell { padding-left:20px; padding-right:20px; }
  .wordmark { font-size:22px; gap:10px; }
  h1 { font-size:35px; }
}
