:root,[data-theme="light"]{
  --ink:#12211C; --pine:#1F4B3F; --pine-light:#2F6B54; --pine-pale:#DCE8E0;
  --snow:#F7F5EE; --stone:#EAE5D8; --amber:#E1A208; --amber-deep:#B9800A;
  --sky:#3E7C99; --sky-deep:#2C5C72; --whatsapp:#22C35E; --whatsapp-deep:#1AA34E;
  --text-muted:#5B665F; --text-soft:#7C8880;
  --easy:#4C9A6A; --moderate:#D9A441; --hard:#D9702E; --extreme:#C0392B;
  --card-bg:#fff; --body-bg:var(--snow); --border:rgba(18,33,28,0.1);
  --radius:14px; --shadow:0 10px 30px -12px rgba(18,33,28,0.35); --shadow-sm:0 4px 14px -6px rgba(18,33,28,0.22);
  --ease:cubic-bezier(.22,1,.36,1); --ease-soft:cubic-bezier(.4,0,.2,1);
}
[data-theme="dark"]{
  --ink:#F2F4F1; --pine:#3E8A6E; --pine-light:#4FA688; --pine-pale:#173028;
  --snow:#0F1815; --stone:#1D2A25; --amber:#F0B429; --amber-deep:#D69A1F;
  --sky:#5FA6C4; --sky-deep:#3F84A3; --whatsapp:#22C35E; --whatsapp-deep:#1AA34E;
  --text-muted:#A3AFA8; --text-soft:#7C8880;
  --card-bg:#16211D; --body-bg:#0B120F; --border:rgba(255,255,255,0.08);
  --shadow:0 10px 30px -12px rgba(0,0,0,0.6); --shadow-sm:0 4px 14px -6px rgba(0,0,0,0.5);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Work Sans',sans-serif;background:var(--body-bg);color:var(--ink);padding-bottom:64px;transition:background .25s var(--ease-soft),color .25s var(--ease-soft);}
h1,h2,h3,.display{font-family:'Bebas Neue',sans-serif;letter-spacing:.02em;font-weight:400;line-height:.95;color:var(--ink);}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}
.wrap{max-width:1220px;margin:0 auto;padding:0 24px;}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sky-deep);font-weight:600;}

header.site{position:sticky;top:0;z-index:60;background:color-mix(in srgb, var(--body-bg) 92%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);transition:box-shadow .3s var(--ease-soft),background .25s var(--ease-soft);}
header.site.scrolled{box-shadow:0 8px 24px -14px rgba(18,33,28,0.35);}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:74px;}
.logo{display:flex;align-items:center;gap:10px;transition:opacity .2s var(--ease-soft);}
.logo:hover{opacity:.85;}
.logo .mark{width:38px;height:38px;border-radius:9px;background:linear-gradient(155deg,var(--pine),var(--pine-light));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Bebas Neue',sans-serif;font-size:20px;transition:transform .3s var(--ease);}
.logo:hover .mark{transform:rotate(-6deg) scale(1.06);}
.logo-img{width:38px;height:38px;border-radius:9px;object-fit:cover;}
.logo .word{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.03em;}
nav.desktop-nav{display:flex;gap:32px;font-weight:600;font-size:15px;}
nav.desktop-nav a{position:relative;padding:4px 0;}
nav.desktop-nav a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--pine);transition:width .25s var(--ease-soft);}
nav.desktop-nav a:hover{color:var(--pine);}
nav.desktop-nav a:hover::after{width:100%;}
.nav-actions{display:flex;gap:10px;align-items:center;}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;border:none;font-weight:700;font-size:14px;transition:transform .18s var(--ease),box-shadow .18s var(--ease-soft),background .2s var(--ease-soft);}
.btn:active{transform:scale(.95);}
.btn-primary{background:linear-gradient(135deg,var(--pine),var(--pine-light));color:#fff;}
.btn-primary:hover{box-shadow:0 10px 22px -8px rgba(31,75,63,.55);transform:translateY(-1px);}
.btn-whatsapp{background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-deep));color:#fff;}
.btn-whatsapp:hover{background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-deep));box-shadow:0 10px 22px -8px rgba(34,195,94,.5);transform:translateY(-1px);}
.btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--ink);}
.btn-ghost:hover{border-color:var(--pine);color:var(--pine);}
.btn-outline-light{background:rgba(255,255,255,0.1);border:1.5px solid rgba(255,255,255,0.7);color:#fff;backdrop-filter:blur(4px);}
.btn-outline-light:hover{background:rgba(255,255,255,0.18);transform:translateY(-1px);}
.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:rippleAnim .6s var(--ease-soft);background:rgba(255,255,255,.5);pointer-events:none;}
@keyframes rippleAnim{to{transform:scale(3);opacity:0;}}

.hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;color:#fff;}
.hero .bg{position:absolute;inset:0;background:#1c2e26;}
.hero .bg img{width:100%;height:100%;object-fit:cover;animation:heroZoom 16s var(--ease-soft) infinite alternate;}
@keyframes heroZoom{from{transform:scale(1);}to{transform:scale(1.08);}}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,33,28,.25) 0%,rgba(18,33,28,.35) 45%,rgba(12,22,18,.92) 100%);}
.hero-content{position:relative;z-index:2;width:100%;padding-bottom:100px;padding-top:110px;}
.hero .eyebrow-light{color:var(--amber);font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:10px;opacity:0;animation:fadeInUp .7s var(--ease) .1s forwards;}
.hero .eyebrow-light .line{width:34px;height:1.5px;background:var(--amber);display:inline-block;}
.hero h1{font-size:clamp(44px,7vw,88px);margin:14px 0 10px;color:#fff;opacity:0;animation:fadeInUp .8s var(--ease) .22s forwards;}
.hero p.sub{font-size:17px;max-width:520px;color:rgba(255,255,255,.85);margin:0 0 26px;font-weight:500;opacity:0;animation:fadeInUp .8s var(--ease) .34s forwards;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fadeInUp .8s var(--ease) .46s forwards;}

.search-panel{position:relative;z-index:5;max-width:1000px;margin:-56px auto 0;background:var(--card-bg);border-radius:18px;box-shadow:var(--shadow);padding:20px;display:grid;grid-template-columns:2fr auto;gap:14px;align-items:end;border:1px solid var(--border);opacity:0;animation:fadeInUp .7s var(--ease) .55s forwards;}
.search-field label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;}
.search-field .input-shell{display:flex;align-items:center;gap:10px;border:1.5px solid var(--stone);border-radius:10px;padding:12px 14px;background:var(--body-bg);transition:border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft);}
.search-field .input-shell:focus-within{border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-pale);}
.search-field .input-shell svg{flex-shrink:0;color:var(--pine);}
.search-field input{border:none;background:transparent;outline:none;font-size:15px;width:100%;color:var(--ink);}
.search-panel .btn{height:48px;padding:0 26px;justify-content:center;}
.loc-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.loc-chips span{background:var(--pine-pale);color:var(--pine);font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:6px;display:flex;align-items:center;gap:5px;animation:scaleIn .25s var(--ease);}
.loc-chips span button{background:none;border:none;color:inherit;font-weight:700;cursor:pointer;transition:transform .15s var(--ease);}
.loc-chips span button:hover{transform:rotate(90deg);}
@media(max-width:760px){.search-panel{grid-template-columns:1fr;margin:-40px 16px 0;padding:18px;}}

