/* Beyond the Resorts — page-only styles. Existing ExploreMore CSS is unchanged. */
.btr-page { --btr-earth:#7d705c; --btr-ivory:#f8f6f1; --btr-deep:#011b2d; }
.btr-page figure { margin:0; }
.btr-page fieldset { border:0; margin:0; padding:0; min-width:0; }
.btr-page button { color:inherit; }
.btr-page #main-nav a[aria-current="page"]::after { width:100%; background:var(--navy); }
.btr-page .btr-hero { min-height:690px; max-height:1080px; }
.btr-page .btr-hero .hero-image { object-position:55% 50%; }
.btr-page .btr-hero::after { background:linear-gradient(90deg,rgba(0,30,41,.49),rgba(0,30,41,.1) 70%),linear-gradient(0deg,rgba(0,20,30,.36),transparent 30%); }
.btr-page .btr-hero .hero-content { max-width:1050px; padding-top:clamp(72px,10vh,130px); }
.btr-page .btr-hero h1 { font-size:clamp(80px,9.2vw,160px); line-height:.99; margin-bottom:32px; }
.btr-page .btr-hero .hero-foot { bottom:23px; }
.btr-opening { display:grid; grid-template-columns:1.65fr 1fr; gap:9vw; align-items:end; padding-top:140px; padding-bottom:115px; }
.btr-opening h2 { font-size:clamp(45px,5.1vw,84px); }
.btr-opening h2 span { color:var(--btr-earth); }
.btr-opening-copy { padding-bottom:4px; }
.btr-opening-copy p { font-size:18px; }
.btr-opening-copy p+p { color:var(--muted); font-size:16px; margin-top:28px; }
.btr-opening-copy .text-link { margin-top:26px; }
.btr-life { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:9vw; padding-top:10px; padding-bottom:135px; }
.btr-life-photo { position:relative; }
.btr-life-photo img { width:100%; height:clamp(460px,52vw,780px); object-fit:cover; object-position:center; }
.btr-life-photo figcaption { font-size:11px; color:var(--muted); padding-top:16px; }
.btr-life-copy { padding:30px 0; }
.btr-life-copy h2 { font-size:clamp(50px,5.6vw,90px); margin-bottom:35px; }
.btr-life-copy>.eyebrow { color:var(--btr-earth); }
.btr-life-copy p:not(.eyebrow) { font-size:18px; }
.btr-life-copy .btr-muted { font-size:15px!important; margin-top:24px; }
.btr-muted { color:var(--muted); }
.btr-small-rule { width:45px; height:1px; background:#a69b88; margin:38px 0 25px; }
.btr-margin-note { font-size:12px; color:var(--btr-earth); line-height:1.65; }
.btr-ocean { background:var(--btr-deep); color:white; }
.btr-ocean-heading { padding-top:110px; padding-bottom:80px; text-align:center; }
.btr-ocean-heading .eyebrow { color:#c1d5d1; }
.btr-ocean-heading h2 { font-size:clamp(47px,6.2vw,100px); }
.btr-ocean-photo { position:relative; height:clamp(480px,58vw,850px); overflow:hidden; }
.btr-ocean-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.btr-ocean-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,20,37,.65),transparent 50%); }
.btr-ocean-photo figcaption { position:absolute; left:var(--gutter); bottom:42px; right:var(--gutter); z-index:1; display:flex; justify-content:space-between; align-items:end; gap:20px; }
.btr-ocean-photo figcaption>span { font-size:clamp(27px,3vw,50px); letter-spacing:-.04em; }
.btr-ocean-photo small { font-size:11px; }
.btr-ocean-note { display:flex; justify-content:space-between; align-items:start; gap:60px; padding-top:48px; padding-bottom:65px; }
.btr-ocean-note>p:first-child { font-size:20px; }
.btr-ocean-note>p:last-child { margin:0; max-width:380px; color:#bfcdcf; font-size:13px; }
.btr-moments { padding-top:130px; padding-bottom:120px; }
.btr-moment-grid { display:grid; grid-template-columns:1fr 1fr; gap:35px; }
.btr-moment { min-width:0; }
.btr-moment:nth-child(2) { padding-top:90px; }
.btr-moment>img { width:100%; height:clamp(340px,41vw,610px); object-fit:cover; }
.btr-moment:nth-child(2)>img { object-position:50% 55%; }
.btr-moment figcaption { padding-top:28px; }
.btr-moment .eyebrow { display:block; color:var(--btr-earth); margin-bottom:12px; }
.btr-moment h3 { font-size:clamp(29px,3vw,44px); }
.btr-moment p { color:var(--muted); font-size:15px; margin-top:14px; }
.btr-moment .text-link { margin-top:12px; }
.btr-islands { background:var(--btr-ivory); }
.btr-island-intro { padding-top:110px; padding-bottom:90px; }
.btr-island-tabs { display:flex; align-items:center; gap:30px; border-bottom:1px solid #d5d0c5; margin-bottom:38px; }
.btr-island-tabs button { background:none; border-bottom:2px solid transparent; padding:17px 3px; min-height:52px; font-size:16px; color:#696f73; }
.btr-island-tabs button[aria-selected="true"] { border-color:var(--navy); color:var(--navy); }
.btr-island-tabs button:hover { color:var(--navy); }
.btr-island-panel { display:grid; grid-template-columns:1.3fr 1fr; min-height:520px; align-items:stretch; }
.btr-island-image { position:relative; overflow:hidden; background:#c3ddd7; }
.btr-island-image img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.btr-island-image::after { content:""; position:absolute; inset:70% 0 0; background:linear-gradient(0deg,#011b2d88,transparent); pointer-events:none; }
.btr-island-image>span { position:absolute; z-index:1; bottom:24px; left:27px; color:white; font-size:11px; letter-spacing:.02em; }
.btr-island-copy { padding:60px 0 42px 5vw; align-self:center; }
.btr-island-copy .eyebrow { color:var(--btr-earth); font-size:10px; }
.btr-island-copy h3 { font-size:clamp(36px,3.4vw,54px); margin-bottom:24px; }
.btr-island-copy>p:not(.eyebrow) { color:var(--muted); font-size:16px; }
.btr-island-copy .btr-island-note { font-size:12px!important; margin-top:24px; }
.btr-island-copy .text-link { margin-top:25px; }
.btr-further { padding-top:64px; }
.btr-further>.eyebrow { color:var(--btr-earth); margin-bottom:25px; }
.btr-further-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.btr-further-grid a { border-top:1px solid #d8d1c5; padding-top:24px; }
.btr-further-grid strong { display:flex; justify-content:space-between; font-size:26px; font-weight:500; letter-spacing:-.025em; }
.btr-further-grid strong span { font-size:18px; }
.btr-further-grid a>span { display:block; font-size:13px; color:var(--muted); margin-top:12px; }
.btr-further-grid a:hover strong { text-decoration:underline; text-underline-offset:7px; }
.btr-stay { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:8vw; padding-top:120px; padding-bottom:120px; }
.btr-stay>div:last-child p { font-size:18px; }
.btr-stay>div:last-child .btr-muted { font-size:16px; margin-top:22px; }
.btr-stay .text-link { margin-top:24px; }
.btr-planning { background:var(--btr-ivory); }
.btr-planning>.section { padding-top:105px; padding-bottom:100px; }
.btr-page legend { font-size:12px; font-weight:500; color:var(--muted); margin-bottom:24px; line-height:1.6; }
.btr-chips { display:flex; flex-wrap:wrap; gap:12px; }
.btr-chips label { display:inline-block; position:relative; cursor:pointer; }
.btr-chips input { position:absolute; opacity:0; width:1px; height:1px; inset:50% auto auto 12px; }
.btr-chips label>span { display:flex; gap:30px; align-items:center; padding:17px 24px; min-height:55px; border:1px solid #bbb6ac; border-radius:100px; background:transparent; font-size:15px; transition:background .2s,color .2s; }
.btr-chips i { font-style:normal; font-size:20px; line-height:1; }
.btr-chips input:checked+span { background:var(--navy); border-color:var(--navy); color:white; }
.btr-chips input:checked+span i { transform:rotate(45deg); }
.btr-chips input:focus-visible+span { outline:3px solid var(--teal); outline-offset:4px; }
.btr-chips label:hover>span { border-color:var(--navy); }
.btr-page .btr-details { margin-top:45px; }
.btr-fields { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.btr-fields input,.btr-fields select { border-color:#d4cfc6; border-radius:3px; background:rgba(255,255,255,.8); }
.btr-fields .field { min-width:0; }
.btr-fields input[type="date"] { min-width:0; color-scheme:light; }
.btr-page .btr-field-help { display:block; margin-top:10px; font-size:12px; line-height:1.6; color:var(--muted); }
.btr-page .btr-family { margin-top:30px; padding-top:24px; border-top:1px solid #d4cfc6; }
.btr-family legend { margin-bottom:8px; padding-right:12px; color:var(--navy); font-size:14px; }
.btr-family-counts { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:560px; }
.btr-child-ages { margin-top:22px; }
.btr-family[hidden],.btr-child-ages[hidden] { display:none; }
.btr-page .btr-wishes { margin-top:28px; }
.btr-wishes label span { color:var(--muted); font-weight:400; }
.btr-wishes textarea { width:100%; min-height:115px; max-height:340px; resize:vertical; padding:16px; border:1px solid #d4cfc6; background:rgba(255,255,255,.8); color:var(--navy); border-radius:3px; font:inherit; font-size:14px; line-height:1.5; }
.btr-wishes textarea:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.btr-enquiry-bottom { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:28px; }
.btr-enquiry-bottom p { font-size:14px; color:var(--muted); max-width:65%; }
.btr-page .btr-enquiry-bottom button { color:white; }
.btr-page .btr-privacy { font-size:11px; color:var(--muted); margin-top:20px; }
.btr-message { padding:35px; margin-top:38px; border:1px solid #c7c1b6; background:white; border-radius:4px; }
.btr-message .eyebrow { color:var(--btr-earth); }
.btr-message h3 { font-size:35px; margin-bottom:16px; }
.btr-message>p:not(.eyebrow):not(.btr-privacy) { font-size:15px; color:var(--muted); }
.btr-message pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:14px; line-height:1.7; padding:22px; background:var(--btr-ivory); border-radius:3px; margin:25px 0; }
.btr-message button { background:none; padding:0 5px; }
.btr-message .actions { gap:16px; }
.btr-nojs { margin-top:30px; }
.btr-nojs a { text-decoration:underline; }
.btr-human { display:grid; grid-template-columns:1.3fr 1fr; gap:8vw; padding-top:120px; padding-bottom:110px; }
.btr-human h2 { font-size:clamp(42px,5vw,80px); }
.btr-human>div:last-child>p { font-size:19px; }
.btr-process { list-style:none; padding:0; margin:35px 0 0; }
.btr-process li { display:flex; gap:24px; padding:23px 0; border-top:1px solid var(--line); }
.btr-process li>span { font-size:11px; padding-top:7px; color:var(--btr-earth); }
.btr-process h3 { font-size:23px; letter-spacing:-.025em; }
.btr-process p { font-size:14px; color:var(--muted); margin-top:9px; }
.btr-good-to-know { display:grid; grid-template-columns:1fr 1.25fr; gap:8vw; padding-top:10px; padding-bottom:120px; }
.btr-good-to-know h2 { font-size:clamp(36px,4vw,60px); }
.btr-faq details { border-top:1px solid var(--line); }
.btr-faq details:last-child { border-bottom:1px solid var(--line); }
.btr-faq summary { cursor:pointer; font-size:16px; line-height:1.5; padding:22px 35px 22px 0; list-style:none; position:relative; }
.btr-faq summary::-webkit-details-marker { display:none; }
.btr-faq summary::after { content:'+'; position:absolute; right:4px; top:19px; font-size:23px; font-weight:400; }
.btr-faq details[open] summary::after { content:'−'; }
.btr-faq details p { font-size:14px; color:var(--muted); padding:0 28px 25px 0; }
.btr-final { position:relative; height:clamp(650px,80vh,1000px); overflow:hidden; color:white; background:var(--btr-deep); }
.btr-final>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.btr-final::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,22,44,.6),rgba(0,22,44,.18) 80%); }
.btr-final-copy { position:relative; z-index:1; padding:100px var(--gutter); }
.btr-final h2 { font-size:clamp(64px,7.4vw,122px); line-height:1.03; margin-bottom:36px; }
.btr-final-caption { position:absolute; bottom:26px; left:var(--gutter); font-size:11px; z-index:1; }
.btr-credits { padding:0 0 30px; color:var(--muted); }
.btr-credits summary { cursor:pointer; font-size:12px; padding:10px 0; }
.btr-credits p,.btr-credits li { font-size:12px; line-height:1.65; }
.btr-credits p { margin-top:12px; }
.btr-credits ul { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; margin:20px 0; padding-left:20px; }
.btr-credits a { text-decoration:underline; text-underline-offset:3px; }
.btr-float { position:fixed; z-index:25; right:22px; bottom:22px; min-height:48px; display:flex; align-items:center; gap:22px; border-radius:100px; padding:14px 20px; color:white; background:var(--navy); border:1px solid #ffffff66; box-shadow:0 4px 22px #0116401c; font-size:12px; transition:opacity .2s,visibility .2s; }
.btr-float[aria-hidden="true"] { opacity:0; visibility:hidden; pointer-events:none; }
@media(prefers-reduced-motion:no-preference) { .btr-reveal { transition:opacity .7s ease,transform .7s ease; } .btr-reveal.pending { opacity:0; transform:translateY(22px); } }
@media(max-width:1000px) { .btr-opening,.btr-life,.btr-stay,.btr-human,.btr-good-to-know { gap:45px; } .btr-page #main-nav { gap:20px; } .btr-page #main-nav>a { font-size:12px; } .btr-island-copy { padding:40px 0 30px 30px; } .btr-fields { grid-template-columns:1fr 1fr; } }
@media(max-width:800px) and (min-width:761px) { .btr-page .site-header { padding-left:22px; padding-right:22px; } .btr-page #main-nav { gap:14px; } }
@media(max-width:760px) {
 .btr-page .btr-hero { height:calc(100svh - 74px); min-height:660px; }
 .btr-page .btr-hero .hero-content { padding-top:76px; }
 .btr-page .btr-hero .hero-image { object-position:53% center; }
 .btr-page .btr-hero::after { background:linear-gradient(90deg,rgba(0,28,39,.57),rgba(0,28,39,.22)),linear-gradient(0deg,rgba(0,20,30,.35),transparent 45%); }
 .btr-page .btr-hero h1 { font-size:clamp(58px,13.8vw,95px); letter-spacing:-.06em; }
 .btr-page .btr-hero .hero-content>.eyebrow { font-size:8px; letter-spacing:.12em; }
 .btr-page .btr-hero .actions { gap:14px; }
 .btr-page .btr-hero .button { font-size:12px; gap:14px; padding-left:20px; padding-right:20px; }
 .btr-page #main-nav>a { font-size:32px; }
 .btr-opening,.btr-life,.btr-stay,.btr-human,.btr-good-to-know { grid-template-columns:1fr; gap:34px; }
 .btr-opening { padding-top:80px; padding-bottom:60px; }
 .btr-opening h2 { font-size:clamp(38px,8.7vw,60px); }
 .btr-opening-copy p { font-size:18px; }
 .btr-opening-copy p+p { font-size:15px; margin-top:22px; }
 .btr-life { padding-top:10px; padding-bottom:80px; }
 .btr-life-photo img { height:520px; }
 .btr-life-copy { padding:8px 0 0; }
 .btr-life-copy h2 { font-size:57px; }
 .btr-life-copy h2 br:nth-of-type(1) { display:none; }
 .btr-small-rule { margin:28px 0 20px; }
 .btr-ocean-heading { padding-top:76px; padding-bottom:55px; text-align:left; }
 .btr-ocean-heading h2 { font-size:clamp(36px,9.2vw,64px); }
 .btr-ocean-photo { height:480px; }
 .btr-ocean-photo img { object-position:45%; }
 .btr-ocean-photo figcaption { display:block; bottom:25px; }
 .btr-ocean-photo figcaption span { display:block; font-size:30px; margin-bottom:12px; }
 .btr-ocean-note { display:block; padding-top:32px; padding-bottom:45px; }
 .btr-ocean-note>p:first-child { font-size:18px; }
 .btr-ocean-note>p:last-child { margin-top:25px; max-width:100%; font-size:12px; }
 .btr-moments { padding-top:80px; padding-bottom:75px; }
 .btr-moments h2 { font-size:clamp(36px,9vw,60px); }
 .btr-moment-grid { grid-template-columns:1fr; gap:48px; }
 .btr-moment:nth-child(2) { padding-top:0; }
 .btr-moment>img { height:440px; }
 .btr-moment h3 { font-size:35px; }
 .btr-island-intro { padding-top:76px; padding-bottom:60px; }
 .btr-island-tabs { gap:23px; overflow-x:auto; scrollbar-width:thin; margin-bottom:28px; padding-bottom:2px; }
 .btr-island-tabs button { font-size:14px; flex-shrink:0; }
 .btr-island-panel { grid-template-columns:1fr; }
 .btr-island-image img { height:360px; min-height:0; }
 .btr-island-copy { padding:32px 0 0; }
 .btr-island-copy h3 { font-size:39px; }
 .btr-island-copy p:not(.eyebrow) { font-size:15px; }
 .btr-further { padding-top:44px; }
 .btr-further-grid { grid-template-columns:1fr; gap:24px; }
 .btr-further-grid a { padding-top:19px; }
 .btr-further-grid a>span { margin-top:8px; }
 .btr-further-grid strong { font-size:25px; }
 .btr-stay { padding-top:80px; padding-bottom:80px; }
 .btr-planning>.section { padding-top:76px; padding-bottom:70px; }
 .btr-planning h2 { font-size:clamp(37px,9.2vw,63px); }
 .btr-chips { gap:10px; }
 .btr-chips label>span { padding:14px 17px; gap:17px; font-size:13px; min-height:50px; }
 .btr-fields { gap:23px 14px; }
 .btr-fields input,.btr-fields select { font-size:16px; }
 .btr-fields .field label { min-height:28px; line-height:1.4; }
 .btr-wishes textarea { font-size:16px; }
 .btr-page legend { font-size:12px; }
 .btr-enquiry-bottom { display:flex; flex-direction:column; align-items:stretch; gap:22px; }
 .btr-enquiry-bottom p { max-width:100%; }
 .btr-enquiry-bottom button { width:100%; }
 .btr-message { padding:25px 20px; }
 .btr-message pre { padding:17px; font-size:13px; }
 .btr-message .actions { align-items:stretch; flex-direction:column; }
 .btr-message .button { min-height:52px; font-size:13px; }
 .btr-human { padding-top:80px; padding-bottom:60px; }
 .btr-human h2 { font-size:45px; }
 .btr-process { margin-top:28px; }
 .btr-good-to-know { padding-top:10px; padding-bottom:80px; }
 .btr-good-to-know h2 { font-size:39px; }
 .btr-faq summary { font-size:15px; }
 .btr-final { height:680px; }
 .btr-final-copy { padding-top:100px; }
 .btr-final h2 { font-size:clamp(58px,13vw,95px); }
 .btr-final>.btr-final-caption { bottom:26px; }
 .btr-credits ul { grid-template-columns:1fr; }
 .btr-float { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); font-size:11px; min-height:46px; }
}
@media(max-width:359px) { .btr-chips label>span { padding:13px; font-size:12px; gap:9px; } .btr-page .btr-hero h1 { font-size:56px; } .btr-fields { grid-template-columns:1fr; } .btr-fields .field label { min-height:0; } }
@media(prefers-reduced-motion:reduce) { .btr-reveal.pending { opacity:1; transform:none; } }
