/* =====================================================================
   Machu Picchu From Cusco — capa visual "Expedition" (basada en el mockup interactivo)
   Paleta del cliente: Forest #3A6B47 · Sand #DBCFB8 · Clay #C25C38 · Mist #5C8B9D · Slate #5A5A5A
   Tipografía: Mona Sans (títulos) + Work Sans (texto), alojadas en el sitio (SIL OFL).
   Se carga después de app.css: redefine tokens y añade los componentes "m-".
   ===================================================================== */
@font-face{font-family:'Mona Sans';font-style:normal;font-weight:200 900;font-stretch:75% 125%;font-display:swap;src:url(../fonts/mona-sans-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Mona Sans';font-style:normal;font-weight:200 900;font-stretch:75% 125%;font-display:swap;src:url(../fonts/mona-sans-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/work-sans-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/work-sans-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --font:'Work Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --display:'Mona Sans','Work Sans',system-ui,sans-serif;
  --night:#0d1a12; --deep:#17301F; --forest-dd:#17301F; --forest-d:#22402B;
  --paper:#f8f5ef; --stone:#efe9dd; --line:#ddd6c8; --line-2:#e9e3d7;
  --sand-d:#8a7350;           /* sand oscuro: textos de acento sobre claro (contraste AA) */
  --accent:var(--clay); --accent-d:var(--clay-d);
  --r-xl:4px; --r-lg:3px; --r-md:3px; --r-sm:3px;
  --pill:3px;
  --track:.16em;
  --h1:clamp(2.9rem,7vw,6.6rem); --h2:clamp(2.3rem,4.6vw,4.2rem); --h3:clamp(1.25rem,1.9vw,1.55rem);
}
body{font-family:var(--font);font-size:15.5px;line-height:1.7;background:#fff;color:var(--slate)}
h1,h2,h3,h4,.brand__name{font-family:var(--display);font-weight:560;letter-spacing:-.045em}
h1{line-height:.92;letter-spacing:-.055em}
h2{line-height:.98;letter-spacing:-.05em}
h3{letter-spacing:-.03em}
::selection{background:var(--sand);color:var(--ink)}

/* Acentos de sección: mayúsculas espaciadas */
.mark,.m-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font);font-size:.7rem;font-weight:650;letter-spacing:var(--track);text-transform:uppercase;color:var(--sand-d);margin-bottom:18px}
.mark::before{width:7px;height:7px;border-width:1.5px}
.mark::after{width:26px;border-top-style:solid;opacity:.45}
.sec--dark .mark,.m-dark .mark,.m-eyebrow--light{color:var(--sand)}

/* Botones */
.btn{border-radius:var(--pill);font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.09em;height:50px;padding:0 22px;gap:14px}
.btn:hover{transform:translateY(-2px)}
.btn--sm{height:42px;padding:0 16px;font-size:.7rem}
.btn .ic{width:17px;height:17px}
.btn img{width:20px;height:20px}
.circle-btn{border-radius:var(--pill)}
.chip,.tag,.pcard__cat{border-radius:var(--pill)}
.tag{text-transform:uppercase;font-size:.62rem;letter-spacing:.12em;font-weight:650;padding:7px 9px}
.link{text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;font-weight:600}

