/* ============================================================
   Cúspide Travel — sistema visual "Sala del oro"
   Fusión Cúspide (cordillera + sol ámbar) × Alquimia del Alma
   (noche, oro viejo, símbolo). Fraunces es la serif que ya
   comparten las dos marcas: ese es el gozne.
   ============================================================ */

:root{
  /* Noche de páramo — el fondo de sala donde el oro y la foto brillan */
  --noche:      #12201b;
  --noche-2:    #1b2e27;
  --noche-3:    #264136;

  /* Oro precolombino: punto medio entre el ámbar Cúspide (#F4B400)
     y el oro Alquimia (#C49A48). Único acento fuerte de la página. */
  --oro:        #c9a24d;
  --oro-claro:  #e4c67f;
  --oro-tenue:  rgba(201,162,77,.22);

  /* Papel: banda de luz, el "afuera" */
  --papel:      #f4efe2;
  --papel-2:    #eae2d0;
  --tinta:      #191712;
  --tinta-2:    #554e40;

  --barro:      #a85f42;   /* cerámica, San Agustín — uso mínimo */
  --musgo:      #93ab90;   /* vegetal, textos secundarios sobre noche */

  --linea-noche: rgba(201,162,77,.20);
  --linea-papel: rgba(25,23,18,.13);

  --display: 'Fraunces', 'Palatino Linotype', 'Book Antiqua', Palatino, Georgia, serif;
  --sans:    'Jost', 'Segoe UI', system-ui, -apple-system, Helvetica, Arial, sans-serif;

  --max:  1200px;
  --pad:  clamp(1.25rem, 5vw, 3rem);
  --band: clamp(4.5rem, 9vw, 8rem);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--sans);
  font-size:clamp(1rem, .96rem + .2vw, 1.075rem);
  line-height:1.72;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:400;
  font-variation-settings:'SOFT' 20,'WONK' 1,'opsz' 48;
  line-height:1.08;
  letter-spacing:-.015em;
  text-wrap:balance;
  margin:0;
}

a{ color:inherit; }

.wrap{ max-width:var(--max); margin-inline:auto; padding-inline:var(--pad); }
.narrow{ max-width:62ch; }

/* --- Rótulo de cota: la etiqueta de sección como altura sobre el mar,
       el mismo lenguaje de "cotas" del sitio institucional ------------ */
.cota{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:flex; align-items:center; gap:.7rem;
  margin:0 0 1.1rem;
}
.cota::after{ content:''; flex:1; height:1px; background:currentColor; opacity:.28; }
.cota--noche{ color:var(--oro); }
.cota--papel{ color:var(--barro); }

/* ---------------- Encabezado ---------------- */
.top{
  position:sticky; top:env(safe-area-inset-top, 0px); z-index:60;
  background:rgba(18,32,27,.90);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linea-noche);
}
.top__in{
  display:flex; align-items:center; gap:1.5rem;
  min-height:68px;
}
.marca{ display:flex; align-items:baseline; gap:.45rem; text-decoration:none; margin-right:auto; }
.marca__c{
  font-family:var(--display); font-size:1.32rem; color:var(--papel);
  letter-spacing:.01em;
}
.marca__t{
  font-family:var(--sans); font-size:.68rem; font-weight:500;
  letter-spacing:.28em; text-transform:uppercase; color:var(--oro);
}
.menu{ display:flex; gap:1.6rem; list-style:none; margin:0; padding:0; }
.menu a{
  text-decoration:none; color:var(--papel-2);
  font-size:.86rem; letter-spacing:.05em;
  padding-block:.4rem; border-bottom:1px solid transparent;
}
.menu a:hover,.menu a:focus-visible{ color:var(--oro-claro); border-bottom-color:var(--oro); }

