:root{--charcoal:#11100d;--ink:#1b1915;--ivory:#f7f1e8;--champagne:#d8c197;--gold:#b9975b;--stone:#a99f91;--forest:#2f4a3b;--glass:rgba(255,255,255,.1);--line:rgba(255,255,255,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--charcoal);color:var(--ivory);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}body.reduce *{animation:none!important;transition:none!important}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;color:#000;padding:.8rem}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}.serif,h1,h2,h3{font-family:'Playfair Display',Georgia,serif}.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:1rem clamp(1rem,3vw,3rem);display:flex;align-items:center;gap:1rem;justify-content:space-between;background:linear-gradient(180deg,rgba(17,16,13,.9),rgba(17,16,13,.25));backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{font-weight:800;letter-spacing:.22em;text-transform:uppercase}.brand small{display:block;letter-spacing:.32em;color:var(--champagne);font-size:.62rem}.navlinks{display:flex;gap:1.1rem;align-items:center;font-size:.9rem}.nav a:hover,.nav a.active{color:var(--champagne)}.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang button{background:transparent;color:var(--ivory);border:0;padding:.45rem .65rem}.lang .on{background:var(--champagne);color:#18130c}.hamb{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem}.btn{border:0;border-radius:999px;padding:.9rem 1.25rem;font-weight:800;display:inline-flex;gap:.5rem;align-items:center;justify-content:center;transition:.25s}.btn.primary{background:linear-gradient(135deg,#f0dbad,#a67f3f);color:#19150f}.btn.secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line)}.btn.ghost{background:transparent;color:#fff;border:1px solid var(--line)}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(0,0,0,.25)}.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;padding:7rem 1rem 3rem}.hero:before{content:"";position:absolute;inset:-5%;background:linear-gradient(90deg,rgba(17,16,13,.83),rgba(17,16,13,.2)),linear-gradient(0deg,rgba(17,16,13,.95),transparent 40%),var(--hero) center/cover;animation:ken 20s ease-in-out infinite alternate;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(216,193,151,.24),transparent 30%);z-index:-1}@keyframes ken{from{transform:scale(1)}to{transform:scale(1.12) translate3d(-2%,1%,0)}}.hero-grid{width:min(1180px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end}.eyebrow{color:var(--champagne);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:800}.hero h1{font-size:clamp(3rem,9vw,8rem);line-height:.88;margin:.7rem 0}.lead{font-size:clamp(1.05rem,2vw,1.45rem);color:#eadfce;max-width:760px;line-height:1.7}.booking-card,.glass{background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(22px);border-radius:2rem}.booking-card{padding:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.field{display:grid;gap:.4rem}.field label{font-size:.78rem;color:var(--champagne);font-weight:800}.field input,.field select,.field textarea{width:100%;background:rgba(10,10,9,.55);border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:1rem;padding:.9rem}.field textarea{min-height:110px}.full{grid-column:1/-1}.section{padding:clamp(4rem,8vw,8rem) clamp(1rem,4vw,4rem)}.container{width:min(1180px,100%);margin:auto}.section-head{display:grid;grid-template-columns:.8fr 1fr;gap:2rem;align-items:end;margin-bottom:2rem}.section-head h2{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.95;margin:.5rem 0}.muted{color:#cbbfac;line-height:1.75}.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08)}.trust div{background:#181611;padding:1.3rem;text-align:center}.grid{display:grid;gap:1.2rem}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}.card{border-radius:1.7rem;overflow:hidden;background:#1a1712;border:1px solid rgba(255,255,255,.1);position:relative}.card .media{height:260px;overflow:hidden}.card img{width:100%;height:100%;object-fit:cover;transition:.7s}.card:hover img{transform:scale(1.08)}.pad{padding:1.25rem}.meta{display:flex;gap:.8rem;flex-wrap:wrap;color:var(--champagne);font-size:.86rem}.price{font-weight:900;color:#fff;font-size:1.4rem}.story{height:420vh;position:relative}.story-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}.story-bg{position:absolute;inset:0;background:var(--bg) center/cover;transition:background-image .5s, transform .5s;filter:saturate(.95);transform:scale(1.04)}.story-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,13,.86),rgba(17,16,13,.18)),linear-gradient(0deg,#11100d,transparent 35%,#11100d)}.story-content{position:relative;max-width:900px;padding:2rem}.story-content h2{font-size:clamp(3rem,8vw,8rem);line-height:.9}.progress{position:fixed;top:0;left:0;height:3px;background:var(--champagne);z-index:99;width:0}.page{animation:fade .55s ease both}@keyframes fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(35px);transition:.8s}.reveal.in{opacity:1;transform:none}.dark-alt{background:#181610}.ivory{background:var(--ivory);color:#15130f}.ivory .muted{color:#5f5549}.ivory .card{background:#fff;color:#15130f;border-color:#e2d5c2}.filters{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin:1rem 0 2rem}.filters input,.filters select{background:#201d17;color:#fff;border:1px solid var(--line);border-radius:999px;padding:.8rem}.gallery{columns:3 260px;column-gap:1rem}.gallery figure{break-inside:avoid;margin:0 0 1rem;position:relative;border-radius:1.4rem;overflow:hidden}.gallery img{width:100%;height:auto}.modal{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;z-index:80;place-items:center;padding:1rem}.modal.open{display:grid}.modal img{max-height:82vh;border-radius:1rem}.steps{display:flex;gap:.6rem;overflow:auto;margin-bottom:2rem}.step{white-space:nowrap;padding:.7rem 1rem;border-radius:999px;background:#211d17;border:1px solid var(--line);color:#cdbf9f}.step.on{background:var(--champagne);color:#16120d}.admin-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.2rem}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid rgba(255,255,255,.1);padding:.9rem;text-align:left}.footer{background:#0b0a08;padding:4rem clamp(1rem,4vw,4rem);border-top:1px solid rgba(255,255,255,.09)}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:2rem}.mobile-menu{position:fixed;inset:0;background:rgba(17,16,13,.97);z-index:70;display:none;padding:6rem 2rem}.mobile-menu.open{display:block}.mobile-menu a{display:block;font-size:2rem;margin:1rem 0}.map{min-height:420px;border-radius:2rem;background:radial-gradient(circle at 30% 40%,rgba(216,193,151,.45),transparent 15%),linear-gradient(135deg,#2f4a3b,#14120e);position:relative;overflow:hidden}.map:before{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.18);border-radius:45% 55% 42% 58%;transform:rotate(-12deg)}.horizontal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:1rem}.horizontal .panel{min-width:min(760px,88vw);scroll-snap-align:center}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;color:var(--champagne);font-size:.85rem;margin:.18rem}.status{border-radius:999px;padding:.35rem .65rem;background:#2f4a3b;color:#dff5e8;font-size:.8rem}.danger{background:#5d2922}.warn{background:#5b4821}*:focus-visible{outline:3px solid var(--champagne);outline-offset:3px}@media(max-width:900px){.navlinks{display:none}.hamb{display:block}.hero-grid,.section-head,.cols-3,.cols-2,.footer-grid{grid-template-columns:1fr}.trust{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.hero{place-items:end}.booking-card{border-radius:1.2rem}.table{font-size:.85rem}.hide-sm{display:none}}@media(max-width:520px){.form-grid,.filters,.trust{grid-template-columns:1fr}.hero h1{font-size:3.2rem}.section{padding:3.5rem 1rem}.nav{padding:.8rem 1rem}.brand{font-size:.82rem}.card .media{height:220px}}

/* Hero booking-widget layout fix: keep the availability form fully visible on wide screens and stack it gracefully below the headline on smaller viewports. */
.hero-grid{width:min(1240px,calc(100vw - 3rem));grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:center}.hero-grid>div:first-child{min-width:0;max-width:850px;position:relative;z-index:1}.hero h1{max-width:850px;font-size:clamp(3.2rem,5.2vw,5.8rem);line-height:.94;overflow-wrap:normal;hyphens:auto}.hero .booking-card{width:min(100%,440px);justify-self:end;align-self:center;position:relative;z-index:3}.hero .booking-card .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .booking-card .field,.hero .booking-card input,.hero .booking-card select{min-width:0}.hero .booking-card .btn{width:100%;white-space:normal;text-align:center}
@media(max-width:1280px){.hero-grid{grid-template-columns:1fr;align-items:start;gap:1.5rem}.hero .booking-card{justify-self:start;width:min(720px,100%)}.hero h1{max-width:980px;font-size:clamp(3rem,8vw,6rem)}}
@media(max-width:640px){.hero{padding:6rem 1rem 2rem}.hero-grid{width:100%}.hero .booking-card .form-grid{grid-template-columns:1fr}.hero .booking-card{border-radius:1.2rem}.hero h1{font-size:clamp(3rem,14vw,4.35rem);line-height:.92}}

/* Cinematic Experience scroll: sticky full-screen image transitions with synchronized editorial copy and a horizontal story rail. */
.exp-cinema{height:520vh;position:relative;background:#0d0c09}.exp-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;align-items:center}.exp-bg{position:absolute;inset:-6%;background:var(--exp) center/cover;filter:saturate(.95) contrast(1.05);transition:background-image .45s ease,transform .2s linear;transform:scale(1.06)}.exp-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,7,.9),rgba(10,9,7,.32) 48%,rgba(10,9,7,.82)),linear-gradient(0deg,#11100d 0%,transparent 28%,transparent 72%,#11100d 100%)}.exp-copy{position:relative;z-index:2;width:min(820px,calc(100vw - 2rem));padding-left:clamp(1rem,8vw,8rem)}.exp-copy h2{font-size:clamp(3rem,8vw,7.5rem);line-height:.9;margin:.5rem 0}.exp-dots{display:flex;gap:.55rem;margin-top:1.4rem}.exp-dots span{width:.65rem;height:.65rem;border-radius:50%;border:1px solid var(--champagne);opacity:.45;transition:.3s}.exp-dots span.on{background:var(--champagne);opacity:1;transform:scale(1.35)}.exp-rail{position:absolute;z-index:3;left:clamp(1rem,8vw,8rem);right:auto;bottom:2rem;display:flex;gap:1rem;transition:transform .2s linear}.exp-rail article{min-width:min(360px,78vw);padding:1rem;border-radius:1.2rem;background:rgba(255,255,255,.1);border:1px solid var(--line);backdrop-filter:blur(16px)}.exp-rail span{color:var(--champagne);font-weight:900;margin-right:.65rem}@media(max-width:760px){.exp-copy{padding:1rem;align-self:center}.exp-copy h2{font-size:clamp(2.7rem,14vw,4.4rem)}.exp-rail{left:1rem;bottom:1rem}.exp-rail article{min-width:82vw}.exp-shade{background:linear-gradient(0deg,rgba(10,9,7,.95),rgba(10,9,7,.45),rgba(10,9,7,.92))}}
