.guide-page { min-height: 100vh; background: var(--page); }
.guide-page .site-header { position: sticky; top: 0; backdrop-filter: blur(14px); }
.guide-intro { padding: clamp(42px, 6vw, 78px) 0; border-bottom: 1px solid var(--line); background: var(--brand-soft); }
.guide-intro-layout, .guide-layout { width: min(1120px, calc(100% - 40px)); }
.guide-intro-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .46fr); align-items: stretch; gap: clamp(32px, 6vw, 88px); }
.guide-intro h1 { max-width: 14ch; margin: 0; font-size: clamp(38px, 5.3vw, 64px); line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.guide-intro > .guide-intro-layout > div > p:not(.guide-review) { max-width: 42ch; margin: 25px 0 0; color: var(--ink-soft); font-size: clamp(16px, 1.8vw, 19px); line-height: 1.8; }
.guide-review { margin: 20px 0 0; color: var(--brand-dark); font-size: 13px; font-weight: 700; }
.guide-year-state { display: flex; flex-direction: column; justify-content: end; padding: 23px 0 0; border-top: 1px solid rgba(36, 72, 170, .48); }
.guide-year-state h2 { margin: 0 0 13px; font-size: 16px; line-height: 1.4; }
.guide-year-state ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.guide-year-state li { display: grid; grid-template-columns: 6.4em minmax(0, 1fr); gap: 9px; color: var(--ink-soft); font-size: 14px; line-height: 1.45; }
.guide-year-state time, .guide-year-state strong { color: var(--brand-dark); font-weight: 800; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 70ch) minmax(220px, 260px); align-items: start; justify-content: space-between; gap: clamp(34px, 7vw, 96px); padding-top: clamp(42px, 6vw, 78px); padding-bottom: clamp(82px, 10vw, 130px); }
.guide-reading { min-width: 0; color: var(--ink); font-size: clamp(16px, 1.7vw, 18px); line-height: 1.9; }
.guide-reading section + section { margin-top: clamp(52px, 7vw, 82px); }
.guide-reading h2 { margin: 0 0 .7em; font-size: clamp(25px, 3vw, 34px); line-height: 1.32; letter-spacing: -.03em; text-wrap: balance; }
.guide-reading h3 { margin: 0; font-size: 18px; line-height: 1.45; letter-spacing: -.015em; }
.guide-reading p { margin: 0 0 1.25em; }
.guide-stage-map { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.guide-stage-map li { border-bottom: 1px solid var(--line); }
.guide-stage-map a { display: grid; grid-template-columns: minmax(180px, .58fr) minmax(0, 1fr); gap: 22px; padding: 20px 0; color: inherit; text-decoration: none; }
.guide-stage-map strong { color: var(--ink); line-height: 1.5; }
.guide-stage-map span { color: var(--ink-soft); font-size: .94em; }
.guide-stage-map a:hover strong, .guide-stage-map a:focus-visible strong { color: var(--brand-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.guide-eligibility > p { max-width: 58ch; color: var(--ink-soft); }
.guide-condition { padding: 25px 0 24px; border-top: 1px solid var(--line); }
.guide-condition:last-child { border-bottom: 1px solid var(--line); }
.guide-condition h3 { color: var(--brand-dark); }
.guide-condition ul { margin: 12px 0 16px; padding-left: 1.3em; }
.guide-condition li + li { margin-top: .34em; }
.guide-condition p { margin: 0; color: var(--ink-soft); font-size: .93em; }
.guide-calendar > p { color: var(--ink-soft); }
.guide-timeline { margin: 0; padding: 0; border-top: 1px solid var(--brand); list-style: none; }
.guide-timeline li { display: grid; grid-template-columns: minmax(94px, .22fr) minmax(0, 1fr); gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.guide-timeline .guide-date { padding-top: 3px; color: var(--brand-dark); font-size: 14px; font-weight: 800; line-height: 1.5; font-variant-numeric: tabular-nums; }
.guide-timeline h3 { margin-bottom: 5px; }
.guide-timeline p { margin: 0; color: var(--ink-soft); font-size: .94em; }
.guide-community { display: grid; grid-template-columns: minmax(0, .88fr) minmax(260px, .72fr); align-items: center; gap: clamp(30px, 6vw, 72px); padding: clamp(28px, 4vw, 46px) 0; border-top: 1px solid var(--brand); border-bottom: 1px solid var(--brand); }
.guide-community h2 { margin-bottom: .45em; }
.guide-community-copy > p:not(.guide-community-action) { max-width: 34ch; color: var(--ink-soft); }
.guide-community-action { margin-bottom: 0; color: var(--brand-dark); font-size: .94em; font-weight: 800; }
.guide-community-fallback { margin-top: 10px; margin-bottom: 0; font-size: 14px; }
.guide-community-visual { width: min(100%, 330px); margin: 0; justify-self: end; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.guide-community-visual img { display: block; width: 100%; height: auto; }
.guide-documents > p { color: var(--ink-soft); }
.guide-document-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.guide-document-list li { display: grid; grid-template-columns: minmax(156px, .46fr) minmax(0, 1fr); gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.guide-document-list strong { line-height: 1.55; }
.guide-document-list span { color: var(--ink-soft); font-size: .94em; }
.guide-steps { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; counter-reset: step; }
.guide-steps li { display: grid; grid-template-columns: minmax(150px, .48fr) minmax(0, 1fr); gap: 20px; padding: 21px 0; border-bottom: 1px solid var(--line); counter-increment: step; }
.guide-steps strong { display: grid; grid-template-columns: 2.1em minmax(0, 1fr); gap: 9px; color: var(--ink); line-height: 1.45; }
.guide-steps strong::before { color: var(--brand-dark); font-size: 13px; content: counter(step, decimal-leading-zero); }
.guide-steps span { color: var(--ink-soft); font-size: .94em; }
.guide-questions { margin: 0; border-top: 1px solid var(--brand); }
.guide-questions div { display: grid; grid-template-columns: minmax(135px, .38fr) minmax(0, 1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.guide-questions dt { color: var(--brand-dark); font-weight: 800; }
.guide-questions dd { margin: 0; color: var(--ink-soft); font-size: .94em; }
.guide-sources { margin: 0; padding-left: 1.35em; }
.guide-sources li + li { margin-top: .72em; }
.guide-sources a, .guide-next a, .guide-aside a { color: var(--brand-dark); font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.guide-next { margin-top: clamp(54px, 7vw, 82px); padding-top: 25px; border-top: 1px solid var(--line); }
.guide-next p { color: var(--ink-soft); font-size: 15px; }
.guide-next div { display: flex; flex-wrap: wrap; gap: 11px 24px; }
.guide-next a { font-size: 14px; }
.guide-aside { position: sticky; top: 98px; padding-top: 4px; }
.guide-aside h2 { margin: 0 0 12px; font-size: 16px; line-height: 1.45; }
.guide-aside nav { padding-top: 14px; border-top: 1px solid var(--line); }
.guide-aside ol { display: grid; gap: 9px; margin: 0; padding-left: 1.25em; }
.guide-aside li { padding-left: 2px; color: var(--brand-dark); }
.guide-aside a { font-size: 14px; }
.guide-aside p { margin: 20px 0 15px; color: var(--ink-soft); font-size: 14px; line-height: 1.7; }
.guide-aside p strong { color: var(--ink); }
.guide-updates ol { margin: 0; padding: 0; list-style: none; }
.guide-updates li { color: var(--ink-soft); font-size: .94em; }
.guide-updates time { color: var(--brand-dark); font-weight: 800; }
.guide-page ::selection { background: var(--brand-soft); color: var(--ink); }
.guide-page :focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; }
@media (max-width: 900px) { .guide-layout { display: block; } .guide-aside { position: static; max-width: 70ch; margin-top: 52px; } }
@media (max-width: 700px) { .guide-page .site-header { position: relative; } .guide-intro-layout, .guide-community { grid-template-columns: 1fr; gap: 33px; } .guide-intro h1 { max-width: none; font-size: 39px; line-height: 1.2; } .guide-intro > .guide-intro-layout > div > p:not(.guide-review) { margin-top: 19px; } .guide-stage-map a, .guide-timeline li, .guide-document-list li, .guide-steps li, .guide-questions div { grid-template-columns: 1fr; gap: 8px; padding: 19px 0; } .guide-community-visual { justify-self: start; } .guide-layout { padding-top: 39px; } }
