/* A restrained refinement of the approved Ocean Air composition. */
:root{--muted:#535e64;--line:#18324b2b}
html{scroll-padding-top:28px}
.skip-link{position:fixed;left:20px;top:-90px;z-index:100;background:#18324b;color:#fff;padding:14px 22px;border-radius:8px}
.skip-link:focus{top:16px}
.hero h1{line-height:1.04;letter-spacing:-.053em;color:var(--navy)}
.hero-intro{max-width:440px}
.eyebrow{font-size:14px;letter-spacing:.17em;color:#955331}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;margin-top:30px}
.hero-actions .primary-button{margin-top:0;min-width:210px}
.quiet-link{display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;font-size:14px;font-weight:700;color:var(--navy)}
.property-selector{grid-template-columns:46px 1fr;gap:14px;box-shadow:0 12px 30px #18324b14}
.selector-copy small{font-size:14px;color:#535e64}
.selector-icon{width:42px;height:42px}
.property-selector:last-child{border-top:1px solid #18324b1f}
.property-selector:hover{transform:translateY(-3px)}
.review-proof{bottom:60px}
.review-proof p{font-size:14px}
.review-proof p a{border-bottom:1px solid #18324b50;padding-bottom:3px}
.review-proof p span{margin:6px 0 0;display:block;font-size:13px}
.stars{letter-spacing:.1em;font-size:14px;margin-bottom:8px}
.intro-strip p{font-size:14px;letter-spacing:.08em}
.section-heading{grid-template-columns:minmax(0,.58fr) minmax(0,1.35fr) minmax(0,.8fr);gap:36px}
.section-heading h2,.gallery-heading h2,.location-copy h2,.booking-section h2{line-height:1.08;letter-spacing:-.045em}
.section-heading>p:last-child,.gallery-heading>p,.location-copy>p,.booking-section>div>p:last-child{font-size:16px}
.stay-title-row p{font-size:13px;letter-spacing:.04em;text-transform:none}
.stay-title-row>span{font-size:14px;background:#e4eeeb}
.stay-rating{font-size:14px;background:#18324be8;border-radius:8px;padding:7px 11px;right:20px;bottom:18px}
.stay-description{font-size:16px;min-height:108px}
.stay-content ul{grid-template-columns:1fr;gap:9px}
.stay-content li{font-size:14px;border:0;padding:0;line-height:1.55}
.stay-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
.stay-actions .text-link{font-size:14px;margin:0}
.stay-actions .enquire-button{background:var(--navy);color:white;font-size:14px;font-weight:700;padding:13px 18px;border-radius:10px}
.stay-card:hover{transform:translateY(-3px);box-shadow:0 16px 42px #18324b16}
.distance-grid span{font-size:14px}
.location-note{font-size:14px!important}
.location-badge{background:#18324bcf}
.location-badge p{font-size:12px}
.amenity-grid article{min-height:200px;padding:32px}
.amenity-grid h3{margin:22px 0 12px;font-size:21px}
.amenity-grid p{font-size:16px;color:#d5e1e5}
.amenity-grid{border-left:0}
.amenity-grid article{border-right:0;padding-right:42px}
.booking-section>div>p:last-child{color:#e0e7ed}
.booking-links small{font-size:13px;letter-spacing:.1em}
.booking-links>a{min-height:90px}
.booking-links>a:first-child{background:#f4f1eb;color:var(--navy);border-color:#f4f1eb}
.booking-links>a:first-child small{color:#49626a}
.booking-links>a>span:first-child{font-size:19px}
.booking-links>a:hover{transform:translateY(-2px)}
footer p{font-size:14px;color:#d1dce2}
.option-site>footer{min-height:300px}
.footer-logo-wrap{width:min(300px,100%);border-radius:12px}
@media(min-width:1600px){.hero{min-height:960px}.hero-copy{padding-left:max(48px,calc((100vw - 1500px)/2))}.hero h1{font-size:86px}.review-proof{left:max(48px,calc((100vw - 1500px)/2))}}
@media(max-width:1180px){.section-heading{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}.section-heading>p:last-child{grid-column:2}.hero-intro{max-width:360px}.stay-title-row{gap:12px;flex-wrap:wrap}}
@media(max-width:900px){.hero-copy{padding-top:120px}.hero-intro{max-width:520px}.hero h1{font-size:clamp(46px,8.3vw,70px);max-width:710px}.section-heading,.section-heading.compact{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:auto}.hero-actions{margin-top:24px}.mobile-hero-draft .hero-selectors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:-18px 22px 0;padding:0;overflow:visible}.mobile-hero-draft .property-selector{min-width:0;grid-template-columns:1fr;min-height:82px;padding:16px}.mobile-hero-draft .selector-icon{display:none}.selector-copy strong{font-size:16px}.mobile-hero-draft .review-proof{margin:28px 22px 0;bottom:auto;max-width:fit-content}.intro-strip{flex-wrap:wrap;gap:14px 24px;padding:25px 24px}.intro-strip p{font-size:13px}.intro-strip span{display:none}.stay-description{min-height:0}.stay-title-row{flex-direction:row;align-items:end}.amenity-grid article{padding:26px}.amenity-grid h3{margin-top:12px}.location-image{min-height:0;height:640px}.location-section{min-height:0}}
@media(max-width:620px){.hero-copy{padding-bottom:36px}.hero h1{font-size:clamp(43px,10.5vw,65px)}.hero-actions{gap:13px 20px}.hero-actions .primary-button{min-width:180px;min-height:56px;font-size:14px;padding:0 20px}.eyebrow{font-size:13px;letter-spacing:.13em}.review-proof{padding:16px 20px!important}.intro-strip{display:grid;grid-template-columns:1fr;gap:12px;min-height:0}.intro-strip p{font-size:13px}.stays-section,.amenities-section,.gallery-section{padding:76px 22px}.section-heading h2,.gallery-heading h2,.location-copy h2,.booking-section h2{font-size:clamp(35px,9.1vw,49px)}.section-heading{gap:20px}.stay-image-wrap{height:auto;aspect-ratio:1.3}.stay-content{padding:24px 22px}.stay-title-row h3{font-size:28px}.stay-title-row>span{font-size:13px}.stay-title-row p{font-size:12px}.stay-actions{gap:16px;align-items:flex-start}.stay-actions .enquire-button{width:100%;text-align:center}.stay-actions .text-link{margin:0 auto}.location-image{height:480px}.location-copy{padding:72px 22px}.amenity-grid article{min-height:0;padding:28px 0}.amenity-grid h3{margin:0 0 10px}.amenity-grid p{max-width:100%}.booking-section{padding:76px 22px;gap:40px;min-height:0}.booking-links>a{min-height:82px}footer p{max-width:300px}.fine-print{line-height:1.8}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Let the remaining headings use the space after removing their supporting copy. */
.stays-section>.section-heading,.amenities-section>.section-heading{display:block}
.stays-section>.section-heading h2,.amenities-section>.section-heading h2{max-width:900px}
