:root{
  --ink:#102733;
  --ink-2:#183642;
  --charcoal:#262b2d;
  --ivory:#fbf7f0;
  --paper:#fffdf9;
  --sand:#e8dac8;
  --sand-2:#d5c0a6;
  --brass:#8a6532;
  --brass-dark:#6f4f25;
  --clay:#a86449;
  --stone:#736b64;
  --line:rgba(16,39,51,.14);
  --shadow:0 22px 70px rgba(16,39,51,.13);
  --radius:28px;
  --container:min(1200px,calc(100% - 40px));
  --serif:Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
::selection{background:var(--brass);color:#fff}
.container{width:var(--container);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;transition:top .2s}
.skip-link:focus{top:16px}

/* Type */
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98;letter-spacing:-.035em}
h1{font-size:clamp(3.2rem,7vw,7.6rem)}
h2,.h2{font-size:clamp(2.35rem,4.7vw,5.2rem)}
h3{font-size:clamp(1.65rem,2.2vw,2.35rem)}
p{max-width:72ch}
.eyebrow,.section-kicker,.micro{font-family:var(--sans);font-size:.74rem;line-height:1.2;text-transform:uppercase;letter-spacing:.19em;font-weight:850}
.eyebrow,.section-kicker{color:var(--brass-dark)}
.micro{color:var(--stone)}
.light,.light p,.section-heading.light p{color:rgba(255,255,255,.78)}
.light h2,.section-heading.light h2{color:#fff}
.section-heading{max-width:820px;margin-bottom:44px}
.section-heading h2{margin-bottom:18px}
.section-heading p:last-child{font-size:1.08rem;color:var(--stone)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);transition:box-shadow .25s,background .25s}
.site-header.is-scrolled{box-shadow:0 12px 35px rgba(16,39,51,.08);background:rgba(255,253,249,.97)}
.header-inner{min-height:84px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:190px;height:auto}
.primary-nav{display:flex;align-items:center;gap:25px;margin-left:auto}
.primary-nav a{position:relative;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:31px 0 26px}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--brass);transition:right .25s}
.primary-nav a:hover:after,.primary-nav a.active:after{right:0}
.primary-nav .nav-book{display:none}
.header-cta{background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.menu-toggle{display:none;border:0;background:transparent;padding:10px;margin-left:auto}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}

