:root{
  --ink:#081015;
  --ink-2:#0e1a20;
  --ink-3:#14242b;
  --ivory:#f7f3eb;
  --paper:#fffdf8;
  --gold:#cda65d;
  --gold-light:#e6c984;
  --text:#26343a;
  --muted:#748087;
  --line:rgba(8,16,21,.12);
  --radius:1.25rem;
  --shadow:0 28px 70px rgba(8,16,21,.16);
  --font-display:"Cormorant Garamond",serif;
  --font-body:"Manrope",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{font-family:var(--font-body);color:var(--text);background:var(--paper);overflow-x:hidden}
body.menu-open{overflow:hidden}
::selection{background:var(--gold);color:var(--ink)}
a{text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.text-gold{color:var(--gold-light)!important}
.section{padding:7.5rem 0;position:relative}
.section-light{background:var(--paper)}
.eyebrow{display:inline-flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-size:.72rem;color:var(--gold);margin-bottom:1rem}
.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.section-heading{max-width:760px}
.section-heading h2,.restaurant-card h2,.eco-content h2,.contact-info h2{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4.6rem);line-height:.98;color:var(--ink);font-weight:600;margin-bottom:1.5rem}
.section-heading p,.restaurant-card p,.eco-content p,.contact-info p{color:var(--muted);line-height:1.85}
.section-heading .lead,.restaurant-card .lead{font-size:1.12rem;color:#43535b}
.btn{border-radius:0;padding:.92rem 1.35rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;transition:.35s ease}
.btn-lg{padding:1.1rem 1.6rem}
.btn-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));border-color:var(--gold);color:var(--ink);box-shadow:0 12px 30px rgba(205,166,93,.18)}
.btn-gold:hover,.btn-gold:focus{background:var(--paper);border-color:var(--paper);color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.22)}
.btn-outline-gold{border:1px solid rgba(205,166,93,.55);color:var(--gold-light)}
.btn-outline-gold:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn-outline-light:hover{color:var(--ink)}
.page-loader{position:fixed;inset:0;z-index:9999;background:var(--ink);display:grid;place-items:center;transition:opacity .65s ease,visibility .65s ease}
.page-loader.loaded{opacity:0;visibility:hidden}
.loader-logo{width:min(260px,62vw);filter:drop-shadow(0 12px 30px rgba(0,0,0,.25))}
.loader-line{position:absolute;bottom:22%;width:150px;height:1px;background:rgba(255,255,255,.15);overflow:hidden}
.loader-line:after{content:"";position:absolute;inset:0;width:40%;background:var(--gold);animation:loader 1.3s infinite ease-in-out}
@keyframes loader{from{transform:translateX(-120%)}to{transform:translateX(330%)}}
.scroll-progress{position:fixed;z-index:1200;top:0;left:0;width:100%;height:3px;background:transparent}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light))}
#mainNav{transition:.4s ease;background:linear-gradient(180deg,rgba(3,8,12,.88),transparent)}
#mainNav.scrolled{background:rgba(6,13,17,.94);backdrop-filter:blur(16px);padding-top:.75rem!important;padding-bottom:.75rem!important;box-shadow:0 10px 35px rgba(0,0,0,.18)}
.brand-logo{width:175px;max-height:58px;object-fit:contain}.offcanvas-logo{width:175px}
.navbar-nav .nav-link{color:rgba(255,255,255,.76);font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;padding:.75rem .7rem!important;position:relative}
.navbar-nav .nav-link:after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.4rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link.active{color:#fff}.navbar-nav .nav-link:hover:after,.navbar-nav .nav-link.active:after{transform:scaleX(1);transform-origin:left}
.language-btn{font-size:.76rem}.dropdown-menu{border:0;border-radius:.25rem;padding:.5rem;background:var(--paper)}.dropdown-item{font-size:.82rem;padding:.7rem .9rem}.dropdown-item:hover{background:rgba(205,166,93,.13)}
.mobile-nav{display:flex;flex-direction:column}.mobile-nav a{color:#fff;font-family:var(--font-display);font-size:2rem;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.hero-section{min-height:100svh;position:relative;display:flex;align-items:center;isolation:isolate;color:#fff;overflow:hidden;background:var(--ink)}
.hero-bg{position:absolute;inset:-8%;z-index:-4;background-image:url("../img/hero-pool.webp");background-size:cover;background-position:center;transform:scale(1.06);will-change:transform}
.hero-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,rgba(4,9,12,.92) 0%,rgba(4,9,12,.7) 42%,rgba(4,9,12,.16) 75%),linear-gradient(180deg,rgba(4,9,12,.45),rgba(4,9,12,.15) 55%,rgba(4,9,12,.75))}
.hero-glow{position:absolute;z-index:-2;width:650px;height:650px;left:-240px;top:20%;border-radius:50%;background:rgba(205,166,93,.12);filter:blur(90px)}
.hero-content{z-index:1}
.hero-kicker{display:flex;align-items:center;gap:1rem;color:var(--gold-light);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;margin-bottom:1.5rem}.kicker-line{width:45px;height:1px;background:var(--gold)}
.hero-section h1{font-family:var(--font-display);font-weight:600;line-height:.92;letter-spacing:-.035em;text-wrap:balance;max-width:980px}.hero-section h1 span{display:block}.hero-section h1 em{font-weight:500;color:#fff;font-size:.62em}
.hero-lead{max-width:660px;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.8;color:rgba(255,255,255,.78)}
.hero-trust{display:flex;flex-wrap:wrap;gap:0;margin-top:3rem}.hero-trust div{display:flex;flex-direction:column;padding:0 2.2rem;border-left:1px solid rgba(255,255,255,.18)}.hero-trust div:first-child{padding-left:0;border-left:0}.hero-trust strong{font-family:var(--font-display);font-size:2rem;color:var(--gold-light);line-height:1}.hero-trust span{font-size:.72rem;color:rgba(255,255,255,.66);text-transform:uppercase;letter-spacing:.08em;margin-top:.45rem}
.hero-scroll{position:absolute;right:2.5rem;bottom:2.5rem;color:#fff;display:flex;align-items:center;gap:.8rem;transform:rotate(90deg);transform-origin:right bottom;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem}.hero-scroll i{color:var(--gold);animation:scrollArrow 1.8s infinite}@keyframes scrollArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(8px)}}
.booking-section{z-index:20;margin-top:-4rem;padding-bottom:1rem}.booking-panel{background:rgba(8,16,21,.97);border:1px solid rgba(205,166,93,.35);padding:1.5rem;display:grid;grid-template-columns:1.35fr repeat(4,minmax(130px,1fr)) 1.15fr;gap:1rem;align-items:end;color:#fff}.booking-intro{padding-right:1rem}.booking-intro h2{font-family:var(--font-display);font-size:1.8rem;margin:.25rem 0}.booking-intro p{font-size:.76rem;color:rgba(255,255,255,.55);margin:0}.booking-intro .eyebrow{margin-bottom:.2rem;font-size:.62rem}.booking-field label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.58);margin-bottom:.55rem}.booking-field .form-control,.booking-field .form-select{border:0;border-bottom:1px solid rgba(255,255,255,.28);border-radius:0;background-color:transparent;color:#fff;padding:.65rem 0;box-shadow:none}.booking-field .form-select{background-image:none}.booking-field option{color:var(--ink)}.booking-submit{min-height:54px;display:flex;align-items:center;justify-content:center;gap:.75rem}
.signature-strip{background:var(--paper);border-bottom:1px solid var(--line)}.signature-item{display:flex;align-items:center;justify-content:center;gap:1rem}.signature-item i{font-size:1.65rem;color:var(--gold)}.signature-item div{display:flex;flex-direction:column}.signature-item strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}.signature-item span{font-size:.7rem;color:var(--muted)}
.image-collage{position:relative;min-height:620px}.image-collage figure{position:absolute;margin:0;overflow:hidden;box-shadow:var(--shadow)}.image-collage img{width:100%;height:100%;object-fit:cover}.collage-main{left:0;top:0;width:48%;height:92%}.collage-top{right:0;top:5%;width:48%;height:47%}.collage-bottom{right:8%;bottom:0;width:40%;height:39%;border:9px solid var(--paper)}.collage-badge{position:absolute;left:39%;top:45%;width:135px;height:135px;border-radius:50%;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(205,166,93,.5);box-shadow:0 20px 40px rgba(0,0,0,.2)}.collage-badge strong{font-family:var(--font-display);font-size:1.5rem}.collage-badge span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light)}
.image-zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.image-zoom:hover img{transform:scale(1.055)}
.feature-list{display:grid;gap:.9rem;margin:2rem 0}.feature-list div{display:flex;align-items:center;gap:.9rem}.feature-list i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(205,166,93,.15);color:#9b7430;font-size:.75rem}.feature-list span{font-size:.92rem}.text-link{display:inline-flex;align-items:center;gap:.9rem;color:var(--ink);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;border-bottom:1px solid var(--gold);padding-bottom:.45rem}.text-link i{transition:transform .3s}.text-link:hover{color:#9b7430}.text-link:hover i{transform:translateX(6px)}
.rooms-section{background:var(--ink);overflow:hidden}.rooms-section:before{content:"";position:absolute;inset:0;background:url("../img/texture-dark.webp") center/cover;opacity:.12}.rooms-section .container-xxl{position:relative}.room-card{background:var(--ink-2);border:1px solid rgba(255,255,255,.09);transition:.4s ease;overflow:hidden}.room-card:hover{transform:translateY(-8px);border-color:rgba(205,166,93,.55);box-shadow:0 30px 60px rgba(0,0,0,.28)}.room-card.featured{border-color:rgba(205,166,93,.6)}.room-image{height:330px;position:relative;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover}.room-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,16,21,.65))}.room-badge{position:absolute;z-index:2;top:1rem;left:1rem;background:rgba(8,16,21,.82);backdrop-filter:blur(8px);color:var(--gold-light);padding:.55rem .75rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.room-content{padding:1.7rem;color:#fff}.room-type{color:var(--gold);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.room-content h3{font-family:var(--font-display);font-size:2rem;margin:.35rem 0 1rem}.room-content p{color:rgba(255,255,255,.6);font-size:.85rem;line-height:1.75;min-height:90px}.room-capacity{font-size:.75rem;color:rgba(255,255,255,.7)}.room-meta{display:flex;flex-wrap:wrap;gap:.85rem 1rem;padding:1.1rem 0 1.4rem;margin-top:.8rem;border-top:1px solid rgba(255,255,255,.08)}.room-meta span{font-size:.7rem;color:rgba(255,255,255,.65)}.room-meta i{color:var(--gold);margin-right:.3rem}
.restaurant-section{color:#fff;isolation:isolate;overflow:hidden}.restaurant-bg{position:absolute;inset:-10%;z-index:-3;background:url("../img/private-dinner.webp") center/cover no-repeat;will-change:transform}.restaurant-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,11,14,.94),rgba(5,11,14,.7) 58%,rgba(5,11,14,.4))}.restaurant-card{padding:3.5rem;background:rgba(8,16,21,.76);border:1px solid rgba(205,166,93,.28);backdrop-filter:blur(14px)}.restaurant-card h2{color:#fff}.restaurant-card p{color:rgba(255,255,255,.68)}.restaurant-points{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}.restaurant-points div{display:flex;align-items:center;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.78)}.restaurant-points i{color:var(--gold);width:24px;text-align:center}.quote-card{background:rgba(255,253,248,.95);color:var(--ink);padding:3rem;box-shadow:var(--shadow)}.quote-card>i{font-size:2rem;color:var(--gold)}.quote-card blockquote{font-family:var(--font-display);font-size:2.15rem;line-height:1.18;margin:1.5rem 0}.quote-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.service-card{height:100%;padding:2.2rem;border:1px solid var(--line);background:#fff;position:relative;transition:.35s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}.service-number{position:absolute;right:1.5rem;top:1rem;font-family:var(--font-display);font-size:3rem;color:rgba(8,16,21,.06)}.service-card>i{font-size:2rem;color:var(--gold);margin-bottom:1.6rem}.service-card h3{font-family:var(--font-display);font-size:1.75rem;color:var(--ink)}.service-card p{font-size:.82rem;color:var(--muted);line-height:1.7;margin:0}
.activities-section{background:var(--ivory)}.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:300px;gap:1rem}.activity-card{position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(4,9,12,.05),rgba(4,9,12,.9)),var(--activity-image);background-size:cover;background-position:center;color:#fff;transition:.45s}.activity-card:hover{background-size:108%;box-shadow:var(--shadow)}.activity-large{grid-column:span 2;grid-row:span 2}.activity-card:nth-child(4){grid-column:span 2}.activity-content{position:absolute;inset:auto 0 0;padding:2rem}.activity-content>i{font-size:1.6rem;color:var(--gold-light);margin-bottom:1rem}.activity-content>span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-light)}.activity-content h3{font-family:var(--font-display);font-size:1.75rem;margin:.35rem 0}.activity-large .activity-content h3{font-size:2.7rem}.activity-content p{font-size:.78rem;color:rgba(255,255,255,.72);margin-bottom:0;max-width:520px}.activity-content a{display:inline-flex;gap:.75rem;align-items:center;color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-top:1.2rem}
.eco-section{background:var(--paper)}.eco-panel{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.eco-visual{position:relative;min-height:540px}.eco-visual img{width:100%;height:100%;object-fit:cover}.eco-mark{position:absolute;left:2rem;bottom:2rem;background:rgba(8,16,21,.88);color:#fff;padding:1rem 1.2rem;display:flex;gap:.8rem;align-items:center;border-left:3px solid var(--gold)}.eco-mark i{color:var(--gold)}.eco-content{padding:4.5rem}.eco-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.eco-stats div{padding:1rem 0;border-top:1px solid var(--line)}.eco-stats strong{display:block;font-family:var(--font-display);font-size:2.6rem;color:var(--gold)}.eco-stats span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.gallery-section{background:var(--ink);color:#fff}.gallery-section .section-heading h2{color:#fff}.gallery-section .section-heading p{color:rgba(255,255,255,.55)}.gallery-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:.8rem}.gallery-item{padding:0;border:0;background:transparent;position:relative;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.65s ease}.gallery-item:after{content:"";position:absolute;inset:0;background:rgba(8,16,21,.1);transition:.35s}.gallery-item span{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(.6);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(8,16,21,.75);color:#fff;opacity:0;transition:.35s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:hover:after{background:rgba(8,16,21,.4)}.gallery-item:hover span{opacity:1;transform:translate(-50%,-50%) scale(1)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-modal-content{background:transparent;border:0}.gallery-modal-content img{max-height:88vh;width:100%;object-fit:contain}.gallery-close{position:absolute;right:0;top:-2.5rem;z-index:2}
.testimonials-section{background:var(--ivory)}.rating-summary{display:flex;align-items:center;gap:1.25rem;margin-top:2rem}.rating-summary>strong{font-family:var(--font-display);font-size:4rem;color:var(--ink);line-height:1}.rating-summary div{display:flex;flex-direction:column}.stars{color:var(--gold);font-size:.78rem;letter-spacing:.1em}.rating-summary small{color:var(--muted);margin-top:.35rem}.testimonial-card{background:#fff;padding:3.5rem;min-height:340px;box-shadow:var(--shadow);position:relative}.testimonial-card>i{font-size:2.2rem;color:var(--gold)}.testimonial-card p{font-family:var(--font-display);font-size:2rem;line-height:1.35;color:var(--ink);margin:1.5rem 0}.testimonial-author{display:flex;flex-direction:column}.testimonial-author span{font-weight:700}.testimonial-author small{color:var(--muted);margin-top:.2rem}.carousel-controls{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.carousel-controls button{width:46px;height:46px;border:1px solid var(--line);background:#fff;transition:.3s}.carousel-controls button:hover{background:var(--ink);color:#fff}
.contact-section{background:var(--paper)}.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.contact-info{padding:4.5rem;background:linear-gradient(rgba(8,16,21,.86),rgba(8,16,21,.94)),url("../img/texture-dark.webp") center/cover}.contact-info h2{color:#fff}.contact-info p{color:rgba(255,255,255,.65)}.contact-list{display:grid;gap:.8rem;margin-top:2rem}.contact-list>a,.contact-list>div{display:flex;align-items:center;gap:1rem;color:#fff;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.09)}.contact-list i{color:var(--gold);width:24px;text-align:center}.contact-list span{display:flex;flex-direction:column;font-size:.82rem}.contact-list small{color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;margin-bottom:.25rem}.contact-form{background:#fff;color:var(--text);padding:4.5rem}.form-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#45545a}.form-control,.form-select{border-radius:0;border:1px solid var(--line);min-height:50px;padding:.8rem 1rem}.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(205,166,93,.12)}textarea.form-control{min-height:auto}.form-check-input:checked{background-color:var(--gold);border-color:var(--gold)}
.site-footer{background:#050b0e;color:#fff;padding:5rem 0 1.5rem}.footer-top{display:grid;grid-template-columns:1.4fr repeat(2,.75fr) 1.2fr;gap:4rem}.footer-brand img{width:190px;margin-bottom:1.2rem}.footer-brand p,.footer-newsletter p{color:rgba(255,255,255,.48);font-size:.78rem;line-height:1.7}.footer-top h3{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gold-light);margin-bottom:1.3rem}.footer-top>div:not(.footer-brand){display:flex;flex-direction:column}.footer-top a{color:rgba(255,255,255,.58);font-size:.78rem;margin:.38rem 0}.footer-top a:hover{color:var(--gold-light)}.social-links{display:flex;gap:.5rem}.social-links a{width:38px;height:38px;border:1px solid rgba(255,255,255,.15);display:grid;place-items:center}.social-links a:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}.footer-newsletter .form-control{background:transparent;border-color:rgba(255,255,255,.17);color:#fff}.footer-newsletter .form-control::placeholder{color:rgba(255,255,255,.36)}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-top:2rem;margin-top:3rem;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.36);font-size:.68rem}
.whatsapp-float{position:fixed;z-index:900;right:1.5rem;bottom:1.5rem;height:52px;display:flex;align-items:center;gap:.7rem;padding:0 1rem;border-radius:50px;background:#1f9e5a;color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.22);font-size:.76rem;font-weight:700}.whatsapp-float i{font-size:1.45rem}.whatsapp-float:hover{color:#fff;transform:translateY(-3px)}.back-to-top{position:fixed;z-index:899;right:1.5rem;bottom:5.4rem;width:45px;height:45px;border:0;border-radius:50%;background:var(--ink);color:#fff;opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s}.back-to-top.show{opacity:1;visibility:visible;transform:none}.back-to-top:hover{background:var(--gold);color:var(--ink)}
.room-modal-content{background:var(--ink);color:#fff;border:1px solid rgba(205,166,93,.35);border-radius:0;overflow:hidden}.modal-close{position:absolute;right:1rem;top:1rem;z-index:3}.room-modal-image{width:100%;height:100%;min-height:560px;object-fit:cover}.room-modal-body{padding:4rem}.room-modal-body h2{font-family:var(--font-display);font-size:3.5rem}.room-modal-body p{color:rgba(255,255,255,.64);line-height:1.8}.modal-feature-list{display:grid;gap:.8rem;margin:1.5rem 0}.modal-feature-list div{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.84rem}.modal-feature-list i{color:var(--gold)}
.reveal-up,.reveal-left,.reveal-right{opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1)}.reveal-up{transform:translateY(34px)}.reveal-left{transform:translateX(-38px)}.reveal-right{transform:translateX(38px)}.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}.delay-4{transition-delay:.48s}
@media (max-width:1199.98px){.booking-panel{grid-template-columns:repeat(4,1fr)}.booking-intro{grid-column:1/-1}.booking-submit{grid-column:4}.activities-grid{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1.4fr repeat(2,1fr)}.footer-newsletter{grid-column:1/-1}.navbar-collapse{display:none!important}}
@media (max-width:991.98px){.section{padding:5.5rem 0}.hero-section h1{font-size:clamp(3.7rem,10vw,6rem)}.hero-overlay{background:linear-gradient(90deg,rgba(4,9,12,.92),rgba(4,9,12,.55)),linear-gradient(180deg,transparent,rgba(4,9,12,.75))}.booking-section{margin-top:-2rem}.booking-panel{grid-template-columns:repeat(2,1fr)}.booking-submit{grid-column:auto}.image-collage{min-height:540px;margin-bottom:2rem}.restaurant-card{padding:2.5rem}.eco-panel,.contact-panel{grid-template-columns:1fr}.eco-content,.contact-info,.contact-form{padding:3rem}.gallery-mosaic{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:repeat(2,1fr)}}
@media (max-width:767.98px){.section{padding:4.5rem 0}.brand-logo{width:145px}.hero-section{min-height:880px}.hero-section h1{font-size:clamp(3.15rem,15vw,5.5rem)}.hero-section h1 em{display:block}.hero-trust{gap:1.2rem}.hero-trust div{padding:0 1.1rem}.hero-scroll{display:none}.booking-panel{grid-template-columns:1fr;padding:1.2rem}.booking-submit{grid-column:auto}.signature-item{justify-content:flex-start}.image-collage{min-height:480px}.collage-badge{width:105px;height:105px}.rooms-section .section-heading h2,.section-heading h2,.restaurant-card h2,.eco-content h2,.contact-info h2{font-size:2.75rem}.room-image{height:300px}.restaurant-points{grid-template-columns:1fr}.restaurant-card,.quote-card{padding:2rem}.activities-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}.activity-card,.activity-large,.activity-card:nth-child(4){min-width:84vw;height:430px;grid-column:auto;grid-row:auto;scroll-snap-align:start}.activity-large .activity-content h3{font-size:2.1rem}.eco-visual{min-height:390px}.eco-content,.contact-info,.contact-form{padding:2rem}.eco-stats{grid-template-columns:1fr}.gallery-mosaic{grid-auto-rows:190px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 1}.testimonial-card{padding:2rem;min-height:390px}.testimonial-card p{font-size:1.65rem}.footer-top{grid-template-columns:1fr}.footer-newsletter{grid-column:auto}.footer-bottom{flex-direction:column}.whatsapp-float span{display:none}.whatsapp-float{width:52px;justify-content:center;padding:0}.room-modal-image{min-height:310px}.room-modal-body{padding:2rem}.room-modal-body h2{font-size:2.6rem}}
@media (max-width:479.98px){.hero-trust div{flex:1 1 30%;padding:0;border:0}.gallery-mosaic{display:block}.gallery-item{height:220px;width:100%;margin-bottom:.75rem}.footer-bottom{font-size:.62rem}.contact-list>a,.contact-list>div{align-items:flex-start}.page-loader .loader-logo{width:210px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal-up,.reveal-left,.reveal-right{opacity:1;transform:none}}

/* ===== Responsive & performance hardening (2026 revision) ===== */
html,body{width:100%;max-width:100%}
body{min-width:320px}
img{height:auto}
.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:clamp(1.25rem,4vw,3.5rem)}
.navbar-brand{flex:0 0 auto;margin-right:1rem}
.offcanvas{--bs-offcanvas-width:min(390px,92vw)}
.page-loader{pointer-events:none}
.page-loader.loaded .loader-line{animation-play-state:paused}
.btn,.nav-link,.mobile-nav a,.social-links a,.gallery-item,.back-to-top,.whatsapp-float{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.form-control,.form-select{min-width:0}
.contact-list span,.footer-top>*{min-width:0}
.contact-list a,.contact-list div{overflow-wrap:anywhere}
.room-meta,.restaurant-points,.eco-stats{min-width:0}
.gallery-item{padding:0}
.gallery-item img,.room-image img,.eco-visual>img,.activity-card>img,.restaurant-image img{width:100%;height:100%;object-fit:cover}
.legal-page{background:var(--paper)}
.legal-container{max-width:900px}
.legal-title{font-family:var(--font-display);font-size:clamp(2.75rem,7vw,4rem);line-height:1;color:var(--ink)}
.legal-page p{line-height:1.8;color:var(--muted)}
.legal-page h2{font-family:var(--font-display);color:var(--ink)}

@media (max-width:1199.98px){
  #mainNav>.container-xxl{flex-wrap:nowrap}
  .booking-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
  .booking-intro,.booking-submit{grid-column:1/-1}
  .booking-submit{min-height:56px}
  .navbar-collapse{display:none!important}
}

@media (max-width:991.98px){
  #mainNav{background:linear-gradient(180deg,rgba(3,8,12,.93),rgba(3,8,12,.38),transparent)}
  #mainNav.scrolled{backdrop-filter:none}
  .hero-bg{inset:-3%;background-position:60% center}
  .hero-content .row{min-height:100svh!important}
  .booking-section{padding-inline:0}
  .signature-strip .row{row-gap:1.5rem!important}
  .room-card,.testimonial-card{max-width:720px;margin-inline:auto}
  .restaurant-image{min-height:520px}
  .contact-panel,.eco-panel{overflow:hidden}
}

@media (max-width:767.98px){
  html{scroll-padding-top:72px}
  .section{padding:4.25rem 0}
  #mainNav{padding-top:.65rem!important;padding-bottom:.65rem!important}
  #mainNav.scrolled{padding-top:.45rem!important;padding-bottom:.45rem!important}
  .brand-logo{width:142px;max-height:52px}
  .language-btn{padding:.7rem .4rem}
  .navbar-toggler{padding:.55rem}
  .hero-section{min-height:max(720px,100svh)}
  .hero-content .row{min-height:max(720px,100svh)!important;padding-top:6.5rem!important;padding-bottom:3rem!important}
  .hero-bg{inset:0;transform:none!important;background-position:64% center;will-change:auto}
  .hero-glow{width:340px;height:340px;left:-180px;filter:blur(60px)}
  .hero-kicker{font-size:.64rem;letter-spacing:.13em;gap:.7rem;margin-bottom:1.1rem}
  .kicker-line{width:28px}
  .hero-section h1{font-size:clamp(3rem,14vw,4.75rem);line-height:.92;letter-spacing:-.03em}
  .hero-lead{font-size:.98rem;line-height:1.7;max-width:34rem}
  .hero-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin-top:2.2rem;gap:0}
  .hero-trust div,.hero-trust div:first-child{padding:0 .7rem;border-left:1px solid rgba(255,255,255,.18);min-width:0}
  .hero-trust div:first-child{padding-left:0;border-left:0}
  .hero-trust strong{font-size:1.65rem}
  .hero-trust span{font-size:.58rem;line-height:1.35}
  .booking-section{margin-top:-1.2rem}
  .booking-panel{grid-template-columns:1fr;padding:1.15rem;gap:1rem}
  .booking-intro,.booking-submit{grid-column:auto}
  .booking-intro{padding-right:0}
  .booking-intro h2{font-size:1.65rem}
  .booking-field .form-control,.booking-field .form-select{font-size:16px}
  .signature-item{min-width:0}
  .signature-item i{font-size:1.35rem}
  .signature-item strong{font-size:.68rem}
  .signature-item span{font-size:.62rem}
  .image-collage{min-height:455px;margin-bottom:1rem}
  .collage-main{width:52%}
  .collage-top{width:45%;height:45%}
  .collage-bottom{right:3%;width:44%;height:39%;border-width:6px}
  .collage-badge{left:40%;top:45%;width:96px;height:96px}
  .collage-badge strong{font-size:1.2rem}
  .collage-badge span{font-size:.52rem}
  .rooms-section .section-heading h2,.section-heading h2,.restaurant-card h2,.eco-content h2,.contact-info h2{font-size:clamp(2.45rem,11vw,3.15rem)}
  .room-image{height:280px}
  .room-content{padding:1.5rem}
  .room-content h3{font-size:2rem}
  .room-meta{gap:.7rem}
  .restaurant-image{min-height:390px}
  .restaurant-card,.quote-card,.eco-content,.contact-info,.contact-form{padding:1.75rem}
  .activities-grid{margin-right:calc(var(--bs-gutter-x)*-.5);padding-right:calc(var(--bs-gutter-x)*.5);scrollbar-width:none}
  .activities-grid::-webkit-scrollbar{display:none}
  .activity-card,.activity-large,.activity-card:nth-child(4){min-width:min(84vw,420px);height:410px}
  .gallery-mosaic{gap:.6rem}
  .testimonial-card{min-height:360px}
  .testimonial-card p{font-size:clamp(1.45rem,7vw,1.75rem)}
  .contact-panel{margin-inline:0}
  .footer-top{gap:2.25rem}
  .footer-brand img{max-width:180px}
  .footer-bottom{align-items:flex-start;gap:.65rem;line-height:1.6}
  .whatsapp-float{right:1rem;bottom:1rem}
  .back-to-top{right:1rem;bottom:4.75rem}
  .modal-dialog{margin:.75rem}
  .room-modal-image{width:100%;min-height:240px;height:36vh;max-height:360px;object-fit:cover}
  .room-modal-body{padding:1.6rem}
  .gallery-modal-content img{max-height:82vh;object-fit:contain}
}

@media (max-width:575.98px){
  .container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem}
  .offcanvas{--bs-offcanvas-width:92vw}
  .offcanvas-body{padding:1.25rem}
  .offcanvas-logo{width:150px}
  .mobile-nav a{font-size:1.65rem;padding:.55rem 0}
  .hero-content .d-flex.flex-wrap.gap-3{display:grid!important;grid-template-columns:1fr;width:100%;max-width:390px}
  .hero-content .btn{width:100%;justify-content:center}
  .hero-section h1{font-size:clamp(2.8rem,14.5vw,4rem)}
  .hero-trust span{letter-spacing:.04em;text-transform:none}
  .signature-strip{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
  .signature-strip .col-6{width:100%}
  .signature-item{justify-content:flex-start}
  .image-collage{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:190px 155px;gap:.65rem;min-height:0}
  .image-collage figure{position:relative;inset:auto;width:100%;height:100%;border:0}
  .collage-main{grid-row:1/3}
  .collage-top{grid-column:2;grid-row:1}
  .collage-bottom{grid-column:2;grid-row:2}
  .collage-badge{left:calc(57.5% - 43px);top:calc(50% - 43px);width:86px;height:86px}
  .feature-list>div{align-items:flex-start}
  .room-image{height:235px}
  .room-content{padding:1.25rem}
  .room-content .d-flex{align-items:flex-start!important}
  .room-capacity{flex:0 0 auto}
  .restaurant-image{min-height:310px}
  .restaurant-card,.quote-card,.eco-content,.contact-info,.contact-form{padding:1.35rem}
  .restaurant-points{gap:.75rem}
  .eco-visual{min-height:300px}
  .eco-mark{right:.75rem;bottom:.75rem}
  .gallery-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .gallery-item,.gallery-item.gallery-wide,.gallery-item.gallery-tall{width:auto;height:auto;margin:0;grid-column:auto;grid-row:auto}
  .gallery-item:first-child{grid-column:1/-1;grid-row:span 2}
  .testimonial-card{padding:1.4rem;min-height:330px}
  .contact-list>a,.contact-list>div{gap:.8rem}
  .contact-list i{flex:0 0 36px;width:36px;height:36px}
  .footer-newsletter .input-group{flex-wrap:nowrap}
  .footer-newsletter .form-control{font-size:16px}
  .toast-container{max-width:100%;padding:.75rem!important}
  .toast{max-width:calc(100vw - 1.5rem)}
  .legal-page .section{padding:3.5rem 0}
}

@media (max-width:359.98px){
  .brand-logo{width:126px}
  .language-btn i{display:none}
  .hero-section h1{font-size:2.65rem}
  .hero-kicker{letter-spacing:.08em}
  .hero-trust strong{font-size:1.45rem}
  .hero-trust div{padding-inline:.4rem}
  .btn{padding:.85rem 1rem;font-size:.73rem}
  .gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:210px}
  .gallery-item:first-child{grid-column:auto;grid-row:auto}
}

@media (hover:none),(pointer:coarse){
  .image-zoom:hover img,.booking-room:hover{transform:none}
  .btn:hover{transform:none}
}

/* Belamandy Premium V5 refinements */
.service-card,.feature-card,.room-card,.lodge-card{background:#fff!important;color:#2b2b2b!important;border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.08);transition:.35s ease}
.service-card:hover,.feature-card:hover,.room-card:hover,.lodge-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(0,0,0,.12)}
.service-card h3,.service-card h4,.room-card h2,.room-card h3,.lodge-card h2,.lodge-card h3{color:#1f1f1f!important}
.service-card p,.room-card p,.lodge-card p{color:#555!important;line-height:1.7}
.service-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f6efe4;color:#a99678;font-size:1.5rem;margin-bottom:1rem}
/* ensure private excursions icon style */
.fa-sailboat{color:#a99678}
.carousel img{border-radius:22px;object-fit:cover}
.navbar-toggler{display:inline-flex!important;align-items:center;justify-content:center}
@media(max-width:1199.98px){.navbar-collapse{display:none!important}}

/* Belamandy premium V9 */
.room-card,.service-card,.experience-card{background:#fff;color:#2b2520;border-radius:22px;overflow:hidden;box-shadow:0 15px 45px rgba(0,0,0,.08);}
.room-card h3,.room-card h4,.service-card h3{color:#211a15;}
.room-card p,.service-card p{color:#5f554d;}
