/* Decide / Learn. Exact cream, pine, and typography from the original site. */
.geo-page { font-size:17px; line-height:1.8; padding-bottom:0; word-break:keep-all; overflow-wrap:anywhere; }
.geo-page :where(h1,h2,h3) { text-wrap:balance; }
.geo-page :where(p,li,dd) { text-wrap:pretty; }
.geo-page :where(a,summary), .geo-guide a { min-height:44px; min-width:44px; }
.geo-page a { display:inline-flex; align-items:center; text-underline-offset:5px; }
.geo-page :where(a,summary):focus-visible, .geo-guide a:focus-visible { outline:3px solid var(--pine); outline-offset:5px; }
.geo-page .skip { z-index:100; }
.geo-page .brand { display:block; }
.geo-page .brand small { color:#705a37; }
.geo-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.geo-header { border-bottom:1px solid var(--line); }
.geo-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:92px; }
.geo-nav nav { display:flex; gap:24px; }
.geo-nav nav a { font-size:14px; text-decoration:none; }
.geo-breadcrumb { display:flex; align-items:center; gap:16px; margin-top:24px; font-size:13px; color:#625b54; }
.geo-eyebrow { font-size:12px; letter-spacing:.14em; font-weight:700; color:#705a37; margin:0 0 20px; }
.geo-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:64px; align-items:center; padding:50px 0 64px; }
.geo-hero h1 { font-family:var(--serif); font-size:clamp(34px,3.7vw,52px); line-height:1.3; letter-spacing:-.055em; margin:0 0 28px; }
.geo-lead { color:#514a44; margin:0 0 30px; max-width:39rem; }
.geo-hero figure { margin:0; align-self:center; }
.geo-hero img { width:100%; height:390px; object-fit:cover; }
.geo-hero figcaption { font-size:13px; color:#625b54; padding-top:14px; }
.geo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; }
.geo-page .geo-button { padding:14px 22px; min-height:52px; justify-content:center; background:var(--pine); color:var(--white); text-decoration:none; border:1px solid var(--pine); border-radius:4px; font-size:15px; font-weight:600; text-align:center; }
.geo-page .geo-button:hover { background:#263a31; }
.geo-page .geo-text-link { font-size:14px; gap:8px; }
.geo-location { margin-top:26px; color:#625b54; font-size:13px; }
.geo-contents { display:flex; flex-wrap:wrap; gap:6px 32px; align-items:center; padding:12px 0; border-block:1px solid var(--line); font-size:14px; }
.geo-contents>span { font-size:12px; color:#625b54; margin-right:auto; }
.geo-contents a { text-decoration:none; }
.geo-contents a:hover { text-decoration:underline; }
.geo-split { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,6fr); gap:9%; }
.geo-section { padding:86px 0; border-bottom:1px solid var(--line); }
.geo-page section[id] { scroll-margin-top:24px; }
.geo-page h2 { font-size:clamp(27px,3vw,36px); line-height:1.4; letter-spacing:-.045em; margin:0 0 22px; }
.geo-page h3 { font-size:21px; line-height:1.5; margin:0 0 14px; letter-spacing:-.03em; }
.geo-split p { color:#514a44; margin:0 0 22px; }
.geo-split .geo-eyebrow { color:#705a37; }
.geo-choice+.geo-choice { padding-top:28px; margin-top:28px; border-top:1px solid var(--line); }
.geo-checklist { margin:0; padding-left:1.6em; }
.geo-checklist li { padding:0 0 25px 12px; }
.geo-checklist li::marker { font-size:14px; font-weight:700; color:var(--pine); }
.geo-faq details { border-bottom:1px solid var(--line); padding:0 0 18px; margin-bottom:18px; }
.geo-faq summary { cursor:pointer; padding:10px 30px 10px 0; font-weight:600; line-height:1.6; }
.geo-faq details p { margin:16px 0 0; }
.geo-visit { background:var(--stone); padding:80px 0; }
.geo-visit dl { margin:0 0 16px; }
.geo-visit dl>div { display:grid; grid-template-columns:90px minmax(0,1fr); border-bottom:1px solid var(--line); padding:16px 0; gap:20px; }
.geo-visit dt { font-size:13px; font-weight:700; }
.geo-visit dd { margin:0; font-size:15px; }
.geo-consult { padding:80px 0; background:var(--pine); color:var(--white); }
.geo-consult .geo-eyebrow { color:#e0caa6; }
.geo-consult p { color:#e5e0d7; }
.geo-consult-links { display:flex; flex-direction:column; gap:14px; justify-content:center; align-items:stretch; }
.geo-consult .geo-button { background:var(--white); color:var(--pine); border-color:var(--white); }
.geo-consult .geo-button:hover { background:#e5dfd3; }
.geo-consult .geo-outline { background:transparent; color:var(--white); }
.geo-consult a:focus-visible { outline-color:#fff; }
.geo-related { padding:60px 0 34px; }
.geo-related h2 { font-size:23px; }
.geo-related>div { display:flex; flex-wrap:wrap; gap:8px 32px; }
.geo-related a { justify-content:space-between; gap:18px; font-size:15px; }
.geo-source { padding-bottom:40px; font-size:13px; color:#625b54; max-width:840px; }
.geo-source a { padding-inline:4px; }
.geo-footer { background:var(--ink); color:var(--white); padding:32px 0; }
.geo-footer>.geo-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:13px; }
.geo-footer .brand small { color:#d7b77f; }
.geo-footer a:focus-visible { outline-color:#fff; }
.geo-error { padding-block:100px; }
.geo-guide { background:var(--paper); padding:70px 0; border-top:1px solid var(--line); color:var(--ink); }
.geo-guide h2 { font-size:32px; line-height:1.4; letter-spacing:-.04em; margin:0; }
.geo-guide p:not(.geo-eyebrow) { font-size:16px; }
.geo-guide nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); margin-top:30px; }
.geo-guide nav a { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 12px 18px 0; text-decoration:none; font-size:17px; border-bottom:1px solid var(--line); }
.geo-guide nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.geo-director { display:grid; grid-template-columns:180px minmax(0,1fr); gap:36px; align-items:start; padding:36px 0 44px; border-top:1px solid var(--line); }
.geo-director img { width:180px; height:220px; object-fit:cover; object-position:center top; }
.geo-director h2 { font-size:28px; margin-bottom:16px; }
.geo-director p { color:#514a44; margin:0 0 14px; max-width:44rem; }
.geo-director .geo-eyebrow { color:#705a37; }
.geo-mobile-cta { display:none; }
@media(max-width:900px) {
 .geo-hero { gap:32px; }
 .geo-hero img { height:340px; }
 .geo-split { gap:40px; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); }
 .geo-guide nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
 .geo-page { font-size:16px; --geo-contact-space:calc(88px + env(safe-area-inset-bottom,0px)); }
 /* Reserve space at both the reading and document ends, including the footer. */
 .geo-page:has(.geo-mobile-cta) main { padding-bottom:var(--geo-contact-space); }
 .geo-page:has(.geo-mobile-cta) .geo-footer { padding-bottom:var(--geo-contact-space); }
 .geo-page :where(a,summary) { scroll-margin-block:24px var(--geo-contact-space); }
 .geo-director { display:flow-root; padding:28px 0 32px; }
 .geo-director img { float:left; width:88px; height:112px; margin:0 18px 12px 0; }
 .geo-director h2 { font-size:22px; text-wrap:pretty; }
 .geo-director p:not(.geo-eyebrow) { clear:both; }
 .geo-director .geo-eyebrow { font-size:10px; letter-spacing:0; }
 .geo-mobile-cta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; position:fixed; z-index:50; inset:auto 0 0; padding:10px max(18px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px)); background:var(--paper); border-top:1px solid var(--line); }
 .geo-mobile-cta a { justify-content:center; min-height:48px; padding:8px 4px; border:1px solid var(--pine); border-radius:4px; color:var(--pine); font-size:14px; font-weight:600; text-decoration:none; text-align:center; }
 .geo-mobile-cta a:last-child { color:var(--white); background:var(--pine); }
 .geo-mobile-cta a:hover { background:var(--stone); }
 .geo-mobile-cta a:last-child:hover { background:#263a31; }
 .geo-mobile-cta a:focus-visible { outline-offset:2px; }
 .geo-wrap { width:calc(100% - 36px); }
 .geo-nav { min-height:72px; gap:8px; }
 .geo-page .brand { font-size:21px; line-height:1.3; white-space:nowrap; }
 .geo-page .brand small { font-size:8px; letter-spacing:.06em; }
 .geo-header .brand { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
 .geo-nav nav { gap:8px; flex-direction:row; flex-shrink:0; }
 .geo-nav nav a { min-height:44px; padding-inline:0; font-size:12px; white-space:nowrap; }
 .geo-breadcrumb { margin-top:16px; }
 .geo-hero { grid-template-columns:1fr; gap:24px; padding:24px 0 32px; }
 .geo-hero h1 { font-size:clamp(26px,7vw,32px); line-height:1.4; margin-bottom:18px; letter-spacing:-.045em; }
 .geo-eyebrow { margin-bottom:12px; font-size:11px; letter-spacing:.1em; }
 .geo-lead { margin-bottom:22px; }
 .geo-location { margin:16px 0 0; }
 .geo-hero img { height:auto; aspect-ratio:3/2; }
 .geo-hero figcaption { font-size:12px; padding-top:10px; }
 .geo-actions { display:grid; grid-template-columns:1fr; gap:8px; }
 .geo-actions a { width:100%; justify-content:center; }
 .geo-actions .geo-text-link { border:1px solid var(--line); border-radius:4px; min-height:48px; text-decoration:none; }
 .geo-contents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 16px; }
 .geo-contents>span { grid-column:1/-1; }
 .geo-split { grid-template-columns:1fr; gap:22px; }
 .geo-section { padding:40px 0; }
 .geo-page h2 { font-size:25px; margin-bottom:16px; }
 .geo-page h3 { font-size:19px; margin-bottom:10px; }
 .geo-choice+.geo-choice { padding-top:22px; margin-top:22px; }
 .geo-split p { margin-bottom:16px; }
 .geo-checklist li { padding:0 0 18px 6px; }
 .geo-visit,.geo-consult { padding:40px 0; }
 .geo-consult-links { gap:10px; }
 .geo-consult-links a { width:100%; justify-content:center; text-align:center; }
 .geo-visit dl>div { grid-template-columns:70px minmax(0,1fr); gap:10px; }
 .geo-related { padding-top:42px; }
 .geo-related>div { display:grid; gap:8px; }
 .geo-related a { border-bottom:1px solid var(--line); padding-block:12px; }
 .geo-footer>.geo-wrap { align-items:start; flex-direction:column; gap:8px; }
 .geo-guide { padding:48px 0; }
 .geo-guide nav { grid-template-columns:1fr; }
 .geo-guide h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .geo-page { scroll-behavior:auto; } }
