:root{--ob:#0A0908;--esp:#1A120D;--wal:#2A1D15;--gold:#B08A4A;--ch:#D1B477;--iv:#F2EBDD;--sand:#D8C9B2;--sh:#100D0A;
--serif:"Cormorant Garamond","Cormorant",Georgia,serif;--sans:"Jost","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:110px}
body{background:var(--ob);color:var(--iv);font:300 1rem/1.7 var(--sans);overflow-x:hidden;letter-spacing:.02em}
body::after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:90;opacity:.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:gr 8s steps(6) infinite}
@keyframes gr{50%{transform:translate(-2%,2%)}}
img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:2px solid var(--ch);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.05}
.hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:2rem;padding:.6rem 4vw;transition:.6s;border-bottom:1px solid transparent}
.hdr.solid,.hdr.open{background:rgba(10,9,8,.82);backdrop-filter:blur(14px);border-color:rgba(176,138,74,.45)}
.hdr .logo img{height:96px;width:96px;border-radius:50%;display:block}
.hdr nav{display:flex;gap:2.2rem;margin-left:auto;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.hdr nav a,.link{text-decoration:none;opacity:.85}.hdr nav a:hover{color:var(--ch)}
.hdr .r{display:flex;gap:1.4rem;align-items:center;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.menu-btn{display:none;background:none;border:1px solid var(--gold);color:var(--iv);padding:.6rem 1rem;letter-spacing:.2em;font:inherit;font-size:.75rem;text-transform:uppercase;min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;border:1px solid var(--gold);padding:.95rem 2rem;text-decoration:none;font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--iv);background:transparent;cursor:pointer;transition:.5s;font-family:var(--sans);min-height:44px}
.btn:hover{background:var(--gold);color:var(--ob);box-shadow:0 0 30px rgba(209,180,119,.35)}
.btn.fill{background:var(--gold);color:var(--ob)}.btn.fill:hover{background:var(--ch)}
.hero{height:320vh;position:relative}
.hero .stick{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;padding:0 7vw}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero .poster{background:url(hero-poster.jpg) center/cover;z-index:-1}
.hero .stick::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(10,9,8,.88),rgba(10,9,8,.35) 70%),linear-gradient(0deg,var(--ob),transparent 30%)}
.hero .c{position:relative;z-index:2;max-width:46rem}
.brand-s{font-size:.8rem;letter-spacing:.4em;color:var(--ch);text-transform:uppercase}
.hero h1{font-size:clamp(3rem,8vw,7rem);margin:1.4rem 0}
.hero h1 span{display:block;overflow:hidden}.hero h1 i{display:block;font-style:normal;transform:translateY(105%);animation:up 1.8s .3s cubic-bezier(.2,.7,.2,1) forwards}
.hero h1 span:nth-child(2) i{animation-delay:.6s}@keyframes up{to{transform:none}}
.hero p.lead{max-width:30rem;color:var(--sand);margin-bottom:2.2rem}
.btns{display:flex;gap:1rem;flex-wrap:wrap}
section{padding:12vh 7vw;position:relative}
.rv{opacity:0;transform:translateY(24px);transition:opacity 1.6s,transform 1.6s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.gl{height:1px;background:var(--gold);width:0;transition:width 2s .3s}.in .gl,.gl.in{width:100%}
.exp{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:center;background:var(--esp)}
.exp .tx{grid-column:1/7}.exp h2{font-size:clamp(2.6rem,6vw,5.5rem);margin:1.5rem 0}
.exp .ph{grid-column:7/13;position:relative;margin-left:-6vw}.exp .ph img{aspect-ratio:4/5;object-fit:cover;width:100%}
.exp .ph::after{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold);z-index:-1}
.exp ul{list-style:none;padding:0;margin-top:2rem;font-family:var(--serif);font-size:1.5rem;color:var(--sand)}
.sec-h{max-width:40rem;margin-bottom:8vh}.sec-h h2{font-size:clamp(2.6rem,5vw,4.5rem);margin-bottom:1rem}
.svc{display:grid;grid-template-columns:7fr 5fr;gap:5vw;align-items:center;padding:4vh 0;border-top:1px solid rgba(176,138,74,.3)}
.svc.flip{grid-template-columns:5fr 7fr}.svc.flip .svc-img{order:2}
.svc-img{overflow:hidden;display:block;aspect-ratio:4/3;background:var(--wal)}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1),filter 1s;filter:brightness(.9)}
.svc:hover .svc-img img{transform:scale(1.04);filter:brightness(1)}
.svc h3{font-size:clamp(2rem,3.4vw,3.2rem)}.price{color:var(--ch);letter-spacing:.2em;margin:.8rem 0 1rem}
.svc-t p:not(.price){color:var(--sand);max-width:26rem;margin-bottom:1.8rem}
.home{min-height:100svh;display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(16,13,10,.72),rgba(16,13,10,.8)),var(--bg) center/cover fixed}
.home h2,.cta h2{font-size:clamp(3rem,9vw,8rem);line-height:.95;margin-bottom:2rem}.home p,.cta p{max-width:34rem;margin:0 auto 2.2rem;color:var(--sand)}
.cta{min-height:90svh;display:grid;place-items:center;text-align:center;background:radial-gradient(60% 50% at 50% 40%,rgba(176,138,74,.2),transparent),linear-gradient(rgba(10,9,8,.75),rgba(10,9,8,.9)),var(--bg) center/cover}
.cta .btns,.home .btns{justify-content:center}
footer{background:var(--ob);border-top:1px solid var(--gold);padding:7vh 7vw 4vh;display:grid;gap:2rem}
footer h2{font-size:2rem}footer nav{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
footer small{color:var(--sand);opacity:.7}
.mbar{display:none}
/* booking + confirmation */
.pg{min-height:100svh;display:grid;grid-template-columns:5fr 7fr;padding-top:0}
.pg aside{position:sticky;top:0;height:100svh;padding:18vh 4vw 4vh;background:linear-gradient(rgba(10,9,8,.6),var(--ob)),var(--wal)}
.pg aside img{aspect-ratio:4/3;object-fit:cover;width:100%;margin:2rem 0;border:1px solid var(--gold)}
.pg aside h1{font-size:clamp(2rem,3.4vw,3.2rem)}
.pg main{padding:18vh 6vw 8vh}.pg main h2{font-size:2.4rem;margin-bottom:2rem}
.f{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 2rem}.f .w{grid-column:1/-1}
label,.lab{display:block;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ch);margin-bottom:.4rem}
label b{color:var(--gold)}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(216,201,178,.4);color:var(--iv);font:inherit;padding:.7rem 0;min-height:44px;border-radius:0;color-scheme:dark}
input:focus,select:focus{outline:0;border-color:var(--ch)}select option{background:var(--esp)}
.err{color:#e6a08a;font-size:.8rem;min-height:1.2em}.bad{border-color:#e6a08a}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}
.slots input{position:absolute;opacity:0}.slots label{margin:0;border:1px solid rgba(176,138,74,.4);padding:.8rem .4rem;text-align:center;letter-spacing:.1em;color:var(--iv);text-transform:none;font-size:.85rem;cursor:pointer;transition:.4s}
.slots input:checked+label{background:var(--gold);color:var(--ob)}.slots input:focus-visible+label{outline:2px solid var(--ch)}
.slots label:hover{border-color:var(--ch)}
.dl{display:grid;grid-template-columns:9rem 1fr;gap:.9rem 1.5rem;border-top:1px solid var(--gold);padding-top:1.6rem;margin:2rem 0}
.dl dt{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ch);padding-top:.3rem}.dl dd{font-family:var(--serif);font-size:1.4rem;overflow-wrap:anywhere}
.conf{display:grid;place-items:center;min-height:100svh;padding:16vh 6vw 8vh}.conf>div{max-width:46rem;width:100%}
.conf h1{font-size:clamp(2.6rem,7vw,5.5rem);margin:1rem 0}
@media(max-width:900px){
.hdr nav,.hdr .r a.wa{display:none}.menu-btn{display:block;margin-left:auto}
.hdr.open{flex-wrap:wrap}.hdr.open nav{display:flex;flex-direction:column;width:100%;gap:1.2rem;padding:1rem 0}
.hero .stick{padding:0 6vw}.hdr .logo img{height:72px;width:72px}.hero video{object-position:70% center}
.exp{display:block}.exp .ph{margin:3rem 0 0}.exp .ph::after{inset:-10px 10px 10px -10px}
.svc,.svc.flip{grid-template-columns:1fr;gap:1.2rem}.svc.flip .svc-img{order:0}
.btns .btn,.svc .btn,form .btn,.mbar .btn{width:100%;text-align:center}.btns{flex-direction:column}
.pg{display:block}.pg aside{position:static;height:auto;padding:12vh 6vw 3vh}.f{grid-template-columns:1fr}
.dl{grid-template-columns:1fr;gap:.2rem}.dl dd{margin-bottom:.8rem}
.mbar{display:block;position:fixed;bottom:0;inset-inline:0;z-index:60;padding:.7rem;background:rgba(10,9,8,.9);border-top:1px solid var(--gold)}.mbar .btn{display:block}
footer{padding-bottom:6rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.hero h1 i{transform:none}.gl{width:100%}html{scroll-behavior:auto}}

/* ===== MOBILE REFINEMENTS ===== */
@media(max-width:900px){
.hdr{padding:.4rem 4vw;gap:1rem}.hdr .logo img{height:60px;width:60px}.hdr .r{display:none}
.hdr.open .r{display:flex;width:100%;padding-bottom:1rem}.hdr.open .r .wa{display:block}
.menu-btn{padding:.5rem 1rem;min-height:40px}
.hero{height:300vh}
.hero .stick{align-items:flex-end;padding:0 5vw 5.6rem}
.hero video{object-position:62% center}
.hero .stick::before{background:linear-gradient(0deg,rgba(10,9,8,.95) 0,rgba(10,9,8,.78) 30%,rgba(10,9,8,.15) 52%,transparent 70%),linear-gradient(180deg,rgba(10,9,8,.55),transparent 18%)}
.hero .c{max-width:100%}.brand-s{font-size:.62rem;letter-spacing:.3em}
.hero h1{font-size:clamp(1.7rem,7.4vw,2.6rem);margin:.5rem 0 .9rem}
.hero p.lead{display:none}
.hero .btns{flex-direction:row;gap:.6rem}.hero .btns .btn{flex:1;width:auto;padding:.75rem .4rem;font-size:.64rem;letter-spacing:.14em;min-height:44px}
section{padding:8vh 6vw}
.exp .ph img{aspect-ratio:4/3;object-position:62% 60%}
.exp h2,.sec-h h2{font-size:clamp(2.2rem,10vw,3rem)}
.svc-img{aspect-ratio:4/3}.svc-img img{object-position:center 30%}
.svc h3{font-size:1.9rem}.svc{padding:3vh 0}
.home{background-attachment:scroll;min-height:80svh}.home h2,.cta h2{font-size:clamp(2.4rem,12vw,3.6rem)}
.cta{min-height:70svh}
body{padding-bottom:4.6rem}
.pg aside img{aspect-ratio:16/10}.pg aside h1{font-size:1.9rem}
.slots{grid-template-columns:repeat(3,1fr)}.slots label{padding:.8rem .2rem;font-size:.78rem}
.conf h1{font-size:clamp(2.2rem,11vw,3.4rem)}}
@media(max-width:380px){.hero h1{font-size:1.55rem}.hero .btns .btn{font-size:.58rem;letter-spacing:.1em}}

/* ===== ROUND 4 FIXES ===== */
/* WhatsApp green buttons */
.btn[data-wa],#wab,.hdr .wa{background:#25D366;border-color:#25D366;color:#0A0908;font-weight:400}
.btn[data-wa]:hover,#wab:hover,.hdr .wa:hover{background:#1ebe5a;border-color:#1ebe5a;color:#0A0908;box-shadow:0 0 28px rgba(37,211,102,.4)}
.hdr .wa{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.3rem;opacity:1;min-height:44px}
/* hero text clears the fixed header/logo */
.hero .stick{padding-top:9.5rem;padding-bottom:3rem}
/* tighter gap between hero and Experience */
.hero{height:300vh}
.exp{padding-top:6vh;padding-bottom:10vh}
.exp .ph img{object-position:center}
@media(max-width:900px){
.hero .stick{padding-top:0;padding-bottom:5.6rem}
.exp{padding-top:5vh}
.exp .ph img{aspect-ratio:4/5;object-position:center 55%}
.hdr.open .r .wa{width:100%}}

/* ===== PACKAGES ===== */
.pk-head,.pk-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;align-items:center}
.pk-head{padding-bottom:1rem}
.pk-row{padding:1.6rem 0;border-top:1px solid rgba(176,138,74,.3)}
.pk-n h3{font-size:clamp(1.5rem,2.2vw,2.1rem)}.pk-n span{font-size:.8rem;letter-spacing:.14em;color:var(--sand);opacity:.8}
.pk-o{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.pp{font-family:var(--serif);font-size:1.7rem;color:var(--ch);white-space:nowrap}
.pk-o .btn{padding:.75rem 1.4rem;font-size:.7rem}
.pk-note{margin-top:2rem;color:var(--sand);opacity:.7;font-size:.85rem;text-align:center}
@media(max-width:900px){
.pk-head{display:none}
.pk-row{grid-template-columns:1fr 1fr;gap:1rem}.pk-n{grid-column:1/-1}
.pk-o{flex-direction:column;align-items:stretch;border:1px solid rgba(176,138,74,.4);padding:1rem;text-align:center;gap:.6rem}
.pk-o::before{content:attr(data-l);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ch)}
.pp{font-size:1.5rem}.pk-o .btn{width:100%;padding:.75rem .4rem}}

