/* Visit overview: shared typography, navigation, cards and footer come from styles.css. */
.visit-page .eyebrow{font-size:.75rem}
.visit-page .current-section{box-shadow:inset 0 -4px #ffe500}
.breadcrumbs{display:block;position:static;box-shadow:none;background:transparent;font:400 .875rem/1.6 'Open Sans',sans-serif;padding:24px 0;color:#595959}
.breadcrumbs ol{list-style:none;display:flex;gap:12px;margin:0;padding:0}
.breadcrumbs li+li::before{content:'/';margin-right:12px;color:#999}
.breadcrumbs a{padding:0;text-decoration:underline;text-underline-offset:4px}
.breadcrumbs a:hover{background:#ffe500;box-shadow:none}
.visit-hero{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:56px;padding-bottom:56px}
.visit-hero h1{font-size:3.5rem;line-height:1.1;font-weight:900;letter-spacing:-2px;margin:0 0 24px}
.visit-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:49ch;margin-bottom:28px}
.visit-hero-photo{position:relative;align-self:stretch;margin:0;min-height:390px;border-radius:16px;overflow:hidden}
.visit-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.visit-hero-photo figcaption{position:absolute;bottom:16px;left:16px;background:#000b;color:#fff;padding:5px 10px;font-size:.75rem}
.visit-local-note{background:#ffe500;color:#000;padding-block:20px}
.visit-local-note>.container{display:flex;align-items:center;gap:16px}
.visit-local-note img{flex:0 0 84px;width:84px;height:84px}
.visit-local-note p{margin:0;font-size:1.125rem;line-height:1.6}
.visit-beach-banner{position:relative;display:flex;align-items:center;min-height:320px;isolation:isolate;border-radius:16px;overflow:hidden;background:#174a55;color:#fff;margin-bottom:24px}
.visit-beach-banner>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:center 49%}
.visit-beach-banner::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#001c28d9,#001c2866 58%,transparent)}
.visit-beach-banner>div{padding:40px;max-width:480px}
.visit-beach-banner .eyebrow,.visit-beach-banner h3{color:#fff}
.visit-beach-banner h3{font-size:2rem;font-weight:900;margin-bottom:16px}
.visit-beach-banner p:not(.eyebrow){font-size:1rem;line-height:1.6;margin-bottom:22px}
.visit-beach-banner .text-link{color:#fff}
.visit-beach-banner:hover .text-link,.visit-beach-banner:focus-visible .text-link{background:#ffe500;color:#000}
.visit-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.visit-guide-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;padding:32px;background:#f6f6f6;border-radius:16px}
.visit-guide-card>img{width:64px;height:64px}
.visit-guide-card h3{font-size:1.5rem;margin-bottom:12px}
.visit-guide-card p{font-size:1rem;line-height:1.6;margin-bottom:20px}
.visit-guide-card h3,.visit-essentials h3,.visit-next h3{width:fit-content}
.visit-guide-card:hover h3,.visit-guide-card:focus-visible h3,.visit-essentials a:hover h3,.visit-essentials a:focus-visible h3,.visit-next-links a:hover h3,.visit-next-links a:focus-visible h3{background:#ffe500}
.visit-planning{background:#f6f6f6;padding-block:80px}
.visit-essentials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.visit-essentials>a{display:flex;flex-direction:column;align-items:start;padding:28px 24px;background:#fff;border-radius:16px;border-top:4px solid #ffe500}
.visit-essentials h3{font-size:1.25rem;margin-bottom:14px}
.visit-essentials p{font-size:1rem;line-height:1.6;margin-bottom:20px}
.visit-essentials .text-link{margin-top:auto}
.visit-town-index{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:32px}
.visit-town-index a{font-size:1rem;text-decoration:underline;text-underline-offset:5px}
.visit-town-index a:hover{background:#ffe500;color:#000}
.visit-places .destinations-action{margin-top:32px}
.visit-page .community p:not(.eyebrow){font-size:1rem;max-width:60ch;line-height:1.8;margin:20px 0 0}
.visit-page .community h2{font-size:2.5rem}
.visit-next{background:#f6f6f6;padding:64px 0 24px}
.visit-next>.container{display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.visit-next h2{font-size:2rem}
.visit-next-links{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.visit-next h3{font-size:1.25rem}
.visit-next p:not(.eyebrow){font-size:1rem;line-height:1.6}
@media(max-width:1100px){.visit-hero{gap:32px}.visit-hero h1{font-size:3rem}.visit-essentials{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.visit-hero{grid-template-columns:1fr;gap:28px}.visit-hero-photo{min-height:0;aspect-ratio:1.8}.visit-hero-copy{max-width:620px}.visit-hero h1{font-size:2.75rem}.visit-next>.container{grid-template-columns:1fr;gap:24px}.visit-page .community h2{font-size:2rem}}
@media(max-width:600px){
 .breadcrumbs{padding-block:20px}
 .visit-hero{padding-bottom:32px}
 .visit-hero h1{font-size:2rem;letter-spacing:-1px}
 .visit-hero-photo{aspect-ratio:1.4}
 .visit-local-note{padding-block:20px}
 .visit-local-note>.container{align-items:start;gap:12px}
 .visit-local-note strong{display:block}
 .visit-beach-banner{min-height:340px}
 .visit-beach-banner>div{padding:28px 24px}
 .visit-beach-banner h3{font-size:1.75rem}
 .visit-guide-grid,.visit-essentials{grid-template-columns:1fr}
 .visit-guide-card{grid-template-columns:1fr;gap:16px;padding:24px}
 .visit-guide-card h3{font-size:1.5rem}
 .visit-planning{padding-block:48px}
 .visit-essentials>a{padding:24px}
 .visit-town-index{justify-content:start;gap:14px 20px}
 .visit-page .community h2{font-size:1.75rem}
 .visit-next{padding-top:48px}
 .visit-next h2{font-size:1.75rem}
 .visit-next-links{grid-template-columns:1fr;gap:28px}
}