.btn{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--sans); font-size:.85rem; font-weight:500;
  letter-spacing:.06em; text-decoration:none;
  padding:.72rem 1.3rem; border-radius:2px;
  border:1px solid var(--oro); color:var(--noche); background:var(--oro);
  transition:background .25s ease, color .25s ease;
}
.btn:hover,.btn:focus-visible{ background:var(--oro-claro); border-color:var(--oro-claro); }
.btn--ghost{ background:transparent; color:var(--oro); }
.btn--ghost:hover,.btn--ghost:focus-visible{ background:var(--oro); color:var(--noche); }
.btn--tinta{ background:var(--tinta); border-color:var(--tinta); color:var(--papel); }
.btn--tinta:hover,.btn--tinta:focus-visible{ background:var(--barro); border-color:var(--barro); }

.burger{
  display:none; background:none; border:1px solid var(--linea-noche);
  color:var(--oro); padding:.5rem .7rem; border-radius:2px; cursor:pointer;
  font-size:1.05rem; line-height:1;
}

a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--oro); outline-offset:3px;
}

/* texto solo para lectores de pantalla */
.vh{ position:absolute; width:1px; height:1px; padding:0; margin:-1px;
     overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---------------- Selector de idioma ---------------- */
.idioma{
  display:flex; align-items:center; gap:.1rem;
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--linea-noche); border-radius:2px;
  padding:.2rem; flex:0 0 auto;
}
.idioma a{
  display:block; text-decoration:none; color:var(--musgo);
  padding:.34rem .5rem; border-radius:1px; line-height:1;
  transition:color .2s ease, background .2s ease;
}
.idioma a:hover,.idioma a:focus-visible{ color:var(--oro-claro); }
.idioma a[aria-current="page"]{ background:var(--oro); color:var(--noche); }

/* ---------------- Portada ---------------- */
.hero{
  position:relative; isolation:isolate;
  background:var(--noche);
  color:var(--papel);
  padding-block:clamp(5rem,14vw,10rem) clamp(4rem,10vw,7rem);
  overflow:hidden;
}
.hero__img{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover;
}
.hero::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(18,32,27,.86) 0%, rgba(18,32,27,.60) 45%, rgba(18,32,27,.94) 100%),
    radial-gradient(120% 80% at 78% 18%, rgba(201,162,77,.20), transparent 60%);
}
.hero__in{ position:relative; max-width:20ch; }
.hero h1{
  font-size:clamp(2.6rem, 6.4vw, 5.1rem);
  font-variation-settings:'SOFT' 30,'WONK' 1,'opsz' 144;
  font-weight:300;
  max-width:14ch;
}
.hero h1 em{ font-style:italic; color:var(--oro-claro); }
.hero p{
  max-width:46ch; margin:1.6rem 0 2.2rem;
  color:#ded6c4; font-size:1.1rem;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.9rem; }
.hero__in{ max-width:none; }

/* Cordillera + sol: el ADN del logo, dibujado a un solo trazo */
.cordillera{ display:block; width:100%; height:auto; color:var(--oro); }
.hero .cordillera{ margin-bottom:2.2rem; max-width:220px; }

/* ---------------- Franja de confianza ---------------- */
.trust{ background:var(--noche-2); color:var(--musgo); border-top:1px solid var(--linea-noche); }
.trust__in{
  display:flex; flex-wrap:wrap; gap:.6rem 2.4rem;
  padding-block:1.1rem;
  font-size:.79rem; letter-spacing:.11em; text-transform:uppercase;
}
.trust__in b{ color:var(--oro); font-weight:500; }

/* ---------------- Bandas ---------------- */
.band{ padding-block:var(--band); }
.band--papel{ background:var(--papel); color:var(--tinta); }
.band--papel-2{ background:var(--papel-2); color:var(--tinta); }
.band--noche{ background:var(--noche); color:var(--papel); }
.band--noche h2,.band--noche h3{ color:var(--papel); }

.band__head{ margin-bottom:clamp(2.5rem,5vw,4rem); }
.band__head h2{ font-size:clamp(2rem,4.2vw,3.2rem); max-width:18ch; }
.band__head p{ max-width:58ch; margin:1.1rem 0 0; color:var(--tinta-2); font-size:1.05rem; }
.band--noche .band__head p{ color:var(--musgo); }

/* ---------------- Experiencias (4 modos paralelos) ---------------- */
.modos{ display:grid; gap:clamp(1.5rem,3vw,2.4rem); grid-template-columns:repeat(2,1fr); }
.modo{
  display:flex; flex-direction:column;
  background:#fbf8f0;
  border:1px solid var(--linea-papel);
  text-decoration:none; color:inherit;
  transition:border-color .3s ease, transform .3s ease;
}
.modo:hover,.modo:focus-visible{ border-color:var(--barro); transform:translateY(-3px); }
.modo__img{ aspect-ratio:16/10; width:100%; height:auto; object-fit:cover; max-width:100%; filter:saturate(.92); }
.modo__body{ padding:clamp(1.4rem,2.6vw,2rem); display:flex; flex-direction:column; gap:.9rem; flex:1; }
.modo h3{ font-size:clamp(1.35rem,2.2vw,1.72rem); }
.modo p{ margin:0; color:var(--tinta-2); font-size:.98rem; }
.chips{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:auto; padding-top:.4rem; }
.chip{
  font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
  padding:.3rem .65rem; border:1px solid var(--linea-papel);
  color:var(--tinta-2); background:#fff;
}
.modo__mas{
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--barro); display:inline-flex; align-items:center; gap:.45rem;
}