/* ===== PACKAGE TABLE ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pk-hint{color:var(--ch);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1rem}
.pk-wrap{width:100%}
.pk-table{width:100%;border-collapse:collapse;border:1px solid var(--gold);table-layout:fixed}
.pk-table th{background:var(--gold);color:var(--ob);font-weight:400;letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;padding:1rem .9rem;text-align:left}
.pk-table th.sn{background:none;color:var(--iv);text-transform:none;letter-spacing:.02em;font-family:var(--serif);font-size:1.3rem;padding:.8rem 1rem}
.pk-table th:first-child{width:36%}
.pk-table td{padding:0;border:1px solid rgba(176,138,74,.35)}
.pk-table tbody tr:nth-child(odd){background:rgba(42,29,21,.6)}.pk-table tbody tr:nth-child(even){background:rgba(26,18,13,.95)}
.pk-table th.sn{border:1px solid rgba(176,138,74,.35)}
a.pc{display:flex;align-items:center;gap:.4em;min-height:56px;padding:.6rem .9rem;text-decoration:none;color:var(--iv);transition:background .4s,color .4s;font-size:1rem}
a.pc .cur{font-size:.75rem;letter-spacing:.14em;color:var(--ch)}
a.pc:hover,a.pc:focus-visible{background:var(--gold);color:var(--ob)}a.pc:hover .cur,a.pc:focus-visible .cur{color:var(--ob)}
@media(max-width:700px){
.pk-table th{font-size:.58rem;letter-spacing:.06em;padding:.7rem .3rem;text-align:center}.pk-table th:first-child{text-align:left;padding-left:.5rem;width:34%}
.pk-table th.sn{font-size:.95rem;line-height:1.2;padding:.6rem .5rem;text-align:left}
a.pc{flex-direction:column;justify-content:center;gap:0;padding:.5rem .1rem;min-height:56px;text-align:center;font-size:.9rem}
a.pc .cur{font-size:.55rem;letter-spacing:.1em}}

/* ===== PACKAGE TABLE: price + Book Now per option ===== */
.pcell{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem .9rem;min-height:64px}
.pcell .pc{min-height:0;padding:0;font-size:1rem;pointer-events:none}.pcell .pc:hover{background:none;color:var(--iv)}
.pcell .pc:hover .cur{color:var(--ch)}
.pk-table .pbtn{padding:.6rem 1.1rem;font-size:.66rem;letter-spacing:.2em;min-height:40px;white-space:nowrap}
@media(max-width:1100px){.pcell{flex-direction:column;align-items:stretch;text-align:center;gap:.5rem}.pcell .pc{justify-content:center}.pk-table .pbtn{width:100%}}
@media(max-width:700px){
.pcell{padding:.5rem .25rem}.pcell .pc{flex-direction:column;font-size:.9rem}
.pk-table .pbtn{padding:.5rem .1rem;font-size:.52rem;letter-spacing:.04em;min-height:44px}}

