:root{--ink:#0b0b0b;--paper:#f5f2ea;--yellow:#ffd400;--muted:#676767;--line:#dfd9cc;--shadow:0 20px 60px rgba(0,0,0,.12)}
    *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 34px));margin:auto}.btn{border:0;border-radius:999px;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:1000;transition:.18s ease}.btn:hover{transform:translateY(-1px)}.btn-yellow{background:var(--yellow);color:#111}.btn-dark{background:#111;color:#fff}.eyebrow{font-size:.72rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase;color:#6d5a00}
    .topbar{background:var(--yellow);padding:8px 14px;text-align:center;font-size:.66rem;font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.nav{position:sticky;top:0;z-index:50;background:rgba(8,8,8,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:#fff;font-size:1.22rem;font-weight:1000;letter-spacing:-.04em;line-height:.88}.brand span{display:block;color:var(--yellow);font-size:.56rem;letter-spacing:.24em;margin-top:5px}.nav-links{display:flex;gap:22px;color:#fff;font-size:.82rem;font-weight:900}.nav-links a{opacity:.82}.nav-links a:hover{opacity:1;color:var(--yellow)}.nav-actions{display:flex;align-items:center;gap:9px}.lang{background:#181818;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 12px;font-size:.72rem;font-weight:1000}.lang b{color:var(--yellow)}.hamb{display:none;background:none;border:0;color:#fff;font-size:1.45rem}.mobile-nav{display:none;background:#0b0b0b;color:#fff;padding:8px 17px 16px;position:sticky;top:76px;z-index:45}.mobile-nav.open{display:grid}.mobile-nav a{padding:13px 3px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:900}.mobile-nav a:last-child{color:var(--yellow);border:0}
    .crumbs{font-size:.74rem;color:#686868;padding:25px 0 17px}.crumbs a{text-decoration:underline;text-decoration-color:#bbb;text-underline-offset:3px}.product-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;padding-bottom:25px}.product-head h1{margin:7px 0 12px;font-size:clamp(2.55rem,5.2vw,4.8rem);line-height:.96;letter-spacing:-.055em}.product-sub{max-width:790px;margin:0;color:#4c4c4c;font-size:1.02rem;line-height:1.58}.head-price{text-align:right;min-width:220px}.head-price small{display:block;color:#777;font-size:.72rem;font-weight:850}.head-price strong{display:block;font-size:2rem;margin:5px 0 10px;letter-spacing:-.035em}.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid #dfd8ca;background:#fff;font-size:.72rem;font-weight:900}.pill.primary{background:#111;color:#fff;border-color:#111}.pill.primary::before{content:"✓";color:var(--yellow)}
    .gallery{display:grid;grid-template-columns:1.55fr .85fr;gap:10px;height:500px;border-radius:24px;overflow:hidden;background:#ddd;box-shadow:var(--shadow)}.gallery button{border:0;padding:0;position:relative;overflow:hidden;background:#222}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s ease}.gallery button:hover img{transform:scale(1.025)}.gallery-main img{object-position:center 43%}.gallery-side img{object-position:center}.gallery-overlay{position:absolute;inset:auto 14px 14px auto;background:rgba(0,0,0,.78);color:#fff;border-radius:999px;padding:10px 13px;font-size:.75rem;font-weight:1000;backdrop-filter:blur(8px)}.gallery-overlay b{color:var(--yellow)}
    .facts{margin:18px 0 34px;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.fact{padding:17px 18px;border-right:1px solid #ece7dd}.fact:last-child{border-right:0}.fact .ico{font-size:1.12rem}.fact small{display:block;color:#777;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin:6px 0 3px}.fact b{font-size:.86rem;line-height:1.28}
    .layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:42px;align-items:start}.content{min-width:0}.section{padding:32px 0;border-bottom:1px solid #ddd7cb}.section:first-child{padding-top:4px}.section h2{font-size:clamp(1.55rem,2.6vw,2.15rem);margin:0 0 15px;letter-spacing:-.035em}.section h3{font-size:1.02rem}.section p{color:#444;line-height:1.7;margin:0 0 13px}.lead{font-size:1.04rem}.highlight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.highlight{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px}.highlight .hi{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#111;color:var(--yellow);font-size:1.1rem;margin-bottom:12px}.highlight b{display:block;margin-bottom:6px}.highlight span{color:#666;font-size:.85rem;line-height:1.45}.explorer{background:var(--yellow);border:0;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.explorer h2{margin-bottom:8px}.explorer p{color:#292300;margin:0;max-width:670px}.explorer-mark{width:112px;height:112px;border:3px solid #111;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:.76rem;font-weight:1000;transform:rotate(-7deg)}
    .timeline{position:relative;margin-top:16px}.stop{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:0 0 21px;position:relative}.stop:not(:last-child)::before{content:"";position:absolute;left:21px;top:42px;bottom:-2px;width:2px;background:#ddd5c3}.stopnum{width:44px;height:44px;border-radius:50%;background:#111;color:var(--yellow);display:grid;place-items:center;font-weight:1000;z-index:1}.stop h3{margin:2px 0 6px;font-size:1rem}.stop p{margin:0;font-size:.88rem;line-height:1.52}.stop .time{display:inline-block;margin-top:7px;background:#f0ece2;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:900;color:#666}
    .inc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px}.inc h3{margin:0 0 13px;font-size:1.02rem}.inc ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.inc li{position:relative;padding-left:25px;color:#444;font-size:.87rem;line-height:1.4}.inc.no li::before{content:"×";position:absolute;left:2px;color:#9d3327;font-weight:1000}
    .meeting{display:grid;grid-template-columns:1fr .85fr;gap:14px}.meeting-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.meeting-card strong{display:block;font-size:1.02rem;margin:4px 0 7px}.meeting-card p,.info-card p{font-size:.86rem;line-height:1.5;margin:0}.mapbox{margin-top:12px;background:#111;color:#fff;border-radius:14px;padding:13px 14px;font-size:.78rem;font-weight:850}.faq details{background:#fff;border:1px solid var(--line);border-radius:15px;margin:9px 0;overflow:hidden}.faq summary{padding:15px 17px;font-weight:950;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";float:right;font-size:1.25rem}.faq details[open] summary::after{content:"–"}.faq details p{padding:0 17px 16px;margin:0;font-size:.86rem}
    aside{position:sticky;top:98px}.bookbox{background:#fff;border:1px solid #ddd6c8;border-radius:23px;padding:22px;box-shadow:0 18px 55px rgba(0,0,0,.11)}.bookbox .from{font-size:.7rem;color:#777;font-weight:900}.bookbox .big{font-size:2.05rem;font-weight:1000;letter-spacing:-.045em;margin:3px 0}.bookbox .per{font-size:.73rem;color:#777}.bookbox .divider{height:1px;background:#ece6da;margin:17px 0}.bookfact{display:flex;justify-content:space-between;gap:15px;padding:7px 0;font-size:.81rem}.bookfact span{color:#666}.bookfact b{text-align:right}.bookbox .btn{width:100%;margin-top:15px;min-height:49px}.secure{margin-top:12px;background:#f7f3e8;border-radius:13px;padding:11px;font-size:.7rem;line-height:1.45;color:#5b5547;font-weight:750}.secure b{color:#111}.mini-benefits{display:grid;gap:8px;margin-top:14px}.mini-benefits span{font-size:.74rem;font-weight:850;display:flex;gap:8px}.mini-benefits span::before{content:"✓";color:#0b7640}
    .seo-block{background:#111;color:#fff;border-radius:24px;padding:28px;margin-top:31px}.seo-block h2{color:#fff}.seo-block p{color:#d5d5d5}.seo-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.seo-links a{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 11px;font-size:.73rem;font-weight:900}.seo-links a:hover{border-color:var(--yellow);color:var(--yellow)}
    .related{padding:55px 0 75px}.related h2{font-size:2rem;letter-spacing:-.035em}.relgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;min-height:165px;display:flex;flex-direction:column;justify-content:space-between}.rel small{color:#777;font-size:.67rem;font-weight:900;text-transform:uppercase}.rel b{font-size:1.05rem;line-height:1.2}.rel span{color:#6d5a00;font-size:.8rem;font-weight:1000}.footer{background:#080808;color:#fff;padding:55px 0 35px}.foot{display:grid;grid-template-columns:1.4fr .6fr .7fr;gap:32px}.foot p,.foot a{color:#aaa;font-size:.83rem;line-height:1.6}.foot h4{margin:0 0 10px}.footer .brand{font-size:1.6rem}.mobilebar{display:none}
    .modal{display:none;position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.82);backdrop-filter:blur(7px);padding:20px;align-items:center;justify-content:center}.modal.open{display:flex}.modalbox{width:min(660px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:25px;box-shadow:0 32px 90px rgba(0,0,0,.38)}.modhead{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid #eee7da;padding:18px 20px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.modhead h2{font-size:1.45rem;margin:4px 0 0}.close{width:40px;height:40px;border:0;border-radius:50%;background:#eee9df;font-size:1.2rem;font-weight:1000}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.week span{text-align:center;color:#777;font-size:.61rem;font-weight:900;padding:5px}.day{border:0;aspect-ratio:1;border-radius:10px;background:#f1eee7;font-weight:900}.day:hover:not(:disabled){background:var(--yellow)}.day.selected{background:#111;color:#fff}.day.today{outline:2px solid var(--yellow)}.day:disabled{opacity:.25}.field label{display:block;font-size:.65rem;font-weight:900;text-transform:uppercase;margin-bottom:5px}.field input,.field select{width:100%;min-height:46px;border:1px solid #ddd6c9;border-radius:12px;padding:11px;background:#faf8f3}.modal .btn{width:100%;margin-top:12px}.gallerymodal .modalbox{width:min(1040px,100%);background:#0b0b0b;color:#fff}.gallerymodal .modhead{background:#0b0b0b;border-color:#222}.gallerymodal .close{background:#222;color:#fff}.gallery-stage{height:min(72vh,680px);display:grid;place-items:center;background:#050505}.gallery-stage img{width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;padding:13px 16px}.gallery-controls button{border:0;border-radius:999px;background:#222;color:#fff;padding:9px 14px;font-weight:900}.gallery-controls b{color:var(--yellow)}
    @media(max-width:920px){.nav-links{display:none}.hamb{display:block}.layout{grid-template-columns:1fr}.layout aside{position:static}.bookbox{display:none}.facts{grid-template-columns:repeat(3,1fr)}.fact:nth-child(3){border-right:0}.fact:nth-child(n/**/+4){border-top:1px solid #ece7dd}.product-head{grid-template-columns:1fr}.head-price{text-align:left}.gallery{height:430px}.foot{grid-template-columns:1fr}.mobilebar{display:flex;position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:80;background:#111;color:#fff;border-radius:17px;padding:9px 9px 9px 13px;align-items:center;justify-content:space-between;gap:8px;box-shadow:0 14px 35px rgba(0,0,0,.3)}.mobilebar small{display:block;color:#aaa;font-size:.65rem}.mobilebar b{color:var(--yellow);font-size:.86rem}.mobilebar .btn{padding:11px 14px}body{padding-bottom:82px}}
    @media(max-width:640px){.container{width:calc(100% - 24px)}.topbar{font-size:.58rem;padding:7px 8px}.nav-inner{height:68px}.mobile-nav{top:68px}.nav-actions>.btn{display:none}.brand{font-size:1.02rem}.brand span{font-size:.5rem}.lang{padding:8px 9px}.crumbs{padding-top:18px}.product-head{gap:13px}.product-head h1{font-size:2.55rem}.product-sub{font-size:.93rem}.head-price strong{font-size:1.7rem}.gallery{height:auto;grid-template-columns:1fr;border-radius:18px}.gallery-main{aspect-ratio:16/11}.gallery-side{display:none}.facts{grid-template-columns:1fr 1fr;border-radius:16px}.fact{border-right:1px solid #ece7dd;border-bottom:1px solid #ece7dd}.fact:nth-child(2n){border-right:0}.fact:last-child{grid-column:1/-1;border-bottom:0}.section{padding:26px 0}.highlight-grid,.inc-grid,.meeting{grid-template-columns:1fr}.explorer{grid-template-columns:1fr;padding:22px}.explorer-mark{width:94px;height:94px}.relgrid{grid-template-columns:1fr}.modal{padding:0;align-items:end}.modalbox{width:100%;max-height:94dvh;border-radius:24px 24px 0 0}.gallery-stage{height:62vh}}
  
    /* === RESERVA INTERNA · MISMO FLUJO VISUAL DE LA PÁGINA PRINCIPAL === */
    .tour-cal-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}.tour-cal-top small{display:block;color:#aaa;font-size:.67rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.tour-cal-top strong{display:block;color:var(--yellow);font-size:1.08rem;margin-top:4px}.tour-cal-price{text-align:right}.tour-cal-price b{display:block;font-size:1.25rem;color:#fff}.tour-cal-price span{font-size:.68rem;color:#aaa}.tour-cal-controls{display:flex;align-items:center;justify-content:space-between;margin:7px 0 10px}.tour-cal-controls button{width:38px;height:38px;border:0;border-radius:50%;background:#2a2a2a;color:#fff;font-size:1.2rem;font-weight:900;cursor:pointer}.tour-cal-controls b{text-transform:capitalize;font-size:.92rem}.tour-week,.tour-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.tour-week span{text-align:center;color:#888;font-size:.59rem;font-weight:1000;padding:4px}.tour-day{aspect-ratio:1;border:0;border-radius:9px;background:#242424;color:#fff;font-weight:900;cursor:pointer}.tour-day:hover:not(:disabled){background:var(--yellow);color:#111}.tour-day.selected{background:var(--yellow);color:#111}.tour-day.today{outline:none;box-shadow:none}.tour-day:disabled{opacity:.22;cursor:not-allowed}.tour-cal-book{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.tour-cal-field label{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#aaa;font-weight:900;margin-bottom:5px}.tour-cal-field select,.tour-cal-field input{width:100%;min-height:43px;border-radius:11px;border:1px solid #3a3a3a;background:#1c1c1c;color:#fff;padding:10px}.tour-cal-summary{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-top:12px;padding:12px 0 0;border-top:1px solid #333}.tour-cal-summary small{display:block;color:#999;font-size:.66rem}.tour-cal-summary b{display:block;margin-top:3px;font-size:.82rem}.tour-cal-summary strong{color:var(--yellow);font-size:1.25rem}.tour-cal-action{width:100%;margin-top:12px}.tour-cal-hint{margin-top:9px;color:#aaa;font-size:.68rem;line-height:1.35}
    .date-modal{display:none;position:fixed;inset:0;z-index:135;background:rgba(0,0,0,.78);backdrop-filter:blur(7px);padding:22px;align-items:center;justify-content:center}.date-modal.open{display:flex}.date-modal-card{width:min(660px,100%);max-height:92dvh;overflow:auto;background:#111;color:#fff;border-radius:28px;box-shadow:0 34px 90px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.1)}.date-modal-head{position:sticky;top:0;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 22px 16px;background:linear-gradient(180deg,#111 82%,rgba(17,17,17,.94));border-bottom:1px solid rgba(255,255,255,.1)}.date-modal-head small{display:block;color:var(--yellow);font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;font-weight:1000;margin-bottom:6px}.date-modal-head h3{margin:0;font-size:1.65rem;line-height:1.08;letter-spacing:-.03em}.date-modal-head p{margin:7px 0 0;color:#aaa;font-size:.78rem;line-height:1.4}.date-modal-close{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:50%;background:#2a2a2a;color:#fff;font-size:1.35rem;font-weight:900;cursor:pointer}.date-modal-close:hover{background:var(--yellow);color:#111}.date-modal-body{padding:18px 22px 22px}.date-modal-body .tour-cal-top{padding-bottom:14px;border-bottom:1px solid #303030}.date-modal-body .tour-cal-controls{margin-top:15px}.date-modal-body .tour-days{gap:7px}.date-modal-body .tour-day{min-height:44px;aspect-ratio:auto}.date-modal-body .tour-cal-book{margin-top:18px}.date-modal-body .tour-cal-action{min-height:48px;font-size:.9rem}
    #bookingModal.modal{display:none;position:fixed;inset:0;z-index:140;background:rgba(0,0,0,.75);padding:20px;align-items:center;justify-content:center;backdrop-filter:none}#bookingModal.modal.open{display:flex}#bookingModal .checkout{width:min(720px,100%);max-height:93dvh;overflow:auto;background:#fff;border-radius:28px;padding:23px;box-shadow:0 30px 80px rgba(0,0,0,.35)}#bookingModal .modal-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}#bookingModal .modal-top h3{margin:0;font-size:1.6rem}#bookingModal .modal-kicker{font-size:.72rem;font-weight:1000;letter-spacing:.13em;text-transform:uppercase;color:#6d5a00;margin-bottom:4px}#bookingModal .close{width:40px;height:40px;border:0;border-radius:50%;background:#eee;color:#111;font-weight:1000;font-size:1rem}#bookingModal .booking-tabs{display:flex;gap:7px;margin-bottom:18px}#bookingModal .step-pill{background:#efede7;border-radius:999px;padding:8px 10px;font-size:.7rem;font-weight:900}#bookingModal .step-pill.active{background:#000;color:#fff}#bookingModal .checkout-step{display:none}#bookingModal .checkout-step.active{display:block}#bookingModal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}#bookingModal .field{margin-bottom:13px}#bookingModal .field label{display:block;font-size:.7rem;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}#bookingModal .field select,#bookingModal .field input{width:100%;border:1px solid #d9d5ca;border-radius:13px;padding:13px;background:#faf9f6;min-height:46px;outline:none;color:#111}#bookingModal .summary{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;background:#111;color:#fff;border-radius:16px;padding:16px;margin-top:14px}#bookingModal .summary small{display:block;color:#aaa;margin-bottom:4px}#bookingModal .summary b{font-size:.87rem}#bookingModal .summary strong{font-size:1.7rem;color:var(--yellow)}#bookingModal .checkout-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}#bookingModal .secure{background:#f4f1e9;border-radius:13px;padding:12px;font-size:.76rem;color:#666;margin-top:12px}
    @media(max-width:640px){.date-modal{padding:0;align-items:end}.date-modal-card{width:100%;max-height:94dvh;border-radius:26px 26px 0 0}.date-modal-head{padding:18px 16px 14px}.date-modal-head h3{font-size:1.35rem}.date-modal-body{padding:15px 14px calc(18px + env(safe-area-inset-bottom))}.date-modal-body .tour-days{gap:5px}.date-modal-body .tour-day{min-height:42px}.date-modal-body .tour-cal-book{grid-template-columns:1fr 1fr}#bookingModal.modal{padding:0;align-items:end}#bookingModal .checkout{width:100%;border-radius:24px 24px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom))}#bookingModal .form-row{grid-template-columns:1fr}#bookingModal .summary{grid-template-columns:1fr}#bookingModal .summary strong{font-size:1.4rem}#bookingModal .checkout-actions{display:grid;grid-template-columns:1fr}#bookingModal .checkout-actions .btn{width:100%}}


/* Reserva: campos obligatorios + selector internacional de WhatsApp */
.required-mark{color:#8a7000}
.optional-mark{color:#888;font-weight:750;text-transform:none;letter-spacing:0}
.phone-control{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.25fr);gap:8px}
.phone-control select,.phone-control input{min-width:0}
.phone-control select{padding-left:10px;padding-right:8px}
@media(max-width:640px){.phone-control{grid-template-columns:145px minmax(0,1fr)}}
