.geo-page { margin:0; background:#f9fbf8; color:#183c43; font:17px/1.8 system-ui,sans-serif; }
.geo-page *, .geo-home-section *, .geo-start *, .geo-related * { box-sizing:border-box; }
.geo-wrap { max-width:1200px; padding-inline:32px; margin:auto; }
.geo-hero { padding:clamp(42px,6vw,86px) 0 52px; background:#eaf3ef; border-bottom:1px solid #cedfdb; }
.geo-page h1,.geo-page h2,.geo-home-section h2 { font-family:Georgia,serif; letter-spacing:-.025em; font-weight:500; text-wrap:balance; }
.geo-page h1 { font-size:clamp(34px,4.5vw,60px); line-height:1.12; max-width:1000px; margin:12px 0 26px; }
.geo-deck { max-width:790px; font-size:20px; color:#4a666b; }
.geo-eyebrow { color:#287c80; font-size:12px; font-weight:650; letter-spacing:.065em; }
.geo-byline,.geo-caption,.geo-prose figcaption { font-size:13px; color:#4a666b; }
.geo-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:64px; padding-block:56px 70px; align-items:start; }
.geo-contents { position:sticky; top:150px; font-size:14px; border-top:2px solid #dfb35b; padding-top:20px; }
.geo-contents ol { padding-left:18px; margin:12px 0 28px; }
.geo-contents li { margin-bottom:12px; padding-left:4px; }
.geo-contents>a { display:block; padding:8px 0; }
.geo-page a,.geo-home-section a,.geo-start a,.geo-related a { color:#236c70; text-underline-offset:5px; overflow-wrap:anywhere; }
.geo-page :is(a,button,audio):focus-visible,.geo-home-section a:focus-visible { outline:3px solid #287c80; outline-offset:5px; }
.geo-prose { min-width:0; max-width:800px; overflow-wrap:anywhere; }
.geo-prose>p:first-child { font-size:21px; color:#315d56; }
.geo-prose h2 { font-size:clamp(26px,3vw,34px); line-height:1.25; margin:52px 0 20px; padding-top:24px; border-top:1px solid #cedfdb; scroll-margin-top:150px; }
.geo-prose h3 { font-size:20px; line-height:1.4; margin-top:30px; }
.geo-prose p { margin:0 0 22px; }
.geo-prose :is(ul,ol) { padding-left:24px; }
.geo-prose li { padding-left:6px; margin-bottom:16px; }
.geo-note { padding:0 26px 24px; margin:40px 0; background:#eaf3ef; border-bottom:1px solid #bdd3cb; }
.geo-prose .geo-note h2 { border-top:0; }
.geo-checklist { margin:30px 0; max-width:340px; }
.geo-checklist img { display:block; width:100%; height:auto; }
.geo-prose figcaption { margin-top:10px; }
.geo-audio { display:grid; grid-template-columns:120px minmax(0,1fr); gap:24px; margin:26px 0; align-items:start; }
.geo-audio>img { width:120px; height:auto; }
.geo-audio audio { display:block; width:100%; max-width:100%; margin-bottom:20px; }
.geo-audio p { font-size:14px; }
.geo-footer { border-top:1px solid #cedfdb; padding-block:40px; font-size:13px; }
.geo-footer>p { max-width:920px; }
.geo-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.geo-skip { position:absolute; left:16px; top:-100px; z-index:1000; padding:12px; background:#eaf3ef; }
.geo-skip:focus { top:16px; }
.geo-home-section { background:#f9fbf8; padding:clamp(40px,6vw,80px) 32px; color:#183c43; }
.geo-home-inner { max-width:1184px; margin:auto; }
.geo-home-section h2 { font-size:clamp(29px,3.5vw,44px); line-height:1.2; max-width:860px; margin:16px 0 24px; }
.geo-home-section p { max-width:820px; line-height:1.8; margin:0 0 16px; }
.geo-actions { display:flex; gap:24px 42px; flex-wrap:wrap; margin-top:26px; }
.geo-actions a,.geo-start a,.geo-related a { font-weight:600; }
.geo-start-columns { display:grid; grid-template-columns:1fr 1fr; gap:42px; }
.geo-related>p { max-width:780px; }
.geo-related .geo-caption { margin-top:18px; }
.geo-faq-item { border-bottom:1px solid #cedfdb; scroll-margin-top:150px; }
.geo-faq-item summary { display:flex; gap:20px; justify-content:space-between; align-items:baseline; padding:24px 0; cursor:pointer; font-size:19px; font-weight:600; line-height:1.5; list-style:none; }
.geo-faq-item summary::-webkit-details-marker { display:none; }
.geo-faq-item summary::after { content:'+'; flex:none; font-size:24px; color:#287c80; }
.geo-faq-item[open] summary::after { content:'−'; }
.geo-faq-item summary:focus-visible { outline:3px solid #287c80; outline-offset:5px; }
.geo-faq-answer { padding-bottom:12px; }
.geo-faq-permalink { display:inline-block; padding:6px 14px; margin-inline-start:10px; }
@media(max-width:760px) {
  .geo-wrap { padding-inline:22px; }
  .geo-layout { grid-template-columns:1fr; gap:30px; padding-top:30px; }
  .geo-contents { position:static; }
  .geo-contents ol { columns:2; column-gap:26px; }
  .geo-contents li { break-inside:avoid; }
  .geo-start-columns { grid-template-columns:1fr; gap:25px; }
  .geo-home-section { padding-inline:22px; }
}
@media(max-width:420px) {
  .geo-contents ol { columns:1; }
  .geo-audio { grid-template-columns:1fr; }
  .geo-note { padding-inline:18px; }
}