/* ===== PACKAGE POLICY BOX ===== */
section .pk-note{margin:2.2rem 0 0;padding:0 0 2.5rem}
section .pk-policy{position:relative;max-width:62rem;margin:0 auto;padding:2.6rem 3rem 2.4rem 3.2rem;text-align:left;
background:linear-gradient(135deg,rgba(42,29,21,.95),rgba(26,18,13,.98));border:1px solid rgba(176,138,74,.6);box-shadow:0 0 0 6px rgba(176,138,74,.06),0 24px 60px rgba(0,0,0,.45)}
section .pk-policy::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ch),var(--gold))}
section .pk-policy::after{content:"";position:absolute;inset:8px;border:1px solid rgba(176,138,74,.18);pointer-events:none}
section .pk-policy .pol-tag{display:block;font-size:.7rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem}
section .pk-policy h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15;color:var(--ch);margin:0 0 1.4rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(176,138,74,.45)}
section .pk-policy p{color:var(--iv);opacity:.92;font-size:.98rem;line-height:1.85;margin:0 0 1rem;max-width:none}
section .pk-policy p:first-of-type{color:var(--sand)}
section .pk-policy p:last-child{margin-bottom:0;font-family:var(--serif);font-size:1.15rem;color:var(--ch);font-style:italic}
@media(max-width:700px){section .pk-note{margin-top:1.6rem;padding-bottom:1.8rem}
section .pk-policy{padding:1.8rem 1.3rem 1.6rem 1.6rem}section .pk-policy p{font-size:.9rem}section .pk-policy p:last-child{font-size:1.05rem}}

/* ===== EXPERIENCE IMAGE (full portrait, no crop) ===== */
.exp .ph{justify-self:center;max-width:30rem;width:100%;margin-left:0}
.exp .ph img{aspect-ratio:auto;height:auto;object-fit:contain}
@media(max-width:900px){.exp .ph{margin:3rem auto 0;max-width:26rem}.exp .ph img{aspect-ratio:auto}}