/* Barra superior y cabecera (estilo "announcement" + "nav-shell") */
.topbar{background:var(--night);font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}
.topbar .wrap{min-height:36px}
.topbar .ic{color:var(--sand)}
.hdr{background:rgba(248,245,239,.94);border-bottom:1px solid rgba(23,48,31,.1)}
.hdr .wrap{height:76px}
.nav__link{font-size:.84rem;font-weight:500;letter-spacing:-.005em;color:#2f3a32;padding:9px clamp(7px,.75vw,12px)}
.nav__item:hover>.nav__link,.nav__item:focus-within>.nav__link{background:transparent;color:var(--accent)}
.mega{border-radius:var(--r-lg)}
.brand__name{letter-spacing:-.035em}
.brand__sub{text-transform:uppercase;font-size:.6rem;letter-spacing:.24em;font-weight:600}
body.home .hdr{top:36px}
body.home .hdr.is-solid{top:0}

/* ===================== Efectos de entrada y salida ===================== */
[data-reveal]{opacity:0;transform:translate3d(0,28px,0);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
[data-reveal="left"]{transform:translate3d(-36px,0,0)}
[data-reveal="right"]{transform:translate3d(36px,0,0)}
[data-reveal="zoom"]{transform:scale(.96)}
[data-reveal].is-in{opacity:1;transform:none}
/* al salir de pantalla vuelve a su estado inicial con una transición más corta */
[data-reveal].is-out{transition-duration:.45s;transition-delay:0s}
.no-js [data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}

/* ===================== Utilidades de sección ===================== */
.m-sec{padding:clamp(80px,9vw,120px) 0}
.m-sec--paper{background:var(--paper)}
.m-sec--stone{background:var(--stone)}
.m-sec--dots{background-color:#ece7db;background-image:radial-gradient(#cdc4b1 1px,transparent 1px);background-size:16px 16px}
.m-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(32px,4vw,48px);flex-wrap:wrap}
.m-head h2{max-width:16ch;color:var(--ink)}
.m-head p{max-width:46ch;margin:16px 0 0;color:#5f665f}
.m-textlink{display:inline-flex;align-items:center;gap:16px;padding-bottom:7px;border-bottom:1px solid #b9b2a0;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;color:var(--ink);transition:gap .3s var(--ease),border-color .3s}
.m-textlink:hover{gap:22px;border-color:var(--accent)}
.m-textlink .ic{width:16px;height:16px}
.m-watermark{position:absolute;pointer-events:none;user-select:none;font-family:var(--display);font-weight:800;letter-spacing:-.08em;line-height:1;white-space:nowrap;color:rgba(255,255,255,.07)}

/* ===================== HERO ===================== */
.m-hero{position:relative;min-height:calc(100svh - 36px);color:#fff;overflow:hidden;background:var(--night);display:flex;flex-direction:column}
.m-hero__slides{position:absolute;inset:0}
.m-hero__slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:0;transform:scale(1.08);transition:opacity 1.4s ease,transform 8s linear}
.m-hero__slides img.is-on{opacity:1;transform:scale(1)}
.m-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,10,.86) 0%,rgba(6,16,10,.42) 52%,rgba(6,16,10,.12)),linear-gradient(0deg,rgba(6,14,9,.7),transparent 55%)}
.m-hero .m-watermark{top:13%;left:3%;font-size:clamp(70px,12vw,200px)}
.m-hero__in{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:120px;padding-bottom:180px}
.m-hero__copy{max-width:800px}
.m-hero__copy>*{animation:mRise .9s var(--ease) both}
.m-hero__copy>*:nth-child(2){animation-delay:.08s}.m-hero__copy>*:nth-child(3){animation-delay:.16s}.m-hero__copy>*:nth-child(4){animation-delay:.24s}
@keyframes mRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.m-hero h1{color:#fff;font-size:clamp(3rem,7.2vw,7rem);max-width:12ch}
.m-hero__text{max-width:52ch;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.76);margin:24px 0 0}
.m-hero__act{display:flex;align-items:center;gap:26px;margin-top:32px;flex-wrap:wrap}
.m-play{display:inline-flex;align-items:center;gap:12px;color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.m-play span{width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;transition:background .3s,border-color .3s}
.m-play:hover span{background:var(--accent);border-color:var(--accent)}
.m-play .ic{width:16px;height:16px}
.m-hero__stat{align-self:flex-end;margin-bottom:40px;width:170px;border-top:1px solid rgba(255,255,255,.45);padding-top:12px;flex:none}
.m-hero__stat b{display:block;font:500 3.2rem/1 var(--display);letter-spacing:-.04em}
.m-hero__stat b i{font-style:normal;color:var(--sand)}
.m-hero__stat span{display:block;margin-top:8px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.72);line-height:1.5}
.m-hero__note{position:absolute;right:0;top:26%;z-index:3;background:rgba(10,20,14,.56);backdrop-filter:blur(12px);padding:18px 16px;display:flex;flex-direction:column;gap:12px;min-width:210px}
.m-hero__note .m-stop{display:flex;gap:12px;align-items:center;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55);text-align:left;transition:color .3s}
.m-hero__note .m-stop b{color:var(--sand);font-weight:600;min-width:18px}
.m-hero__note .m-stop.is-on{color:#fff}
.m-hero__note .m-stop i{display:block;height:1px;width:18px;background:currentColor;opacity:.5;transition:width .5s var(--ease)}
.m-hero__note .m-stop.is-on i{width:34px;opacity:1}
/* buscador */
.m-search{position:absolute;z-index:3;left:max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut)));right:max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut)));bottom:28px;display:grid;grid-template-columns:1.2fr 1fr 1fr .85fr;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-radius:var(--r-lg);padding:10px;color:var(--ink);box-shadow:0 25px 55px rgba(0,0,0,.22);animation:mRise 1s .35s var(--ease) both}
.m-search label{display:flex;flex-direction:column;justify-content:center;padding:6px 22px;border-right:1px solid #e1ddd3;min-width:0}
.m-search label>span{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:#6f6b62;margin-bottom:6px;font-weight:600}
.m-search select{border:0;background:transparent;font:600 .95rem var(--font);color:#1b2b21;padding:0;appearance:none;cursor:pointer;width:100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233A6B47' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;padding-right:18px}
.m-search input{border:0;background:transparent;font:600 .95rem var(--font);color:#1b2b21;padding:0;width:100%;min-width:0;outline:none}
.m-search input::placeholder{color:#8b8578;font-weight:400}
.m-search input:focus-visible,.m-search select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.m-search button[type=submit]{border-radius:var(--r-lg);background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;transition:background .3s}
.m-search button[type=submit]:hover{background:var(--forest-d)}
.m-search .ic{width:19px;height:19px}

/* ===================== Tarjeta de tour (firma) ===================== */
.m-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px) / 3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 18px}
.m-rail::-webkit-scrollbar{display:none}
.m-rail>*{scroll-snap-align:start}
.m-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.m-card{position:relative;background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 8px 30px rgba(23,48,31,.06);transition:transform .45s var(--ease),box-shadow .45s;display:flex;flex-direction:column}
.m-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(23,48,31,.15)}
.m-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--stone)}
.m-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.m-card:hover .m-card__img img{transform:scale(1.055)}
.m-card__tags{position:absolute;left:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}
.m-card__tag{padding:7px 9px;border-radius:var(--r-lg);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#fff;background:rgba(11,19,14,.72);backdrop-filter:blur(8px)}
.m-card__tag--clay{background:var(--accent)}
.m-card__tag--mist{background:var(--mist-d)}
.m-heart{position:absolute;right:12px;top:12px;z-index:3;width:36px;height:36px;border-radius:var(--r-lg);background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--ink);transition:transform .25s,color .25s}
.m-heart:hover{transform:scale(1.08)}
.m-heart .ic{width:17px;height:17px}
.m-heart[aria-pressed="true"]{color:var(--accent)}
.m-heart[aria-pressed="true"] .ic{fill:currentColor}
.m-card__rating{position:absolute;left:12px;bottom:12px;z-index:2;background:#fff;border-radius:var(--r-lg);padding:6px 9px;font-size:.66rem;font-weight:700;color:#8a6a10;display:inline-flex;gap:5px;align-items:center}
.m-card__rating .ic{width:12px;height:12px;fill:currentColor}
.m-card__body{padding:22px;display:flex;flex-direction:column;flex:1}
.m-card__meta{font-size:.66rem;color:#6f6b62;text-transform:uppercase;letter-spacing:.1em;display:flex;gap:6px 14px;flex-wrap:wrap}
.m-card__body h3{font-size:1.32rem;line-height:1.15;margin:10px 0 0;color:#1b2b21;letter-spacing:-.035em}
.m-card__body h3 a::after{content:"";position:absolute;inset:0;z-index:1}
.m-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line-2)}
.m-card__body h3+.m-card__foot{margin-top:24px}
.m-card__foot span{font-size:.62rem;color:#6f6b62;text-transform:uppercase;letter-spacing:.08em}
.m-card__foot b{display:block;font:600 1.3rem var(--display);color:#1b2b21;letter-spacing:-.03em;text-transform:none}
.m-card__go{width:40px;height:40px;border-radius:var(--r-lg);background:var(--forest);color:#fff;display:grid;place-items:center;transition:background .3s,transform .3s var(--ease)}
.m-card:hover .m-card__go{background:var(--accent);transform:translateX(3px)}
.m-card__go .ic{width:18px;height:18px}
.m-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}

/* ===================== Destinos (bento) ===================== */
.m-dest{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:min(680px,80vh);min-height:520px}
.m-dest__card{position:relative;overflow:hidden;border-radius:var(--r-lg);color:#fff;isolation:isolate;display:flex}
.m-dest__card:nth-child(1){grid-row:1/3}
.m-dest__card:nth-child(2){grid-column:2/4}
.m-dest__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.m-dest__card:hover img{transform:scale(1.06)}
.m-dest__card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,12,7,.8),transparent 65%)}
.m-dest__body{margin-top:auto;padding:28px;width:100%}
.m-dest__body span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:650;color:var(--sand)}
.m-dest__body h3{color:#fff;font-size:clamp(1.6rem,2.4vw,2.2rem);margin:6px 0 12px}
.m-dest__body a{display:inline-flex;gap:10px;align-items:center;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:#fff}
.m-dest__body a::after{content:"";position:absolute;inset:0}
.m-dest__body .ic{width:16px;height:16px;transition:transform .3s}
.m-dest__card:hover .m-dest__body .ic{transform:translate(3px,3px)}
.m-dest__quote{background:var(--sand);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}
.m-dest__quote span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700}
.m-dest__quote p{font:500 1.55rem/1.15 var(--display);letter-spacing:-.035em;margin:0;color:var(--ink)}
.m-dest__quote small{font-size:.7rem;color:#5c5446}

/* ===================== Expedición (Salkantay) ===================== */
.m-exp{position:relative;margin:24px;border-radius:var(--r-lg);overflow:hidden;color:#fff;background:var(--night);min-height:780px;isolation:isolate}
.m-exp>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.m-exp__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,17,11,.88) 0%,rgba(8,17,11,.74) 40%,rgba(8,17,11,.22) 82%),linear-gradient(0deg,rgba(8,17,11,.62),transparent)}
.m-exp .m-watermark{left:-20px;top:22px;font-size:14vw;color:rgba(255,255,255,.055)}
.m-exp__in{position:relative;min-height:780px;padding:clamp(60px,8vw,120px);display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:7vw;align-items:center}
.m-exp h2{color:#fff;font-size:clamp(2.8rem,5.8vw,5.4rem);line-height:.92;max-width:11ch}
.m-exp__copy>p{max-width:52ch;color:rgba(255,255,255,.7);margin:26px 0 28px}
.m-feat{display:flex;gap:10px;margin-bottom:34px;flex-wrap:wrap}
.m-feat>div{flex:1 1 140px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);backdrop-filter:blur(8px);border-radius:var(--r-lg);padding:12px 14px;display:flex;gap:10px;align-items:center}
.m-feat .ic{width:20px;height:20px;color:var(--sand);flex:none}
.m-feat span{font-size:.62rem;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.08em}
.m-feat b{display:block;color:#fff;font-size:.86rem;margin-top:2px;letter-spacing:0;text-transform:none}
.m-glass{padding:13px;border:1px solid rgba(255,255,255,.23);background:rgba(13,23,17,.58);backdrop-filter:blur(18px);border-radius:var(--r-lg)}
.m-switch{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:rgba(0,0,0,.25);padding:4px;margin-bottom:12px;border-radius:var(--r-lg)}
.m-switch button{padding:10px;color:rgba(255,255,255,.6);font-size:.68rem;border-radius:var(--r-lg);text-transform:uppercase;letter-spacing:.08em;font-weight:600;transition:background .3s,color .3s}
.m-switch button.is-on{background:#fff;color:var(--ink)}
.m-glass__img{position:relative;height:270px;border-radius:var(--r-lg);overflow:hidden}
.m-glass__img img{width:100%;height:100%;object-fit:cover;transition:opacity .5s}
.m-glass__copy{padding:22px 12px 14px;min-height:150px}
.m-glass__copy span{color:var(--sand);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.m-glass__copy h3{color:#fff;font-size:1.5rem;line-height:1.12;margin:8px 0}
.m-glass__copy p{color:rgba(255,255,255,.6);font-size:.8rem;margin:0}
.m-glass__foot{display:flex;justify-content:space-between;align-items:center;padding:0 12px 8px}
.m-dots{display:flex;gap:6px}
.m-dots button{width:22px;height:3px;background:rgba(255,255,255,.3);transition:width .4s var(--ease),background .4s}
.m-dots button.is-on{width:50px;background:var(--sand)}
.m-glass__foot a{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#fff;font-weight:600;display:inline-flex;gap:8px;align-items:center}
.m-glass__foot .ic{width:15px;height:15px}

/* ===================== Camino Inca ===================== */
.m-inca__top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.m-permit{min-width:320px;padding:18px 20px;background:#fff;display:flex;gap:14px;align-items:center;border-radius:var(--r-lg);box-shadow:0 10px 30px rgba(30,40,31,.08);text-align:left;transition:transform .3s var(--ease),box-shadow .3s}
.m-permit:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(30,40,31,.14)}
.m-pulse{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(42,122,70,.45);animation:mPulse 2s infinite;flex:none}
@keyframes mPulse{0%{box-shadow:0 0 0 0 rgba(42,122,70,.45)}70%{box-shadow:0 0 0 10px rgba(42,122,70,0)}100%{box-shadow:0 0 0 0 rgba(42,122,70,0)}}
.m-permit div{flex:1}
.m-permit small{display:block;color:#6f6b62;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.m-permit b{display:block;font:600 1.05rem var(--display);margin-top:4px;color:var(--ink);letter-spacing:-.02em}
.m-permit .ic{width:20px;height:20px;color:var(--forest)}
.m-inca{display:grid;grid-template-columns:1.1fr 1fr;margin-top:50px;background:var(--forest-d);color:#fff;min-height:540px;border-radius:var(--r-lg);overflow:hidden}
.m-map{position:relative;overflow:hidden;background:linear-gradient(135deg,#2c513a,#112018)}
.m-map::before{content:"INKA ÑAN";position:absolute;font:800 110px var(--display);letter-spacing:-.08em;color:rgba(255,255,255,.04);transform:rotate(-18deg);top:42%;left:6%}
.m-map svg{position:absolute;inset:0;width:100%;height:100%}
.m-map__route{fill:none;stroke:var(--sand);stroke-width:2;stroke-dasharray:8 9;opacity:.85}
.m-map__walk{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.6s var(--ease)}
.m-inca.is-in .m-map__walk{stroke-dashoffset:0}
.m-map__pt{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-14px,-14px)}
.m-map__pt span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--ink);font-size:.66rem;font-weight:700;box-shadow:0 0 0 5px rgba(219,207,184,.18)}
.m-map__pt small{background:rgba(8,20,12,.82);padding:6px 8px;border-radius:var(--r-lg);font-size:.7rem;white-space:nowrap}
.m-map__pt small b{display:block;color:var(--sand);font-weight:600;font-size:.62rem;letter-spacing:.06em}
.m-map__cap{position:absolute;left:28px;bottom:26px;display:flex;gap:10px;align-items:center;font-size:.74rem;color:rgba(255,255,255,.75)}
.m-map__cap .ic{width:18px;height:18px;color:var(--sand)}
.m-trails{padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--paper);color:var(--ink);align-content:start}
.m-trail{position:relative;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;transition:border-color .3s,transform .4s var(--ease)}
.m-trail:hover{border-color:var(--forest);transform:translateY(-3px)}
.m-trail>span{color:var(--sand-d);font-size:.6rem;letter-spacing:.15em;font-weight:700;text-transform:uppercase}
.m-trail h3{font-size:1.35rem;margin:9px 0 4px}
.m-trail h3 a::after{content:"";position:absolute;inset:0}
.m-trail p{color:#6f6b62;font-size:.78rem;margin:0}
.m-trail ul{list-style:none;padding:14px 0;margin:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);display:grid;gap:8px}
.m-trail li{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;line-height:1.4}
.m-trail li .ic{width:14px;height:14px;color:var(--forest);flex:none;margin-top:2px}
.m-trail>b{font:600 1.05rem var(--display);margin-top:auto}
.m-trails>.btn{grid-column:1/-1}

/* ===================== Machu Picchu (split) ===================== */
.m-mp{display:grid;grid-template-columns:1.05fr 1fr;background:#fff}
.m-mp__img{position:relative;min-height:760px;overflow:hidden}
.m-mp__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.m-mp:hover .m-mp__img img{transform:scale(1.04)}
.m-mp__img .m-vert{position:absolute;writing-mode:vertical-rl;right:22px;top:22px;color:rgba(255,255,255,.4);font:800 clamp(48px,5vw,78px)/1 var(--display);letter-spacing:-.08em}
.m-mp__body{padding:clamp(60px,8vw,120px) clamp(28px,7vw,110px);display:flex;flex-direction:column;justify-content:center}
.m-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-bottom:1px solid var(--line);margin:32px 0 22px}
.m-tabs button{padding:15px 6px;border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px;font-size:.78rem;color:#6f6b62;text-align:left;transition:color .3s,border-color .3s;margin-bottom:-1px}
.m-tabs button .ic{width:17px;height:17px;flex:none}
.m-tabs button.is-on{color:var(--forest);border-color:var(--accent);font-weight:600}
.m-steps>div{display:flex;gap:18px;border-bottom:1px solid var(--line-2);padding:17px 0}
.m-steps>div>span{color:var(--sand-d);font:600 .75rem var(--display);min-width:22px}
.m-steps p{margin:0;font-size:.86rem;color:#6c716d;line-height:1.6}
.m-steps b{display:block;color:var(--ink);font-size:.95rem;font-weight:600}
.m-mp__act{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.m-mp__panel[hidden]{display:none}

/* ===================== Valores ===================== */
.m-values{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,9vw,140px);align-items:start}
.m-values__intro{position:sticky;top:120px}
.m-vlist{counter-reset:v}
.m-vrow{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start;border-top:1px solid #cdc5b4;padding:24px 0;transition:background .3s,padding .3s}
.m-vrow:last-child{border-bottom:1px solid #cdc5b4}
.m-vrow>span{color:var(--sand-d);font:600 .72rem var(--display);padding-top:6px}
.m-vrow h3{font-size:1.3rem;display:flex;gap:10px;align-items:center}
.m-vrow h3 .ic{width:20px;height:20px;color:var(--forest);flex:none}
.m-vrow p{margin:0;font-size:.88rem;color:#5f665f;line-height:1.6}
.m-vrow:hover{padding-left:10px;background:linear-gradient(90deg,rgba(58,107,71,.06),transparent)}

/* ===================== Testimonios ===================== */
.m-testi{display:grid;grid-template-columns:1.15fr 1fr;min-height:620px;background:var(--forest-d);color:#fff}
.m-testi__photo{position:relative;overflow:hidden}
.m-testi__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-testi__copy{padding:clamp(60px,8vw,120px);display:flex;flex-direction:column;justify-content:center}
.m-quote{color:var(--sand);font:400 80px/1 var(--display);height:56px}
.m-testi blockquote{margin:16px 0 34px;font:450 clamp(1.4rem,2.3vw,1.9rem)/1.3 var(--display);letter-spacing:-.03em;color:#fff;transition:opacity .4s}
.m-reviewer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.m-reviewer b{display:block;font-size:.9rem}
.m-reviewer small{display:block;color:rgba(255,255,255,.6);font-size:.74rem;margin-top:3px}
.m-reviewer .stars{color:var(--sand)}
.m-qctl{display:flex;align-items:center;gap:16px;margin-top:34px}
.m-qctl button{width:40px;height:40px;border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:var(--r-lg);display:grid;place-items:center;transition:background .3s}
.m-qctl button:hover{background:rgba(255,255,255,.1)}
.m-qctl .ic{width:17px;height:17px}
.m-qctl span{font-size:.72rem;color:rgba(255,255,255,.55);letter-spacing:.08em}
.m-testi__empty p{color:rgba(255,255,255,.72);max-width:44ch}
.m-testi__empty .btn{margin-top:10px}

/* ===================== Blog (journal) ===================== */
.m-journal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.m-jcard{position:relative}
.m-jcard__img{height:260px;border-radius:var(--r-lg);overflow:hidden;margin-bottom:18px;background:var(--stone)}
.m-jcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.m-jcard:hover .m-jcard__img img{transform:scale(1.05)}
.m-jcard>span{font-size:.62rem;color:var(--sand-d);letter-spacing:.12em;text-transform:uppercase;font-weight:650}
.m-jcard h3{font-size:1.4rem;line-height:1.12;margin:10px 0 14px}
.m-jcard h3 a::after{content:"";position:absolute;inset:0}
.m-jcard .m-textlink{font-size:.66rem}

/* ===================== FAQ ===================== */
.m-faq{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(40px,9vw,140px)}
.m-faq .acc__item{border-color:#d7d0c2}
.m-faq .acc__q{font-family:var(--display);font-weight:560;font-size:1.08rem;letter-spacing:-.02em}

/* ===================== Banda de sellos ===================== */
.m-seals{border-top:1px solid var(--line-2)}

/* ===================== FOOTER (expedición) ===================== */
.mf{position:relative;color:#fff;background:var(--night);overflow:hidden;isolation:isolate}
.mf__bg{position:absolute;inset:0;z-index:-2}
.mf__bg img{width:100%;height:100%;object-fit:cover}
.mf::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,22,14,.5) 0%,rgba(9,22,14,.78) 40%,rgba(6,14,9,.95) 100%)}
.mf__top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(30px,5vw,70px);align-items:center;padding:clamp(130px,14vw,190px) 0 clamp(50px,6vw,80px)}
.mf__brand .brand__name,.mf__brand .brand__sub{color:#fff}
.mf__brand .brand__sub{color:var(--sand)}
.mf__brand p{margin:20px 0 0;color:rgba(255,255,255,.66);font-size:.86rem;line-height:1.65;max-width:34ch}
.mf .socials{margin-top:20px}
.mf__cta{text-align:center;padding:10px 0}
.mf__cta h2{color:#fff;font-size:clamp(2.2rem,4.2vw,3.8rem);margin:0 auto 30px;max-width:14ch}
.mf__cta .m-eyebrow{color:var(--sand)}
.mf__pill{display:inline-flex;align-items:center;gap:16px;background:#fff;color:var(--ink);border-radius:999px;padding:7px 7px 7px 26px;font-size:.84rem;font-weight:500;transition:transform .3s var(--ease),box-shadow .3s}
.mf__pill span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;transition:transform .35s var(--ease)}
.mf__pill:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.mf__pill:hover span{transform:rotate(45deg)}
.mf__pill .ic{width:19px;height:19px}
.mf__nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.mf__nav>b,.mf__cols h4{color:#fff;font:560 1.15rem var(--display);letter-spacing:-.02em;margin-bottom:6px}
.mf__nav a,.mf__cols a{color:rgba(255,255,255,.75);font-size:.9rem;transition:color .2s}
.mf__nav a:hover,.mf__cols a:hover{color:var(--sand)}
.mf__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:clamp(30px,4vw,44px) 0;border-top:1px solid rgba(255,255,255,.14)}
.mf__cols ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mf__cols li{font-size:.88rem;color:rgba(255,255,255,.75);display:flex;gap:10px;align-items:flex-start}
.mf__cols li .ic{width:16px;height:16px;color:var(--sand);flex:none;margin-top:4px}
.mf__legal{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto;gap:24px 36px;align-items:center;padding:28px 0;border-top:1px solid rgba(255,255,255,.14)}
.mf__company b{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.mf__company dl{margin:8px 0 0;display:grid;grid-template-columns:auto 1fr;gap:3px 14px;font-size:.78rem}
.mf__company dt{color:rgba(255,255,255,.5)}
.mf__company dd{margin:0;color:rgba(255,255,255,.82)}
.mf__badge{display:flex;align-items:center;gap:12px}
.mf__badge img{height:64px;width:auto;background:#fff;border-radius:var(--r-lg);padding:4px}
.mf__badge span{font-size:.7rem;color:rgba(255,255,255,.6);max-width:30ch;line-height:1.45}
.mf__book{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;padding:12px 16px;border-radius:var(--r-lg);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:600;transition:background .3s}
.mf__book:hover{background:rgba(255,255,255,.16)}
.mf__book .ic{width:22px;height:22px;color:var(--sand)}
.mf__book small{display:block;text-transform:none;letter-spacing:0;font-weight:400;color:rgba(255,255,255,.6);font-size:.7rem}
.mf__esnna{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);background:rgba(0,0,0,.2);font-size:.8rem;color:rgba(255,255,255,.72);line-height:1.55;margin-bottom:26px}
.mf__esnna .ic{width:22px;height:22px;color:var(--sand);flex:none;margin-top:1px}
.mf__pay{display:flex;gap:6px;flex-wrap:wrap}
.mf__pay span{padding:7px 9px;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-lg);font-size:.62rem;letter-spacing:.06em;font-weight:600}
.mf__bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:20px 0 26px;border-top:1px solid rgba(255,255,255,.14);font-size:.78rem;color:rgba(255,255,255,.6)}
.mf__bottom nav{display:flex;gap:20px;flex-wrap:wrap}
.mf__bottom a{color:rgba(255,255,255,.75)}
.mf__bottom a:hover{color:#fff}
.mf__word{font:800 clamp(44px,11.2vw,190px)/.8 var(--display);letter-spacing:-.07em;color:rgba(255,255,255,.07);white-space:nowrap;text-align:center;margin:10px 0 -.12em;user-select:none;pointer-events:none}

/* ===================== Responsive de la capa ===================== */
@media (max-width:1180px){
  .m-rail{grid-auto-columns:calc((100% - 20px) / 2.2)}
  .m-exp__in{grid-template-columns:1fr;gap:50px}
  .m-glass{max-width:520px}
  .mf__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .m-hero__note,.m-hero__stat{display:none}
  .m-hero__in{padding-top:110px;padding-bottom:250px}
  .m-search{grid-template-columns:1fr 1fr;bottom:18px}
  .m-search label{padding:10px 14px}
  .m-search label:nth-of-type(1){grid-column:1/-1;border-right:0;border-bottom:1px solid #e1ddd3}
  .m-search label:nth-of-type(3){border-right:0}
  .m-search button[type=submit]{grid-column:1/-1;min-height:54px}
  .m-dest{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:420px 280px 240px}
  .m-dest__card:nth-child(1),.m-dest__card:nth-child(2){grid-column:1/-1;grid-row:auto}
  .m-exp{margin:10px}
  .m-inca{grid-template-columns:1fr}
  .m-map{min-height:420px}
  .m-mp{grid-template-columns:1fr}
  .m-mp__img{min-height:460px}
  .m-values,.m-faq{grid-template-columns:1fr}
  .m-values__intro{position:static}
  .m-testi{grid-template-columns:1fr}
  .m-testi__photo{min-height:420px}
  .m-journal,.m-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mf__top{grid-template-columns:1fr;text-align:left}
  .mf__cta{text-align:left;padding:40px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
  .mf__cta h2{margin-left:0}
  .mf__legal{grid-template-columns:1fr}
}
@media (max-width:640px){
  .m-hero h1{font-size:clamp(2.6rem,12vw,3.6rem)}
  .m-hero__act{gap:18px}
  .m-rail{grid-auto-columns:84%}
  .m-dest{grid-template-columns:1fr;grid-template-rows:380px 260px 240px 200px}
  .m-dest__card:nth-child(n){grid-column:auto}
  .m-exp__in{padding:70px 20px}
  .m-feat{display:grid;grid-template-columns:1fr 1fr}
  .m-glass__img{height:210px}
  .m-trails{grid-template-columns:1fr;padding:18px}
  .m-permit{min-width:0;width:100%}
  .m-tabs{grid-auto-flow:row}
  .m-vrow{grid-template-columns:32px 1fr}
  .m-vrow p{grid-column:2}
  .m-testi__copy{padding:64px 22px}
  .m-journal,.m-grid3{grid-template-columns:1fr}
  .m-jcard__img{height:220px}
  .mf__cols{grid-template-columns:1fr}
  .mf__company dl{grid-template-columns:1fr}
  .mf__company dt{margin-top:6px}
}

/* ajustes */
.f-it.is-hidden{display:none}
.f-it>.m-card{height:100%}
.m-rail>div>.m-card{height:100%}
#permits-cal{display:block;padding:28px}
#permits-cal .permits{background:transparent;padding:0;box-shadow:none;border:0;color:var(--ink)}
.m-card__go .ic{stroke:#fff}
.m-testi__empty h2{margin-bottom:18px}
.mf__bg img{opacity:.9}
.m-map__pt.is-flip{flex-direction:row-reverse;transform:translate(calc(-100% + 14px),-14px)}
.m-map__cap{left:auto;right:24px;bottom:auto;top:22px}
@media (max-width:640px){.m-map__pt small{font-size:.62rem;padding:4px 6px}.m-map__cap{right:auto;left:18px;top:auto;bottom:16px}.m-map{min-height:360px}}

/* ===================== TOUR (single) ===================== */
.page-tour .crumbs{margin:26px 0 18px}
.tp-gal{position:relative;display:grid;grid-template-columns:2fr .8fr;gap:10px;height:min(560px,62vh);min-height:360px}
.tp-gal--solo{grid-template-columns:1fr}
.tp-gal button,.tp-gal__main{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:var(--r-lg);padding:0;background:var(--stone)}
.tp-gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.tp-gal button:hover img{transform:scale(1.04)}
.tp-gal__side{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-height:0}
.tp-gal__btns{position:absolute;left:16px;bottom:16px;display:flex;gap:8px;flex-wrap:wrap;z-index:2}
.tp-gal .tp-chipbtn{width:auto;height:auto}
.tp-chipbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:var(--r-lg);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);color:var(--ink);font-size:.66rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;transition:background .3s}
.tp-chipbtn:hover{background:#fff}
.tp-chipbtn .ic{width:16px;height:16px}
.tp-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:34px 0 8px;flex-wrap:wrap}
.tp-title h1{font-size:clamp(2.2rem,4.6vw,4.2rem);color:var(--ink);max-width:18ch;margin:14px 0 16px;line-height:.98}
.tp-tags{display:flex;gap:6px;flex-wrap:wrap}
.tp-tags .m-card__tag{background:var(--forest)}
.tp-tags .m-card__tag--clay{background:var(--accent)}
.tp-tags .m-card__tag--mist{background:var(--mist-d)}
.tp-meta{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:.86rem;color:#4f554f}
.tp-meta span,.tp-meta a{display:inline-flex;align-items:center;gap:7px}
.tp-meta .ic{width:17px;height:17px;color:var(--forest)}
.tp-actions{display:flex;gap:8px;flex-wrap:wrap}
.tp-act{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;font-size:.68rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);transition:border-color .3s,color .3s}
.tp-act:hover{border-color:var(--forest);color:var(--forest)}
.tp-act .ic{width:17px;height:17px}
.tp-act[aria-pressed="true"]{color:var(--accent);border-color:var(--accent)}
.tp-act[aria-pressed="true"] .ic{fill:currentColor}
.tp-nav{margin-top:26px;background:rgba(248,245,239,.95)}
.tp-nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:19px 14px}
.tp-nav a.is-on,.tp-nav a:hover{color:var(--ink);border-color:var(--accent)}
.tp-h2{font-size:clamp(1.9rem,3.2vw,2.8rem);color:var(--ink);margin:0 0 22px;max-width:18ch}
.tp-h3{font-size:1.3rem;margin:34px 0 16px}
.tp-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.tp-facts>div{display:flex;gap:12px;align-items:flex-start;padding:20px 16px 20px 0}
.tp-facts>div+div{padding-left:16px;border-left:1px solid var(--line)}
.tp-facts .ic{width:22px;height:22px;color:var(--accent);flex:none;margin-top:2px}
.tp-facts span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600}
.tp-facts b{display:block;font:560 1.08rem/1.25 var(--display);letter-spacing:-.02em;color:var(--ink);text-transform:none;margin-top:5px}
.tp-facts .meter{display:flex;width:70px;margin-top:8px}
.tp-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 0}
.tp-specs>div{min-width:0}
.tp-specs dt{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600}
.tp-specs dd{margin:4px 0 0;font-size:.9rem;color:var(--ink)}
.tp-story{position:relative;max-height:330px;overflow:hidden;transition:max-height .6s var(--ease)}
.tp-story::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(transparent,#fff);transition:opacity .4s}
.tp-story.is-open{max-height:none}
.tp-story.is-open::after{opacity:0;pointer-events:none}
.tp-more{margin-top:14px}
.tp-days{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tp-day{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:22px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line);transition:background .3s}
.tp-day:hover{background:linear-gradient(90deg,var(--paper),transparent)}
.tp-day__n{font:560 2.3rem/1 var(--display);letter-spacing:-.05em;color:var(--forest)}
.tp-day__n small{display:block;font:650 .58rem var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--sand-d);margin-bottom:6px}
.tp-day h3{font-size:1.25rem;color:var(--ink);margin:2px 0 8px}
.tp-day p{margin:0;font-size:.9rem;color:#5f665f;line-height:1.65}
.tp-day__meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:.76rem;color:#5f665f}
.tp-day__meta span{display:inline-flex;gap:6px;align-items:center}
.tp-day__meta .ic{width:15px;height:15px;color:var(--mist-d)}
.tp-day__go{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.64rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-lg);transition:background .3s,color .3s,border-color .3s;margin-top:4px}
.tp-day__go:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.tp-day__go .ic{width:15px;height:15px}
.tp-inc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tp-inc>div{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}
.tp-inc h3,.tp-inc h4{display:flex;gap:10px;align-items:center;font-size:1.1rem;margin:0 0 16px}
.tp-inc h3 .ic{width:20px;height:20px;color:var(--forest)}
.tp-inc>div:nth-child(2) h3 .ic{color:var(--bad)}
.tp-inc .ilist li{font-size:.9rem}
.tp-pack{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.tp-pack li{background:#fff;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;font-size:.9rem}
.tp-pack .ic{width:19px;height:19px;color:var(--mist-d);flex:none;margin-top:2px}
.tp-box{border:1px solid var(--line);border-radius:var(--r-lg)}

/* barra lateral */
.tp-aside{display:flex;flex-direction:column;gap:14px;align-self:stretch}
.tp-book{position:static;border-radius:var(--r-lg);padding:24px;box-shadow:0 30px 60px -40px rgba(23,48,31,.4)}
.tp-book__head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:18px;border-bottom:1px solid var(--line-2)}
.tp-book__head small{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600}
.tp-book__head strong{font:560 2.3rem/1.05 var(--display);letter-spacing:-.04em;color:var(--ink)}
.tp-book__head s{margin-left:8px;color:#8b8578;font-size:.95rem}
.tp-book .bookcard__opts{margin:16px 0 10px}
.tp-book .opt{border-radius:var(--r-lg)}
.tp-field{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-lg);margin-top:8px;text-align:left;background:#fff;transition:border-color .3s}
button.tp-field:hover{border-color:var(--forest)}
.tp-field>.ic{width:20px;height:20px;color:var(--forest);flex:none}
.tp-field>span{flex:1;min-width:0}
.tp-field small{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600}
.tp-field b{display:block;font-size:.92rem;color:var(--ink);font-weight:600;margin-top:2px}
.tp-field .stepper{flex:none}
.tp-addons{border:0;margin:14px 0 0;padding:0;display:grid;gap:8px}
.tp-addons legend{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600;margin-bottom:8px}
.tp-addons label{display:flex;gap:10px;align-items:center;font-size:.84rem;cursor:pointer}
.tp-addons input{width:17px;height:17px;accent-color:var(--forest);flex:none}
.tp-addons span{flex:1}
.tp-addons b{font-size:.8rem;color:var(--ink);font-weight:600}
.tp-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}
.tp-total span{font-size:.8rem;color:#5f665f}
.tp-total b{font:600 1.45rem var(--display);letter-spacing:-.03em;color:var(--ink)}
.tp-dep{margin:4px 0 14px;font-size:.76rem;color:#6f6b62;text-align:right}
.tp-book__go{width:100%;justify-content:space-between}
.tp-secure{display:flex;gap:8px;align-items:center;justify-content:center;font-size:.72rem;color:#6f6b62;margin:12px 0 0}
.tp-secure .ic{width:14px;height:14px;color:var(--ok)}
.tp-book .bookcard__alt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.tp-book .bookcard__alt .btn{font-size:.6rem;padding:0 8px;letter-spacing:.05em;gap:6px}
.tp-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;background:#fff}
.tp-card h3{display:flex;gap:10px;align-items:center;font-size:1.12rem;margin:0 0 8px}
.tp-card h3 .ic{width:19px;height:19px;color:var(--accent)}
.tp-adv__lead{font-size:.84rem;color:#5f665f;margin:0 0 12px}
.tp-adv__row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-2)}
.tp-adv__ph{width:50px;height:50px;border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;background:var(--forest);color:#fff;font:600 1.1rem var(--display)}
.tp-adv__who{flex:1;min-width:0}
.tp-adv__who b{display:block;font-size:.92rem;color:var(--ink)}
.tp-adv__who small{display:block;font-size:.74rem;color:#6f6b62;line-height:1.4}
.tp-adv__lang{display:flex!important;gap:5px;align-items:center;margin-top:2px}
.tp-adv__lang .ic{width:12px;height:12px}
.tp-adv__act{display:flex;gap:6px}
.tp-adv__act a{width:36px;height:36px;border:1px solid var(--line);border-radius:var(--r-lg);display:grid;place-items:center;color:var(--forest);transition:border-color .3s,background .3s}
.tp-adv__act a:hover{border-color:var(--forest);background:var(--paper)}
.tp-adv__act .ic{width:16px;height:16px}
.tp-adv__hours{display:flex;gap:10px;align-items:center;font-size:.76rem;color:#5f665f;margin:10px 0 0}
.tp-adv--compact{padding:12px 14px;margin-top:8px}
.tp-adv--compact .tp-adv__row{border-top:0;padding:0}
.tp-adv--compact .tp-adv__hours{margin-top:8px}
.sum__advlabel{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6f6b62;font-weight:600;margin:18px 0 0}
.tp-before ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.tp-before li{display:flex;gap:10px;font-size:.84rem;line-height:1.5;color:#3f4540}
.tp-before li .ic{width:16px;height:16px;color:var(--ok);flex:none;margin-top:3px}
.tp-before p{display:flex;flex-wrap:wrap;gap:6px 14px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line-2)}
.tp-before p a,.tp-before p button{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:650;color:var(--forest);text-decoration:underline;text-underline-offset:3px}
.tp-stick{position:sticky;top:150px;margin-top:6px;padding:18px;border-radius:var(--r-lg);background:var(--forest-d);color:#fff;display:grid;gap:10px}
.tp-stick small{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--sand)}
.tp-stick strong{font:560 1.7rem var(--display);letter-spacing:-.04em}
.tp-stick .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}

/* popups de tour */
.modal__box--md{width:min(860px,100%)}
.tp-dm .modal__head h2{font-size:clamp(1.4rem,2.6vw,2rem)}
.tp-dm__body{overflow-y:auto;padding:6px clamp(20px,4vw,40px) 30px;flex:1;overscroll-behavior:contain}
.tp-dm__body article{animation:mRise .45s var(--ease)}
.tp-dm__stats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 20px}
.tp-dm__stats span{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;background:var(--paper);border-radius:var(--r-lg);font-size:.78rem;color:var(--ink)}
.tp-dm__stats .ic{width:15px;height:15px;color:var(--forest)}
.tp-dm__nav{display:flex;justify-content:space-between;gap:10px;padding:14px clamp(16px,4vw,40px);border-top:1px solid var(--line);background:var(--paper)}
.tp-dm__nav .btn:disabled{opacity:.4;pointer-events:none}
.tp-det section{padding:24px 0;border-top:1px solid var(--line-2)}
.tp-det section:first-of-type{border-top:0;padding-top:8px}
.tp-det h3{font-size:1.3rem;margin:0 0 16px}
.tp-det .tp-specs{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px}
.tp-det__toc{position:sticky;top:-6px;z-index:2;display:flex;gap:6px;overflow-x:auto;padding:12px 0;background:#fff;scrollbar-width:none}
.tp-det__toc a{white-space:nowrap;padding:8px 11px;border:1px solid var(--line);border-radius:var(--r-lg);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--ink)}
.tp-det__toc a:hover{border-color:var(--forest)}

/* animación de cierre de los popups */
.modal.is-on .modal__box{animation:mPop .45s var(--ease)}
@keyframes mPop{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}

@media (max-width:1080px){
  .tp-aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
  .tp-stick{display:none}
}
@media (max-width:860px){
  .tp-gal{grid-template-columns:1fr;height:420px}
  .tp-gal__side{display:none}
  .tp-facts{grid-template-columns:1fr 1fr}
  .tp-facts>div:nth-child(3){padding-left:0;border-left:0}
  .tp-facts>div:nth-child(n+3){border-top:1px solid var(--line)}
  .tp-specs{grid-template-columns:1fr 1fr}
  .tp-inc,.tp-pack{grid-template-columns:1fr}
}
@media (max-width:640px){
  .tp-gal{height:300px;min-height:0;margin:0 calc(var(--gut) * -1)}
  .tp-gal button,.tp-gal__main{border-radius:0}
  .tp-title{padding-top:22px}
  .tp-actions{width:100%}
  .tp-act{flex:1;justify-content:center;padding:0 8px}
  .tp-act span{font-size:.6rem}
  .tp-day{grid-template-columns:52px minmax(0,1fr);gap:14px}
  .tp-day__n{font-size:1.7rem}
  .tp-day__go{grid-column:2;justify-self:start}
  .tp-det .tp-specs{grid-template-columns:1fr 1fr}
  .tp-dm__nav .btn span{display:none}
}

/* ===================== Itinerario en PDF (imprimir) ===================== */
@media print{
  @page{margin:14mm}
  body{font-size:11pt;color:#000;background:#fff}
  .topbar,.hdr,.tp-nav,.tp-aside,.mf,.seals,.wa-float,.totop,.toast,.mbar,.tp-gal__side,.tp-gal__btns,.tp-actions,.tp-day__go,.tp-more,.cookie,#reviews,#map,#permits,.m-sec,#bookModal,#inquiryModal,#reviewModal,#detailsModal,#mpModal,.lb,.crumbs,.btn{display:none!important}
  .tour-layout{display:block;padding:0}
  .tp-gal{height:220px;grid-template-columns:1fr}
  .tp-story{max-height:none}.tp-story::after{display:none}
  [data-reveal]{opacity:1!important;transform:none!important}
  .tsec{padding:14pt 0;break-inside:auto}
  .tp-day{break-inside:avoid}
  #dayModal{display:block!important;position:static;opacity:1;visibility:visible;background:none}
  #dayModal .modal__bg,#dayModal .modal__head,#dayModal .tp-dm__nav{display:none!important}
  #dayModal .modal__box{max-height:none;box-shadow:none;width:100%;animation:none}
  #dayModal .tp-dm__body{overflow:visible;padding:0}
  #dayModal [data-dm]{display:block!important;break-inside:avoid-page;padding-top:10pt;border-top:1px solid #ccc}
  #dayModal [data-dm]::before{content:attr(data-title);display:block;font:600 13pt var(--display);margin-bottom:6pt}
  .tp-days{display:none}
}
.tp-stick .btn--ghost{background:transparent}
#permits .tp-box{padding:4px}
#permits .tp-box .permits{max-width:640px}
.tp-act span{white-space:nowrap}
@media (max-width:640px){.tp-act{gap:6px;height:42px}.tp-act span{font-size:.56rem;letter-spacing:.06em}.tp-dm__nav{padding:12px 16px}}
@media screen and (max-width:1080px){.tour-layout aside .tp-book{display:block}}
