/* ═══════════════════════════════════════════════════
   MaldivLux — Enhanced Violet / Teal / Coral Theme
   ═══════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
  --v:   #7c3aed;
  --v2:  #a855f7;
  --v3:  #ddd6fe;
  --t:   #0d9488;
  --t2:  #2dd4bf;
  --t3:  #ccfbf1;
  --c:   #f97316;
  --c2:  #fb923c;
  --dark:#0a0614;
  --d2:  #110a1f;
  --d3:  #1a1030;
  --txt: #e2d9f3;
  --txt2:#a89cc8;
  --r:   .75rem;
  --r2:  1.25rem;
  --sh:  0 8px 40px rgba(124,58,237,.3);
  --sht: 0 8px 40px rgba(13,148,136,.3);
  --shc: 0 8px 40px rgba(249,115,22,.3);
  --tr:  .35s cubic-bezier(.4,0,.2,1);
  --glass-bg: rgba(255,255,255,.04);
  --glass-border: rgba(255,255,255,.08);
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--dark);color:var(--txt);font-family:'Inter',sans-serif;line-height:1.6;overflow-x:hidden;cursor:none}
body.loading{overflow:hidden}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{border:none;background:none;cursor:none;font:inherit}

/* ── Progress Bar ── */
.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--v),var(--t2),var(--c));z-index:10001;width:0%;transition:width .1s linear;border-radius:0 2px 2px 0}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--d2)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--v),var(--t));border-radius:3px}

/* ── Custom Cursor ── */
.c-dot,.c-ring{position:fixed;border-radius:50%;pointer-events:none;z-index:9999}
.c-dot{width:8px;height:8px;background:var(--t2);box-shadow:0 0 10px var(--t2);top:0;left:0;transform:translate(-50%,-50%);transition:opacity .3s,background .2s,transform .15s}
.c-ring{width:32px;height:32px;border:1.5px solid rgba(45,212,191,.6);top:0;left:0;transform:translate(-50%,-50%);transition:width .25s,height .25s,border-color .25s,opacity .3s}
.c-trail{position:fixed;inset:0;pointer-events:none;z-index:9998}
.spotlight{position:fixed;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.04),transparent 70%);pointer-events:none;z-index:0;top:0;left:0;transform:translate(-50%,-50%)}
@media(hover:none){.c-dot,.c-ring,.c-trail,.spotlight{display:none}body{cursor:auto}button{cursor:pointer}}

/* ── Glass Card System ── */
.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);position:relative;overflow:hidden}
.glass-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent)}
.glass-card::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 0% 0%,rgba(124,58,237,.06),transparent 60%);pointer-events:none;opacity:0;transition:opacity .4s}
.glass-card:hover::after{opacity:1}

