/* ============================================================
   QUERENCIA VIAJES · Home
   Diseño editorial de lujo (ref. reveriesafaris.com) con la
   paleta e identidad de Querencia.
   ============================================================ */
/* ---------------- TIPOGRAFÍAS DE MARCA ---------------- */
/* Cormorant Garamond · títulos y elementos display */
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-Light.woff2') format('woff2'),url('../fonts/CormorantGaramond-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-Regular.woff2') format('woff2'),url('../fonts/CormorantGaramond-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-Medium.woff2') format('woff2'),url('../fonts/CormorantGaramond-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-SemiBold.woff2') format('woff2'),url('../fonts/CormorantGaramond-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-Bold.woff2') format('woff2'),url('../fonts/CormorantGaramond-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-Italic.woff2') format('woff2'),url('../fonts/CormorantGaramond-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-MediumItalic.woff2') format('woff2'),url('../fonts/CormorantGaramond-MediumItalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/CormorantGaramond-SemiBoldItalic.woff2') format('woff2'),url('../fonts/CormorantGaramond-SemiBoldItalic.ttf') format('truetype');font-weight:600;font-style:italic;font-display:swap}
/* Futura · textos y párrafos (versión ES parcheada: á é í ó ú ñ ü ¿ ¡ · © ↓ añadidos) */
@font-face{font-family:"Futura";src:url('../fonts/FuturaES-Light.woff2') format('woff2'),url('../fonts/FuturaES-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Futura";src:url('../fonts/FuturaES-Book.woff2') format('woff2'),url('../fonts/FuturaES-Book.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Futura";src:url('../fonts/FuturaES-Medium.woff2') format('woff2'),url('../fonts/FuturaES-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Futura";src:url('../fonts/FuturaES-Demi.woff2') format('woff2'),url('../fonts/FuturaES-Demi.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Futura";src:url('../fonts/FuturaES-Bold.woff2') format('woff2'),url('../fonts/FuturaES-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  /* Paleta definitiva Querencia · roles y proporciones
     crema 40 · arena 18 · bosque 14 · raíz 12 · salvia 9 · caramelo 5 · celeste 2 */
  --crema:#F3EEE4; --hueso:#FBF8F1; --crema-2:#ECE0CC;
  --arena:#D8C6A5; --caramelo:#9B6F48; --raiz:#5B3B2C; --tierra:#3A2A1D;
  --bosque:#45533B; --salvia:#7C8A66; --celeste:#AFCED9; --celeste-soft:#CFE1E9;
  /* CTAs y fondos de profundidad = verde bosque */
  --verde:#45533B; --verde-deep:#37432E; --verde-soft:#7C8A66;
  /* alias heredados (sin naranjas): acentos en verdes de marca */
  --naranja:#7C8A66; --naranja-deep:#45533B; --oro:#45533B;
  --tinta:#5B3B2C; --tinta-soft:#7A6552; --linea:rgba(91,59,44,.16);
  --display:"Cormorant Garamond",Georgia,serif;
  --ui:"Futura",system-ui,-apple-system,sans-serif;
  --ov:linear-gradient(180deg,rgba(30,26,22,.18),rgba(30,26,22,.5));
  --maxw:1320px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ui);font-weight:300;color:var(--tinta);background:var(--crema);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
::selection{background:var(--verde);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 46px}
.eyebrow{font-family:var(--ui);font-weight:500;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--naranja-deep)}
.serif{font-family:var(--display);font-weight:400}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.06;letter-spacing:.004em}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--ui);font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:15px 30px;transition:.28s;cursor:pointer;border:none}
.btn-solid{background:var(--verde);color:var(--crema)}
.btn-solid:hover{background:var(--verde-deep)}
.btn-line{border:1px solid currentColor;background:transparent}
.btn-line:hover{background:var(--tinta);color:var(--hueso);border-color:var(--tinta)}
.ulink{font-family:var(--ui);font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta);display:inline-block;padding-bottom:4px;border-bottom:1px solid var(--linea);transition:.25s}
.ulink:hover{border-color:var(--naranja);color:var(--naranja-deep)}

