/* Modern 2026 interface layer: loads last, restyles the whole site without changing content */
:root{
  --bg:#FBF8F2;--bg-2:#F4EFE4;--ink:#0E1F1B;--ink-2:#42524C;
  --em-0:#05181A;--em:#0B2723;--em-2:#123F37;--em-3:#1D5C50;
  --g1:#F7E2A4;--g2:#D9AE4C;--g3:#B58A2F;
  --gold-grad:linear-gradient(120deg,#F9E7B0 0%,#E2B957 38%,#C99A33 70%,#F0D17C 100%);
  --r-lg:28px;--r-md:20px;--r-sm:14px;
  --sh-1:0 1px 2px rgba(11,39,35,.06),0 8px 24px -8px rgba(11,39,35,.14);
  --sh-2:0 2px 4px rgba(11,39,35,.06),0 24px 60px -18px rgba(11,39,35,.30);
  --cream:var(--bg);--cream-2:var(--bg-2);--radius:var(--r-lg);--shadow:var(--sh-1);
  --ease:cubic-bezier(.22,.8,.24,1);
}
html{scroll-padding-top:90px}
body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#F2D88A;color:var(--em)}
h1,h2,h3{letter-spacing:-.022em;color:var(--em)}
h2{font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.08}
p{color:var(--ink-2)}
.muted{color:#5d6d66}

/* ---------- top bar + floating glass header ---------- */
.topbar{background:var(--em-0);font-size:.78rem;letter-spacing:.01em}
.topbar .wrap{min-height:34px}
header.site{top:12px;margin:12px auto 0;width:min(1200px,calc(100% - 24px));border-radius:999px;background:rgba(255,253,247,.74);
  -webkit-backdrop-filter:saturate(1.6) blur(20px);backdrop-filter:saturate(1.6) blur(20px);
  border:1px solid rgba(255,255,255,.7);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 14px 40px -14px rgba(5,24,26,.35);
  transition:box-shadow .35s var(--ease),background .35s,transform .35s var(--ease)}
header.site.scrolled{background:rgba(255,253,247,.9);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 18px 50px -12px rgba(5,24,26,.45)}
header.site .wrap{min-height:62px;padding:0 10px 0 14px}
.brand{font-size:1.18rem;letter-spacing:-.01em}
.brand img{border:0;box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--g2)}
nav.main ul{gap:.2rem}
nav.main a{padding:.5rem .85rem;border-radius:999px;font-size:.93rem;color:var(--ink);transition:background .25s,color .25s}
nav.main a:not(.btn):hover,nav.main a[aria-current]{background:rgba(11,39,35,.07);color:var(--em)}
nav.main a.btn{padding:.6rem 1.15rem;margin-left:.3rem}
@media (max-width:900px){
  header.site{border-radius:26px;top:8px;margin-top:8px}
  nav.main{top:calc(100% + 8px);border-radius:24px;background:rgba(255,253,247,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    box-shadow:var(--sh-2);border:1px solid rgba(255,255,255,.8);left:0;right:0;padding:1rem}
  nav.main a{display:block;padding:.7rem 1rem;font-size:1.02rem}
}

/* ---------- buttons ---------- */
.btn{border:0;font-weight:650;letter-spacing:.005em;position:relative;overflow:hidden;isolation:isolate;transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease);z-index:-1}
.btn:hover{transform:translateY(-2px)}.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-gold{background:var(--gold-grad);color:#241a05;box-shadow:0 10px 28px -10px rgba(201,154,51,.8),0 1px 0 rgba(255,255,255,.6) inset}
.btn-gold:hover{background:var(--gold-grad);filter:saturate(1.15);box-shadow:0 16px 34px -10px rgba(201,154,51,.9)}
.btn-primary{background:linear-gradient(135deg,var(--em-2),var(--em));color:#fff;box-shadow:0 12px 28px -12px rgba(11,39,35,.8)}
.btn-primary:hover{background:linear-gradient(135deg,var(--em-3),var(--em-2))}
.btn-wa{background:linear-gradient(135deg,#1FB85A,#0E8A43);color:#fff;box-shadow:0 12px 28px -12px rgba(14,138,67,.85)}
.btn-wa:hover{background:linear-gradient(135deg,#25C763,#0F9A4B)}
.btn-outline,.btn-ghost{background:rgba(255,255,255,.5);border:1.5px solid rgba(11,39,35,.2);color:var(--em);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-outline:hover,.btn-ghost:hover{background:var(--em);color:#fff;border-color:var(--em)}

/* ---------- eyebrow pills, headings, no old ornaments ---------- */
.eyebrow{background:rgba(217,174,76,.14);border:1px solid rgba(217,174,76,.45);border-left:1px solid rgba(217,174,76,.45);border-radius:999px;
  padding:.32rem .9rem;color:#7a5a14;font-size:.72rem;letter-spacing:.16em;margin-bottom:1rem}
.hero .eyebrow,.page-hero .eyebrow,.dark .eyebrow{background:rgba(247,226,164,.1);border:1px solid rgba(247,226,164,.35);border-left:1px solid rgba(247,226,164,.35);color:var(--g1);padding-left:.9rem}
.section-head h2::after,.section-head.center h2::after{display:none}
.section-head{margin-bottom:2.8rem}
.section-head p{font-size:1.06rem}
.gold-text{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
section{padding:clamp(3.6rem,8vw,6.5rem) 0}

/* ---------- hero ---------- */
.hero{background:var(--em-0);position:relative;isolation:isolate;padding:clamp(3.2rem,7vw,6rem) 0 clamp(3.6rem,8vw,7rem)}
.hero::before{content:"";position:absolute;inset:-20%;z-index:-1;background:
  radial-gradient(40% 40% at 78% 18%,rgba(226,185,87,.34),transparent 70%),
  radial-gradient(38% 42% at 12% 88%,rgba(29,92,80,.85),transparent 70%),
  radial-gradient(30% 30% at 50% 50%,rgba(18,63,55,.7),transparent 70%);
  animation:aurora 18s ease-in-out infinite alternate;filter:blur(10px);background-image:none;background-color:transparent}
.hero::before{background:
  radial-gradient(40% 40% at 78% 18%,rgba(226,185,87,.34),transparent 70%),
  radial-gradient(38% 42% at 12% 88%,rgba(29,92,80,.85),transparent 70%),
  radial-gradient(30% 30% at 50% 50%,rgba(18,63,55,.7),transparent 70%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 40%,#000,transparent)}
@keyframes aurora{0%{transform:translate3d(-3%,-2%,0) scale(1)}100%{transform:translate3d(4%,3%,0) scale(1.12)}}
.hero h1{font-size:clamp(2.5rem,6vw,4.9rem);line-height:1.02;letter-spacing:-.035em;color:#fff}
.hero p.lead{font-size:1.14rem;color:#C9DBD4;max-width:34rem}
.hero .quick-book{border-radius:var(--r-lg);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);box-shadow:0 30px 80px -30px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.18) inset}
.hero .quick-book select,.hero .quick-book input{border-radius:14px;background:rgba(255,255,255,.96)}
.hero .trust span{color:#E9DDB4}
.hero-media::before{display:none}
.hero-media img{border-radius:34px 34px 120px 34px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.14)}
.hero-media img:nth-child(2){border-radius:120px 34px 34px 34px}
.hero .badge-float{border-radius:18px;background:rgba(255,255,255,.92);border:0;box-shadow:0 20px 50px -16px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vibe{border-radius:999px}

/* inner-page hero */
.page-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--em-0);padding:clamp(3rem,7vw,5.5rem) 0}
.page-hero::before{content:"";position:absolute;inset:-30%;z-index:-1;animation:aurora 20s ease-in-out infinite alternate;
  background:radial-gradient(34% 40% at 85% 10%,rgba(226,185,87,.32),transparent 70%),radial-gradient(40% 50% at 8% 100%,rgba(29,92,80,.9),transparent 70%)}
.page-hero h1{font-size:clamp(2.1rem,5vw,3.8rem);letter-spacing:-.03em;line-height:1.05;max-width:18ch}
.page-hero .lead{font-size:1.12rem;max-width:42rem}
.crumbs{font-size:.8rem;letter-spacing:.02em}

/* ---------- marquee strip ---------- */
.events-strip{background:var(--em-0);border:0;padding:1rem 0}
.events-strip a{border:1px solid rgba(247,226,164,.28);border-radius:999px;background:rgba(255,255,255,.04);color:var(--g1);transition:all .3s var(--ease)}
.events-strip a:hover{background:var(--gold-grad);color:#241a05;border-color:transparent}

/* ---------- sections + surfaces ---------- */
.alt{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.dark{position:relative;isolation:isolate;overflow:hidden;background:var(--em-0);color:#D3E2DC}
.dark::before{content:"";position:absolute;inset:-30%;z-index:-1;animation:aurora 22s ease-in-out infinite alternate;
  background:radial-gradient(34% 40% at 88% 12%,rgba(226,185,87,.26),transparent 70%),radial-gradient(40% 50% at 8% 95%,rgba(29,92,80,.8),transparent 70%)}
.dark h2,.dark h3{color:#fff}
.dark p{color:#BFD3CB}

.card,.why .item,.review,.step,.pkg,.side,form.lead,.faq details,.includes li,.price-table,.quick-book:not(.hero .quick-book){border-radius:var(--r-lg)}
.card{border:1px solid rgba(11,39,35,.07);border-top:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-1);background:#fff;position:relative;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh-2)}
.card img{aspect-ratio:4/3.4;transition:transform .9s var(--ease)}
.card:hover img{transform:scale(1.07)}
.card .body{padding:1.3rem 1.4rem 1.5rem}
.card .body h3{font-size:1.28rem}
.card .price{display:inline-block;background:rgba(217,174,76,.16);color:#7a5a14;border-radius:999px;padding:.18rem .7rem;font-size:.82rem;width:max-content}
.card .body a.more{display:inline-flex;align-items:center;gap:.35rem;color:var(--em)}
.card .body a.more::after{content:"→";transition:transform .3s var(--ease)}
.card:hover .body a.more::after{transform:translateX(5px)}

.why{gap:1rem}
.why .item{background:#fff;border:1px solid rgba(11,39,35,.07);border-bottom:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-1);text-align:left;padding:1.6rem 1.4rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.why .item:hover{transform:translateY(-6px);box-shadow:var(--sh-2)}
.why .item .ic{margin:0 0 1rem;border-radius:16px;background:linear-gradient(135deg,#FFF3CF,#F4DD98);width:54px;height:54px;line-height:54px;font-size:1.5rem}
.why .item h3{font-size:1.1rem}

.step{border:1px solid rgba(11,39,35,.07);border-top:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-1)}
.step::before{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:3rem}

.review{border:1px solid rgba(11,39,35,.07);border-top:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-1)}

.pkg{border:1px solid rgba(11,39,35,.08);box-shadow:var(--sh-1);padding:1.8rem;background:#fff;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.pkg:hover{transform:translateY(-8px);box-shadow:var(--sh-2)}
.pkg.featured{border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--gold-grad) border-box;box-shadow:0 30px 70px -26px rgba(201,154,51,.55)}
.pkg .tag{background:var(--gold-grad);color:#241a05;box-shadow:0 8px 20px -8px rgba(201,154,51,.9)}
.pkg .amount{font-size:2.3rem;background:linear-gradient(135deg,var(--em),var(--em-3));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pkg li::before{color:var(--g3)}

.faq details{border:1px solid rgba(11,39,35,.08);background:#fff;transition:box-shadow .3s,border-color .3s;padding:1.1rem 1.4rem}
.faq details[open]{border-color:rgba(217,174,76,.7);box-shadow:var(--sh-1)}
.faq summary::after{width:32px;height:32px;border-radius:50%;background:rgba(217,174,76,.16);display:grid;place-items:center;font-size:1.2rem;line-height:1;color:var(--g3);flex:none;margin-left:1rem}

.price-table{border:1px solid rgba(11,39,35,.08);box-shadow:var(--sh-1)}
.price-table th{background:var(--em);letter-spacing:.02em}
.chips span{border-radius:999px;background:#fff;border-color:rgba(11,39,35,.1)}
.notice{border-radius:var(--r-md);border:1px solid rgba(217,174,76,.45);border-left:4px solid var(--g2);background:linear-gradient(135deg,#FFF9E6,#FFF3CF)}
form.lead{border:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-2)}
form.lead input,form.lead select,form.lead textarea,.quick-book select,.quick-book input{border-radius:14px;border:1.5px solid rgba(11,39,35,.12);background:#fff}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:0;border-color:var(--g2);box-shadow:0 0 0 4px rgba(217,174,76,.22)}
.side{border:1px solid rgba(11,39,35,.07);box-shadow:var(--sh-2)}
.map{border-radius:var(--r-lg)}

/* ---------- gallery ---------- */
.gallery{columns:4;column-gap:.8rem}
@media (max-width:1100px){.gallery{columns:3}}
@media (max-width:760px){.gallery{columns:2;column-gap:.55rem}}
.gallery figure{border-radius:var(--r-md);margin-bottom:.8rem;cursor:zoom-in;background:var(--bg-2);box-shadow:var(--sh-1);transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.gallery figure:hover{box-shadow:var(--sh-2);transform:translateY(-3px)}
.gallery img{transition:transform 1s var(--ease)}
.gallery figure:hover img{transform:scale(1.06)}
.gallery figcaption{opacity:0;transform:translateY(8px);transition:all .4s var(--ease);background:linear-gradient(transparent,rgba(5,24,26,.88))}
.gallery figure:hover figcaption,.gallery figure:focus-within figcaption{opacity:1;transform:none}
@media (hover:none){.gallery figcaption{display:none}}

/* lightbox */
.mlb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(3,14,16,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:3.5rem 1rem 4.5rem}
.mlb.open{display:flex;animation:mlbin .35s var(--ease)}
@keyframes mlbin{from{opacity:0}to{opacity:1}}
.mlb img{max-width:min(1100px,100%);max-height:100%;width:auto;height:auto;border-radius:18px;box-shadow:0 40px 120px -20px rgba(0,0,0,.8);animation:mlbimg .45s var(--ease)}
@keyframes mlbimg{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.mlb button{position:absolute;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:46px;height:46px;border-radius:50%;font-size:1.4rem;line-height:1;transition:background .25s}
.mlb button:hover{background:rgba(255,255,255,.26)}
.mlb .x{top:14px;right:14px}.mlb .pv{left:14px;top:50%;transform:translateY(-50%)}.mlb .nx{right:14px;top:50%;transform:translateY(-50%)}
.mlb .cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:#D6E5DF;font-size:.92rem;padding:0 4.5rem}
.mlb .cap a{display:inline-flex;margin-left:.8rem;color:#241a05;background:var(--gold-grad);border-radius:999px;padding:.35rem .9rem;font-weight:650;text-decoration:none}

/* ---------- footer ---------- */
footer.site{background:var(--em-0);border-radius:44px 44px 0 0;margin-top:-1px;padding-top:4rem;position:relative}
footer.site h4{color:var(--g1)}
footer.site a{color:#CFE0D9;transition:color .2s}footer.site a:hover{color:#fff}
footer.site .socials a{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);transition:all .3s var(--ease)}
footer.site .socials a:hover{background:var(--gold-grad);transform:translateY(-3px)}
footer.site .socials a:hover svg{fill:#241a05}

/* ---------- floating WhatsApp + sticky bar ---------- */
.wa-float{border-radius:999px;background:linear-gradient(135deg,#1FB85A,#0E8A43);box-shadow:0 14px 36px -10px rgba(14,138,67,.8);padding:.85rem 1.2rem}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(31,184,90,.55);animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(31,184,90,.5)}80%,100%{box-shadow:0 0 0 18px rgba(31,184,90,0)}}
.sticky-book{border-radius:22px 22px 0 0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:rgba(255,253,247,.94)}

/* ---------- motion polish ---------- */
.rv{transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.hero::before,.page-hero::before,.dark::before,.wa-float::before{animation:none}.btn::after{display:none}}
@media (max-width:640px){
  .hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .card:hover,.why .item:hover,.pkg:hover{transform:none}
  footer.site{border-radius:30px 30px 0 0}
}

/* ---------- extras ---------- */
.brand-strip{background:transparent;border:0;padding:clamp(1.5rem,4vw,3rem) 0 0}
.brand-strip img{border-radius:var(--r-lg);box-shadow:var(--sh-1);max-height:220px}
.m-evb{border-radius:22px!important;overflow:hidden;box-shadow:var(--sh-1);transition:transform .4s var(--ease)}
.m-evb:active{transform:scale(.97)}
.m-evb b{background:linear-gradient(transparent,rgba(5,24,26,.92))!important}

/* ---------- mobile-first polish ---------- */
.m-strip{display:none}
@media (max-width:760px){
  .m-strip{display:flex!important;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:1.1rem -20px 1.2rem;padding:0 20px 4px;scrollbar-width:none}
  .m-strip::-webkit-scrollbar{display:none}
  .m-strip picture{flex:0 0 66%;scroll-snap-align:center;display:block}
  .m-strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:24px;box-shadow:0 18px 40px -18px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.12)}
  .m-dup{display:none!important}
  .btn{min-height:48px}
  section{padding:clamp(2.6rem,9vw,3.6rem) 0}
  .section-head{margin-bottom:1.6rem}
}

/* header WhatsApp icon (phones) */
.m-hwa{display:none}
@media (max-width:640px){.m-hwa{display:grid!important;place-items:center;width:44px;height:44px;border-radius:50%;margin-left:auto;margin-right:.5rem;flex:none}.m-hwa svg{width:22px;height:22px;fill:currentColor}}

/* line icons replacing emoji in info lists and cards */
.ic svg{width:22px;height:22px;fill:none;stroke:#0B2723;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.why .item .ic{display:inline-flex;align-items:center;justify-content:center;line-height:1}