.section{padding:80px 0 30px;} .section.tight{padding-top:50px;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:8px;flex-wrap:wrap;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.section-head.in-view{opacity:1;transform:translateY(0);}
.section-head h2{font-size:clamp(36px,5vw,52px);}
.section-head p{color:var(--text-muted);max-width:460px;font-size:15px;margin:6px 0 0;}

.filter-bar{position:sticky;top:74px;z-index:40;background:var(--body-bg);padding:14px 0;border-bottom:1px solid var(--border);margin-bottom:34px;}
.filter-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
.filter-scroll::-webkit-scrollbar{display:none;}
.pill{flex-shrink:0;padding:9px 18px;border-radius:999px;font-size:13.5px;font-weight:700;border:1.5px solid var(--border);background:var(--card-bg);color:var(--ink);transition:all .25s var(--ease-soft);white-space:nowrap;}
.pill:hover{transform:translateY(-1px);}
.pill.active{background:var(--pine);border-color:var(--pine);color:#fff;transform:scale(1.03);}
.pill.tag-activities{border-color:var(--amber-deep);color:var(--amber-deep);}
.pill.tag-activities.active{background:var(--amber-deep);border-color:var(--amber-deep);color:#fff;}

.pkg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:24px;}
.pkg-card{background:var(--card-bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease-soft);opacity:0;transform:translateY(22px);}
.pkg-card.in-view{opacity:1;transform:translateY(0);}
.pkg-card.filtering-out{opacity:0!important;transform:scale(.95)!important;pointer-events:none;}
.pkg-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.pkg-media{position:relative;height:190px;overflow:hidden;}
.pkg-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.pkg-card:hover .pkg-media img{transform:scale(1.07);}
.pkg-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,33,28,0) 55%,rgba(18,33,28,.55) 100%);}
.badge-diff{position:absolute;top:12px;left:12px;z-index:2;padding:5px 12px 5px 10px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;text-transform:uppercase;color:#fff;transition:transform .3s var(--ease);}
.pkg-card:hover .badge-diff{transform:translateY(-2px);}
.badge-diff.easy{background:var(--easy);} .badge-diff.moderate{background:var(--moderate);color:#3a2c05;}
.badge-diff.hard{background:var(--hard);} .badge-diff.extreme{background:var(--extreme);}
.badge-days{position:absolute;top:12px;right:12px;z-index:2;background:rgba(18,33,28,.65);color:#fff;padding:5px 11px;border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;}
.pkg-loc{position:absolute;bottom:10px;left:14px;z-index:2;color:#fff;font-size:12.5px;font-weight:600;}
.pkg-alt{position:absolute;bottom:10px;right:14px;z-index:2;color:var(--amber);font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;}
.pkg-body{padding:18px;display:flex;flex-direction:column;flex:1;}
.pkg-body h3{font-size:24px;margin:0 0 6px;}
.pkg-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.pkg-tags span{font-size:10.5px;font-weight:700;text-transform:uppercase;padding:3px 9px;border-radius:5px;background:var(--pine-pale);color:var(--pine);transition:background .2s var(--ease-soft);}
.pkg-card:hover .pkg-tags span{background:var(--pine);color:#fff;}
.pkg-price{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px dashed var(--stone);}
.pkg-price .from{font-size:11px;color:var(--text-soft);font-weight:600;text-transform:uppercase;}
.pkg-price .amt{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700;color:var(--ink);}
.pkg-price .book-btn{background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-deep));color:#fff;border:none;border-radius:10px;padding:11px 15px;font-weight:700;font-size:13px;display:flex;align-items:center;gap:7px;flex-shrink:0;transition:transform .2s var(--ease),box-shadow .2s var(--ease-soft);position:relative;overflow:hidden;}
.pkg-price .book-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(34,195,94,.5);}

.activities-section{background:var(--ink);padding:80px 0;margin-top:50px;color:var(--body-bg);}
[data-theme="dark"] .activities-section{background:#080D0B;}
.activities-section .section-head h2,.activities-section .section-head p{color:inherit;opacity:.95;}
.act-scroll{display:flex;gap:20px;overflow-x:auto;padding:10px 0 20px;scrollbar-width:none;}
.act-scroll::-webkit-scrollbar{display:none;}
.act-card{flex:0 0 250px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);overflow:hidden;transition:transform .3s var(--ease),border-color .3s var(--ease-soft);opacity:0;transform:translateY(18px) scale(.97);}
.act-card.in-view{opacity:1;transform:translateY(0) scale(1);}
.act-card:hover{transform:translateY(-5px);border-color:var(--amber);}
.act-media{height:140px;overflow:hidden;} .act-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.act-card:hover .act-media img{transform:scale(1.08);}
.act-body{padding:14px;}
.act-body h4{font-family:'Bebas Neue',sans-serif;font-size:21px;margin:0 0 4px;color:#fff;}
.act-body p{font-size:12px;color:rgba(255,255,255,.55);margin:0 0 10px;}
.act-price-row{display:flex;justify-content:space-between;align-items:center;}
.act-price-row .amt{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--amber);font-size:15px;}
.act-price-row button{background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-deep));border:none;color:#fff;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;transition:transform .2s var(--ease);position:relative;overflow:hidden;}
.act-price-row button:hover{transform:translateY(-2px);}

/* modal */
.modal-overlay{position:fixed;inset:0;background:rgba(10,15,13,.6);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:200;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease-soft),visibility 0s linear .25s;}
.modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s var(--ease-soft);}
.modal{background:var(--card-bg);color:var(--ink);width:100%;max-width:460px;border-radius:18px;overflow:hidden;max-height:92vh;overflow-y:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);transform:translateY(18px) scale(.96);opacity:0;transition:transform .32s var(--ease),opacity .32s var(--ease);}
.modal-overlay.open .modal{transform:translateY(0) scale(1);opacity:1;}
.modal-head{background:linear-gradient(135deg,var(--pine),var(--pine-light));color:#fff;padding:22px 24px;position:relative;}
.modal-head .close{position:absolute;top:14px;right:16px;background:rgba(255,255,255,.15);border:none;color:#fff;width:30px;height:30px;border-radius:50%;font-size:16px;transition:transform .2s var(--ease),background .2s;}
.modal-head .close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg);}
.modal-head .eyebrow{color:var(--amber);}
.modal-head h3{font-size:26px;margin:6px 0 2px;color:#fff;}
.modal-head .loc{font-size:12.5px;color:rgba(255,255,255,.75);}
.modal-body{padding:22px 24px 26px;}
.modal-variant{display:flex;gap:8px;margin-bottom:18px;}
.modal-variant button{flex:1;padding:10px;border-radius:9px;border:1.5px solid var(--stone);background:var(--body-bg);font-weight:700;font-size:13px;color:var(--text-muted);transition:all .22s var(--ease-soft);}
.modal-variant button.active{background:var(--sky);border-color:var(--sky);color:#fff;transform:scale(1.02);}
.pax-control{display:flex;align-items:center;justify-content:space-between;background:var(--body-bg);border:1.5px solid var(--stone);border-radius:10px;padding:10px 14px;margin-bottom:6px;}
.pax-control .stepper{display:flex;align-items:center;gap:14px;}
.pax-control .stepper button{width:30px;height:30px;border-radius:8px;border:1.5px solid var(--stone);background:var(--card-bg);font-size:16px;font-weight:700;color:var(--pine);transition:transform .15s var(--ease),background .2s;}
.pax-control .stepper button:not(:disabled):hover{background:var(--pine-pale);transform:scale(1.08);}
.pax-control .stepper button:disabled{opacity:.35;}
.pax-control .stepper .val{display:inline-block;transition:transform .18s var(--ease);}
.pax-control .stepper .val.bump{animation:bump .28s var(--ease);}
@keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}
.min-pax-note{font-size:11px;color:var(--text-soft);margin:0 0 16px;}
.price-summary{background:var(--pine-pale);border-radius:12px;padding:16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;transition:background .2s;}
.price-summary .lbl{font-size:11px;text-transform:uppercase;font-weight:700;color:var(--pine);}
.price-summary .val{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:700;color:var(--ink);display:inline-block;transition:transform .18s var(--ease);}
.price-summary .val.bump{animation:bump .3s var(--ease);}
.price-summary .total .val{font-size:15px;}
.incl-list{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.incl-list li{font-size:12.5px;color:var(--text-muted);}
.incl-list li::before{content:'✓ ';color:var(--pine);font-weight:700;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;}
.form-grid .full{grid-column:1/-1;}
.form-field label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:5px;}
.form-field input{width:100%;border:1.5px solid var(--stone);border-radius:9px;padding:11px 12px;font-size:14px;background:var(--body-bg);color:var(--ink);transition:border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft);}
.form-field input:focus{outline:none;border-color:var(--pine);box-shadow:0 0 0 3px var(--pine-pale);}
.modal-submit{width:100%;margin-top:14px;background:linear-gradient(135deg,var(--whatsapp),var(--whatsapp-deep));color:#fff;border:none;border-radius:10px;padding:15px;font-weight:700;font-size:15px;transition:transform .18s var(--ease),box-shadow .2s var(--ease-soft);position:relative;overflow:hidden;}
.modal-submit:hover{transform:translateY(-2px);box-shadow:0 10px 22px -8px rgba(34,195,94,.5);}
.form-note{font-size:11px;color:var(--text-soft);text-align:center;margin-top:10px;}

/* video modal */
.video-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:250;padding:18px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s var(--ease-soft),visibility 0s linear .25s;}
.video-modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s var(--ease-soft);}
.video-modal-box{position:relative;width:100%;max-width:840px;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;transform:scale(.94);transition:transform .3s var(--ease);}
.video-modal-overlay.open .video-modal-box{transform:scale(1);}
.video-modal-box iframe{width:100%;height:100%;border:0;}
.video-modal-close{position:absolute;top:-42px;right:0;background:rgba(255,255,255,.15);border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:18px;transition:transform .2s var(--ease);}
.video-modal-close:hover{transform:rotate(90deg);}