/* Buttons */
.button-row{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 22px;border:1px solid transparent;border-radius:999px;font-size:.77rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-brass{background:var(--brass);color:#fff;box-shadow:0 12px 30px rgba(181,138,72,.25)}
.btn-brass:hover{background:var(--brass-dark)}
.btn-ivory{background:rgba(255,255,255,.94);color:var(--ink)}
.btn-ink{background:var(--ink);color:#fff}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-wide{width:100%}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:850;border-bottom:1px solid currentColor;padding-bottom:5px}
.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}

/* Home hero */
.home-hero{position:relative;min-height:calc(100svh - 84px);display:grid;align-items:end;overflow:hidden;background:var(--ink)}
.home-hero-media,.home-hero-overlay{position:absolute;inset:0}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.78) contrast(1.04)}
.home-hero-overlay{background:linear-gradient(90deg,rgba(6,17,24,.86) 0%,rgba(6,17,24,.62) 45%,rgba(6,17,24,.16) 78%),linear-gradient(0deg,rgba(6,17,24,.66),transparent 46%)}
.home-hero-copy{position:relative;z-index:2;padding:clamp(80px,10vh,130px) 0 94px;color:#fff}
.home-hero-copy h1{max-width:980px;margin-bottom:26px;font-size:clamp(3.7rem,8.2vw,8.8rem)}
.home-hero-copy>p:not(.eyebrow){max-width:720px;font-size:clamp(1.04rem,1.8vw,1.35rem);color:rgba(255,255,255,.82);margin-bottom:34px}
.home-hero-copy .eyebrow{color:#e7c895;margin-bottom:22px}
.hero-facts{list-style:none;padding:0;margin:52px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:980px;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.22)}
.hero-facts li{padding:20px 22px;background:rgba(9,25,33,.58);backdrop-filter:blur(9px)}
.hero-facts strong,.hero-facts span{display:block}.hero-facts strong{font-family:var(--serif);font-size:1.16rem}.hero-facts span{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:5px}
.hero-scroll{position:absolute;right:30px;bottom:28px;z-index:3;color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;display:flex;gap:12px;align-items:center;writing-mode:vertical-rl}.hero-scroll span{font-size:1.25rem}

/* Booking strip */
.booking-strip{position:relative;z-index:5;margin-top:-24px}
.booking-strip-form{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:18px;display:grid;grid-template-columns:1.15fr repeat(3,.85fr) auto;gap:12px;align-items:end}
.booking-strip-form>div:first-child{padding:0 16px 6px}.booking-strip-form strong{display:block;font-family:var(--serif);font-size:1.55rem;font-weight:500}.booking-strip-form label{display:grid;gap:7px}.booking-strip-form label span,.booking-form label span,.event-form label span{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--stone)}
input,select,textarea{width:100%;border:1px solid #89969c;background:#fff;color:var(--ink);border-radius:12px;padding:13px 14px;min-height:48px}
textarea{resize:vertical}

/* Sections */
.section{padding:clamp(76px,9vw,132px) 0}
.section-soft{background:var(--ivory)}
.section-ink{background:var(--ink);color:#fff}
.split-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(38px,6vw,88px);align-items:center}
.split-grid.reverse>div:first-child{order:2}
.story-media{position:relative}.story-media img,.story-media video{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.story-media video[controls]{aspect-ratio:16/11}
.media-caption{position:absolute;right:-16px;bottom:26px;background:var(--paper);padding:13px 17px;font-size:.74rem;font-weight:800;box-shadow:var(--shadow)}
.story-copy h2{margin-bottom:24px}.story-copy p:not(.section-kicker){font-size:1.05rem;color:var(--stone)}
.story-copy.light p:not(.section-kicker){color:rgba(255,255,255,.72)}

/* Sticky cards */
.experience-stack-section{overflow:clip}
.experience-stack{display:grid;gap:28px}
.stack-card{position:sticky;top:110px;min-height:560px;border-radius:30px;display:grid;grid-template-columns:1.25fr .75fr;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.stack-card:nth-child(2){top:132px}.stack-card:nth-child(3){top:154px}.stack-card:nth-child(4){top:176px}
.stack-media img{width:100%;height:100%;object-fit:cover}
.stack-copy{padding:clamp(36px,5vw,74px);display:flex;flex-direction:column;justify-content:center;color:var(--ink)}
.stack-copy>span{font-family:var(--serif);font-size:4.5rem;opacity:.28;line-height:1}.stack-copy h3{font-size:clamp(2.4rem,4vw,4.5rem);margin:12px 0 18px}.stack-copy p:not(.micro){font-size:1.05rem;max-width:38ch}.stack-copy a{font-weight:850;border-bottom:1px solid currentColor;align-self:flex-start;margin-top:18px}
.tone-brass{background:#d7b87f}.tone-clay{background:#c98568}.tone-sand{background:#eadcc9}.tone-stone{background:#c8c1b8}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.room-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 15px 45px rgba(16,39,51,.07)}
.card-media{position:relative;overflow:hidden}.card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}.room-card:hover .card-media img{transform:scale(1.035)}
.rate{position:absolute;left:14px;bottom:14px;background:rgba(16,39,51,.9);color:#fff;padding:8px 12px;border-radius:999px;font-size:.72rem;font-weight:850;backdrop-filter:blur(10px)}
.card-body{padding:26px}.card-body h3{margin-bottom:12px}.card-body>p{color:var(--stone)}
.mini-features,.check-list{list-style:none;padding:0;margin:18px 0 24px}.mini-features{display:flex;flex-wrap:wrap;gap:8px}.mini-features li{background:var(--ivory);padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:750}.check-list li{position:relative;padding-left:26px;margin:10px 0}.check-list li:before{content:"✦";position:absolute;left:0;color:var(--brass)}

/* Celebration */
.celebration-feature{background:#efe4d6}
.celebration-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.celebration-copy h2{margin-bottom:22px}.celebration-copy>p:not(.section-kicker){color:var(--stone);font-size:1.05rem}
.stat-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(16,39,51,.15);margin:34px 0}.stat-list div{padding:18px;background:rgba(255,255,255,.45)}.stat-list dt{font-family:var(--serif);font-size:1.35rem}.stat-list dd{margin:5px 0 0;font-size:.76rem;color:var(--stone)}
.photo-pair{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;align-items:end}.photo-pair figure{margin:0}.photo-pair figure:nth-child(2){transform:translateY(30px)}.photo-pair img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px}.photo-pair figcaption,.event-gallery figcaption,.gallery-grid figcaption{font-size:.72rem;color:var(--stone);margin-top:8px}

/* Reviews */
.reviews-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}
.review-summary{margin:26px 0}.review-summary strong,.review-summary span{display:block}.review-summary strong{font-family:var(--serif);font-size:2.5rem}.review-summary span{color:var(--stone)}
.review-card{background:#fff;border:1px solid var(--line);padding:46px;border-radius:var(--radius);box-shadow:var(--shadow)}.quote-mark{font-family:var(--serif);font-size:6rem;line-height:.7;color:var(--brass)}.review-card>p{font-family:var(--serif);font-size:clamp(1.4rem,2vw,2rem);line-height:1.25}.review-card div strong,.review-card div span{display:block}.review-card div span{font-size:.78rem;color:var(--stone)}

/* Location */
.location-grid,.location-main{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.map-frame iframe,.map-large iframe{border:0;width:100%;height:520px;border-radius:var(--radius)}.location-copy p{color:var(--stone)}
.map-large iframe{height:620px}.location-card{background:var(--ivory);padding:42px;border-radius:var(--radius)}.contact-lines{display:grid;gap:7px;margin:24px 0}.contact-lines a{font-weight:800}
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.route-grid article{background:#fff;padding:30px;border:1px solid var(--line);border-radius:22px}.route-grid h2{font-size:2.1rem}.route-grid p{color:var(--stone)}

/* FAQ */
.faq-grid,.faq-page-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}.faq-page-grid aside{position:sticky;top:120px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:23px 0;font-family:var(--serif);font-size:1.4rem;line-height:1.25}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-size:1.4rem;color:var(--brass);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details div{padding:0 46px 24px 0;color:var(--stone)}.aside-contact{display:grid;gap:6px;margin-top:30px;padding:24px;background:var(--ivory);border-radius:18px}

/* Page hero */
.page-hero{position:relative;min-height:610px;display:grid;align-items:end;overflow:hidden;background:var(--ink)}.page-hero-media,.page-hero-overlay{position:absolute;inset:0}.page-hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.page-hero-overlay{background:linear-gradient(0deg,rgba(6,18,25,.82),rgba(6,18,25,.15) 68%),linear-gradient(90deg,rgba(6,18,25,.65),transparent 65%)}.page-hero-copy{position:relative;z-index:2;color:#fff;padding-bottom:74px}.page-hero-copy h1{max-width:1050px;font-size:clamp(3.4rem,7.2vw,7.5rem);margin-bottom:20px}.page-hero-copy>p:not(.eyebrow){max-width:730px;color:rgba(255,255,255,.8);font-size:1.16rem}.page-hero-copy .eyebrow{color:#e7c895}

/* Detailed rooms */
.detailed-room-list{display:grid;gap:70px}.detailed-room{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center;scroll-margin-top:110px}.detailed-room:nth-child(even) .detailed-media{order:2}.detailed-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.detailed-copy h2{font-size:clamp(2.6rem,4vw,4.7rem);margin-bottom:22px}.detailed-copy>p:not(.micro){color:var(--stone)}
.compare-wrap table{width:100%;border-collapse:collapse;min-width:720px}.compare-wrap th,.compare-wrap td{text-align:left;padding:20px;border-bottom:1px solid rgba(255,255,255,.16)}.compare-wrap th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#e7c895}.compare-wrap td{color:rgba(255,255,255,.82)}.table-scroll{overflow-x:auto}

/* Experiences */
.experience-grid{display:grid;gap:50px}.experience-tile{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;scroll-margin-top:110px}.experience-tile:nth-child(even)>div:first-child{order:2}.experience-tile img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:var(--radius)}.experience-tile h2{font-size:clamp(2.5rem,4vw,4.6rem);margin-bottom:18px}.experience-tile p:not(.micro){color:var(--stone)}
.safety-grid,.event-options{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px}.info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.info-cards article{border:1px solid var(--line);padding:26px;border-radius:20px}.info-cards article p{color:var(--stone)}

/* Events */
.celebration-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.celebration-intro>div>p:not(.section-kicker){color:var(--stone);font-size:1.06rem}.event-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:16px;align-items:end}.event-gallery figure{margin:0}.event-gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}.event-gallery figure:nth-child(2),.event-gallery figure:nth-child(3){transform:translateY(30px)}
.planning-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.event-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,255,255,.07);padding:32px;border:1px solid rgba(255,255,255,.14);border-radius:24px}.event-form label{display:grid;gap:7px}.event-form label:last-of-type,.event-form button{grid-column:1/-1}.event-form input,.event-form select,.event-form textarea{background:rgba(255,255,255,.94)}