/* ---------------- Banda ancestral (la fusión) ---------------- */
.ancestral{ background:var(--noche); color:var(--papel); overflow:hidden; }
.ancestral__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch; gap:0;
  max-width:1400px; margin-inline:auto;
}
.ancestral__img{ width:100%; height:100%; min-height:380px; object-fit:cover; }
.ancestral__txt{
  padding:clamp(2.5rem,6vw,5.5rem) clamp(1.5rem,5vw,4.5rem);
  display:flex; flex-direction:column; justify-content:center; gap:1.4rem;
}
.ancestral__txt h2{ font-size:clamp(1.9rem,3.6vw,2.9rem); max-width:16ch; }
.ancestral__txt p{ margin:0; color:#d8d0be; max-width:52ch; }
.protocolo{ list-style:none; margin:.4rem 0 0; padding:0; display:grid; gap:.85rem; }
.protocolo li{
  padding-left:1.6rem; position:relative;
  font-size:.95rem; color:#cdc6b4;
}
.protocolo li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:.7rem; height:1px; background:var(--oro);
}
.protocolo b{ color:var(--oro-claro); font-weight:500; }

/* ---------------- Destinos (mosaico) ---------------- */
.mosaico{ display:grid; gap:clamp(1rem,2vw,1.6rem); grid-template-columns:repeat(3,1fr); }
.dest{
  position:relative; display:flex; align-items:flex-end;
  min-height:290px; overflow:hidden;
  text-decoration:none; color:var(--papel);
  background:var(--noche-2);
}
.dest--ancha{ grid-column:span 2; min-height:340px; }
.dest__img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
  transition:transform .7s cubic-bezier(.2,.7,.3,1);
}
.dest:hover .dest__img,.dest:focus-visible .dest__img{ transform:scale(1.06); }
.dest::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(18,32,27,.05) 30%, rgba(18,32,27,.88) 100%);
}
.dest__body{ position:relative; z-index:2; padding:clamp(1.2rem,2.4vw,1.8rem); width:100%; }
.dest__reg{
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--oro); display:block; margin-bottom:.4rem;
}
.dest h3{ font-size:clamp(1.3rem,2.2vw,1.85rem); }
.dest p{ margin:.5rem 0 0; font-size:.92rem; color:#ded6c4; max-width:42ch; }
.dest--casa .dest__reg{ color:var(--oro-claro); }
.dest--casa .dest__reg::after{
  content:' · nuestra casa'; color:var(--musgo); letter-spacing:.14em;
}

/* ---------------- Método (secuencia real: 5 pasos) ---------------- */
.pasos{ counter-reset:paso; display:grid; gap:0; }
.paso{
  counter-increment:paso;
  display:grid; grid-template-columns:5.5rem 1fr;
  gap:clamp(1rem,3vw,2.5rem);
  padding-block:clamp(1.6rem,3vw,2.3rem);
  border-top:1px solid var(--linea-noche);
}
.paso:last-child{ border-bottom:1px solid var(--linea-noche); }
.paso::before{
  content:counter(paso,decimal-leading-zero);
  font-family:var(--display); font-size:2.1rem; font-weight:300;
  color:var(--oro); line-height:1; padding-top:.15rem;
  font-variant-numeric:tabular-nums;
}
.paso h3{ font-size:1.3rem; margin-bottom:.5rem; }
.paso p{ margin:0; color:var(--musgo); max-width:60ch; }

/* ---------------- Sostenibilidad ---------------- */
.sost{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.6rem,3vw,3rem); }
.sost__col{ border-top:2px solid var(--barro); padding-top:1.4rem; }
.sost__col:nth-child(2){ border-top-color:var(--oro); }
.sost__col:nth-child(3){ border-top-color:#6b8a6e; }
.sost__col h3{ font-size:1.32rem; margin-bottom:.7rem; }
.sost__col p{ color:var(--tinta-2); font-size:.97rem; margin:0 0 1rem; }
.sost__col ul{ margin:0; padding-left:1.1rem; color:var(--tinta-2); font-size:.93rem; }
.sost__col li{ margin-bottom:.35rem; }

/* ---------------- Preguntas ---------------- */
.faq{ max-width:80ch; }
.faq details{
  border-top:1px solid var(--linea-papel);
  padding-block:1.15rem;
}
.faq details:last-of-type{ border-bottom:1px solid var(--linea-papel); }
.faq summary{
  cursor:pointer; list-style:none;
  font-family:var(--display); font-size:1.13rem; font-weight:400;
  display:flex; gap:1rem; align-items:flex-start; justify-content:space-between;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; color:var(--barro); font-family:var(--sans); font-size:1.3rem; line-height:1; }
.faq details[open] summary::after{ content:'–'; }
.faq p{ margin:.85rem 0 0; color:var(--tinta-2); font-size:.99rem; max-width:68ch; }

/* ---------------- Cierre ---------------- */
.cierre{ background:var(--noche-2); color:var(--papel); text-align:left; }
.cierre h2{ font-size:clamp(2rem,4.4vw,3.2rem); max-width:16ch; }
.cierre p{ color:var(--musgo); max-width:52ch; margin:1.1rem 0 2rem; }
.cierre__cta{ display:flex; flex-wrap:wrap; gap:.9rem; }

/* ---------------- Pie ---------------- */
.pie{ background:var(--noche); color:var(--musgo); padding-block:clamp(3rem,6vw,4.5rem) 0; font-size:.92rem; }
.pie__grid{ display:flex; flex-wrap:wrap; gap:2.5rem 3rem; }
.pie__marca{ flex:1 1 260px; max-width:340px; }
.pie__marca p{ margin:1rem 0 0; }
.pie__col{ flex:1 1 150px; }
.pie h4{
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--oro);
  margin:0 0 .9rem;
}
.pie ul{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.pie a{ text-decoration:none; }
.pie a:hover,.pie a:focus-visible{ color:var(--oro-claro); text-decoration:underline; }
.pie__legal{
  margin-top:clamp(2.5rem,5vw,3.5rem);
  border-top:1px solid var(--linea-noche);
  padding-block:1.6rem 2.2rem;
  font-size:.8rem; line-height:1.65; color:#7e9480;
  display:grid; gap:.7rem;
}
.pie__legal strong{ color:var(--musgo); font-weight:500; }

/* ---------------- Alianza Alquimia del Alma (pie) ---------------- */
.pie__alianza{
  margin-top:1.6rem; padding-top:1.4rem;
  border-top:1px solid var(--linea-noche);
  display:flex; align-items:center; gap:.95rem;
}
.pie__alianza img{
  width:66px; height:66px; flex:0 0 66px;
  object-fit:contain; opacity:.92;
}
.pie__alianza a{ display:flex; align-items:center; gap:.95rem; text-decoration:none; color:inherit; }
.pie__alianza a:hover img,.pie__alianza a:focus-visible img{ opacity:1; }
.pie__alianza span{ display:block; }
.pie__alianza b{
  display:block; font-family:var(--display); font-size:1.02rem;
  font-weight:400; color:var(--papel-2); letter-spacing:.01em;
}
.pie__alianza em{
  display:block; font-style:normal;
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--oro); margin-bottom:.25rem;
}