/* package detail page */
.pkg-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;}
.pkg-hero .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pkg-hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,33,28,.35),rgba(10,17,14,.92));}
.pkg-hero-content{position:relative;z-index:2;padding:110px 0 50px;width:100%;}
.back-btn{position:absolute;top:20px;left:24px;z-index:5;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.4);padding:9px 16px;border-radius:999px;font-weight:700;font-size:13px;backdrop-filter:blur(4px);transition:transform .2s var(--ease),background .2s;}
.back-btn:hover{background:rgba(255,255,255,.25);transform:translateX(-3px);}
.video-btn{position:absolute;top:20px;right:24px;z-index:5;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.4);padding:9px 16px;border-radius:999px;font-weight:700;font-size:13px;backdrop-filter:blur(4px);display:flex;gap:6px;align-items:center;transition:transform .2s var(--ease),background .2s;}
.video-btn:hover{background:rgba(255,255,255,.25);transform:scale(1.04);}
.pkg-hero-route{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.85);font-size:14px;font-weight:600;margin:12px 0 6px;flex-wrap:wrap;}
.pkg-hero-route .pt{background:rgba(255,255,255,.12);padding:4px 10px;border-radius:6px;}

.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:36px;align-items:start;}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr;}}
.card-box{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease);}
.card-box.in-view{opacity:1;transform:translateY(0);}
.card-box h3{font-size:26px;margin:0 0 16px;}
.itin-day{border-left:2px solid var(--pine-pale);padding:0 0 20px 20px;position:relative;margin-left:6px;}
.itin-day::before{content:'';position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--pine);transition:transform .2s var(--ease);}
.itin-day:hover::before{transform:scale(1.3);}
.itin-day .d-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--sky-deep);font-weight:700;text-transform:uppercase;}
.itin-day h4{margin:4px 0 6px;font-size:19px;font-family:'Work Sans',sans-serif;font-weight:700;}
.itin-day p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.6;}
.two-col-list{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.two-col-list h4{font-size:14px;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;}
.two-col-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13.5px;}
.two-col-list.incl ul li::before{content:'✓ ';color:var(--pine);font-weight:700;}
.two-col-list.excl ul li::before{content:'✕ ';color:var(--extreme);font-weight:700;}
.variant-card{border:1.5px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px;transition:border-color .25s var(--ease-soft),transform .25s var(--ease),box-shadow .25s var(--ease-soft);}
.variant-card:hover{border-color:var(--pine);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.variant-card .vtitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.variant-card .vtitle b{font-family:'Bebas Neue',sans-serif;font-size:20px;}
.variant-card .vtitle .price{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--pine);}
.variant-card ul{list-style:none;padding:0;margin:0 0 12px;font-size:12.5px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px;}
.variant-card ul li b{color:var(--ink);}
.pdf-link{display:inline-flex;gap:8px;align-items:center;background:var(--pine-pale);color:var(--pine);padding:10px 16px;border-radius:10px;font-weight:700;font-size:13px;transition:transform .2s var(--ease),background .2s;}
.pdf-link:hover{background:var(--pine);color:#fff;transform:translateY(-2px);}

/* activities listing page */
.act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}