/* Gallery */
.gallery-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:35px}.gallery-toolbar button{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:999px;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.gallery-toolbar button.active{background:var(--ink);color:#fff}.gallery-grid{columns:3 300px;column-gap:18px}.gallery-grid figure{break-inside:avoid;margin:0 0 18px}.gallery-grid button{display:block;border:0;background:transparent;padding:0;width:100%;overflow:hidden;border-radius:18px}.gallery-grid img{width:100%;transition:transform .5s}.gallery-grid button:hover img{transform:scale(1.025)}.gallery-grid figure[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(5,12,16,.94);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:32px}.lightbox[hidden]{display:none}.lightbox figure{margin:0;text-align:center}.lightbox img{max-height:82vh;margin:auto;border-radius:12px}.lightbox figcaption{color:#fff;margin-top:12px}.lightbox button{border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.35rem}.lightbox-close{position:absolute;right:24px;top:24px}.note-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}.note-panel>p{color:var(--stone);font-size:1.06rem}

/* Booking */
.booking-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:start}.booking-form{background:var(--ivory);border:1px solid var(--line);padding:clamp(28px,5vw,56px);border-radius:var(--radius)}.form-heading p{color:var(--stone)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.form-grid label{display:grid;gap:7px}.form-grid .full{grid-column:1/-1}.consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.consent input{width:18px;min-height:auto;margin-top:3px}.consent span{font-size:.85rem;color:var(--stone)}.form-note{font-size:.78rem;color:var(--stone);text-align:center;margin:12px 0 0}.booking-aside{display:grid;gap:20px;position:sticky;top:120px}.aside-card{background:var(--ink);color:#fff;padding:32px;border-radius:24px}.aside-card .section-kicker{color:#e7c895}.aside-card h2{font-size:2.5rem}.aside-card small{color:rgba(255,255,255,.65)}.rate-list{list-style:none;padding:0;margin:25px 0}.rate-list li{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.15)}.rate-list strong{white-space:nowrap}.aside-card.compact{background:var(--ivory);color:var(--ink);display:grid;gap:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps>div{background:#fff;padding:28px;border:1px solid var(--line);border-radius:20px}.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brass);color:#fff;font-weight:850}.steps h3{margin:18px 0 8px}.steps p{color:var(--stone)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.contact-panel{padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff}.contact-panel h2{font-size:2.4rem}.big-contact{display:block;font-family:var(--serif);font-size:1.45rem;margin:8px 0}.big-contact.email{font-family:var(--sans);font-size:1rem;font-weight:800;overflow-wrap:anywhere}.social-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}.social-links{display:grid}.social-links a{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.social-links span{color:var(--stone)}

/* Final CTA, footer, legal */
.final-cta{background:var(--ink);color:#fff;text-align:center;padding:clamp(76px,10vw,140px) 0}.final-cta .container{display:grid;justify-items:center}.final-cta .eyebrow{color:#e7c895}.final-cta h2{max-width:950px;margin-bottom:32px}.site-footer{background:#091922;color:#fff;padding:70px 0 95px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.6fr);gap:44px}.footer-brand img{width:230px}.footer-brand p{color:rgba(255,255,255,.6);max-width:32ch}.site-footer h2{font-family:var(--sans);font-size:.74rem;text-transform:uppercase;letter-spacing:.15em;color:#e7c895;margin-bottom:16px}.site-footer a{display:block;color:rgba(255,255,255,.72);margin:9px 0;font-size:.88rem}.site-footer a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:48px;color:rgba(255,255,255,.5);font-size:.76rem}.footer-bottom a{display:inline}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:80;background:var(--brass);color:#fff;padding:13px 17px;border-radius:999px;box-shadow:0 15px 40px rgba(0,0,0,.25);display:flex;gap:8px;align-items:center;font-size:.8rem;font-weight:850}.mobile-booking-bar{display:none}.legal-hero{background:var(--ink);color:#fff;padding:110px 0 70px}.legal-hero .eyebrow{color:#e7c895}.legal-hero h1{font-size:clamp(3.2rem,6vw,6.5rem)}.legal-copy{max-width:850px}.legal-copy h2{font-size:2rem;margin-top:42px}.legal-copy p{color:var(--stone)}.legal-copy a{text-decoration:underline}.status-page{min-height:100svh;display:grid;place-items:center;background:var(--ink);color:#fff;text-align:center;padding:40px}.status-page .container{display:grid;justify-items:center}.status-page img{width:180px}.status-page .eyebrow{color:#e7c895}.status-page h1{max-width:900px}.status-page p{color:rgba(255,255,255,.72)}

/* Reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.js .reveal.is-visible{opacity:1;transform:none}

@media(max-width:1080px){
  .primary-nav{gap:16px}.primary-nav a{font-size:.7rem}.primary-nav .nav-book{display:block}.header-cta{display:none}
  .booking-strip-form{grid-template-columns:1fr 1fr 1fr}.booking-strip-form>div:first-child{grid-column:1/-1}.booking-strip-form button{grid-column:1/-1}
  .footer-grid{grid-template-columns:1.2fr repeat(3,.7fr)}
}
@media(max-width:900px){
  :root{--container:min(100% - 30px,760px);--radius:22px}
  html{scroll-padding-top:74px}.header-inner{min-height:72px}.brand img{width:155px}.menu-toggle{display:block}.primary-nav{position:fixed;left:15px;right:15px;top:80px;display:grid;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}.primary-nav.is-open{opacity:1;visibility:visible;transform:none}.primary-nav a{padding:13px 10px}.primary-nav a:after{display:none}
  .home-hero{min-height:830px}.home-hero-overlay{background:linear-gradient(0deg,rgba(6,17,24,.9),rgba(6,17,24,.2) 75%)}.home-hero-copy{padding-bottom:68px}.hero-facts{grid-template-columns:1fr}.hero-scroll{display:none}
  .split-grid,.celebration-grid,.reviews-shell,.location-grid,.location-main,.faq-grid,.faq-page-grid,.detailed-room,.experience-tile,.safety-grid,.event-options,.celebration-intro,.planning-grid,.note-panel,.booking-layout,.social-panel{grid-template-columns:1fr}.split-grid.reverse>div:first-child,.detailed-room:nth-child(even) .detailed-media,.experience-tile:nth-child(even)>div:first-child{order:initial}.story-media img,.story-media video{aspect-ratio:16/12}.media-caption{right:12px}.stack-card{position:relative!important;top:auto!important;grid-template-columns:1fr;min-height:0}.stack-media img{aspect-ratio:16/10}.stack-copy{padding:34px}.card-grid{grid-template-columns:1fr 1fr}.stat-list{grid-template-columns:1fr}.photo-pair{max-width:680px}.faq-page-grid aside,.booking-aside{position:static}.event-gallery{grid-template-columns:1fr 1fr}.event-gallery figure:nth-child(2),.event-gallery figure:nth-child(3){transform:none}.route-grid,.contact-grid,.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.page-hero{min-height:560px}.booking-layout{gap:28px}.map-large iframe{height:520px}
}
@media(max-width:640px){
  :root{--container:calc(100% - 24px)}
  body{font-size:15.5px;padding-bottom:58px}.site-header{position:sticky}.home-hero{min-height:770px}.home-hero-copy{padding-top:90px}.home-hero-copy h1{font-size:clamp(3.25rem,15vw,5.2rem)}.home-hero-copy .button-row,.final-cta .button-row{width:100%}.home-hero-copy .btn,.final-cta .btn{width:100%}.hero-facts{margin-top:36px}.hero-facts li{padding:15px 17px}.booking-strip{margin-top:0;background:var(--ivory);padding:16px 0}.booking-strip-form{grid-template-columns:1fr;box-shadow:none;border-radius:18px}.booking-strip-form>div:first-child,.booking-strip-form button{grid-column:auto}.section{padding:72px 0}.section-heading{margin-bottom:30px}.split-grid{gap:34px}.story-media img,.story-media video{aspect-ratio:4/5}.stack-card{border-radius:20px}.stack-copy>span{font-size:3rem}.stack-copy h3{font-size:2.6rem}.card-grid{grid-template-columns:1fr}.room-card{border-radius:18px}.celebration-grid{gap:34px}.photo-pair{grid-template-columns:1fr 1fr}.photo-pair figure:nth-child(2){transform:translateY(18px)}.reviews-shell{gap:30px}.review-card{padding:30px}.map-frame iframe,.map-large iframe{height:420px}.faq-list summary{font-size:1.18rem;padding:19px 0}.faq-list details div{padding-right:0}.page-hero{min-height:520px}.page-hero-copy{padding-bottom:50px}.page-hero-copy h1{font-size:clamp(3.1rem,14vw,5.2rem)}.detailed-room-list{gap:56px}.detailed-room{gap:25px}.experience-tile{gap:23px}.info-cards{grid-template-columns:1fr}.event-gallery{grid-template-columns:1fr 1fr}.event-gallery figure:last-child{grid-column:1/-1}.event-form,.form-grid{grid-template-columns:1fr}.event-form label:last-of-type,.event-form button,.form-grid .full{grid-column:auto}.gallery-grid{columns:2 150px}.lightbox{grid-template-columns:1fr;padding:18px}.lightbox-prev,.lightbox-next{position:absolute;bottom:18px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.contact-panel{padding:26px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{display:grid}.floating-whatsapp{display:none}.mobile-booking-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:.7fr 1.3fr;background:var(--paper);border-top:1px solid var(--line);padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:8px}.mobile-booking-bar a{min-height:42px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:999px;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.mobile-booking-bar a:last-child{background:var(--ink);color:#fff}.legal-hero{padding:90px 0 54px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
