:root { --bg:#FFF8F0; --surface:#FFFFFF; --text:#2A0F0A; --muted:#6E4B40; --accent:#7F1D1D; --accent2:#D4A017; }
* { box-sizing:border-box; }
html { scroll-padding-top:2rem; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Work Sans',sans-serif; font-size:18px; line-height:1.6; text-align:center; }
a { color:var(--accent); text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
h1,h2,h3,.wordmark { font-family:'Libre Baskerville',Georgia,serif; }
h1 { font-size:clamp(2rem,5.2vw,4.1rem); line-height:1.22; letter-spacing:-.035em; max-width:19ch; margin:1rem auto 1.5rem; }
h2 { font-size:clamp(1.45rem,3vw,2rem); line-height:1.35; margin:0 auto 1.5rem; max-width:29ch; }
h3 { font-size:1.12rem; line-height:1.5; }
p { max-width:66ch; margin:0 auto 1.2rem; }
strong { font-weight:700; }
.skip-link { position:absolute; top:-10rem; left:1rem; background:white; padding:1rem; z-index:10; }
.skip-link:focus { top:1rem; }
header { background:var(--surface); border-top:5px solid var(--accent); }
.top-nav { max-width:1440px; padding:1.3rem 1.5rem; margin:auto; display:flex; align-items:center; gap:1.7rem; justify-content:space-between; flex-wrap:wrap; }
.wordmark { font-size:1.15rem; text-decoration:none; font-weight:700; white-space:nowrap; }
.wordmark span { display:inline-block; font:600 .75rem 'Work Sans',sans-serif; border:1px solid var(--accent); padding:.15rem .3rem; vertical-align:middle; }
.nav-links { display:flex; align-items:center; justify-content:center; gap:1.6rem; flex-wrap:wrap; font-size:.9rem; }
.nav-links a { color:var(--text); text-decoration:none; padding:.35rem 0; }
.nav-links a[aria-current] { border-bottom:2px solid var(--accent); }
.cta { display:inline-block; padding:.75rem 1.15rem; background:var(--accent); color:white; border-radius:4px; text-decoration:none; font-size:.85rem; font-weight:600; overflow-wrap:anywhere; }
.top-nav > .cta { margin-left:auto; }
.breadcrumb { padding:1rem; font-size:.8rem; color:var(--muted); }
.breadcrumb span { margin:0 .25rem; }
.hero { padding:4.5rem 1.5rem 3rem; background:linear-gradient(135deg,#3B0A0A 0%,#7F1D1D 50%,#B45309 100%); color:white; }
.eyebrow,.card-label { text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; font-weight:700; }
.hero .eyebrow { color:#FFFFFF; }
.quick-answer { max-width:64ch; margin:auto; font-size:1.12rem; }
.quick-answer p { margin-bottom:0; }
.hero-foot { font-size:.75rem; letter-spacing:.09em; margin-top:2rem; }
.weave { height:24px; border-top:3px solid var(--accent2); border-bottom:3px solid var(--accent2); background-color:#FFF1D2; background-image:repeating-linear-gradient(45deg,transparent 0,transparent 8px,#7F1D1D 8px,#7F1D1D 11px,transparent 11px,transparent 16px),repeating-linear-gradient(-45deg,transparent 0,transparent 8px,#D4A017 8px,#D4A017 11px,transparent 11px,transparent 16px); }
.timeline { max-width:1100px; margin:auto; padding:4rem 1.5rem 2rem; position:relative; }
.timeline::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:2px; background:#B98970; z-index:-0; }
.timeline > section { position:relative; background:var(--surface); border:1px solid #E4CCBC; border-radius:6px; margin:0 auto 3.5rem; padding:2.5rem clamp(1.1rem,4vw,3.5rem); max-width:880px; }
.timeline > section::before { content:''; width:13px; height:13px; background:var(--accent); border:3px solid var(--bg); outline:1px solid var(--accent); border-radius:50%; position:absolute; left:calc(50% - 6px); top:-1.95rem; }
.timeline > .story { background:#FFF1DF; border-top:4px solid var(--accent); }
.story .eyebrow { color:var(--accent); }
ul,ol { max-width:62ch; margin:1.5rem auto; padding:0; list-style-position:inside; }
li { padding:.7rem .6rem; }
.key-facts { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.key-facts li { padding:1rem; border:1px solid #E4CCBC; background:var(--bg); border-radius:4px; }
.key-facts strong { display:block; color:var(--accent); }
.steps li { border-bottom:1px solid #E4CCBC; padding:1rem .6rem; }
.table-wrap { max-width:100%; overflow-x:auto; margin:1.5rem 0; }
table { border-collapse:collapse; width:100%; font-size:.94rem; background:var(--bg); }
caption { font-weight:600; padding:0 .5rem 1rem; color:var(--muted); }
th,td { padding:1rem .7rem; border-bottom:1px solid var(--accent); text-align:center; overflow-wrap:break-word; }
thead th { background:var(--accent); color:white; }
tbody th { font-weight:600; }
.timeline > .explore { max-width:none; background:var(--bg); border:0; padding:1.5rem 0; }
.card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.guide-card { display:block; padding:1.8rem 1.3rem; border:1px solid #E4CCBC; border-top:3px solid var(--accent); border-radius:4px; background:white; text-decoration:none; }
.guide-card:hover { border-color:var(--accent); }
.guide-card p { font-size:.95rem; color:var(--muted); }
.card-arrow { font-size:1.5rem; }
.faq details { border-top:1px solid #E4CCBC; padding:1.15rem .3rem; }
.faq summary { cursor:pointer; font-weight:600; color:var(--accent); }
.faq details p { margin:1rem auto 0; font-size:.97rem; }
.updated { position:relative; background:var(--bg); padding:1rem; font-size:.8rem; color:var(--muted); }
footer { padding:3rem 1.5rem 2rem; background:#F5E7D8; }
footer p { font-size:.88rem; max-width:60ch; margin:1.5rem auto .7rem; }
footer > a:not(.cta) { font-size:.9rem; }
.footer-mark { color:var(--muted); font-size:.75rem; }
.not-found { padding:5rem 1.5rem; }
@media (max-width:850px) { .top-nav { gap:1rem; } .nav-links { order:3; flex-basis:100%; gap:1.1rem; } .hero { padding-top:3.5rem; } }
@media (max-width:540px) { body { font-size:17px; } .top-nav { padding:1rem; justify-content:center; } .top-nav > .cta { margin-left:0; } .wordmark { flex-basis:100%; } .nav-links { gap:.65rem 1rem; font-size:.83rem; } .card-grid,.key-facts { grid-template-columns:1fr; } .timeline { padding:3rem .8rem 1rem; } .timeline > section { padding:1.8rem 1rem; margin-bottom:3rem; } .hero { padding:2.8rem 1.1rem 2rem; } .quick-answer { font-size:1rem; } th,td { padding:.7rem .4rem; font-size:.8rem; } }
@media print { header,.weave,footer,.skip-link { display:none; } .hero { background:white; color:black; } .timeline::before,.timeline > section::before { display:none; } .timeline > section { break-inside:avoid; } }