/* ── Curtain ── */
.curtain{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:var(--dark)}
.curtain-inner{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}
.curtain-left,.curtain-right{position:absolute;top:0;bottom:0;width:50%;background:var(--dark);transition:transform 1s cubic-bezier(.77,0,.18,1);z-index:1}
.curtain-left{left:0}
.curtain-right{right:0}
.curtain.reveal .curtain-left{transform:translateX(-100%)}
.curtain.reveal .curtain-right{transform:translateX(100%)}
.curtain.reveal .curtain-inner{opacity:0;transition:opacity .3s}
.ci-logo{display:flex;align-items:center;gap:.75rem;opacity:0;animation:fade-up .6s .3s forwards}
.ci-icon{font-size:2.5rem;color:var(--t2);filter:drop-shadow(0 0 16px var(--t2));}
.ci-text{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:900;background:linear-gradient(90deg,var(--t2),var(--v2),var(--c2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ci-loading{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fade-up .6s .5s forwards}
.ci-track{width:200px;height:2px;background:rgba(255,255,255,.1);border-radius:1px;overflow:hidden}
.ci-fill{height:100%;background:linear-gradient(90deg,var(--v),var(--t2),var(--c));width:0%;transition:width .05s linear;border-radius:1px}
.ci-pct{font-size:.75rem;font-weight:600;letter-spacing:.15em;color:var(--txt2)}
.ci-tagline{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-style:italic;color:var(--txt2);letter-spacing:.3em;opacity:0;animation:fade-up .6s .7s forwards}
@keyframes fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ── Navbar ── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:.75rem 0;transition:background var(--tr),backdrop-filter var(--tr),box-shadow var(--tr)}
.navbar.scrolled{background:rgba(10,6,20,.9);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(124,58,237,.2)}
.nav-wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:800}
.nl-icon{color:var(--t2);font-size:1.3rem;filter:drop-shadow(0 0 10px var(--t2))}
.nl-text{background:linear-gradient(90deg,var(--t2),var(--v2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nav-links{display:flex;align-items:center;gap:.15rem}
.nav-links a{padding:.45rem .8rem;border-radius:var(--r);font-size:.875rem;font-weight:500;color:var(--txt2);transition:color var(--tr),background var(--tr);position:relative}
.nav-links a::after{content:'';position:absolute;bottom:0;left:.8rem;right:.8rem;height:2px;background:linear-gradient(90deg,var(--t2),var(--v2));border-radius:1px;transform:scaleX(0);transition:transform .3s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active::after{transform:scaleX(1)}
.nav-links a:hover{background:rgba(124,58,237,.1)}
.nav-links .ncta{background:linear-gradient(135deg,var(--v),var(--t));color:#fff !important;padding:.45rem 1.2rem;font-weight:600}
.nav-links .ncta::after{display:none}
.nav-links .ncta:hover{transform:translateY(-1px);box-shadow:var(--sh);background:linear-gradient(135deg,var(--t),var(--c))}
.burger{display:none;flex-direction:column;gap:5px;padding:.5rem;width:40px}
.burger span{display:block;height:2px;background:var(--txt);border-radius:1px;transition:var(--tr)}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── Hero ── */
.hero{min-height:100vh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:7rem 1.5rem 4rem}
.hero-noise{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}
.hero-ambient{position:absolute;inset:0;z-index:0;pointer-events:none}
.amb{position:absolute;border-radius:50%;filter:blur(90px);animation:amb-pulse 9s ease-in-out infinite alternate}
.amb1{width:700px;height:700px;background:radial-gradient(circle,rgba(124,58,237,.5) 0%,transparent 70%);top:-15%;left:-20%;animation-delay:0s;opacity:.4}
.amb2{width:600px;height:600px;background:radial-gradient(circle,rgba(13,148,136,.5) 0%,transparent 70%);bottom:-15%;right:-15%;animation-delay:-3s;opacity:.4}
.amb3{width:450px;height:450px;background:radial-gradient(circle,rgba(249,115,22,.4) 0%,transparent 70%);top:25%;left:55%;animation-delay:-5s;opacity:.25}
.amb4{width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.4) 0%,transparent 70%);bottom:15%;left:10%;animation-delay:-2s;opacity:.25}
.amb5{width:300px;height:300px;background:radial-gradient(circle,rgba(45,212,191,.35) 0%,transparent 70%);top:50%;left:30%;animation-delay:-7s;opacity:.2}
@keyframes amb-pulse{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.2) translate(40px,-30px)}}
.bio-canvas{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-bgword{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Playfair Display',serif;font-size:clamp(4rem,16vw,15rem);font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(124,58,237,.07);white-space:nowrap;z-index:1;letter-spacing:.15em;pointer-events:none;user-select:none;will-change:transform}

/* Floating badges */
.float-badge{position:absolute;display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.5rem 1rem;z-index:3;pointer-events:none;animation:float-anim 4s ease-in-out infinite alternate}
.float-badge span{font-size:1rem}
.float-badge b{font-size:.75rem;font-weight:600;color:rgba(255,255,255,.85);white-space:nowrap}
.fb1{top:22%;left:6%;animation-delay:0s}
.fb2{top:18%;right:8%;animation-delay:-1.5s}
.fb3{bottom:28%;left:5%;animation-delay:-3s}
.fb4{bottom:24%;right:6%;animation-delay:-0.8s}
@keyframes float-anim{0%{transform:translateY(0) rotate(-1deg)}100%{transform:translateY(-14px) rotate(1deg)}}
@media(max-width:900px){.float-badge{display:none}}

.hero-body{position:relative;z-index:2;text-align:center;max-width:900px;width:100%}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(13,148,136,.12);border:1px solid rgba(45,212,191,.25);border-radius:999px;padding:.35rem 1rem;font-size:.78rem;letter-spacing:.1em;color:var(--t2);margin-bottom:2rem;font-weight:700;text-transform:uppercase;box-shadow:0 0 20px rgba(45,212,191,.1)}
.pill-dot{width:6px;height:6px;background:var(--t2);border-radius:50%;box-shadow:0 0 8px var(--t2);animation:blink 1.5s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,7vw,6.5rem);line-height:1.05;font-weight:900;margin-bottom:1.5rem}
.h1-line{display:block;opacity:0;transform:translateY(50px);animation:line-in .9s cubic-bezier(.4,0,.2,1) forwards}
.h1-line:nth-child(1){animation-delay:.1s}
.h1-line:nth-child(2){animation-delay:.3s}
.h1-line:nth-child(3){animation-delay:.5s}
.h1-line.accent{background:linear-gradient(90deg,var(--t2) 0%,var(--v2) 50%,var(--c2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px rgba(45,212,191,.3))}
@keyframes line-in{to{opacity:1;transform:none}}

.typewriter{position:relative}
.typewriter-cursor{display:inline-block;width:3px;height:.85em;background:var(--t2);border-radius:1px;margin-left:3px;vertical-align:middle;animation:cursor-blink .7s step-end infinite}
@keyframes cursor-blink{0%,100%{opacity:1}50%{opacity:0}}

.hero-p{font-size:clamp(.95rem,2vw,1.2rem);color:var(--txt2);margin-bottom:2.5rem;max-width:620px;margin-left:auto;margin-right:auto;line-height:1.75}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}

/* Buttons */
.btn-p,.btn-o{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2rem;border-radius:var(--r);font-weight:600;font-size:.95rem;transition:all var(--tr);position:relative;overflow:hidden}
.btn-p{background:linear-gradient(135deg,var(--v),var(--t));color:#fff;box-shadow:0 4px 20px rgba(124,58,237,.3)}
.btn-p::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--t2),var(--c));opacity:0;transition:opacity var(--tr)}
.btn-p:hover::before{opacity:1}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(124,58,237,.5)}
.btn-p svg{width:18px;height:18px;position:relative;z-index:1}
.btn-p span{position:relative;z-index:1}
.btn-o{border:1.5px solid rgba(45,212,191,.4);color:var(--t2);background:transparent}
.btn-o:hover{background:rgba(45,212,191,.08);border-color:var(--t2);color:#fff;transform:translateY(-3px);box-shadow:0 8px 30px rgba(45,212,191,.2)}
.btn-p.full{width:100%;justify-content:center}
.btn-p.large-btn{padding:1.1rem 2.5rem;font-size:1rem}

/* Hero stats glass cards */
.hero-stats{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hstat{padding:1.25rem 1.75rem;border-radius:var(--r2);text-align:center;position:relative;min-width:130px;transition:transform var(--tr),box-shadow var(--tr)}
.hstat:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.hstat-glow{position:absolute;inset:0;border-radius:var(--r2);background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(13,148,136,.08));opacity:0;transition:opacity .4s}
.hstat:hover .hstat-glow{opacity:1}
.hstat b{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;background:linear-gradient(90deg,var(--t2),var(--v2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline}
.hstat sup{font-size:.65em;color:var(--t2);vertical-align:super}
.hstat span{display:block;font-size:.75rem;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem}

.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:var(--txt2);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;z-index:2;opacity:.7;transition:opacity .3s}
.hero-scroll:hover{opacity:1}
.hs-mouse{width:22px;height:36px;border:1.5px solid rgba(124,58,237,.5);border-radius:12px;display:flex;justify-content:center;padding:4px}
.hs-wheel{width:3px;height:8px;background:var(--v2);border-radius:2px;animation:scroll-wheel 1.6s ease-in-out infinite}
@keyframes scroll-wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}

/* ── Marquee ── */
.marquee-strip{background:linear-gradient(90deg,var(--v),var(--t),var(--c),var(--v2),var(--v));background-size:200% 100%;animation:grad-move 6s linear infinite;padding:.85rem 0;overflow:hidden;position:relative;z-index:2}
.marquee-strip.marquee-rev{background:linear-gradient(90deg,var(--c),var(--t2),var(--v),var(--c2),var(--c));background-size:200% 100%}
@keyframes grad-move{0%{background-position:0% 0%}100%{background-position:200% 0%}}
.marquee-strip::before,.marquee-strip::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:1;pointer-events:none}
.marquee-strip::before{left:0;background:linear-gradient(to right,var(--dark),transparent)}
.marquee-strip::after{right:0;background:linear-gradient(to left,var(--dark),transparent)}
.marquee-track{display:flex;align-items:center;gap:1.5rem;animation:marquee 28s linear infinite;width:max-content}
.marquee-track-rev{animation:marquee-rev 28s linear infinite}
.marquee-track span{font-size:.72rem;font-weight:800;letter-spacing:.3em;color:rgba(255,255,255,.95);white-space:nowrap;text-transform:uppercase}
.marquee-track .mx{color:rgba(255,255,255,.5);font-size:.55rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ── Container & Sections ── */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:6rem 0;position:relative}
.s-head{text-align:center;margin-bottom:4rem}
.s-label{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--t2);background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.2);border-radius:999px;padding:.3rem 1rem;margin-bottom:1.25rem}
.s-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:900;line-height:1.1;margin-bottom:1.25rem}
.s-title em{font-style:italic;background:linear-gradient(90deg,var(--t2),var(--v2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.s-sub{font-size:1rem;color:var(--txt2);max-width:580px;margin:0 auto;line-height:1.75}

/* Reveal */
.rev-up{opacity:0;transform:translateY(45px);transition:opacity .75s ease,transform .75s ease}
.rev-left{opacity:0;transform:translateX(-45px);transition:opacity .75s ease,transform .75s ease}
.rev-right{opacity:0;transform:translateX(45px);transition:opacity .75s ease,transform .75s ease}
.rev-up.visible,.rev-left.visible,.rev-right.visible{opacity:1;transform:none}

/* ── Why Section ── */
.why-section{background:linear-gradient(180deg,var(--dark) 0%,var(--d2) 100%)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.why-card{border-radius:var(--r2);padding:2rem;position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease}
.why-card:hover{transform:translateY(-8px);box-shadow:var(--sht);border-color:rgba(45,212,191,.25) !important}
.wc-num{position:absolute;top:.75rem;right:1.25rem;font-family:'Playfair Display',serif;font-size:3.5rem;font-weight:900;color:rgba(124,58,237,.07);line-height:1;pointer-events:none}
.wc-icon-wrap{width:52px;height:52px;border-radius:var(--r);background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(13,148,136,.15));border:1px solid rgba(124,58,237,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:transform .3s,box-shadow .3s}
.why-card:hover .wc-icon-wrap{transform:scale(1.12) rotate(-5deg);box-shadow:0 0 20px rgba(45,212,191,.25)}
.wc-icon{font-size:1.6rem}
.why-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;margin-bottom:.75rem;color:#fff}
.why-card p{font-size:.875rem;color:var(--txt2);line-height:1.7}
.wc-arrow{position:absolute;bottom:1.25rem;right:1.25rem;font-size:1.1rem;color:var(--t2);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.why-card:hover .wc-arrow{opacity:1;transform:none}

/* ── Bento Grid ── */
.bento-section{background:var(--d2)}
.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:1rem}
.bento-card{border-radius:var(--r2);position:relative;overflow:hidden;cursor:pointer;transition:transform .4s ease,box-shadow .4s ease}
.bento-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--bg1),var(--bg2));z-index:0;transition:transform .5s ease}
.bento-card::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.25);z-index:1;transition:background .4s}
.bento-card:hover{transform:scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.bento-card:hover::after{background:rgba(0,0,0,.1)}
.bento-card:hover::before{transform:scale(1.08)}
.bento-card.bc-large{grid-column:span 2}
.bento-card.bc-wide{grid-column:span 2}
.bc-content{position:relative;z-index:2;padding:1.75rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.bc-icon{font-size:2.5rem;margin-bottom:.75rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.bc-content h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.bc-content p{font-size:.83rem;color:rgba(255,255,255,.8);line-height:1.6;max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .4s}
.bento-card.bc-large .bc-content p,.bento-card.bc-wide .bc-content p{max-height:80px}
.bento-card:not(.bc-large):not(.bc-wide):hover .bc-content p{max-height:80px;opacity:1}
.bento-card:not(.bc-large):not(.bc-wide) .bc-content p{opacity:0}
.bc-num-big{position:absolute;bottom:-1rem;right:1rem;font-family:'Playfair Display',serif;font-size:8rem;font-weight:900;color:rgba(255,255,255,.06);line-height:1;pointer-events:none;z-index:1}

/* ── Content Section ── */
.content-section{background:var(--dark)}
.cg-wrap{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.cg-main h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;margin:2rem 0 1rem;color:var(--v3)}
.lead{font-size:1.05rem;color:var(--txt);line-height:1.8;margin-bottom:2rem}
.cg-main p{color:var(--txt2);line-height:1.75;margin-bottom:1rem}
.info-card{background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(13,148,136,.06));border:1px solid rgba(124,58,237,.18);border-radius:var(--r2);padding:1.75rem;margin:2rem 0}
.ic-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.ic-head h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin:0}
.ic-head span{font-size:1.3rem}
.ic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.ic-item{display:flex;flex-direction:column;gap:.15rem}
.ic-item b{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t2)}
.ic-item span{font-size:.875rem;color:var(--txt2)}
.season-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.season-box{background:rgba(26,16,48,.6);border:1px solid rgba(124,58,237,.12);border-radius:var(--r);padding:1.25rem}
.season-box.dry{border-color:rgba(45,212,191,.2)}
.season-box.wet{border-color:rgba(249,115,22,.2)}
.sb-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.sb-top h4{font-weight:700;color:#fff;font-size:1rem;margin:0}
.sb-top small{color:var(--txt2);font-size:.8rem}
.sb-top span{font-size:1.5rem}
.season-box p{font-size:.85rem;color:var(--txt2);margin-bottom:.75rem}
.season-box ul{padding-left:1.25rem;list-style:disc}
.season-box li{font-size:.8rem;color:var(--txt2);margin-bottom:.25rem}
.atoll-table{overflow-x:auto;margin-bottom:1.5rem}
.atoll-table table{width:100%;border-collapse:collapse;font-size:.85rem}
.atoll-table th{background:rgba(124,58,237,.12);color:var(--t2);text-align:left;padding:.65rem 1rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.atoll-table td{padding:.65rem 1rem;border-bottom:1px solid rgba(124,58,237,.08);color:var(--txt2)}
.atoll-table tr:hover td{background:rgba(124,58,237,.04)}
.routes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}
.route-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:rgba(26,16,48,.5);border:1px solid rgba(124,58,237,.1);border-radius:var(--r);padding:.75rem 1rem;font-size:.85rem;transition:border-color .3s}
.route-item:hover{border-color:rgba(45,212,191,.25)}
.ri-from{color:#fff;font-weight:600}
.ri-arr{color:rgba(124,58,237,.5)}
.ri-via{color:var(--txt2)}
.ri-to{color:var(--t2);font-weight:600}
.ri-dur{margin-left:auto;color:var(--txt2);font-size:.78rem}
.tip-box{display:flex;gap:.75rem;align-items:flex-start;background:rgba(45,212,191,.05);border:1px solid rgba(45,212,191,.18);border-radius:var(--r);padding:1rem;margin-bottom:1.5rem}
.tip-box span{font-size:1.25rem;flex-shrink:0}
.tip-box b{color:var(--t2)}
.tip-box div{font-size:.875rem;color:var(--txt2);line-height:1.65}
.acc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.acc-card{background:rgba(26,16,48,.6);border:1px solid rgba(124,58,237,.12);border-radius:var(--r);padding:1.25rem;position:relative;transition:transform .3s,border-color .3s}
.acc-card:hover{transform:translateY(-3px);border-color:rgba(45,212,191,.2)}
.acc-card.top-pick{border-color:rgba(45,212,191,.25)}
.acc-card.ultra{border-color:rgba(249,115,22,.25)}
.ac-badge{position:absolute;top:-10px;left:1rem;background:linear-gradient(90deg,var(--t),var(--v));color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .75rem;border-radius:999px}
.ac-badge.gold{background:linear-gradient(90deg,var(--c),var(--c2))}
.acc-card h4{font-weight:700;color:#fff;margin-bottom:.5rem;font-size:.95rem}
.acc-card p{font-size:.83rem;color:var(--txt2);margin-bottom:.75rem}
.ac-price{font-size:.83rem;color:var(--t2);font-weight:700}

/* Sidebar */
.cg-side{display:flex;flex-direction:column;gap:1.5rem}
.sticky-sw{position:sticky;top:5.5rem}
.sw{background:linear-gradient(135deg,rgba(26,16,48,.8),rgba(17,10,31,.9));border:1px solid rgba(124,58,237,.15);border-radius:var(--r2);overflow:hidden}
.sw-head{background:linear-gradient(135deg,var(--v),var(--t));color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;padding:.9rem 1.25rem}
.sw-form{padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}
.fg{display:flex;flex-direction:column;gap:.4rem}
.fg label{font-size:.72rem;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em}
.fg input,.fg select,.fg textarea{background:rgba(10,6,20,.5);border:1px solid rgba(124,58,237,.2);border-radius:var(--r);padding:.65rem .9rem;color:var(--txt);font-size:.875rem;font-family:inherit;transition:border-color .3s,box-shadow .3s}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--t2);box-shadow:0 0 0 3px rgba(45,212,191,.08)}
.fg select{cursor:pointer}
.sw-tags{display:flex;flex-wrap:wrap;gap:.45rem;padding:1.25rem}
.stag{background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.18);border-radius:999px;padding:.28rem .75rem;font-size:.75rem;color:var(--txt2);transition:all .25s}
.stag:hover{background:rgba(45,212,191,.12);color:var(--t2);border-color:rgba(45,212,191,.3);transform:translateY(-1px)}
.sw-climate{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.45rem}
.cl-row{display:flex;align-items:center;gap:.6rem}
.cl-row > span:first-child{width:24px;font-size:.72rem;color:var(--txt2);flex-shrink:0}
.cl-bar{flex:1;height:4px;background:rgba(124,58,237,.1);border-radius:2px;overflow:hidden}
.cl-bar div{height:100%;background:linear-gradient(90deg,var(--t2),var(--v2));border-radius:2px}
.cl-row > span:last-child{font-size:.72rem;width:20px;text-align:center}