/* ---------------- Formulario ---------------- */
.form{ display:grid; gap:1.1rem; max-width:560px; }
.form label{
  display:block; font-size:.76rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--musgo); margin-bottom:.4rem;
}
.form input,.form select,.form textarea{
  width:100%; padding:.8rem .9rem;
  background:rgba(255,255,255,.05);
  border:1px solid var(--linea-noche);
  color:var(--papel); font-family:var(--sans); font-size:1rem; border-radius:2px;
}
.form textarea{ min-height:120px; resize:vertical; }
.form .acepto{
  display:flex; gap:.7rem; align-items:flex-start;
  font-size:.83rem; color:var(--musgo); text-transform:none; letter-spacing:0;
}
.form .acepto input{ width:auto; margin-top:.25rem; }
.form__nota{ font-size:.83rem; color:#7e9480; margin:0; }

/* ---------------- Responsive ---------------- */
@media (max-width: 960px){
  .menu{
    position:absolute; top:100%; left:0; right:0;
    flex-direction:column; gap:0;
    background:var(--noche); border-bottom:1px solid var(--linea-noche);
    padding:.5rem var(--pad) 1.2rem;
  }
  .menu[hidden]{ display:none; }
  .menu a{ display:block; padding-block:.8rem; border-bottom:1px solid var(--linea-noche); }
  .burger{ display:block; order:3; }
  .top__in .btn{ display:none; }
  .idioma{ order:2; margin-left:auto; }
  .pie__alianza{ margin-top:1.4rem; }
  .ancestral__grid{ grid-template-columns:1fr; }
  .ancestral__img{ min-height:280px; }
  .mosaico{ grid-template-columns:repeat(2,1fr); }
  .dest--ancha{ grid-column:span 2; }
  .sost{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .modos{ grid-template-columns:1fr; }
  .mosaico{ grid-template-columns:1fr; }
  .dest--ancha{ grid-column:span 1; }
  .paso{ grid-template-columns:1fr; gap:.6rem; }
  .paso::before{ font-size:1.6rem; }
  .trust__in{ gap:.35rem 1.4rem; font-size:.72rem; }
}

/* ============================================================
   PÁGINAS INTERNAS — mismo sistema, componentes propios
   ============================================================ */

/* --- Portada de página interna --- */
.ihero{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--noche); color:var(--papel);
  padding-block:clamp(4rem,11vw,8rem) clamp(3rem,7vw,5rem);
}
.ihero__img{ position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.ihero::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(18,32,27,.88) 0%, rgba(18,32,27,.55) 40%, rgba(18,32,27,.95) 100%),
    radial-gradient(110% 70% at 80% 15%, rgba(201,162,77,.18), transparent 62%);
}
.ihero h1{
  font-size:clamp(2.2rem,5.2vw,4rem);
  font-variation-settings:'SOFT' 30,'WONK' 1,'opsz' 144; font-weight:300;
  max-width:18ch;
}
.ihero__sub{ margin:1.2rem 0 0; max-width:50ch; color:#ded6c4; font-size:1.08rem; }
.ihero--texto{ padding-block:clamp(4.5rem,12vw,8.5rem) clamp(3rem,7vw,5rem); }
.ihero--texto::before{
  background:linear-gradient(180deg, rgba(18,32,27,.80) 0%, rgba(18,32,27,.70) 100%),
             radial-gradient(90% 70% at 75% 20%, rgba(201,162,77,.22), transparent 60%);
}

/* --- Miga de pan --- */
.miga{ font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; margin:0 0 1.4rem; color:var(--musgo); }
.miga a{ color:var(--oro); text-decoration:none; }
.miga a:hover{ text-decoration:underline; }
.miga span{ opacity:.55; margin-inline:.45rem; }

/* --- Ficha de datos del destino --- */
.ficha{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--linea-noche); border-bottom:1px solid var(--linea-noche);
  background:var(--noche-2);
}
.ficha__d{ padding:1.4rem clamp(1rem,2.5vw,1.8rem); border-left:1px solid var(--linea-noche); }
.ficha__d:first-child{ border-left:0; }
.ficha__d h4{
  font-family:var(--sans); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--oro); margin:0 0 .45rem;
}
.ficha__d p{ margin:0; color:var(--papel); font-size:1rem; }

