/* V8 additions: the header keeps its approved geometry and behavior. */
.header .wordmark { display:flex; align-items:center; background:transparent; padding:0; border-radius:0; }
.header .wordmark img { display:block; width:180px; height:auto; }
.header .wordmark:focus-visible { outline-color:#adcee8; }
.visit { background:#dce6ea; color:#142b3a; color-scheme:light; padding:84px var(--gutter) 70px; }
.visit-shell,.footer-shell { max-width:1400px; margin:auto; }
.visit-kicker { font-size:11px; letter-spacing:.15em; margin:0 0 26px; font-weight:500; }
.visit-intro h2 { margin:0; font-size:clamp(45px,11.5vw,96px); line-height:1.03; font-weight:400; letter-spacing:-.055em; }
.visit-intro h2 span { color:#526b79; }
.visit-details { display:grid; gap:36px; margin-top:48px; }
.visit-location h3 { font-size:24px; font-weight:450; letter-spacing:-.025em; margin:0 0 20px; }
.visit-location address { font-style:normal; font-size:18px; line-height:1.65; }
.visit-walkin { font-size:12px; letter-spacing:.07em; margin:28px 0 10px; }
.visit-exception { font-size:13px; line-height:1.6; color:#445c6c; margin:0; }
.visit-hours { border-top:1px solid #142b3a33; padding-top:28px; }
.visit-hours h3 { font-size:11px; letter-spacing:.12em; font-weight:500; margin:0 0 24px; }
.visit-hours dl { margin:0; }
.visit-hours dl > div + div { margin-top:24px; }
.visit-hours dt { font-size:12px; line-height:1.5; color:#445c6c; letter-spacing:.04em; }
.visit-hours dd { margin:8px 0 0; font-size:22px; line-height:1.4; letter-spacing:-.03em; }
.visit-bottom { margin-top:40px; }
.visit-actions { display:flex; gap:12px; }
.visit-actions > * { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:56px; padding:16px; border:1px solid #526b79; background:transparent; font-size:12px; color:#142b3a; }
.visit-actions > button { cursor:default; }
.visit-actions > a { background:#142b3a; color:#f2f3ef; border-color:#142b3a; }
.visit-actions span { font-size:20px; }
.visit-note { font-size:12px; line-height:1.6; color:#445c6c; margin:16px 0 4px; }
.visit-phone { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.visit-convenience { font-size:12px; line-height:1.8; color:#445c6c; border-top:1px solid #142b3a33; margin:26px 0 0; padding-top:22px; }
.site-footer { padding:48px var(--gutter) 24px; background:#f2f3ef; color:#142b3a; color-scheme:light; }
.footer-brand { display:inline-flex; width:170px; max-width:100%; align-self:start; }
.footer-brand img { display:block; width:100%; height:auto; }
.footer-top { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; row-gap:32px; }
.footer-brand { grid-column:1/-1; }
.footer-nav { display:grid; align-content:start; }
.footer-nav a,.footer-practical a { display:flex; align-items:center; min-height:44px; font-size:13px; line-height:1.5; }
.footer-practical h2 { margin:0 0 8px; font-size:10px; line-height:1.5; font-weight:500; letter-spacing:.1em; color:#526b79; }
.footer-bottom { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; border-top:1px solid #142b3a26; margin-top:32px; padding-top:24px; font-size:11px; line-height:1.7; color:#526b79; }
.footer-social { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-legal { display:flex; gap:20px; }
.visit :focus-visible,.site-footer :focus-visible { outline:2px solid #315773; outline-offset:5px; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
@media (min-width:768px) {
 .visit-details { grid-template-columns:1fr 1fr; gap:60px; }
 .visit-hours { border-top:0; padding-top:0; }
 .footer-top { grid-template-columns:1fr 1.3fr .8fr; gap:48px; }
 .footer-brand { grid-column:auto; }
 .footer-nav { grid-template-columns:1fr 1fr; gap:0 24px; }
}
@media (min-width:1000px) {
 .header .wordmark img { width:210px; }
 .visit { padding-block:110px 80px; }
 .visit-shell { display:grid; grid-template-columns:1.2fr 1fr; gap:60px 80px; }
 .visit-intro { grid-row:1/3; }
 .visit-intro h2 { font-size:clamp(64px,6.4vw,96px); }
 .visit-details { margin:0; gap:32px; }
 .visit-location h3 { font-size:22px; }
 .visit-location address { font-size:17px; }
 .visit-hours dd { font-size:20px; white-space:nowrap; }
 .visit-bottom { margin:0; }
 .site-footer { padding-block:55px 28px; }
 .footer-brand { width:190px; }
}

/* Contrast variants follow the existing header state; no added surface. */
.header .wordmark .header-logo-blue { display:none; }
.header.light .wordmark .header-logo-white { display:none; }
.header.light .wordmark .header-logo-blue { display:block; width:auto; height:62.95px; }
.header.light .wordmark:focus-visible { outline-color:#315773; }
@media (min-width:1000px) { .header.light .wordmark .header-logo-blue { height:73.45px; } }
/* V8.2: fit the longer approved closing headline in its existing two-line slot. */
#visit-title { font-size:clamp(18px,4.8vw,38px); }
@media (min-width:1000px) { #visit-title { font-size:clamp(26px,2.5vw,42px); } }