footer{background:var(--ink);color:rgba(255,255,255,.7);padding:56px 0 100px;margin-top:60px;}
[data-theme="dark"] footer{background:#080D0B;}
footer .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px;}
footer h4{color:#fff;font-family:'Bebas Neue',sans-serif;font-size:19px;margin:0 0 12px;}
footer p{font-size:13px;line-height:1.7;max-width:320px;}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:13px;}
footer .bottom-line{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:12px;color:rgba(255,255,255,.4);text-align:center;}
@media(max-width:760px){footer .foot-grid{grid-template-columns:1fr;}}

.fab-stack{position:fixed;right:20px;bottom:88px;z-index:150;display:flex;flex-direction:column;gap:12px;}
.fab{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -6px rgba(18,33,28,.4);color:#fff;border:none;position:relative;transition:transform .25s var(--ease);opacity:0;transform:scale(.4);animation:fabIn .5s var(--ease) forwards;}
.fab-stack .fab:nth-child(1){animation-delay:.5s;}
.fab-stack .fab:nth-child(2){animation-delay:.65s;}
@keyframes fabIn{to{opacity:1;transform:scale(1);}}
.fab:hover{transform:scale(1.08);}
.fab.whatsapp{background:var(--whatsapp);}
.fab.whatsapp::before{content:'';position:absolute;inset:0;border-radius:50%;background:var(--whatsapp);opacity:.55;animation:pulseRing 2.4s var(--ease-soft) infinite;z-index:-1;}
.fab.call{background:var(--pine);}
@keyframes pulseRing{0%{transform:scale(1);opacity:.55;}100%{transform:scale(1.7);opacity:0;}}
@media(min-width:761px){.fab-stack{bottom:32px;}}

.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--card-bg);border-top:1px solid var(--border);display:none;justify-content:space-around;padding:8px 4px 10px;box-shadow:0 -6px 18px -10px rgba(18,33,28,.25);transition:transform .32s var(--ease);}
.mobile-nav.hide-nav{transform:translateY(100%);}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:700;color:var(--text-muted);flex:1;padding:4px;text-align:center;transition:color .2s var(--ease-soft),transform .2s var(--ease);}
.mobile-nav a.active-link{color:var(--pine);transform:translateY(-2px);}
@media(max-width:760px){.mobile-nav{display:flex;} nav.desktop-nav{display:none;} .nav-actions .btn-primary{display:none;} body{padding-bottom:0;}}

