.brand-mark { width:34px; height:34px; }
.tool-access { color:var(--muted); font-size:12px; margin-top:25px; }
.article-illustration { max-width:940px; margin:0 0 40px; }
.article-illustration img { width:100%; height:auto; border-radius:12px; }
.article-illustration figcaption { color:var(--muted); font-size:13px; line-height:1.7; margin-top:12px; max-width:85ch; }
.site-header { position:sticky; top:0; z-index:30; }
.site-header nav a { min-height:44px; display:inline-flex; align-items:center; }
main h2,main section[id] { scroll-margin-top:145px; }
.field-hero { padding-top:0; }
.hero-intro { padding-bottom:28px; }
.hero-kicker { display:flex; justify-content:space-between; gap:16px; max-width:1280px; margin-inline:auto; padding:24px 0 22px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#c6dfce; }
.hero-kicker span:last-child { letter-spacing:.04em; }
.hero-quick-links { display:flex; flex-wrap:wrap; gap:9px; max-width:1280px; margin:-10px auto 24px; }
.hero-quick-links a { border:1px solid #4e8268; border-radius:999px; padding:10px 16px; color:#fffefa; font-size:12px; text-decoration:none; min-height:40px; }
.hero-quick-links a:hover { color:#123c2d; background:#d8efdf; }
.tool-index-number { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; min-width:25px; }
.editorial-feature { width:min(1280px,calc(100% - var(--gutter)*2)); margin:70px auto; display:grid; grid-template-columns:1fr 1fr; background:#e8eee3; border-radius:16px; overflow:hidden; }
.editorial-feature-copy { padding:clamp(28px,4vw,64px); align-self:center; }
.editorial-feature h2 { font-size:clamp(34px,4vw,52px); line-height:1.06; letter-spacing:-.035em; margin:20px 0; }
.editorial-feature p { max-width:41ch; color:var(--muted); margin-bottom:28px; font-size:16px; line-height:1.75; }
.editorial-feature img { width:100%; height:100%; object-fit:cover; min-height:330px; }
.rules-preview { width:min(1280px,calc(100% - var(--gutter)*2)); margin:0 auto 85px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.rule-preview { display:block; text-decoration:none; border-top:2px solid #a3bcaa; padding:22px 0 10px; }
.rule-preview .eyebrow { color:var(--muted); }
.rule-preview h3 { font-size:23px; line-height:1.2; margin:15px 0 12px; }
.rule-preview p { color:var(--muted); font-size:14px; line-height:1.65; }
.rule-preview .icon { margin-top:23px; }
.rule-preview:hover { border-color:var(--field); }
.quick-answer { max-width:940px; border-left:3px solid #b56d42; background:#e6efe3; padding:25px 30px; margin:5px 0 25px; border-radius:0 12px 12px 0; }
.quick-answer p { font-size:18px; line-height:1.7; max-width:73ch; margin:8px 0 0; }
.quick-answer a { margin-top:16px; display:inline-flex; align-items:center; gap:12px; font-size:14px; font-weight:600; text-underline-offset:4px; }
.quick-answer .icon { width:18px; }
.reading-meta { display:flex; flex-wrap:wrap; gap:10px 24px; color:var(--muted); font-size:12px; margin:-14px 0 28px; }
.reading-meta span:first-child { font-weight:600; letter-spacing:.08em; }
.page-outline { max-width:940px; padding:16px 0; border-bottom:1px solid var(--line); margin-bottom:35px; }
.page-outline summary { cursor:pointer; font-size:14px; font-weight:600; padding:8px 0; }
.page-outline summary span { font-weight:400; margin-left:14px; color:var(--muted); }
.page-outline ol { columns:2; padding-left:24px; margin:14px 0; }
.page-outline li { break-inside:avoid; padding:7px 15px 7px 0; font-size:14px; }
.page-outline a { text-underline-offset:4px; }
.copy-button { border:1px solid var(--line); background:var(--white); color:var(--ink); border-radius:7px; width:100%; min-height:46px; margin-top:12px; padding:12px; font-size:13px; cursor:pointer; }
.copy-button:disabled { opacity:.5; cursor:default; }
.system-legs { margin-top:24px; }
.system-lines { margin:55px 0 70px; }
.system-lines .compact { margin-bottom:20px; }
.system-lines .compact h2 { font-size:34px; margin-top:10px; }
.system-lines caption,.guide-table-wrap caption { text-align:left; padding:16px; font-size:12px; color:var(--muted); background:#e6eee4; }
.guide-table-wrap td:last-child { font-variant-numeric:tabular-nums; }
.guide-table-wrap tbody th { background:transparent; font-weight:600; }
.guide-table-wrap th,.guide-table-wrap td { font-size:14px; line-height:1.6; }
.article-copy .system-lines { margin:25px 0; }
.article-copy ol { padding-left:24px; line-height:1.8; }
.article-copy .section-heading h2 { margin:10px 0; }
.article-copy .section-heading { flex-wrap:wrap; gap:14px; }
.article-copy .section-heading p { margin:0; }
.breakdown-guides { margin-top:70px; margin-bottom:70px; }
.result-breakdown dt { flex-shrink:1; }
.result-breakdown dd { flex-shrink:0; max-width:55%; }
@media (min-width:1000px) { .calculation-summary { position:sticky; top:125px; } }
@media (max-width:950px) { .rules-preview { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  .hero-kicker { font-size:9px; padding-top:20px; flex-wrap:wrap; gap:7px; }
  .hero-quick-links { margin-top:0; gap:7px; }
  .hero-quick-links a { font-size:11px; padding:10px 13px; }
  .editorial-feature { grid-template-columns:1fr; margin-block:45px; }
  .editorial-feature img { height:auto; min-height:0; aspect-ratio:3/2; }
  .rules-preview { gap:22px; margin-bottom:45px; }
  .rule-preview h3 { font-size:21px; }
  .rule-preview p { font-size:13px; }
  .quick-answer { padding:20px; }
  .quick-answer p { font-size:16px; }
  .reading-meta { font-size:11px; margin-top:-10px; }
  .page-outline ol { columns:1; }
  .system-lines .compact h2 { font-size:29px; }
  .system-lines .section-heading { align-items:start; }
  .guide-table-wrap td,.guide-table-wrap th { font-size:12px; padding:12px; }
  .copy-button { min-height:48px; }
  .site-header nav { row-gap:0; }
  .site-header nav a { padding-block:10px; min-height:40px; }
}
@media (prefers-reduced-motion:reduce) { .hero-quick-links a { transition:none; } }