/* ── Resorts Scroll ── */
.resorts-section{background:var(--dark)}
.resorts-scroll{overflow-x:auto;padding:1.5rem 0 2rem;scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.4) transparent;cursor:grab;-webkit-overflow-scrolling:touch}
.resorts-scroll:active{cursor:grabbing}
.resorts-scroll::-webkit-scrollbar{height:3px}
.resorts-scroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--v),var(--t));border-radius:2px}
.resorts-track{display:flex;gap:1.5rem;padding:0 max(1.5rem,(100vw - 1200px) / 2);width:max-content}
.resort-card{width:300px;flex-shrink:0;border-radius:var(--r2);overflow:hidden;position:relative;transition:box-shadow .4s ease;will-change:transform}
.resort-card:hover{box-shadow:0 24px 70px rgba(124,58,237,.35)}
.rc-img{height:200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.ri-1{background:linear-gradient(135deg,#0d9488,#7c3aed)}
.ri-2{background:linear-gradient(135deg,#0369a1,#0d9488)}
.ri-3{background:linear-gradient(135deg,#7c3aed,#f97316)}
.ri-4{background:linear-gradient(135deg,#1e1b4b,#7c3aed)}
.ri-5{background:linear-gradient(135deg,#0d9488,#065f46)}
.ri-6{background:linear-gradient(135deg,#f97316,#dc2626)}
.rc-emoji{font-size:4.5rem;filter:drop-shadow(0 4px 20px rgba(0,0,0,.5));transition:transform .4s}
.resort-card:hover .rc-emoji{transform:scale(1.15)}
.rc-badge{position:absolute;top:.75rem;left:.75rem;background:linear-gradient(90deg,var(--v),var(--t));color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px}
.rc-stars{position:absolute;top:.75rem;right:.75rem;color:gold;font-size:.8rem;letter-spacing:.05em;text-shadow:0 0 8px rgba(255,200,0,.4)}
.rc-body{padding:1.25rem}
.rc-body h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.25rem}
.rc-loc{font-size:.78rem;color:var(--t2);margin-bottom:.75rem}
.rc-body p{font-size:.83rem;color:var(--txt2);margin-bottom:1rem;line-height:1.65}
.rc-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.rc-tags span{background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.18);border-radius:999px;font-size:.68rem;padding:.2rem .6rem;color:var(--txt2)}
.rc-price{display:flex;align-items:baseline;gap:.4rem}
.rc-price span{font-size:.75rem;color:var(--txt2)}
.rc-price b{font-size:1rem;font-weight:800;color:var(--t2)}
.scroll-hint{text-align:center;margin-top:.5rem}
.scroll-hint span{font-size:.75rem;color:var(--txt2);letter-spacing:.1em;opacity:.6}

/* ── Packages ── */
.packages-section{background:linear-gradient(180deg,var(--d2),var(--dark))}
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:start}
.pkg-card{background:linear-gradient(135deg,rgba(26,16,48,.9),rgba(17,10,31,.9));border:1px solid rgba(124,58,237,.12);border-radius:var(--r2);overflow:hidden;transition:transform .4s ease,box-shadow .4s ease;position:relative}
.pkg-card:hover{transform:translateY(-8px);box-shadow:var(--sh)}
.pkg-card.featured{border-color:rgba(45,212,191,.35);transform:scale(1.03)}
.pkg-card.featured:hover{transform:scale(1.03) translateY(-8px);box-shadow:var(--sht)}
.pkg-featured-label{background:linear-gradient(90deg,var(--t),var(--v));color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;text-align:center;padding:.4rem;position:absolute;top:0;left:0;right:0;z-index:1}
.pkg-top{padding:2rem 1.5rem 1.25rem;text-align:center;position:relative}
.pkg-top.romance{background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(249,115,22,.1))}
.pkg-top.luxury{background:linear-gradient(135deg,rgba(13,148,136,.25),rgba(124,58,237,.2));padding-top:2.75rem}
.pkg-top.family{background:linear-gradient(135deg,rgba(13,148,136,.18),rgba(45,212,191,.1))}
.pkg-top.budget{background:linear-gradient(135deg,rgba(249,115,22,.15),rgba(234,179,8,.1))}
.pkg-ico{font-size:2.5rem;display:block;margin-bottom:.75rem}
.pkg-top h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:800;color:#fff;margin-bottom:.25rem}
.pkg-top p{font-size:.78rem;color:var(--txt2)}
.pkg-body{padding:1.5rem}
.pkg-price{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid rgba(124,58,237,.12)}
.pkg-price span{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;background:linear-gradient(90deg,var(--t2),var(--v2));-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.pkg-price small{display:block;font-size:.72rem;color:var(--txt2)}
.pkg-body ul{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.45rem}
.pkg-body li{font-size:.83rem;color:var(--txt2)}

/* ── Activities ── */
.act-section{background:var(--dark)}
.act-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:280px 280px;
  gap:1rem;
  align-items:stretch;
}
.act-card{border-radius:var(--r2);overflow:hidden;position:relative;cursor:pointer;height:100%}
.act-card.large{grid-column:span 2}
.ac-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .6s ease;
}
.acb1{background-image:url('https://images.unsplash.com/photo-1544551763-46a013bb70d5?w=700&q=80');background-color:#0369a1}
.acb2{background-image:url('https://images.unsplash.com/photo-1682687982501-1e58ab814714?w=500&q=80');background-color:#0d9488}
.acb3{background-image:url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=500&q=80');background-color:#7c3aed}
.acb4{background-image:url('https://images.unsplash.com/photo-1518020382113-a7e8fc38eac9?w=500&q=80');background-color:#0f766e}
.acb5{background-image:url('https://images.unsplash.com/photo-1502680390469-be75c86b636f?w=500&q=80');background-color:#f97316}
.acb6{background-image:url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=700&q=80');background-color:#1e1b4b}
.acb7{background-image:url('https://images.unsplash.com/photo-1559827260-dc66d52bef19?w=500&q=80');background-color:#0369a1}
.acb8{background-image:url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?w=500&q=80');background-color:#065f46}
.act-card:hover .ac-bg{transform:scale(1.08)}
.ac-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,6,20,.92) 0%,rgba(10,6,20,.35) 45%,rgba(10,6,20,.1) 100%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:1.5rem;
  transition:background .4s;
}
.act-card:hover .ac-overlay{background:linear-gradient(to top,rgba(124,58,237,.92) 0%,rgba(124,58,237,.35) 50%,rgba(124,58,237,.05) 100%)}
.ac-badge-icon{
  position:absolute;top:1rem;left:1rem;
  width:40px;height:40px;
  background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  transition:transform .3s,background .3s;
}
.act-card:hover .ac-badge-icon{transform:scale(1.15);background:rgba(124,58,237,.5)}
.ac-overlay h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.4rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.ac-overlay p{font-size:.8rem;color:rgba(255,255,255,.85);line-height:1.55;max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .4s;opacity:0}
.act-card:hover .ac-overlay p{max-height:80px;opacity:1}

/* ── Timeline ── */
.timeline-section{background:var(--d2)}
.timeline{display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto;position:relative}
.tl-item{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;position:relative}
.tl-step{display:flex;flex-direction:column;align-items:center;padding-top:.5rem}
.tl-num{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--v),var(--t));display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1rem;font-weight:900;color:#fff;flex-shrink:0;box-shadow:0 0 20px rgba(124,58,237,.4);z-index:1}
.tl-connector{flex:1;width:2px;background:linear-gradient(180deg,rgba(124,58,237,.4),rgba(13,148,136,.2));margin:8px auto 0;min-height:60px}
.tl-item:last-child .tl-connector{display:none}
.tl-card{border-radius:var(--r2);padding:1.75rem;margin-bottom:1.5rem;transition:transform .4s ease,box-shadow .4s ease}
.tl-card:hover{transform:translateX(6px);box-shadow:var(--sh)}
.tl-icon{font-size:1.8rem;margin-bottom:.75rem}
.tl-card h3{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:.6rem}
.tl-card p{font-size:.875rem;color:var(--txt2);line-height:1.7}
.tl-tag{display:inline-block;margin-top:.85rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--t2);background:rgba(45,212,191,.08);border:1px solid rgba(45,212,191,.2);border-radius:999px;padding:.2rem .75rem}

/* ── Guide ── */
.guide-section{background:var(--dark)}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.guide-card{border-radius:var(--r2);padding:2rem;position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}
.guide-card:hover{transform:translateY(-6px);box-shadow:var(--sht)}
.gn{position:absolute;top:.5rem;right:1rem;font-family:'Playfair Display',serif;font-size:4rem;font-weight:900;color:rgba(124,58,237,.06);line-height:1;pointer-events:none}
.guide-card h3{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.75rem;padding-right:2rem}
.guide-card p{font-size:.85rem;color:var(--txt2);margin-bottom:1rem;line-height:1.7}
.guide-card ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem}
.guide-card li{font-size:.82rem;color:var(--txt2);padding-left:1.2rem;position:relative}
.guide-card li::before{content:'→';position:absolute;left:0;color:var(--t2);font-size:.72rem;top:.1rem}
.gnote{margin-top:1rem;padding:.75rem;background:rgba(45,212,191,.05);border:1px solid rgba(45,212,191,.15);border-radius:var(--r);font-size:.78rem;color:var(--txt2)}
.gnote b{color:var(--t2)}

/* ── Reviews ── */
.reviews-section{background:var(--d2)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.review-card{border-radius:var(--r2);padding:2rem;position:relative;transition:transform .4s ease,box-shadow .4s ease}
.review-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.review-card::before{content:'"';position:absolute;top:.25rem;left:1.5rem;font-family:'Playfair Display',serif;font-size:6rem;color:rgba(124,58,237,.12);line-height:1;pointer-events:none}
.rv-stars{color:gold;font-size:1rem;letter-spacing:.1em;margin-bottom:1rem;text-shadow:0 0 10px rgba(255,200,0,.3)}
.review-card blockquote{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:var(--txt);line-height:1.8;margin-bottom:1.5rem;position:relative;z-index:1}
.rv-author{display:flex;align-items:center;gap:.75rem}
.rv-av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--v),var(--t));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 0 16px rgba(124,58,237,.3)}
.rv-author b{display:block;font-weight:700;font-size:.9rem;color:#fff}
.rv-author span{font-size:.78rem;color:var(--txt2)}

/* ── FAQ ── */
.faq-section{background:var(--dark)}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:linear-gradient(135deg,rgba(26,16,48,.8),rgba(17,10,31,.8));border:1px solid rgba(124,58,237,.12);border-radius:var(--r);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.faq-item.open{border-color:rgba(45,212,191,.3);box-shadow:0 4px 20px rgba(45,212,191,.08)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;text-align:left;color:var(--txt);font-weight:600;font-size:.9rem;transition:color .3s}
.faq-q:hover{color:var(--t2)}
.faq-q svg{width:20px;height:20px;flex-shrink:0;transition:transform .35s;color:var(--txt2)}
.faq-item.open .faq-q svg{transform:rotate(180deg)}
.faq-item.open .faq-q{color:var(--t2)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .42s ease}
.faq-a p{padding:0 1.5rem 1.25rem;font-size:.875rem;color:var(--txt2);line-height:1.75}

/* ── Contact ── */
.contact-section{background:var(--d2);position:relative;overflow:hidden}
.contact-section::before{content:'';position:absolute;top:-250px;right:-250px;width:700px;height:700px;background:radial-gradient(circle,rgba(124,58,237,.1),transparent 70%);border-radius:50%;pointer-events:none}
.contact-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.ct-info p{color:var(--txt2);line-height:1.8;margin-bottom:2rem;font-size:.95rem}
.ct-details{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.ct-item{display:flex;align-items:center;gap:1rem}
.ct-ico{width:44px;height:44px;background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.2);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s,box-shadow .3s}
.ct-item:hover .ct-ico{background:rgba(124,58,237,.2);box-shadow:0 0 16px rgba(124,58,237,.2)}
.ct-ico svg{width:18px;height:18px;color:var(--t2)}
.ct-item > div span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--txt2);display:block}
.ct-item a{font-weight:600;color:#fff;font-size:.95rem;transition:color .3s}
.ct-item a:hover{color:var(--t2)}
.trust-badges{display:flex;flex-direction:column;gap:.75rem}
.trust-badge{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:rgba(124,58,237,.06);border:1px solid rgba(124,58,237,.12);border-radius:var(--r);transition:border-color .3s}
.trust-badge:hover{border-color:rgba(45,212,191,.2)}
.trust-badge span{font-size:1.2rem}
.trust-badge b{display:block;font-size:.85rem;color:#fff;font-weight:700}
.trust-badge small{font-size:.72rem;color:var(--txt2)}
.ct-form{border-radius:var(--r2);padding:2.5rem}
.ct-form h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:1.5rem}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-note{font-size:.75rem;color:var(--txt2);text-align:center;margin-top:1rem;line-height:1.5}

/* ── Footer ── */
.footer{background:var(--d2);border-top:1px solid rgba(124,58,237,.12)}
.footer-top{padding:4rem 0 3rem}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.ft-brand p{font-size:.85rem;color:var(--txt2);line-height:1.75;margin:1rem 0 1.5rem}
.ft-social{display:flex;gap:.75rem}
.ft-social a{width:38px;height:38px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.18);border-radius:var(--r);display:flex;align-items:center;justify-content:center;transition:all .3s}
.ft-social a:hover{background:rgba(124,58,237,.2);border-color:var(--v2);transform:translateY(-2px);box-shadow:0 4px 16px rgba(124,58,237,.2)}
.ft-social svg{width:16px;height:16px;color:var(--txt2)}
.ft-nav h4,.ft-contact h4{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--v3);margin-bottom:1.25rem}
.ft-nav ul,.ft-contact ul{display:flex;flex-direction:column;gap:.6rem}
.ft-nav li a{font-size:.85rem;color:var(--txt2);transition:color .3s,transform .3s;display:inline-block}
.ft-nav li a:hover{color:var(--t2);transform:translateX(4px)}
.ft-contact li{display:flex;align-items:center;gap:.6rem}
.ft-contact svg{color:var(--t2)}
.ft-contact a{font-size:.85rem;color:var(--txt2);transition:color .3s}
.ft-contact a:hover{color:var(--t2)}
.footer-bot{padding:1.5rem 0;border-top:1px solid rgba(124,58,237,.08)}
.footer-bot .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.footer-bot p{font-size:.78rem;color:var(--txt2)}

/* ── Back to Top ── */
.btt{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:linear-gradient(135deg,var(--v),var(--t));border-radius:var(--r);display:flex;align-items:center;justify-content:center;z-index:900;opacity:0;transform:translateY(20px) scale(.9);transition:opacity .35s,transform .35s,box-shadow .35s}
.btt.show{opacity:1;transform:none}
.btt:hover{box-shadow:var(--sh);transform:translateY(-2px) !important}
.btt svg{width:20px;height:20px;color:#fff}

/* ── Toast ── */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);background:linear-gradient(135deg,var(--v),var(--t));color:#fff;padding:.85rem 1.75rem;border-radius:999px;font-size:.875rem;font-weight:600;z-index:2000;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap;box-shadow:var(--sh)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Responsive ── */
@media(max-width:1100px){
  .pkg-grid{grid-template-columns:repeat(2,1fr)}
  .ft-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .bento-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .bento-card.bc-large,.bento-card.bc-wide{grid-column:span 2}
}
@media(max-width:900px){
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .cg-wrap{grid-template-columns:1fr}
  .cg-side{display:none}
  .guide-grid{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:1fr}
  .contact-wrap{grid-template-columns:1fr}
  .act-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:220px 220px 220px}
  .tl-item{grid-template-columns:60px 1fr}
  .timeline{max-width:100%}
}
@media(max-width:700px){
  .nav-links{display:none;position:fixed;inset:0;top:60px;background:rgba(10,6,20,.97);backdrop-filter:blur(24px);flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:999}
  .nav-links.open{display:flex}
  .burger{display:flex}
  .why-grid{grid-template-columns:1fr}
  .pkg-grid{grid-template-columns:1fr}
  .pkg-card.featured{transform:none}
  .guide-grid{grid-template-columns:1fr}
  .season-row{grid-template-columns:1fr}
  .acc-grid{grid-template-columns:1fr}
  .ic-grid{grid-template-columns:1fr}
  .fg-row{grid-template-columns:1fr}
  .bento-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .bento-card.bc-large,.bento-card.bc-wide{grid-column:span 1}
  .act-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .act-card.large{grid-column:span 2}
  .ft-grid{grid-template-columns:1fr}
  .footer-bot .container{flex-direction:column;text-align:center}
  .hstat{min-width:110px;padding:1rem 1.25rem}
  .resorts-track{padding:0 1.5rem}
}
@media(max-width:480px){
  .hero-stats{gap:.6rem}
  .hstat{padding:.85rem 1rem}
  .act-grid{grid-template-columns:1fr;grid-template-rows:repeat(8,180px)}
  .act-card.large{grid-column:span 1}
  .tl-item{grid-template-columns:50px 1fr;gap:1rem}
}