/* ---------------- HEADER ---------------- */
header{position:fixed;inset:0 0 auto 0;z-index:80;transition:background .35s,box-shadow .35s}
.nav{position:relative;display:flex;align-items:center;height:88px}
.menu{display:flex;gap:28px;font-weight:400;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.menu a{position:relative;padding:6px 0;opacity:.9;transition:.2s}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .3s}
.menu a:hover{opacity:1}.menu a:hover::after{width:100%}
.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}
.nav-right{display:flex;align-items:center;gap:24px;margin-left:auto}
.nav-right .nlink{font-weight:400;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9;transition:.2s}
.nav-right .nlink:hover{opacity:1}
header.solid{background:rgba(243,238,228,.95);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--linea)}
header:not(.solid){color:#fff}
header:not(.solid) .nav{text-shadow:0 1px 16px rgba(0,0,0,.28)}
header:not(.solid) .btn-solid{background:rgba(255,255,255,.16);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.5);text-shadow:none}
header:not(.solid) .btn-solid:hover{background:#fff;color:var(--verde)}

/* burger + overlay (solo móvil) */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:30px;height:30px;background:none;border:none;cursor:pointer;margin-left:auto;z-index:95}
.burger span{display:block;width:26px;height:2px;background:currentColor;transition:transform .3s,opacity .25s}
header.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.menu-open .burger span:nth-child(2){opacity:0}
header.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;inset:0;z-index:75;background:var(--verde-deep);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .4s,transform .4s,visibility .4s}
header.menu-open ~ .mobile-nav{opacity:1;visibility:visible;transform:none}
.mobile-nav a{font-family:var(--display);font-size:2rem;font-weight:400;padding:8px 0;color:#fff}
.mobile-nav .m-cta{margin-top:18px;font-family:var(--ui);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(255,255,255,.6);padding:14px 30px;border-radius:0}
.mobile-nav .m-soc{margin-top:24px;font-family:var(--ui);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}

/* ---------------- HERO ---------------- */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.hero-bg{position:absolute;inset:0;background:var(--ov),url('../img/hero.jpg');background-size:cover;background-position:center;transform:scale(1.02);animation:kenburns 22s ease-out forwards}
.hero-inner{position:relative;z-index:2;width:100%;max-width:100ch;margin:0 auto;padding:0 24px}
.hero .eyebrow{color:rgba(255,255,255,.92)}
.hero h1{font-size:clamp(2.8rem,7vw,6rem);margin:0 auto 26px;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero p.eyebrow{display:block;margin-bottom:30px;opacity:.92}
.scrollcue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;opacity:.85;animation:bob 2.4s ease-in-out infinite}

/* ---------------- SECCIÓN GENÉRICA ---------------- */
section{position:relative}
.pad{padding:120px 0}
.lead{max-width:62ch;margin:0 auto;text-align:center}
.lead .eyebrow{color:var(--oro)}
.lead h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin:18px auto 22px}
.lead p{color:var(--tinta-soft);font-size:1.06rem}
.lead .ulink{margin-top:26px}