/* bill page */
.bill-box{max-width:720px;margin:40px auto;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:36px;}
.bill-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--pine);padding-bottom:20px;margin-bottom:20px;}
.bill-table{width:100%;border-collapse:collapse;margin:18px 0;}
.bill-table td,.bill-table th{padding:10px 6px;border-bottom:1px solid var(--border);font-size:14px;text-align:left;}
.bill-table th{color:var(--text-muted);font-size:11px;text-transform:uppercase;}
.bill-totals{margin-left:auto;max-width:280px;}
.bill-totals div{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;}
.bill-totals .grand{font-weight:800;font-size:19px;border-top:2px solid var(--pine);padding-top:10px;}
.status-chip{display:inline-block;padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;}
.status-new{background:#DCE8E0;color:#1F4B3F;} .status-confirmed{background:#D6E9F2;color:#2C5C72;}
.status-on_trip{background:#FCEAD1;color:#B9800A;} .status-finalized{background:#1F4B3F;color:#fff;}
.status-cancelled{background:#F4D6D2;color:#C0392B;}
.qr-box{text-align:center;margin-top:20px;padding:18px;border:1.5px dashed var(--stone);border-radius:12px;animation:fadeInUp .5s var(--ease);}
.bill-box{animation:fadeInUp .5s var(--ease);}
.status-chip{transition:transform .2s var(--ease);}
.status-chip:hover{transform:scale(1.05);}

@media(max-width:760px){.hero{min-height:520px;} .hero-content{padding-top:90px;padding-bottom:90px;} .pkg-grid{grid-template-columns:1fr;} .form-grid{grid-template-columns:1fr;} .two-col-list{grid-template-columns:1fr;}}

/* ===================== SHARED KEYFRAMES ===================== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes scaleIn{from{opacity:0;transform:scale(.85);}to{opacity:1;transform:scale(1);}}

/* Respect user preference for reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
  .pkg-card,.act-card,.card-box,.section-head{opacity:1 !important;transform:none !important;}
}