/* --- Prosa --- */
.prosa{ max-width:68ch; }
.prosa p{ margin:0 0 1.1rem; }
.prosa p:last-child{ margin-bottom:0; }
.band--papel .prosa p,.band--papel-2 .prosa p{ color:var(--tinta-2); }
.band--noche .prosa p{ color:var(--musgo); }
.prosa--intro p:first-child{ font-size:1.16rem; color:var(--tinta); }
.band--noche .prosa--intro p:first-child{ color:var(--papel); }

/* --- Fila editorial (lugares, elementos) --- */
.filas{ display:grid; gap:clamp(2.5rem,5vw,4.5rem); }
.fila{
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:clamp(1.5rem,4vw,3.2rem); align-items:center;
}
.fila:nth-child(even){ direction:rtl; }
.fila:nth-child(even) > *{ direction:ltr; }
.fila__img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; max-width:100%; }
.fila h3{ font-size:clamp(1.4rem,2.6vw,2rem); margin-bottom:.9rem; }
.fila p{ margin:0 0 .9rem; }
.fila p:last-child{ margin-bottom:0; }
.band--papel .fila p,.band--papel-2 .fila p{ color:var(--tinta-2); }
.band--noche .fila p{ color:var(--musgo); }

/* Variante sin fotografía: lista con numeración y regla de oro */
.lista{ counter-reset:item; display:grid; }
.lista__i{
  counter-increment:item;
  display:grid; grid-template-columns:4rem 1fr; gap:clamp(1rem,3vw,2.2rem);
  padding-block:clamp(1.5rem,3vw,2.2rem);
  border-top:1px solid var(--linea-papel);
}
.band--noche .lista__i{ border-top-color:var(--linea-noche); }
.lista__i:last-child{ border-bottom:1px solid var(--linea-papel); }
.band--noche .lista__i:last-child{ border-bottom-color:var(--linea-noche); }
.lista__i::before{
  content:counter(item,decimal-leading-zero);
  font-family:var(--display); font-size:1.55rem; font-weight:300;
  color:var(--barro); line-height:1.2; font-variant-numeric:tabular-nums;
}
.band--noche .lista__i::before{ color:var(--oro); }
.lista__i h3{ font-size:1.32rem; margin-bottom:.55rem; }
.lista__i p{ margin:0 0 .8rem; max-width:68ch; }
.lista__i p:last-child{ margin-bottom:0; }
.band--papel .lista__i p,.band--papel-2 .lista__i p{ color:var(--tinta-2); }
.band--noche .lista__i p{ color:var(--musgo); }

