/* Keep headings readable as whole words at every viewport width. */
body :is(h1,h2,h3,h4){hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;max-width:100%;text-wrap:balance}

.story-copy h1{font-size:clamp(1.75rem,4.5vw,4.5rem);line-height:1.12}
@media(max-width:700px){
 .story-copy h1{font-size:clamp(1.65rem,7vw,2.9rem)}
 .intro h2,.gallery-intro h2,.offer-lead h2,.inquiry-copy h2,.route-planner h2,.occasion-finder h2,.harbor-match h2,.gift-copy h2,.offer-head h2,.cta h2,.tool-intro h2,.content-follow h2{font-size:clamp(1.65rem,7vw,2.5rem);line-height:1.16}
 .editorial h3{font-size:clamp(1.125rem,4.7vw,1.65rem)}
 .reading-page .editorial h2{font-size:clamp(1.2rem,5vw,1.85rem)}
}

/* Measured narrow columns: retain whole place and business names. */
.route-planner h2{font-size:clamp(1.65rem,2.5vw,2.3rem)}
.gallery-intro h2{font-size:clamp(2rem,4vw,4.5rem);line-height:1.12}
@media(max-width:700px){
 .home-harbor .intro h2,.home-harbor .host-story h2{font-size:clamp(2rem,8vw,3rem);line-height:1.12}
 .equipment-band h2{font-size:clamp(1.4rem,6vw,2rem)}
}
