@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/brochure-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/fonts/brochure-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/fonts/brochure-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/fonts/brochure-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(assets/fonts/brochure-4.ttf) format('truetype');
}

:root{--ink:#233b37;--paper:#f0ecdf;--muted:#68736a;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:32px 5%;color:white}.brand{font-size:18px;letter-spacing:.18em;line-height:1.5}.brand span{display:block;font-size:12px;letter-spacing:.3em;opacity:.85}nav{display:flex;gap:32px;font-size:14px}nav a{border-bottom:1px solid #ffffff50;padding:5px 0}.hero{height:100svh;min-height:640px;position:relative;color:white;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(180deg,#06171260 0%,transparent 40%,#081c19a6 100%)}.hero-copy{position:absolute;left:7%;bottom:19%;right:5%}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:500}h1,h2,h3,p{margin-top:0}h1{font:clamp(58px,7.4vw,114px)/1.02 var(--serif);letter-spacing:-.035em;margin:22px 0 0}em{font-family:Georgia,serif;font-weight:400;font-size:.86em}h1 em{font-size:.78em}h2{font:clamp(48px,5.4vw,82px)/1.07 var(--serif);letter-spacing:-.03em}.hero-bottom{position:absolute;bottom:42px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;font-size:14px}.hero-bottom a{font-size:12px;letter-spacing:.18em}.intro{padding:110px 9%;max-width:1000px}.intro>p:last-child{max-width:420px;color:var(--muted)}@media(max-width:650px){header{padding:24px 6%}.brand{font-size:14px}.brand span{font-size:12px}nav{gap:18px;font-size:12px}nav a:last-child{display:none}.hero{min-height:570px}.hero-copy{left:7%;bottom:23%}h1{font-size:clamp(52px,11vw,72px)}.hero-bottom{bottom:32px;gap:20px}.hero-bottom>span{max-width:120px}.intro{padding:75px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* The landscape is the interface. */
.sequence{position:relative}.hero-sequence{height:480svh}.pin{position:sticky;top:0}.hero{height:100svh;min-height:0}.hero canvas,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero canvas{opacity:0}.sequence.ready canvas{opacity:1}.hero-copy{will-change:opacity,transform}.hero-bottom{gap:24px}.scroll-cue{font-size:12px;letter-spacing:.17em;display:flex;gap:18px;align-items:center}.scroll-cue>span{font-size:24px}.skip-scene{font-size:13px!important;letter-spacing:0!important;opacity:.9}.progress-track{position:absolute;height:2px;background:#ffffff35;bottom:0;left:0;right:0}.progress-track>span{display:block;background:#d7caac;height:100%;width:100%;transform:scaleX(0);transform-origin:left}.arrival-caption{position:absolute;inset:auto 7% 22%;opacity:0;transform:translateY(15px);pointer-events:none}.arrival-caption p{font:clamp(40px,5vw,74px)/1.1 var(--serif);max-width:500px;margin:20px 0 0}.intro{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:112px 9%;align-items:end}.intro h2{margin-bottom:0}.intro-note{max-width:390px;padding-bottom:6px}.intro-note>p{font-size:19px;line-height:1.8}.intro-note .small{font-size:15px;color:var(--muted);margin:30px 0 0}.walk-sequence{height:350svh;background:var(--ink);color:var(--paper)}.walk-pin{height:100svh;min-height:600px;display:grid;grid-template-columns:1fr auto 80px;align-items:center;padding:38px 7%;gap:6%}.walk-copy{max-width:350px}.walk-copy h2{font-size:clamp(60px,6.8vw,100px);margin:32px 0}.walk-copy p:not(.eyebrow){color:#c4cbc0;font-size:16px;line-height:1.8}.walk-hint{display:block;font-size:12px;letter-spacing:.12em;margin-top:44px}.walk-film{position:relative;height:calc(100svh - 80px);max-height:850px;aspect-ratio:9/16;overflow:hidden;background:#1b2e28;border-radius:200px 200px 3px 3px}.walk-film .poster,.walk-film canvas{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.walk-film canvas{opacity:0}.film-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:10px;padding:38px 22px 20px;background:linear-gradient(transparent,#071b17aa);font-size:13px}.walk-side{height:70%;display:flex;justify-content:space-between;align-items:center;writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;opacity:.55}.walk-skip{position:absolute;bottom:28px;left:7%;font-size:13px;color:#d4d8cf}.moments{padding:120px 7% 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.section-heading h2{margin-bottom:0}.section-heading>p{margin-bottom:4px;max-width:340px;color:var(--muted);font-size:17px;line-height:1.9}.gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:64px 5%;align-items:start}.photo{border:0;padding:0;background:transparent;text-align:left;color:inherit;cursor:zoom-in;width:100%;font:inherit}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:filter .35s}.photo:hover img{filter:brightness(.93)}.photo-wide img{aspect-ratio:1.45}.photo-tall{padding-top:110px}.photo-tall img{aspect-ratio:.8}.photo-small{max-width:85%;margin-top:-120px}.photo-small img{aspect-ratio:1.07}.photo.second{padding-top:26px}.photo.second img{aspect-ratio:1.24}.photo>span{display:flex;justify-content:space-between;font-size:14px;margin-top:16px}.photo b{font-weight:400}.closing{position:relative;height:75svh;min-height:500px;color:white;overflow:hidden}.closing>img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.closing>div:last-child{position:absolute;bottom:13%;left:9%}.closing h2{font-size:clamp(58px,7vw,108px);margin-bottom:0}footer{background:var(--ink);color:var(--paper);padding:55px 7%;display:flex;justify-content:space-between;align-items:center;gap:35px}footer>a:last-child{font-size:14px}dialog{border:0;background:#162d27;color:var(--paper);padding:24px;max-width:94vw;width:1100px;max-height:95svh;overflow:auto}dialog::backdrop{background:#071410eb}dialog img{display:block;max-height:78svh;max-width:100%;margin:auto;object-fit:contain}dialog p{text-align:center;margin:15px 0 0;font-size:14px}.close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:1px solid #ffffff70;background:#18382ce8;color:white;font-size:30px;cursor:pointer;border-radius:50%}.skip{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-200%);background:white;color:var(--ink);padding:12px}.skip:focus{transform:none}a:focus-visible,button:focus-visible{outline:2px solid #b99b64;outline-offset:6px}
@media(min-width:1500px){.walk-pin{grid-template-columns:1fr auto 1fr}.walk-side{justify-self:end}.walk-copy{justify-self:center}}
@media(max-width:800px){.walk-pin{grid-template-columns:1fr auto;gap:25px;padding:30px 5%}.walk-side{display:none}.walk-film{height:80svh;max-width:48vw}.walk-copy h2{font-size:65px}.walk-copy p:not(.eyebrow){font-size:14px}.walk-hint{font-size:12px;max-width:160px}.gallery{gap:40px 5%}.photo-tall{padding-top:60px}.photo-small{margin-top:-60px}.intro{gap:8%;padding:85px 7%}}
@media(max-width:600px){.hero-sequence{height:350svh}.hero-copy{bottom:26%}.hero-bottom{left:7%;right:7%;flex-wrap:wrap;bottom:25px}.hero-bottom .frame-label{display:none}.hero-bottom .scroll-cue{font-size:12px}.skip-scene{font-size:12px!important}.arrival-caption{bottom:26%}.intro{display:block;padding:72px 7%}.intro-note{margin-top:30px;max-width:360px}.intro-note>p{font-size:17px}.intro-note .small{margin-top:22px}.walk-sequence{height:300svh}.walk-pin{height:100svh;min-height:0;display:flex;justify-content:center;padding:20px 7% 55px}.walk-film{height:calc(100svh - 75px);max-width:100%;border-radius:160px 160px 2px 2px}.walk-copy{position:absolute;z-index:2;top:50px;left:12%;right:12%;text-align:center;max-width:none;pointer-events:none;color:white;text-shadow:0 2px 15px #0008}.walk-copy h2{font-size:52px;margin:8px 0 0}.walk-copy .eyebrow{font-size:12px}.walk-copy h2 br{display:none}.walk-copy p:not(.eyebrow),.walk-hint{display:none}.walk-skip{left:0;right:0;text-align:center;bottom:16px}.moments{padding:74px 7%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px;font-size:16px}.gallery{gap:36px;display:block}.photo{margin:0 0 32px;max-width:none;padding:0}.photo-wide img,.photo.second img{aspect-ratio:1.2}.photo-tall img{aspect-ratio:.95}.photo-small img{aspect-ratio:1.3}.photo>span{font-size:13px}.closing{height:70svh;min-height:430px}footer{padding:38px 7%;align-items:start}footer .brand{font-size:12px}footer>a:last-child{max-width:100px;font-size:12px}dialog{padding:14px}.walk-side{display:none}}
@media(prefers-reduced-motion:reduce){.sequence{height:auto!important}.pin{position:relative}.hero canvas,.walk-film canvas{display:none}.scroll-cue{visibility:hidden}.walk-hint{display:none}.hero-copy{opacity:1!important;transform:none!important}.arrival-caption{display:none}.progress-track{display:none}.photo img{transition:none}}

/* Villa Santú identity and bilingual editorial chapters. */
:root{--ink:#235650;--muted:#5f7168}header{align-items:start}.logo-brand{background:#f0ecdfed;color:var(--ink);padding:14px 18px 12px;border-radius:2px;display:block}.santu-logo{display:block;width:150px;height:auto}.brand .logo-location{font-size:9px;letter-spacing:.16em;margin-top:9px;white-space:nowrap}.language-switch{position:fixed;z-index:30;right:5%;top:32px;display:flex;gap:3px;padding:4px;background:#f0ecdf;border:1px solid #23565030;border-radius:25px;box-shadow:0 2px 18px #173c2215}.language-switch button{border:0;background:transparent;color:var(--ink);padding:9px 12px;font:500 12px var(--sans);border-radius:22px;cursor:pointer}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}header nav{margin:4px 150px 0 24px}.shade{background:linear-gradient(180deg,#06171245 0%,#081c1915 30%,#081c19b8 100%)}.story-stack{position:absolute;left:7%;right:7%;bottom:20%;height:60%;pointer-events:none}.scroll-story{position:absolute;bottom:0;left:0;max-width:850px;opacity:0;transition:opacity .45s}.scroll-story:first-child{opacity:1}.scroll-story h1,.scroll-story h2{font:clamp(52px,6.5vw,94px)/1.07 var(--serif);letter-spacing:-.025em;margin:20px 0 24px}.story-body{font-size:18px;line-height:1.75;max-width:545px;margin-bottom:0;text-shadow:0 1px 12px #12282060}.villa-facts{margin:0 9% 100px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #23565040;border-bottom:1px solid #23565040;padding:28px 0;gap:30px}.villa-facts>div{display:flex;flex-direction:column}.villa-facts strong{font:44px var(--serif);margin-bottom:8px}.villa-facts span{color:var(--muted);font-size:16px}.walk-copy{max-width:410px}.walk-copy h2{font-size:clamp(42px,4.8vw,72px);margin:23px 0}.content-section{padding:90px 7%}.rest{border-top:1px solid #23565030}.suite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.suite-grid article{border-top:1px solid #23565040;padding-top:22px}.suite-grid h3{font:36px var(--serif);margin-bottom:12px}.suite-grid p{color:var(--muted);max-width:340px;font-size:16px}.care{background:#e5e4d5;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.care-intro>p:last-child,.extras p{color:var(--muted);max-width:470px}.care-list{list-style:none;margin:0;padding:0}.care-list li{padding:17px 0;border-bottom:1px solid #23565030}.care-list li:first-child{padding-top:0}.extras{margin-top:35px}.extras h3{font:30px var(--serif);margin-bottom:12px}.place{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8%;padding-top:110px;padding-bottom:110px}.place>img{width:100%;aspect-ratio:1.05;object-fit:cover}.place p:not(.eyebrow){color:var(--muted)}.closing>div:last-child{right:7%;max-width:950px}.closing h2{font-size:clamp(48px,6.5vw,88px);margin-bottom:20px}.closing p:not(.eyebrow){font-size:17px;max-width:500px}.contact-link{display:inline-block;background:var(--paper);color:var(--ink);padding:13px 24px;border-radius:2px;margin-top:10px;font-size:16px}footer .santu-logo{width:130px;filter:brightness(0) invert(.93)}.footer-links{display:flex;gap:30px;font-size:14px}
@media(max-width:900px){header nav{display:none}.walk-pin{grid-template-columns:1fr auto;gap:25px}.walk-side{display:none}.walk-copy h2{font-size:46px}.walk-copy p:not(.eyebrow){font-size:16px}.suite-grid{grid-template-columns:repeat(2,1fr)}.care{gap:7%}.place{gap:6%}}
@media(max-width:600px){header{padding:20px 6%}.logo-brand{padding:12px}.santu-logo{width:120px}.brand .logo-location{font-size:8px}.language-switch{top:22px;right:6%}.language-switch button{padding:9px 10px}.story-stack{bottom:22%;height:58%}.scroll-story h1,.scroll-story h2{font-size:clamp(44px,11vw,62px);margin:14px 0 18px}.story-body{font-size:16px;line-height:1.65;max-width:340px}.scroll-story .eyebrow{letter-spacing:.13em}.villa-facts{margin:0 7% 65px;gap:20px;grid-template-columns:1fr 1fr}.villa-facts>div:last-child{grid-column:1/-1}.villa-facts strong{font-size:36px}.walk-copy{top:10%;left:10%;right:10%;padding:20px 18px;background:linear-gradient(#122c23a8,#122c2385);border-radius:5px}.walk-copy h2{font-size:40px;margin:12px 0}.walk-copy p:not(.eyebrow){display:block;color:#fff;font-size:16px;line-height:1.6;margin:0}.walk-copy .eyebrow{font-size:11px;margin-bottom:10px}.content-section{padding:65px 7%}.suite-grid{grid-template-columns:1fr;gap:22px}.suite-grid h3{font-size:32px}.care,.place{display:block}.care-intro{margin-bottom:35px}.place>img{margin-bottom:35px;aspect-ratio:1.2}.closing{min-height:610px}.closing>div:last-child{left:7%;bottom:10%}.closing h2{font-size:48px}.footer-links{flex-direction:column;gap:15px}footer .santu-logo{width:110px}}
@media(prefers-reduced-motion:reduce){.scroll-story{transition:none}.scroll-story:not(:first-child){display:none}.scroll-story:first-child{opacity:1!important}}
@media(max-width:600px){.walk-copy h2 br{display:initial}}
footer .santu-logo{filter:none}
/* Original transparent PNG, presented in white over the landscape. */
.logo-brand{background:transparent;padding:0;border-radius:0;color:#fff}
.santu-logo,footer .santu-logo{filter:brightness(0) invert(1);width:164px;height:auto}
.brand .logo-location{color:#fff;font-size:12px;letter-spacing:.18em;margin-top:13px;opacity:.88}
header .logo-brand{filter:drop-shadow(0 1px 9px #071b1726)}
footer .logo-brand{background:transparent;color:#fff}
@media(max-width:600px){.logo-brand{padding:0}.santu-logo,footer .santu-logo{width:128px}.brand .logo-location{font-size:12px;letter-spacing:.09em;max-width:140px;white-space:normal;line-height:1.7;margin-top:9px}}

/* Bedrooms: photographs from the Villa Santú brochure. */
#bedrooms{scroll-margin-top:35px}.suite-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.suite-grid .suite-card{padding:0;border:0}.suite-photo{display:block;position:relative;padding:0;border:0;background:#d5d5c8;width:100%;cursor:zoom-in;overflow:hidden}.suite-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .5s}.suite-photo:hover img{transform:scale(1.025)}.suite-photo>span{position:absolute;bottom:14px;right:16px;color:white;background:#173c35b0;border-radius:50%;width:35px;height:35px;line-height:35px;font-size:20px}.suite-info{padding-top:20px}.suite-grid .suite-info .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:10px}.suite-info h3{margin-bottom:10px}.suite-info>p:last-child{margin-bottom:0}.bed-amenities{margin-top:55px;padding:30px 0;border-top:1px solid #23565040;display:grid;grid-template-columns:1fr 2fr;gap:30px}.bed-amenities h3{font:30px var(--serif);margin:0}.bed-amenities p{max-width:620px;margin:0;color:var(--muted)}
@media(max-width:900px){.suite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bed-amenities{display:block}.bed-amenities h3{margin-bottom:16px}}
@media(max-width:600px){.suite-grid{grid-template-columns:1fr;gap:40px}.suite-photo img{aspect-ratio:4/3}.suite-info{padding-top:18px}#bedrooms{scroll-margin-top:65px}.bed-amenities{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.suite-photo img{transition:none}}

.care-list li{display:flex;align-items:flex-start;gap:20px}.service-icon{width:26px;height:26px;flex:0 0 26px;stroke-width:1.4;margin-top:2px;color:var(--ink)}.care-list li>span{min-width:0}.location-map{grid-column:1/-1;margin-top:30px;width:100%}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:26px}.map-heading h3{font:clamp(30px,3.5vw,46px)/1.2 var(--serif);margin:0}.map-heading .eyebrow{margin-bottom:12px}.map-link{font-size:14px;border-bottom:1px solid #23565066;padding-bottom:6px}.location-map iframe{display:block;width:100%;height:420px;border:1px solid #23565030;background:#e5e4d5}.place .map-caption{font-size:13px;margin:14px 0 0}.place{scroll-margin-top:45px}@media(max-width:600px){.care-list li{gap:16px}.service-icon{width:24px;height:24px;flex-basis:24px}.location-map{margin-top:45px}.map-heading{display:block}.map-link{display:inline-block;margin-top:20px}.location-map iframe{height:340px}}

/* Brochure typography: Open Sans and a fuller upright display serif. */
:root{--serif:'Cormorant Garamond',Georgia,serif;--sans:'Open Sans',Arial,sans-serif}
h1,h2,h3,.scroll-story h1,.scroll-story h2,.suite-grid h3,.extras h3,.map-heading h3,.bed-amenities h3{font-weight:600;letter-spacing:-.025em}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em}
body{font-weight:400;letter-spacing:.005em}.eyebrow{font-weight:400;letter-spacing:.19em}.story-body{font-size:18px;line-height:1.8}.scroll-story h1,.scroll-story h2{line-height:1.02}.villa-facts strong{font-weight:600}.intro-note>p{font-size:18px}.brand .logo-location{font-family:var(--sans);font-weight:300}
@media(max-width:600px){.story-body{font-size:16px}.scroll-story h1,.scroll-story h2{font-size:clamp(44px,11vw,62px);line-height:1.06}.walk-copy h2{line-height:1.08}}

.top-enquiry{position:absolute;top:32px;right:calc(5% + 136px);z-index:30;display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 21px;background:var(--paper);color:var(--ink);border:1px solid #23565030;border-radius:2px;font-size:14px;line-height:1.4;box-shadow:0 2px 18px #173c2215;transition:background .2s}.top-enquiry:hover{background:white}header nav{margin-right:340px;gap:22px}@media(max-width:950px){header nav{display:none}}@media(max-width:600px){.top-enquiry{top:79px;right:6%;max-width:170px;min-height:42px;padding:10px 15px;font-size:13px}}

/* Quiet editorial moments and room galleries. */
.language-switch{align-items:center}
.language-switch button{width:44px;height:44px;padding:0;display:grid;place-items:center}
.language-switch button>span{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:25px;line-height:1}
.language-switch>span{opacity:.45}
.top-enquiry{right:calc(5% + 132px)}
.day-story{padding-top:110px;padding-bottom:120px;border-top:1px solid #23565025}
.day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5%}
.day-grid article:nth-child(2){padding-top:90px}.day-grid article:nth-child(3){padding-top:40px}
.day-grid img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin-bottom:28px}
.day-grid .eyebrow{margin-bottom:12px}.day-grid h3{font:600 clamp(30px,3vw,44px)/1.1 var(--serif);margin-bottom:18px}
.day-grid p:last-child{font-size:16px;color:var(--muted);max-width:360px}
.suite-thumbs{display:flex;gap:10px;margin-top:10px}
.suite-detail{border:0;background:transparent;padding:0;width:calc((100% - 10px)/2);cursor:zoom-in}
.suite-detail img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.stay-invitation{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #23565040;padding:42px 0 0;margin-top:25px}
.stay-invitation h3{font:600 clamp(30px,3.3vw,46px)/1.15 var(--serif);margin:0 0 14px}
.stay-invitation p{color:var(--muted);max-width:550px;margin:0}
.stay-invitation .contact-link{background:var(--ink);color:var(--paper);white-space:nowrap;margin:0;padding:16px 24px}
.arrival-faq{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;border-top:1px solid #23565030;padding-bottom:110px}
.faq-list details{border-bottom:1px solid #23565030}.faq-list details:first-child{border-top:1px solid #23565030}
.faq-list summary{cursor:pointer;padding:24px 34px 24px 0;position:relative;list-style:none;font-size:17px}
.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:3px;top:20px;font-size:24px;font-weight:300}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{color:var(--muted);line-height:1.85;margin:0;padding:0 20px 26px 0}
summary:focus-visible{outline:2px solid #b99b64;outline-offset:4px}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:16px}.lightbox-controls[hidden]{display:none}
.lightbox-controls button{font:inherit;font-size:14px;background:transparent;color:var(--paper);border:1px solid #ffffff60;padding:10px 16px;cursor:pointer;min-height:44px}
dialog img{max-height:68svh}.photo-count{font-size:14px;white-space:nowrap}
.reveal{transition:opacity .6s ease,transform .6s ease}.reveal-pending{opacity:0;transform:translateY(18px)}
@media(max-width:800px){.day-grid{gap:25px}.arrival-faq{grid-template-columns:1fr;gap:25px}.stay-invitation{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.top-enquiry{right:6%;top:87px}.day-story{padding-top:70px;padding-bottom:70px}.day-grid{display:block}.day-grid article,.day-grid article:nth-child(2),.day-grid article:nth-child(3){padding:0;margin-bottom:45px}.day-grid article:last-child{margin-bottom:0}.day-grid img{aspect-ratio:5/4;margin-bottom:22px}.day-grid p:last-child{max-width:none}.arrival-faq{padding-bottom:70px}.lightbox-controls{gap:12px}.lightbox-controls button{padding:10px;font-size:13px}.stay-invitation{padding-top:30px}.day-grid h3{font-size:36px}}
@media(prefers-reduced-motion:reduce){.reveal{transition:none;transform:none;opacity:1}}

/* Phone storytelling: a clear landscape, then a stable reading area. */
@media(max-width:600px){
 .hero-sequence{height:400svh}
 .hero .shade{background:linear-gradient(180deg,#06171255 0%,transparent 24%,transparent 44%,#081c1990 66%,#081c19e0 100%)}
 .story-stack{left:7%;right:7%;bottom:calc(100px + env(safe-area-inset-bottom));height:auto}
 .scroll-story{width:100%;max-width:390px;transition:none}
 .scroll-story h1,.scroll-story h2{font-size:clamp(36px,10.5vw,48px);line-height:1.04;margin:0 0 14px;text-wrap:balance}
 .scroll-story .story-body{font-size:15px;line-height:1.6;max-width:32ch;text-shadow:none}
 .hero-bottom{bottom:calc(28px + env(safe-area-inset-bottom));gap:14px;flex-wrap:nowrap}
 .hero-bottom .scroll-cue{font-size:10px;letter-spacing:.1em}
 .hero-bottom .skip-scene{font-size:11px!important;white-space:nowrap}
 .walk-sequence{height:330svh}
 .walk-pin{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 216px 36px;gap:0;height:100svh;min-height:540px;padding:18px 6% calc(12px + env(safe-area-inset-bottom));align-items:stretch}
 .walk-film{grid-row:1;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;border-radius:100px 100px 2px 2px}
 .walk-copy{grid-row:2;position:relative;inset:auto;z-index:auto;align-self:center;padding:20px 0 12px;max-width:none;background:none;border-radius:0;text-align:left;text-shadow:none;pointer-events:auto;color:var(--paper)}
 .walk-copy .eyebrow{font-size:10px;letter-spacing:.13em;margin:0 0 10px;color:#d0d8cf}
 .walk-copy h2{font-size:clamp(32px,9vw,40px);line-height:1.03;margin:0 0 12px}
 .walk-copy p:not(.eyebrow){font-size:14px;line-height:1.55;max-width:32ch;color:#e0e5dd;margin:0}
 .walk-copy .walk-hint{display:none}
 .walk-skip{grid-row:3;position:static;align-self:center;text-align:left;font-size:12px}
 .film-caption{padding:32px 16px 14px;font-size:11px}
}
@media(max-width:600px) and (max-height:650px){
 .story-stack{bottom:85px}
 .scroll-story h1,.scroll-story h2{font-size:34px}
 .walk-pin{grid-template-rows:minmax(0,1fr) 195px 30px;padding-top:12px}
 .walk-copy h2{font-size:30px}
}

/* Scroll progress owns caption fades; overlapping time-based fades are disabled. */
.scroll-story{transition:none}

/* The opening invitation belongs to its story, not the navigation. */
header nav{margin-right:150px}
.hero-enquiry{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;padding:12px 24px;background:var(--paper);color:var(--ink);border:1px solid #ffffff60;border-radius:2px;font:500 14px/1.4 var(--sans);pointer-events:auto;transition:background .2s}
.hero-enquiry:hover{background:#fff}
@media(max-width:600px){.hero-enquiry{margin-top:20px;padding:12px 21px;min-height:46px;font-size:14px}}
/* A small, reversible zoom follows each room through the viewport. */
.suite-photo img,.suite-photo:hover img{transform:scale(var(--room-scale,1));transition:none;transform-origin:50% 50%}
.suite-photo.is-motion-visible img{will-change:transform}
@media(prefers-reduced-motion:reduce){.suite-photo img,.suite-photo:hover img{transform:none;will-change:auto}}

/* Shorter coastal shot, with enough space for the four opening stories. */
.hero-sequence{height:360svh}
@media(max-width:600px){.hero-sequence{height:320svh}}

/* Large, self-contained room galleries. */
.suite-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 42px}
.room-carousel{position:relative;background:#deddd2}
.room-viewport{overflow:hidden;touch-action:pan-y pinch-zoom;aspect-ratio:4/5}
.room-viewport .suite-photo{height:100%;margin:0}
.room-viewport .suite-photo[hidden]{display:none}
.room-viewport .suite-photo img{height:100%;aspect-ratio:auto;object-fit:cover}
.room-prev,.room-next{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:48px;height:56px;padding:10px;border:0;background:#102c2738;color:white;cursor:pointer;border-radius:2px}
.room-prev{left:12px}.room-next{right:12px}
.room-prev:hover,.room-next:hover{background:#102c2770}
.room-carousel svg{width:26px;height:32px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0005)}
.room-count{position:absolute;bottom:14px;right:18px;background:#102c277a;padding:3px 10px;color:white;font-size:13px;letter-spacing:.1em;pointer-events:none}
.suite-info{padding-top:26px}.suite-info h3{font-size:42px;line-height:1.1;margin:0 0 14px}.suite-info>p:last-child{font-size:16px;line-height:1.7}
@media(max-width:600px){.suite-grid{grid-template-columns:1fr;gap:50px}.room-viewport{aspect-ratio:1/1.05}.suite-info{padding-top:22px}.suite-info h3{font-size:38px}.room-prev{left:8px}.room-next{right:8px}}