/* --- Rejilla de beneficios --- */
.benef{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.2rem,2.5vw,2rem); }
.benef__i{ border-top:2px solid var(--oro); padding-top:1.1rem; }
.benef__i h4{ font-size:1.12rem; margin-bottom:.5rem; }
.benef__i p{ margin:0; font-size:.94rem; }
.band--papel .benef__i p,.band--papel-2 .benef__i p{ color:var(--tinta-2); }
.band--noche .benef__i p{ color:var(--musgo); }

/* --- Tarjetas de enlace (destinos ideales / experiencias sugeridas) --- */
.enlaces{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.2rem,2.5vw,2rem); }
.enlace{
  display:flex; flex-direction:column; text-decoration:none; color:inherit;
  border:1px solid var(--linea-papel); background:#fbf8f0;
  transition:border-color .3s ease, transform .3s ease;
}
.band--noche .enlace{ background:var(--noche-2); border-color:var(--linea-noche); color:var(--papel); }
.enlace:hover,.enlace:focus-visible{ border-color:var(--barro); transform:translateY(-3px); }
.band--noche .enlace:hover,.band--noche .enlace:focus-visible{ border-color:var(--oro); }
.enlace__img{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; max-width:100%; }
.enlace__b{ padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.enlace h3{ font-size:1.22rem; }
.enlace p{ margin:0; font-size:.93rem; }
.band--papel .enlace p,.band--papel-2 .enlace p{ color:var(--tinta-2); }
.band--noche .enlace p{ color:var(--musgo); }
.enlace__mas{
  margin-top:auto; padding-top:.3rem;
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--barro);
}
.band--noche .enlace__mas{ color:var(--oro); }

