:root { color-scheme:light; --ink:#173f3c; --muted:#64756e; --teal:#1f645b; --teal-dark:#123f3d; --cream:#f7f4e9; --paper:#fffdf6; --line:#d8ded3; --sand:#e9d7b6; --orange:#c96a3d; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); line-height:1.65; }
a { color:var(--teal); text-underline-offset:3px; }
.skip-link { position:absolute; left:1rem; top:-5rem; z-index:10; padding:.7rem 1rem; background:white; border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.content-header { min-height:78px; padding:0 clamp(1.1rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:1px solid #ffffff2e; color:white; background:var(--teal-dark); }
.content-brand { display:flex; align-items:center; gap:.65rem; color:white; text-decoration:none; font-family:Georgia,serif; font-size:1.55rem; line-height:1; }
.content-brand small { display:block; margin-top:.35rem; font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.52rem; letter-spacing:.15em; opacity:.7; }
.brand-wave { display:grid; width:38px; height:38px; place-items:center; border:1px solid #ffffff55; border-radius:50%; color:#d9c18f; font-family:Inter,sans-serif; font-size:1.5rem; }
.content-header nav,.content-footer nav { display:flex; flex-wrap:wrap; gap:1.2rem; }
.content-header nav a { color:#eaf3ed; font-size:.88rem; text-decoration:none; }
.spot-hero,.collection-hero { color:white; background:radial-gradient(circle at 80% 20%,#3a7b7045,transparent 34%),linear-gradient(135deg,#173f3c,#0f302f); }
.hero-inner { width:min(1120px,calc(100% - 2.2rem)); margin:auto; padding:clamp(3.5rem,8vw,7rem) 0; }
.breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; margin-bottom:2.4rem; color:inherit; font-size:.8rem; opacity:.78; }
.breadcrumbs a { color:inherit; }
.eyebrow,.section-label { margin:0 0 .65rem; color:#b78343; font-size:.72rem; font-weight:800; letter-spacing:.14em; }
.spot-hero .eyebrow,.collection-hero .eyebrow { color:#e7c483; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; line-height:1.08; }
h1 { max-width:900px; margin:.2rem 0 1.1rem; font-size:clamp(2.7rem,7vw,5.5rem); }
h1 em { color:#e1c184; font-weight:400; }
h2 { margin:.2rem 0 1rem; font-size:clamp(1.7rem,3.4vw,2.5rem); }
.hero-summary { max-width:760px; color:#e5eee8; font-size:clamp(1.02rem,2vw,1.28rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.primary-link,.secondary-link { display:inline-flex; min-height:45px; align-items:center; justify-content:center; padding:.65rem 1rem; border:1px solid transparent; border-radius:.45rem; font-weight:750; text-decoration:none; }
.primary-link { color:white; background:var(--orange); }
.secondary-link { border-color:currentColor; color:inherit; background:transparent; }
.content-layout { width:min(1120px,calc(100% - 2.2rem)); margin:auto; padding:clamp(2.7rem,7vw,6rem) 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,330px); gap:clamp(2rem,6vw,5.5rem); align-items:start; }
.article-stack { min-width:0; }
.article-stack>section { padding:2.4rem 0; border-bottom:1px solid var(--line); }
.article-stack p,.article-stack li,.document-wrap p,.document-wrap li { color:#52665e; font-size:1.03rem; }
.article-stack li+li,.document-wrap li+li { margin-top:.65rem; }
.notice { padding:1.2rem 1.35rem; border-left:4px solid #ad7a38; border-radius:.45rem; background:#efe5d1; }
.notice strong { font-size:1rem; }
.notice p { margin:.35rem 0 0; font-size:.92rem; }
.fact-card { position:sticky; top:1rem; padding:1.5rem; border:1px solid var(--line); border-radius:.7rem; background:var(--paper); box-shadow:0 12px 35px #294d4020; }
.fact-card dl { margin:0; }
.fact-card dl div { padding:.75rem 0; border-top:1px solid var(--line); }
.fact-card dt { color:#78877e; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.fact-card dd { margin:.15rem 0 0; font-weight:700; }
.fact-caution,.review-note,.supporting-copy { color:#718077 !important; font-size:.82rem !important; }
.text-link { font-size:.86rem; font-weight:750; }
.source-list { padding:0; list-style:none; }
.source-list li { padding:1rem 0; border-top:1px solid var(--line); }
.source-list a,.source-list span { display:block; }
.source-list span { margin-top:.2rem; color:#7b877f; font-size:.78rem; }
.card-grid { width:min(1120px,calc(100% - 2.2rem)); margin:auto; padding:clamp(2.6rem,6vw,5.5rem) 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.guide-card { display:flex; min-height:320px; flex-direction:column; padding:1.5rem; border:1px solid var(--line); border-radius:.7rem; background:var(--paper); box-shadow:0 10px 30px #294d4012; }
.guide-card>p { margin:0; color:#8b7250; font-size:.7rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.guide-card h2 { margin:.7rem 0; font-size:1.55rem; }
.guide-card h2 a { color:var(--ink); text-decoration:none; }
.guide-card>span { color:var(--muted); font-size:.9rem; }
.guide-card>div { display:flex; flex-wrap:wrap; gap:.35rem; margin:1rem 0; }
.guide-card small { padding:.25rem .45rem; border-radius:3rem; color:#446158; background:#e8efe8; }
.card-link { margin-top:auto; font-weight:750; text-decoration:none; }
.collection-note { margin:0 auto clamp(3rem,7vw,6rem); padding:clamp(1.8rem,4vw,3rem); width:min(900px,calc(100% - 2.2rem)); border-radius:.8rem; color:white; background:var(--teal); text-align:center; }
.collection-note h2 { margin-top:0; }
.collection-note p { color:#e3eee8; }
.document-main { min-height:70vh; }
.document-wrap { width:min(820px,calc(100% - 2.2rem)); margin:auto; padding:clamp(2.5rem,7vw,6rem) 0; }
.document-wrap .breadcrumbs { color:var(--muted); }
.document-wrap h1 { font-size:clamp(2.7rem,6vw,4.8rem); }
.document-intro { margin-bottom:3rem; font-size:1.2rem !important; }
.document-wrap section { padding:1.8rem 0; border-top:1px solid var(--line); }
.document-wrap section h2 { font-size:1.8rem; }
.not-found { min-height:70vh; display:grid; place-items:center; padding:2rem; text-align:center; }
.not-found h1 { font-size:clamp(2.6rem,6vw,5rem); }
.not-found p { color:var(--muted); }
.content-footer { padding:2.4rem clamp(1.1rem,4vw,4.5rem); display:grid; grid-template-columns:1fr auto; gap:1.5rem 3rem; color:#d9e6df; background:#0d2d2c; }
.content-footer strong { font-family:Georgia,serif; font-size:1.3rem; }
.content-footer p { margin:.35rem 0; color:#9fb4aa; font-size:.82rem; }
.content-footer a { color:#d9e6df; font-size:.82rem; }
.footer-note { grid-column:1/-1; padding-top:1rem; border-top:1px solid #ffffff1a; }
@media (max-width:850px) { .content-header { min-height:auto; padding-top:1rem; padding-bottom:1rem; align-items:flex-start; flex-direction:column; } .content-layout { grid-template-columns:1fr; } .fact-card { position:static; } .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .content-footer { grid-template-columns:1fr; } .footer-note { grid-column:auto; } }
@media (max-width:560px) { .content-header nav { gap:.8rem; } .content-header nav a { font-size:.78rem; } .hero-inner { padding:3rem 0; } .card-grid { grid-template-columns:1fr; } .guide-card { min-height:280px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