/* ---------------- SPLIT EDITORIAL (intro + Vero) ---------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.split.rev .s-media{order:2}
.s-media{position:relative;min-height:78vh;overflow:hidden}
.s-media .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s ease}
.s-media:hover .img{transform:scale(1.05)}
.photo-note{position:absolute;left:16px;bottom:16px;z-index:2;font-family:var(--ui);font-weight:500;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(30,26,22,.5);padding:6px 11px}
.s-text{display:flex;flex-direction:column;justify-content:center;padding:8vw 6vw}
.s-text .eyebrow{color:var(--naranja-deep)}
.s-text h2{font-size:clamp(2rem,3.6vw,3rem);margin:16px 0 22px}
.s-text p{color:var(--tinta-soft);margin-bottom:16px}
.s-text.on-green{background:var(--verde-deep);color:#fff}
.s-text.on-green .eyebrow{color:var(--celeste-soft)}
.s-text.on-green p{color:rgba(255,255,255,.86)}
.clist{list-style:none;display:flex;flex-direction:column;gap:13px;margin:6px 0 26px}
.clist li{display:flex;gap:13px;font-size:1rem}
.clist li .n{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--celeste-soft)}
.seedline{font-family:var(--display);font-style:italic;font-size:1.3rem}

/* ---------------- CARRUSEL ---------------- */
.carousel{margin-top:8px}
.c-rail{display:flex;gap:26px;max-width:var(--maxw);margin:0 auto;padding:0 46px 8px;scroll-padding-left:46px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.c-rail::-webkit-scrollbar{display:none}
.c-foot{max-width:var(--maxw);margin:30px auto 0;padding:0 46px;display:flex;align-items:center;gap:24px}
.c-progress{flex:1;height:2px;background:var(--linea);position:relative;overflow:hidden}
.c-progress span{position:absolute;left:0;top:0;height:100%;background:var(--naranja);width:25%;transition:transform .25s ease}
.c-arrows{display:flex;gap:10px}
.cbtn{width:50px;height:50px;border:1px solid var(--linea);background:transparent;font-family:var(--display);font-size:1.5rem;color:var(--tinta);cursor:pointer;transition:.2s;display:grid;place-items:center}
.cbtn:hover{background:var(--verde);color:#fff;border-color:var(--verde)}

/* tarjeta itinerario (modelo de viaje) */
.itin{flex:0 0 clamp(300px,30%,400px);scroll-snap-align:start}
.itin .img{position:relative;aspect-ratio:3/3.7;overflow:hidden;background-size:cover;background-position:center}
.itin .img i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s ease}
.itin:hover .img i{transform:scale(1.05)}
.itin .eyebrow{display:block;margin:20px 0 8px;color:var(--naranja-deep)}
.itin h3{font-size:clamp(1.5rem,2.2vw,1.9rem);margin-bottom:10px}
.itin p{font-size:.95rem;color:var(--tinta-soft);margin-bottom:16px}

/* tarjeta destino (4 maneras) */
.dest{flex:0 0 clamp(300px,30%,400px);scroll-snap-align:start;display:flex;flex-direction:column}
.dest .img{position:relative;aspect-ratio:4/4.3;overflow:hidden;background-size:cover;background-position:center;margin-bottom:20px}
.dest .img i{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s ease}
.dest:hover .img i{transform:scale(1.05)}
.dest .eyebrow{color:var(--oro)}
.dest h3{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:8px 0 10px}
.dest p{font-size:.95rem;color:var(--tinta-soft);margin-bottom:16px;flex:1}

/* ---------------- REALCE EN GRUPO ---------------- */
.feature{position:relative;min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.feature .img{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,26,22,.3),rgba(30,26,22,.55)),url('../img/familia.jpg');background-size:cover;background-position:center}
.feature .inner{position:relative;z-index:2;max-width:54ch;padding:0 24px}
.feature .eyebrow{color:rgba(255,255,255,.9)}
.feature h2{font-size:clamp(2.2rem,4.4vw,3.4rem);margin:16px 0 18px}
.feature p{opacity:.95;margin-bottom:26px}
.feature .btn-line{color:#fff;border-color:rgba(255,255,255,.7)}

/* ---------------- TESTIMONIOS ---------------- */
.testi{background:var(--crema-2);text-align:center}
.testi .eyebrow{color:var(--naranja-deep)}
.t-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;margin-top:20px}
.t-rail::-webkit-scrollbar{display:none}
.t-slide{flex:0 0 100%;scroll-snap-align:center;padding:0 6vw}
.t-slide{text-align:center}
.t-slide blockquote{font-family:var(--display);font-style:italic;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.25;margin:0 auto}
.t-slide .who{margin-top:26px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-soft)}
.t-arrows{display:flex;gap:10px;justify-content:center;margin-top:36px}