/* --- Dos columnas de texto (esencia, pilares) --- */
.duo{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.pilar{ border-left:2px solid var(--oro); padding-left:1.5rem; }
.pilar + .pilar{ margin-top:2.2rem; }
.pilar h3{ font-size:1.35rem; margin-bottom:.6rem; }
.pilar p{ margin:0; }
.band--papel .pilar p,.band--papel-2 .pilar p{ color:var(--tinta-2); }
.band--noche .pilar p{ color:var(--musgo); }
.valores{ list-style:none; margin:.8rem 0 0; padding:0; display:grid; gap:.7rem; }
.valores li{ padding-left:1.5rem; position:relative; }
.valores li::before{ content:''; position:absolute; left:0; top:.66em; width:.75rem; height:1px; background:var(--oro); }
.valores b{ font-weight:500; }

/* --- Contacto --- */
.contacto{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.vias{ display:grid; gap:1.6rem; }
.via h4{
  font-family:var(--sans); font-size:.7rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--oro); margin:0 0 .35rem;
}
.via p,.via a{ margin:0; color:var(--papel); text-decoration:none; font-size:1.05rem; }
.via a:hover{ color:var(--oro-claro); text-decoration:underline; }
.aviso{
  margin-top:1.2rem; padding:1rem 1.2rem;
  border-left:2px solid var(--oro); background:rgba(201,162,77,.07);
  font-size:.92rem; color:var(--musgo);
}
.aviso--ok{ border-left-color:#6fae7e; background:rgba(111,174,126,.09); color:#bcd8c0; }
.aviso--error{ border-left-color:var(--barro); background:rgba(168,95,66,.11); color:#e3b9a8; }

/* --- Cierre compacto de página interna --- */
.cierre--int h2{ font-size:clamp(1.7rem,3.4vw,2.5rem); }

@media (max-width: 960px){
  .ficha{ grid-template-columns:repeat(2,1fr); }
  .ficha__d:nth-child(3){ border-left:0; }
  .ficha__d:nth-child(n+3){ border-top:1px solid var(--linea-noche); }
  .benef{ grid-template-columns:repeat(2,1fr); }
  .enlaces{ grid-template-columns:repeat(2,1fr); }
  .duo{ grid-template-columns:1fr; }
  .contacto{ grid-template-columns:1fr; }
}
@media (max-width: 620px){
  .fila,.fila:nth-child(even){ grid-template-columns:1fr; direction:ltr; }
  .ficha{ grid-template-columns:1fr; }
  .ficha__d{ border-left:0; border-top:1px solid var(--linea-noche); }
  .ficha__d:first-child{ border-top:0; }
  .benef{ grid-template-columns:1fr; }
  .enlaces{ grid-template-columns:1fr; }
  .lista__i{ grid-template-columns:1fr; gap:.4rem; }
  .lista__i::before{ font-size:1.25rem; }
}

/* --- Crédito de fotografía con licencia --- */
.credito{
  margin:1.6rem 0 0; font-size:.74rem; letter-spacing:.04em;
  color:rgba(222,214,196,.62);
}
.credito a{ color:rgba(201,162,77,.85); text-decoration:none; }
.credito a:hover,.credito a:focus-visible{ color:var(--oro-claro); text-decoration:underline; }

/* --- pantallas muy estrechas: que el selector quepa junto a la marca --- */
@media (max-width: 430px){
  .top__in{ gap:.55rem; }
  .marca{ gap:.3rem; }
  .marca__c{ font-size:1.12rem; }
  .marca__t{ font-size:.58rem; letter-spacing:.18em; }
  .idioma{ padding:.12rem; }
  .idioma a{ padding:.3rem .34rem; letter-spacing:.06em; font-size:.68rem; }
  .burger{ padding:.45rem .55rem; }
}
