/* Mobile typography only; desktop and calendar styles are preserved. */
@media(max-width:600px){
body{font-size:17px}
h1{font-size:max(14px,calc(clamp(28px,2.7vw,48px) + 1px))}
h2{font-size:max(14px,calc(clamp(25px,2.2vw,38px) + 1px))}
h3{font-size:23px}
.section-intro{font-size:18px}
.brand{font-size:29px}
.header-row nav{font-size:15px}
.contact-link{font-size:25px}
.intro{font-size:19px}
.location{font-size:14px}
.location-pin{font-size:45px}
.photo-label{font-size:14px}
.all-photos{font-size:14px}
.highlight-column>div{font-size:17px}
.button{font-size:16px}
.about article>div:not(.floor-card){font-size:17px}
.floor ul{font-size:16px}
.amenity{font-size:14px}
table{font-size:17px}
thead th{font-size:15px}
th span{font-size:14px}
th small{font-size:14px}
.rules h3{font-size:23px}
.rules ul{font-size:15px}
.form-grid label{font-size:14px}
.form-grid input,.form-grid select,.form-grid textarea{font-size:17px}
.booking-note{font-size:14px}
#form-status{font-size:15px}
.guide-card h3{font-size:22px}
.guide-card li a{font-size:17px}
.google-word{font-size:33px}
.review-row>a{font-size:16px}
.footer-nav nav{font-size:15px}
.dialog-close{font-size:31px}
.lightbox-image>button{font-size:31px}
.photo-dialog p{font-size:15px}
@media(min-width:1700px){body{font-size:19px}}
@media(max-width:1200px){.brand{font-size:24px}
.header-row nav{font-size:14px}
.location{font-size:14px}
.location-pin{font-size:33px}
.highlight-column>div{font-size:14px}
.floor ul{font-size:14px}
.guide-card h3{font-size:19px}}
@media(max-width:900px){.menu-toggle{font-size:15px}
.header-row nav a{font-size:16px}
.location{font-size:14px}
.location-pin{font-size:26px}
.photo-label{font-size:14px}
.all-photos{font-size:14px}
.floor ul{font-size:16px}
.guide-card h3{font-size:18px}
.guide-card li a{font-size:15px}}
@media(max-width:600px){.section-intro{font-size:15px}
.brand{font-size:21px}
.intro{font-size:15px}
.photo-label{font-size:14px}
.all-photos{font-size:14px}
.highlight-column>div{font-size:14px}
.highlights>.button{font-size:15px}
.about article>div:not(.floor-card){font-size:15px}
.floor ul{font-size:15px}
.amenity{font-size:14px}
th,td{font-size:14px}
thead th{font-size:14px}
th span{font-size:14px}
th small{font-size:14px}
.booking-form h3{font-size:21px}
.booking-form>.button{font-size:14px}
.guide-card h3{font-size:17px}
.guide-card li a{font-size:14px}
.review-row>a{font-size:14px}
.footer-nav nav{font-size:14px}
.footer-banner h2{font-size:26px}
.footer-banner p,.footer-banner a{font-size:14px}}
@media(max-width:600px){.amenity{font-size:14px}}
.amenity{font-size:14px}
@media(max-width:600px){.amenity{font-size:14px}}
.floor-dialog h3{font-size:21px}
.floor-close{font-size:31px}
.photo-count{font-size:14px}
.gallery-counter{font-size:14px}
.price-table thead th{font-size:17px}
.price-table thead th span{font-size:14px}
@media(max-width:600px){.price-table thead th{font-size:14px}
.price-table thead th span{font-size:14px}}
.footer-nav .brand{font-size:25px}
.footer-nav nav{font-size:14px}
.footer-banner h2{font-size:31px}
.footer-banner p{font-size:15px}
.footer-banner .footer-location{font-size:14px}
.back-to-top{font-size:27px}
@media(max-width:900px){.footer-banner h2{font-size:28px}}
@media(max-width:600px){.footer-nav .brand{font-size:21px}
.footer-banner .footer-location{font-size:14px}}
.footer-nav nav{font-size:15px}
@media(max-width:1200px){.footer-nav nav{font-size:14px}}
@media(max-width:900px){.footer-nav nav a{font-size:16px}}
.floor-info h3{font-size:19px}
.weather-now>a{font-size:14px}
.hero-heading h1{font-size:max(14px,calc(clamp(26px,2.1vw,34px) + 1px))}
.hero-heading .intro{font-size:15px}
.hero-location-weather .location{font-size:14px}
@media(max-width:1200px){.hero-heading h1{font-size:31px}}
@media(max-width:600px){.hero-location-weather .location{font-size:14px}
.hero-heading h1{font-size:29px}}
.weather-place{font-size:14px}
.weather-place small{font-size:14px}
@media(max-width:900px){.weather-place{font-size:14px}
.location-name{font-size:14px}
.hero-heading h1{font-size:29px}
.hero-heading .intro{font-size:14px}}
@media(max-width:600px){.weather-place{font-size:14px}
.location-name{font-size:14px}}
@media(max-width:900px){.location-name{font-size:15px}}
@media(max-width:600px){.weather-place{font-size:14px}
.location-name{font-size:14px}}
@media(max-width:450px){.weather-place{font-size:14px}
.location-name{font-size:14px}}
@media(min-width:901px){.weather-place{font-size:15px}
.weather-place small{font-size:14px}
.hero-location-weather .location{font-size:14px}}
.nearby-beach-label{font-size:14px}
@media(max-width:450px){.nearby-beach-label{font-size:14px}}
@media(max-width:600px){.header-row .brand{font-size:19px}
.footer-nav .brand{font-size:21px}}
@media(max-width:360px){.header-row .brand{font-size:17px}}
.gallery-video-play{font-size:31px}
@media(max-width:600px){.gallery-video-play{font-size:25px}}
.booking-consent{font-size:14px}
.booking-form .booking-total,.booking-form .booking-total strong{font-size:17px}
.footer-bottom-row{font-size:14px}
.rules-modal-header h2{font-size:21px}
.rules-modal-close{font-size:27px}
@media(max-width:600px){.rules-modal-header h2{font-size:18px}}
/* Isolate inherited body typography so the calendar keeps its original sizes. */
#dates .calendar-card{font-size:16px}
.amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.amenity{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:flex-start;aspect-ratio:auto;width:100%;min-height:132px;padding:7px 4px;gap:5px}
.amenity img{position:static;left:auto;top:auto;transform:none;width:84px;max-width:100%;height:84px;flex:0 0 84px;object-fit:contain}
.amenity span{position:static;left:auto;right:auto;top:auto;display:block;width:100%;line-height:1.25;overflow-wrap:normal}
/* Prevent larger labels from being clipped by the original fixed-width layouts. */
.highlight-column>div{align-items:flex-start;overflow-wrap:anywhere}
.highlight-column img{flex-shrink:0}
.footer-bottom-contacts{row-gap:8px}.footer-bottom-copyright{overflow-wrap:anywhere}
}