/* ---------------- GUÍAS ---------------- */
.guides .lead{text-align:left;max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.guides .lead h2{margin:10px 0 0}
.gg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.gcard .img{aspect-ratio:4/3;overflow:hidden;background-size:cover;background-position:center;margin-bottom:18px}
.gcard .img i{display:block;width:100%;height:100%;background-size:cover;background-position:center;transition:transform 1s ease}
.gcard:hover .img i{transform:scale(1.06)}
.gcard .eyebrow{color:var(--naranja-deep)}
.gcard h3{font-size:1.5rem;margin:8px 0 8px}
.gcard p{font-size:.92rem;color:var(--tinta-soft)}

/* ---------------- CIERRE ---------------- */
.start{text-align:center;background:var(--hueso)}
.start h2{font-size:clamp(2.6rem,5.5vw,4.4rem)}
.start h2 em{font-style:italic;color:var(--naranja-deep)}
.start p{font-size:1.12rem;color:var(--tinta-soft);max-width:70ch;margin:20px auto 34px}
.start .row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-wa{background:#25D366;color:#fff}.btn-wa:hover{background:#1ebe5a}

/* ---------------- FOOTER ---------------- */
footer{background:var(--bosque);color:rgba(255,255,255,.75);padding:80px 0 0;position:relative;overflow:hidden}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:36px;position:relative;z-index:2}
.fbrand{font-family:var(--display);font-size:1.7rem;letter-spacing:.3em;text-transform:uppercase;color:#fff;margin-bottom:14px}
footer h4{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:16px;font-weight:500}
footer a{display:block;padding:5px 0;font-size:.85rem;transition:.2s}
footer a:hover{color:#fff}
.fnews input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 0;font-family:var(--ui);font-size:.95rem;font-weight:300}
.fnews input::placeholder{color:rgba(255,255,255,.5)}
.fnews input:focus{outline:none;border-color:#fff}
.fnews button{margin-top:14px;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;font-family:var(--ui);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:11px 24px;cursor:pointer;transition:.2s}
.fnews button:hover{background:#fff;color:var(--bosque)}
.fwordmark{font-family:var(--display);font-size:clamp(4rem,18vw,16rem);line-height:.8;color:rgba(255,255,255,.06);text-align:center;letter-spacing:.04em;margin-top:50px;user-select:none;white-space:nowrap}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:70px;padding:28px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6;position:relative;z-index:2}

/* ---------------- WHATSAPP ---------------- */
.wa{position:fixed;right:22px;bottom:22px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(0,0,0,.45);transition:.2s}
.wa:hover{transform:scale(1.08)}

/* ---------------- ANIMACIONES ---------------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .wrap,.c-foot{padding-left:34px;padding-right:34px}
  /* Carruseles en responsive: aire de página solo a la izquierda; las tarjetas
     sangran hasta el borde derecho y el aire derecho aparece solo al final. */
  .c-rail{padding-left:34px;padding-right:0;scroll-padding-left:34px}
  .c-rail::after{content:"";flex:0 0 34px;margin-left:-26px}
  .gg{grid-template-columns:1fr 1fr}
  .pad{padding:96px 0}
}
@media(max-width:920px){
  .menu,.nav-right{display:none}
  .brand{position:static;transform:none;left:auto;font-size:1.45rem;margin-right:auto}
  .burger{display:flex}
  header:not(.solid) .burger span{box-shadow:0 1px 6px rgba(0,0,0,.35)}
  .split,.split.rev{grid-template-columns:1fr}
  .split.rev .s-media{order:0}
  .s-media{min-height:62vw}
  .s-text{padding:64px 32px}
  .itin,.dest{flex-basis:74%}
  .t-slide{padding:0 28px}
  .feature{min-height:64vh}
}
@media(max-width:600px){
  .wrap,.c-foot{padding-left:20px;padding-right:20px}
  .c-rail{padding-left:20px;padding-right:0;scroll-padding-left:20px}
  .c-rail::after{flex:0 0 20px}
  .pad{padding:72px 0}
  .hero p{font-size:1.2rem}
  .hero p.eyebrow{font-size:.7rem}
  .lead p,.s-text p{font-size:1rem}
  .gg{grid-template-columns:1fr}
  .itin,.dest{flex-basis:84%}
  .fgrid{grid-template-columns:1fr 1fr}
  .s-text{padding:52px 24px}
  .btn{padding:14px 24px}
  .wa{width:52px;height:52px;right:16px;bottom:16px}
}
@media(max-width:400px){ .fgrid{grid-template-columns:1fr} }
@media(prefers-reduced-motion:reduce){
  .rv{transition:none;opacity:1;transform:none}
  .hero-bg{animation:none}.scrollcue{animation:none}
  html{scroll-behavior:auto}
  .s-media .img,.itin .img i,.dest .img i,.gcard .img i{transition:none}
}

/* ============================================================
   SECCIONES CON DESENFOQUE EN CORTINA AL HACER SCROLL
   (Qué es Querencia · ¿Viajáis en grupo?)
   Capa nítida + copia borrosa que se revela de abajo arriba.
   ============================================================ */
.blurscroll{position:relative;height:220vh;background:var(--crema)}
.bs-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.bs-img{position:absolute;inset:0;background-size:cover;background-position:center}
.bs-blur{position:absolute;inset:0;z-index:1;
  clip-path:inset(var(--cut,100%) 0 0 0);-webkit-clip-path:inset(var(--cut,100%) 0 0 0)}
.bs-blur-img{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:blur(16px);-webkit-filter:blur(16px);transform:scale(1.1)}
.bs-tint{position:absolute;inset:0;background:rgba(28,34,26,.5)}
.bs-content{position:relative;z-index:2;text-align:center;color:#fff;max-width:100%;padding:0 28px;
  opacity:var(--qo,0);transform:translateY(calc((1 - var(--qo,0)) * 36px));will-change:opacity,transform}
.quere-content{max-width:100%}
.bs-content .eyebrow{color:rgba(255,255,255,.92)}
.bs-content h2{font-size:clamp(2.2rem,4.8vw,4rem);margin:16px 0 20px;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.bs-content p{font-family:var(--display);font-style:italic;font-size:clamp(1.15rem,2vw,1.5rem);max-width:46ch;margin:0 auto 24px;opacity:.96}
.bs-content .ulink{color:#fff;border-color:rgba(255,255,255,.65)}
.bs-content .ulink:hover{border-color:#fff;color:#fff}
.bs-content .btn-line{color:#fff;border-color:rgba(255,255,255,.7)}
.bs-content .btn-line:hover{background:#fff;color:var(--verde)}
@media(max-width:600px){ .blurscroll{height:200vh} }
@media(prefers-reduced-motion:reduce){
  .blurscroll{height:auto}
  .bs-sticky{position:relative;height:auto;min-height:80vh;padding:90px 0}
  .bs-blur{clip-path:none;-webkit-clip-path:none}
  .bs-content{opacity:1;transform:none}
}

/* ============================================================
   MARCA / LOGOTIPOS DEFINITIVOS
   ============================================================ */
.fbrand-logo{width:72px;height:auto;margin-bottom:18px}
@media(max-width:600px){ .fbrand-logo{width:60px} }

/* Logo de cabecera: SVG oficial, crema sobre foto y bosque con header sólido */
.brand{display:flex;align-items:center;justify-content:center}
.brand-logo{height:40px;width:auto;display:block}
.brand-logo--bosque{display:none}
header.solid .brand-logo--crema{display:none}
header.solid .brand-logo--bosque{display:block}
header:not(.solid) .brand-logo{filter:drop-shadow(0 1px 12px rgba(0,0,0,.28))}
@media(max-width:920px){ .brand-logo{height:32px} }
/* calidez arena (papelería) en la sección de guías */
.guides{background:var(--crema-2)}

/* ---------------- PÁGINAS INTERIORES ----------------
   Reutilizan el sistema existente; solo se añade lo imprescindible. */
.page-hero{padding:200px 0 88px;text-align:center}
.page-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);max-width:20ch;margin:18px auto 0}
.page-hero .sub{max-width:56ch;margin:24px auto 0;color:var(--tinta-soft);font-size:1.08rem}
/* héroe con imagen de las páginas interiores (mismo lenguaje que la home) */
.hero--page{height:78vh;min-height:520px}
.hero--page h1{font-size:clamp(2.5rem,5.6vw,4.8rem)}
.hero--page .sub{position:relative;z-index:2;max-width:58ch;margin:22px auto 0;font-size:1.06rem;opacity:.95;text-shadow:0 1px 18px rgba(0,0,0,.3)}
.hero--page .hero-bg{background-image:var(--ov),var(--hero-img);animation:kenburns 22s ease-out forwards}
/* banda de citas (casos y frases de Vero) */
.quotes{background:var(--crema-2);padding:110px 0}
.quotes .t-slide figcaption{margin-top:22px;font-family:var(--ui);font-weight:500;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tinta-soft)}
/* mapa apaisado de destinos (paleta de marca, estático) */
.globewrap{position:relative;max-width:min(94vw,1120px);margin:40px auto 0}
#qmapa{width:100%;height:auto;display:block;user-select:none}
#qmapa .mc{fill:var(--crema-2);stroke:rgba(91,59,44,.2);stroke-width:.5;transition:opacity .3s}
#qmapa .on{cursor:pointer;stroke:rgba(255,255,255,.6);stroke-width:.7;transition:opacity .3s}
#qmapa .on[data-region="europa"]{fill:var(--salvia)}
#qmapa .on[data-region="america"]{fill:var(--celeste)}
#qmapa .on[data-region="milenarias"]{fill:var(--caramelo)}
#qmapa .on[data-region="sudeste"]{fill:var(--bosque)}
#qmapa .on.hov{filter:brightness(1.28) saturate(1.08);stroke:#fff;stroke-width:1.4}
#qmapa .dot{stroke:none}
.globewrap.dim #qmapa .mc:not(.on){opacity:.25}
.globewrap.dim #qmapa .on:not(.hov){opacity:.3}
.globe-card{position:absolute;z-index:6;transform:translate(-50%,calc(-100% - 16px));background:var(--hueso);border:1px solid var(--linea);box-shadow:0 22px 55px rgba(30,26,22,.2);padding:18px 24px 20px;text-align:center;min-width:200px;opacity:0;visibility:hidden;transition:opacity .2s}
.globe-card.show{opacity:1;visibility:visible}
.globe-card::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--hueso)}
.globe-card .eyebrow{font-size:.56rem;display:block;margin-bottom:2px}
.globe-card h4{font-family:var(--display);font-size:1.4rem;font-weight:500;margin:2px 0 12px;color:var(--tinta)}
.gc-btn{display:inline-block;font-family:var(--ui);font-weight:500;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;background:var(--verde);color:var(--crema);padding:10px 18px;transition:.2s}
.gc-btn:hover{background:var(--verde-deep)}
.map-legend{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:30px;font-family:var(--ui);font-weight:500;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-soft)}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.map-legend i{width:11px;height:11px;display:inline-block}
.toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,20px);background:var(--tierra);color:var(--crema);font-family:var(--ui);font-weight:500;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:14px 24px;opacity:0;transition:.35s;z-index:120;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
/* buscador y grupos de destinos (compacto) */
.ftabs{display:flex;flex-wrap:wrap;gap:8px 30px;justify-content:center;margin-top:46px}
.ftab{background:none;border:none;cursor:pointer;font-family:var(--ui);font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-soft);padding:8px 2px;position:relative;transition:color .2s}
.ftab::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--naranja-deep);transform:scaleX(0);transition:transform .3s}
.ftab:hover{color:var(--tinta)}
.ftab.active{color:var(--naranja-deep)}
.ftab.active::after{transform:scaleX(1)}
.fcount{text-align:center;margin-top:24px;font-family:var(--ui);font-weight:500;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--tinta-soft)}
.dgroups{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:34px;max-width:var(--maxw);margin:36px auto 0;padding:0 46px}
.dgroup2 h3{font-size:1.3rem;margin-bottom:2px}
.dgroup2 .eyebrow{display:block;font-size:.56rem;margin-bottom:12px}
.dlist2{display:flex;flex-direction:column}
.dlist2.two{display:block;columns:2;column-gap:26px}
.dlist2 a{display:block;font-size:.92rem;color:var(--tinta-soft);line-height:2.05;border-bottom:1px solid transparent;transition:.2s;break-inside:avoid}
.dlist2 a:hover{color:var(--naranja-deep);padding-left:6px}
.dgroups.single{display:block;max-width:760px;text-align:center}
.dgroups.single .dgroup2{margin:0 auto}
.dgroups.single .dlist2,.dgroups.single .dlist2.two{display:block;columns:3;column-gap:40px;text-align:left}
.dxtra{text-align:center;margin-top:40px;font-size:.92rem;color:var(--tinta-soft)}
.dxtra a{border-bottom:1px solid var(--linea);padding-bottom:2px;margin:0 5px;transition:.2s;white-space:nowrap}
.dxtra a:hover{color:var(--naranja-deep);border-color:var(--naranja)}
@media(max-width:1100px){ .dgroups{grid-template-columns:1fr 1fr 1fr;padding:0 34px} .dgroup2:first-child{grid-column:span 2} }
@media(max-width:920px){ .dgroups{grid-template-columns:1fr 1fr} .dgroup2:first-child{grid-column:span 2} .dgroups.single .dlist2{columns:2} }
@media(max-width:600px){ .dgroups{grid-template-columns:1fr;gap:26px;padding:0 20px} .dgroup2:first-child{grid-column:auto} .dlist2 a{line-height:2.2} .dgroups.single .dlist2{columns:2;column-gap:22px} .ftabs{gap:4px 22px} }
/* menú desplegable de Viajes */
.menu .has-sub{position:relative}
.menu .has-sub>a{display:inline-flex;align-items:center;gap:7px}
.menu .has-sub>a::after{content:"";width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.menu .has-sub:hover>a::after{transform:rotate(225deg) translateY(-1px)}
.menu .has-sub::before{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:22px}
.submenu{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%,10px);background:var(--hueso);border:1px solid var(--linea);box-shadow:0 24px 60px rgba(30,26,22,.16);padding:12px 0;min-width:250px;opacity:0;visibility:hidden;transition:.28s;z-index:95;text-align:left}
.menu .has-sub:hover .submenu,.menu .has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.submenu a{display:block;padding:12px 28px;color:var(--tinta);opacity:.85;letter-spacing:.16em}
.submenu a::after{display:none}
.submenu a:hover{background:var(--crema);opacity:1}
.mobile-nav .m-group{font-family:var(--ui);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:14px}
.mobile-nav a.m-sub{font-size:1.35rem;padding:4px 0;opacity:.95}
.plead{max-width:66ch;margin:0 auto;text-align:center}
.plead--full{max-width:none}
.plead h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin:14px auto 20px}
.plead p{color:var(--tinta-soft);margin-bottom:16px}
.qlist{max-width:60ch;margin:34px auto 0;text-align:left;list-style:none}
.qlist li{font-family:var(--display);font-style:italic;font-size:1.25rem;padding:14px 0;border-bottom:1px solid var(--linea)}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:54px}
.pillar{border:1px solid var(--linea);padding:30px 26px}
.pillar .n{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--salvia);display:block;margin-bottom:12px}
.pillar h3{font-size:1.15rem;margin-bottom:10px}
.pillar p{font-size:.92rem;color:var(--tinta-soft)}
@media(max-width:1100px){ .pillars{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .pillars{grid-template-columns:1fr} .page-hero{padding:150px 0 64px} }
.gg.gg-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){ .gg.gg-3{grid-template-columns:1fr 1fr} }
@media(max-width:600px){ .gg.gg-3{grid-template-columns:1fr} }
/* buscador y menú de destinos */
.dsearch{max-width:520px;margin:40px auto 0}
.dsearch input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--tinta-soft);color:var(--tinta);padding:12px 2px;font-family:var(--ui);font-size:1.05rem;font-weight:300}
.dsearch input:focus{outline:none;border-color:var(--bosque)}
.dsearch input::placeholder{color:var(--tinta-soft);opacity:.7}
.dgroup{margin-top:52px}
.dgroup h3{font-size:1.5rem;margin-bottom:6px}
.dgroup .eyebrow{display:block;margin-bottom:18px}
.dlist{display:flex;flex-wrap:wrap;gap:10px}
.dlist a{border:1px solid var(--linea);padding:10px 18px;font-family:var(--ui);font-weight:500;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;transition:.2s}
.dlist a:hover{background:var(--verde);border-color:var(--verde);color:var(--crema)}
/* páginas legales */
.legal{max-width:76ch;margin:0 auto}
.legal h2{font-size:1.4rem;margin:38px 0 14px}
.legal p{font-size:.95rem;color:var(--tinta-soft);margin-bottom:16px;line-height:1.8}
.legal p strong{color:var(--tinta)}
/* enlaces legales del pie */
.fbot .flegal a{opacity:.8;transition:.2s}
.fbot .flegal a:hover{opacity:1;text-decoration:underline}

/* Aviso de imágenes en pruebas (feedback Vero: no dar fotos por definitivas) */
.gcard .img{position:relative}
.bs-sticky .photo-note{left:24px;bottom:24px}

/* ---------------- AJUSTE CORMORANT (solo títulos) ----------------
   La Cormorant tiene trazo más fino que la Hello Paris: medio peso
   más en titulares para mantener presencia. */
h1,h2,h3{font-weight:500;line-height:1.1}
