/* ===========================================================================
   RESTART — hoja de estilos
   Paleta y tipografía heredadas del material de marca y llevadas a un
   sistema propio: oliva firma, crema hueso, acento limón muy dosificado.
   =========================================================================== */

/* --- Tokens --------------------------------------------------------------- */
:root{
  --verde:      #394522;
  --verde-900:  #1E2614;
  --verde-700:  #2C3719;
  --crema:      #FFFCEE;
  --hueso:      #F3EEDE;
  --arena:      #DBD0B7;
  --limon:      #E9F2A0;
  --tierra:     #6B4430;
  --tinta:      #1B1E14;

  --serif: 'Instrument Serif', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

  --wrap: 1180px;
  --gutter: clamp(20px, 5vw, 56px);
  --bloque: clamp(84px, 11vw, 168px);

  --linea-clara: rgba(255, 252, 238, .22);
  --linea-oscura: rgba(57, 69, 34, .18);

  --curva: cubic-bezier(.22, .61, .36, 1);

  /* Geometría recta: nada redondeado. El canto vivo es el gesto caro. */
  --radio: 0px;
  --filete: 56px;
}

/* --- Reset ---------------------------------------------------------------- */
:root{ color-scheme:light }
*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:78px }
body{
  margin:0;
  background:var(--crema);
  color:var(--tinta);
  font-family:var(--sans);
  font-size:clamp(1.12rem, 1.04rem + .34vw, 1.3rem);
  font-weight:300;
  line-height:1.78;
  letter-spacing:.012em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; height:auto }
ul,ol{ margin:0; padding:0; list-style:none }
h1,h2,h3,p,dl,dd,figure,blockquote{ margin:0 }
a{ color:inherit }
:focus-visible{ outline:2px solid var(--limon); outline-offset:3px; border-radius:var(--radio) }
.seccion--crema :focus-visible,.seccion--hueso :focus-visible,.nav :focus-visible,.cta-movil :focus-visible{ outline-color:var(--verde) }

.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--verde); color:var(--crema);
  padding:.8rem 1.2rem; font-size:.85rem;
}
.skip:focus{ left:.6rem; top:.6rem }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter) }

/* --- Piezas tipográficas -------------------------------------------------- */
.eyebrow{
  font-size:.84rem; font-weight:500;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--verde); opacity:.88; margin:0;
}
.eyebrow--light{ color:var(--crema); opacity:.84 }

.display{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.4rem, 1.1rem + 5.4vw, 5rem);
  line-height:1.06; letter-spacing:.018em;
  color:var(--verde); margin-top:.5em;
  text-wrap:balance;
}
.display--light{ color:var(--crema) }

.cabeza{ margin-bottom:clamp(44px, 6vw, 84px) }
.cabeza--centro{ text-align:center; max-width:30ch; margin-inline:auto }
/* Filete corto: cierra la cabecera sin añadir una palabra más */
.cabeza::after{
  content:''; display:block; width:var(--filete); height:1px;
  margin-top:clamp(22px, 2.6vw, 34px);
  background:currentColor; opacity:.28;
}
.cabeza--centro::after{ margin-inline:auto }

/* --- Sol ------------------------------------------------------------------ */
.sol{ fill:currentColor; display:block }
.sol--sm{ width:16px; height:16px }
.sol--lg{ width:34px; height:34px; margin-inline:auto; color:var(--limon) }
.sol__rayos{ transform-origin:50% 50% }

/* --- Botones -------------------------------------------------------------- */
.btn{
  --btn-fg:var(--crema); --btn-bd:var(--crema);
  display:inline-flex; align-items:center; justify-content:center;
  min-height:62px; padding:0 3rem;
  border:1px solid var(--btn-bd); border-radius:var(--radio);
  color:var(--btn-fg); background:transparent;
  font-family:var(--sans); font-size:.86rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; text-decoration:none;
  cursor:pointer; position:relative; overflow:hidden; isolation:isolate;
  transition:color .45s var(--curva), border-color .45s var(--curva);
}
.btn::after{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--btn-bd); transform:scaleX(0); transform-origin:right;
  transition:transform .5s var(--curva);
}
.btn:hover::after,.btn:focus-visible::after{ transform:scaleX(1); transform-origin:left }
.btn:hover,.btn:focus-visible{ color:var(--verde) }
.btn--light{ --btn-fg:var(--crema); --btn-bd:var(--crema) }
.btn--sm{ min-height:50px; padding:0 1.8rem; font-size:.78rem }
.btn--lg{ min-height:70px; padding:0 3.8rem; font-size:.92rem }
.btn[aria-disabled="true"]{ opacity:.6; pointer-events:none }
.seccion--crema .btn,.seccion--hueso .btn,.nav .btn{ --btn-fg:var(--verde); --btn-bd:var(--verde) }
.seccion--crema .btn:hover,.seccion--hueso .btn:hover,.nav .btn:hover,
.seccion--crema .btn:focus-visible,.seccion--hueso .btn:focus-visible,.nav .btn:focus-visible{ color:var(--crema) }

/* --- Nav ------------------------------------------------------------------ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; gap:2rem;
  padding:.85rem var(--gutter);
  background:rgba(255,252,238,.88);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--linea-oscura);
  transform:translateY(-100%);
  transition:transform .55s var(--curva);
}
.nav[data-visible="true"]{ transform:translateY(0) }
.nav__brand{
  display:inline-flex; align-items:center; gap:.55rem;
  color:var(--verde); text-decoration:none;
  font-size:.92rem; font-weight:500; letter-spacing:.2em;
}
.nav__links{ display:flex; gap:1.9rem; margin-left:auto }
.nav__links a{
  font-size:.9rem; letter-spacing:.06em; text-decoration:none;
  color:var(--verde); opacity:.82; padding-block:.5rem;
  border-bottom:1px solid transparent;
  transition:opacity .3s, border-color .3s;
}
.nav__links a:hover{ opacity:1 }
.nav__links a[aria-current]{ opacity:1; border-bottom-color:currentColor }

/* --- Hero ----------------------------------------------------------------- */
.hero{
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end; justify-content:center;
  padding:0 var(--gutter) clamp(72px, 11vh, 132px);
  overflow:hidden; background:var(--verde-900);
  text-align:center; color:var(--crema);
}
.hero__media{ position:absolute; inset:0 }
.hero__media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.08); animation:deriva 22s var(--curva) forwards;
}
@keyframes deriva{ to{ transform:scale(1) } }
.hero__media::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(30,38,20,.52) 0%, rgba(30,38,20,.08) 32%, rgba(30,38,20,.76) 88%),
    linear-gradient(0deg, rgba(57,69,34,.30), rgba(57,69,34,.30));
}
.hero__body{ position:relative; max-width:34rem }
.hero__title{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(4.2rem, 1rem + 17vw, 13rem);
  line-height:.86; letter-spacing:-.004em;
  margin:.18em 0 0;
}
.hero__claim{
  font-size:clamp(1.2rem, 1.02rem + .72vw, 1.6rem);
  line-height:1.54; letter-spacing:.014em;
  margin-top:1.6rem; opacity:.92; text-wrap:balance;
}
.hero__meta{
  display:flex; align-items:center; justify-content:center; gap:.9rem;
  margin:2.2rem 0 2.6rem;
  font-size:.86rem; letter-spacing:.19em; text-transform:uppercase; opacity:.82;
}
.hero__dot{ width:3px; height:3px; border-radius:50%; background:currentColor; opacity:.6 }
.hero__scroll{
  position:absolute; left:50%; bottom:28px; translate:-50% 0;
  width:1px; height:46px; background:rgba(255,252,238,.3); overflow:hidden;
}
.hero__scroll span{
  position:absolute; inset:0; background:var(--crema);
  animation:caer 2.6s var(--curva) infinite;
}
@keyframes caer{ 0%{ transform:translateY(-100%) } 60%,100%{ transform:translateY(100%) } }

/* Entrada del hero */
.hero__body > *{ opacity:0; transform:translateY(18px); animation:surgir .95s var(--curva) forwards }
.hero__body > *:nth-child(1){ animation-delay:.15s }
.hero__body > *:nth-child(2){ animation-delay:.26s }
.hero__body > *:nth-child(3){ animation-delay:.42s }
.hero__body > *:nth-child(4){ animation-delay:.54s }
.hero__body > *:nth-child(5){ animation-delay:.66s }
@keyframes surgir{ to{ opacity:1; transform:none } }

/* --- Secciones ------------------------------------------------------------ */
.seccion{ padding-block:var(--bloque) }
.seccion--crema{ background:var(--crema) }
.seccion--hueso{ background:var(--hueso) }
.seccion--verde{ background:var(--verde); color:var(--crema) }

/* --- Manifiesto ----------------------------------------------------------- */
.manifiesto{ background:var(--verde); color:var(--crema); padding-block:var(--bloque); text-align:center }
.manifiesto__linea{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.1rem, .9rem + 5vw, 4.4rem);
  line-height:1.12; letter-spacing:.012em; text-wrap:balance;
}
.manifiesto__linea--dim{ opacity:.72; font-style:italic }
.manifiesto__pie{
  margin:clamp(32px, 4vw, 52px) auto 0; max-width:44ch; opacity:.92; text-wrap:balance;
  font-size:1.06rem; line-height:1.86; letter-spacing:.018em;
}
.verbos{
  display:grid; grid-template-columns:repeat(4, 1fr);
  margin-top:clamp(56px, 7vw, 96px);
  border-block:1px solid var(--linea-clara);
}
.verbos li{
  display:flex; flex-direction:column; align-items:center; gap:.7rem;
  padding:clamp(1.6rem, 3vw, 2.6rem) clamp(.8rem, 1.6vw, 1.4rem);
}
.verbos li + li{ border-left:1px solid var(--linea-clara) }
.verbos__n{
  font-size:.82rem; letter-spacing:.2em; opacity:.8;
  font-variant-numeric:tabular-nums;
}
.verbos__t{
  font-family:var(--serif);
  font-size:clamp(1.45rem, 1rem + 1.15vw, 2.05rem);
  line-height:1.14; text-wrap:balance;
}

/* --- Pilares -------------------------------------------------------------- */
.pilares{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:clamp(28px, 3.4vw, 52px);
  width:100%; max-width:var(--wrap);
  margin-inline:auto; padding-inline:var(--gutter);
}
@media (min-width:1001px){
  .pilares{ padding-bottom:clamp(48px, 5vw, 76px) }
  .pilar:nth-child(3n+2){ position:relative; top:clamp(48px, 5vw, 76px) }
}
.pilares__guia{ display:none }
.pilar__fig{ overflow:hidden; border-radius:var(--radio); background:var(--arena) }
.pilar__fig img{
  width:100%; aspect-ratio:4/5; object-fit:cover;
  transition:transform 1.1s var(--curva);
}
.pilar:hover .pilar__fig img{ transform:scale(1.045) }
.pilar__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.5rem, 1.2rem + 1vw, 2rem);
  color:var(--verde); margin-top:1.1rem; line-height:1.1;
}
.pilar__d{ margin-top:.55rem; font-size:1.06rem; line-height:1.76; letter-spacing:.016em; opacity:.8; max-width:26ch }

/* --- Un día --------------------------------------------------------------- */
.dia__via{
  position:relative; max-width:860px; margin-inline:auto;
  padding-left:clamp(44px, 6vw, 72px);
}
.dia__via::before{
  content:''; position:absolute; left:11px; top:0; bottom:0; width:1px;
  background:var(--linea-clara);
}
.dia__sol{
  position:absolute; left:0; top:0; width:23px; height:23px;
  color:var(--limon); background:var(--verde); box-shadow:0 0 0 6px var(--verde); border-radius:50%;
  will-change:transform;
}
.dia li{
  display:grid; grid-template-columns:minmax(158px, 24%) 1fr; align-items:baseline;
  gap:clamp(1rem, 3vw, 2.4rem);
  padding:clamp(1.15rem, 2.4vw, 1.8rem) 0;
}
.dia__texto,.dia__momento{ transition:opacity .5s var(--curva) }
.dia[data-vivo] li:not([data-activo]) .dia__texto{ opacity:.62 }
.dia[data-vivo] li[data-activo] .dia__momento{ opacity:1; color:var(--limon) }
.dia__momento{
  font-size:.84rem; letter-spacing:.2em; text-transform:uppercase; opacity:.86;
}
.dia__texto{
  font-family:var(--serif);
  font-size:clamp(1.25rem, .95rem + 1.4vw, 2rem);
  line-height:1.22;
}
.dia__nota{
  margin-top:clamp(28px, 4vw, 48px); text-align:center;
  font-size:.86rem; letter-spacing:.19em; text-transform:uppercase; opacity:.6;
}

/* --- El lugar ------------------------------------------------------------- */
.lugar{
  display:grid; grid-template-columns:1.25fr 1fr;
  grid-template-areas:'foto panel' 'foto foto2';
  background:var(--verde-700); color:var(--crema);
}
.lugar__fig{ grid-area:foto; overflow:hidden }
.lugar__fig img{ width:100%; height:100%; min-height:420px; object-fit:cover }
.lugar__fig--b{ grid-area:foto2 }
.lugar__fig--b img{ min-height:280px }
.lugar__panel{ grid-area:panel; display:flex; align-items:center }
.lugar__panelIn{ padding:clamp(48px, 6vw, 92px) clamp(28px, 4.5vw, 72px) }
.lugar__p{
  margin-top:1.5rem; font-size:.9rem; letter-spacing:.19em;
  text-transform:uppercase; opacity:.84; line-height:1.9;
}
.datos{ margin-top:clamp(32px, 4vw, 52px); border-top:1px solid var(--linea-clara) }
.datos > div{
  display:flex; justify-content:space-between; gap:1.5rem;
  padding:.95rem 0; border-bottom:1px solid var(--linea-clara);
}
.datos dt{ font-size:.84rem; letter-spacing:.19em; text-transform:uppercase; opacity:.8 }
.datos dd{ margin:0; font-size:1.06rem; text-align:right; opacity:.92 }

/* --- Guías ---------------------------------------------------------------- */
.guias{ border-bottom:1px solid var(--linea-oscura) }
.guia{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:clamp(18px, 4vw, 64px);
  padding-block:clamp(30px, 4vw, 54px);
  border-top:1px solid var(--linea-oscura);
}
.guia__n{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.1rem, 1.5rem + 2vw, 3.3rem);
  line-height:1.06; letter-spacing:.008em; color:var(--verde);
}
.guia__rol{
  margin-top:.8rem; font-size:.82rem; letter-spacing:.17em; line-height:1.7;
  text-transform:uppercase; opacity:.82;
}
.guia__bio{ font-size:1.08rem; line-height:1.76; letter-spacing:.012em; opacity:.92 }
.guia__ig{
  display:inline-flex; align-items:center; min-height:44px; margin-top:.5rem;
  font-size:1rem; color:var(--verde);
  text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.28em;
  transition:opacity .3s;
}
.guia__ig:hover{ opacity:.7 }

/* --- Incluye -------------------------------------------------------------- */
.incluye{ display:grid; gap:clamp(28px, 3.4vw, 44px) }
.lista--si{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(28px, 5vw, 72px) }
.incluye__h{
  font-size:.84rem; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--verde); opacity:.68;
  padding-bottom:1rem; border-bottom:1px solid var(--linea-oscura);
}
.lista li{
  display:flex; gap:.9rem; align-items:flex-start;
  padding:1.02rem 0; border-bottom:1px solid var(--linea-oscura);
  font-size:1.08rem; line-height:1.68; letter-spacing:.012em;
}
.lista li::before{
  content:''; flex:0 0 auto; width:5px; height:5px; margin-top:.62em;
  border-radius:50%; background:var(--verde);
}
.plegable{ border-block:1px solid var(--linea-oscura) }
.plegable__s{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  min-height:64px; cursor:pointer; list-style:none;
  font-size:.86rem; font-weight:500; letter-spacing:.17em; text-transform:uppercase; color:var(--verde);
}
.plegable__s::-webkit-details-marker{ display:none }
.plegable__s::after{
  content:'+'; font-family:var(--serif); font-size:1.9rem; font-weight:400; line-height:1; letter-spacing:0;
  transition:transform .4s var(--curva);
}
.plegable[open] .plegable__s::after{ transform:rotate(45deg) }
.plegable .lista{ padding-bottom:.8rem }
.plegable .lista li:last-child{ border-bottom:0 }
.lista--no li{ opacity:.82 }
.lista--no li::before{ background:none; box-shadow:inset 0 0 0 1px var(--verde) }

/* --- Precios -------------------------------------------------------------- */
.precios{
  display:grid; grid-template-columns:repeat(2, 1fr);
  gap:clamp(18px, 2.4vw, 28px); max-width:880px; margin-inline:auto;
}
.precio{
  border:1px solid var(--linea-clara); border-radius:var(--radio);
  padding:clamp(28px, 3.6vw, 48px);
  display:flex; flex-direction:column; gap:.7rem;
  transition:border-color .45s var(--curva), background .45s var(--curva);
}
.precio:hover{ border-color:rgba(255,252,238,.45); background:rgba(255,252,238,.04) }
.precio__n{ font-size:.84rem; letter-spacing:.2em; text-transform:uppercase; opacity:.86 }
.precio__v{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2rem, 1.3rem + 2.4vw, 3.2rem);
  line-height:1; letter-spacing:-.01em;
}
.precio__v[data-pendiente]{ font-size:clamp(1.4rem, 1.1rem + 1vw, 1.9rem); opacity:.86; font-style:italic }
.precio__nota{ font-size:.96rem; line-height:1.76; letter-spacing:.016em; opacity:.84 }
.precios__pago{
  max-width:46ch; margin:clamp(30px, 4vw, 46px) auto 0;
  text-align:center; font-size:1.02rem; line-height:1.84; letter-spacing:.016em; opacity:.88;
}
.precios__cierre{ text-align:center; margin-top:clamp(40px, 5.5vw, 68px) }
.precios__cupos{
  font-size:.86rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--limon); margin-bottom:1.7rem;
}
.precios__aviso{ margin-top:1.2rem; font-size:1rem; opacity:.88 }

/* --- Voces ---------------------------------------------------------------- */
.voces{ display:grid; grid-template-columns:repeat(2, 1fr); gap:clamp(36px, 4.5vw, 64px) clamp(28px, 4vw, 64px) }
.voz{ border-top:1px solid var(--linea-oscura); padding-top:1.7rem }
.voz__t{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.32rem, 1.1rem + .92vw, 1.72rem);
  line-height:1.38; color:var(--verde);
}
.voz:first-child{
  grid-column:1 / -1; border-top:0; padding-top:0;
  width:100%; max-width:860px; margin-inline:auto; text-align:center;
}
.voz:first-child .voz__t{
  font-size:clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); line-height:1.26; text-wrap:balance;
}
.voz__a{
  display:block; margin-top:1.3rem; font-size:.82rem;
  letter-spacing:.19em; text-transform:uppercase; opacity:.8; font-style:normal;
}

/* --- Cierre --------------------------------------------------------------- */
.cierre{
  position:relative; min-height:78svh;
  display:flex; align-items:center; justify-content:center;
  padding:var(--bloque) var(--gutter);
  text-align:center; color:var(--crema); background:var(--verde-900);
  overflow:hidden;
}
.cierre__media{ position:absolute; inset:0 }
.cierre__media img{ width:100%; height:100%; object-fit:cover }
.cierre__media::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(30,38,20,.72), rgba(30,38,20,.84));
}
.cierre__body{ position:relative; max-width:30rem }
.cierre__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.4rem, 1.2rem + 5vw, 4.6rem);
  line-height:1.06; letter-spacing:.012em; margin-top:1.4rem;
  text-wrap:balance;
}
.cierre__p{ margin-top:1.3rem; font-size:1.1rem; line-height:1.84; letter-spacing:.016em; opacity:.86 }
.cierre__cupos{ margin:2rem 0 0 }
.cierre .btn{ margin-top:1.4rem }

/* --- Pie ------------------------------------------------------------------ */
.pie{ background:var(--verde-900); color:var(--crema); padding-block:clamp(40px, 5vw, 64px) }
.pie__in{
  display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem 2.4rem;
  justify-content:space-between;
}
.pie__marca{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.9rem; letter-spacing:.22em;
}
.pie__dato{ font-size:.92rem; opacity:.82 }
.pie__dato a{ text-decoration:none; border-bottom:1px solid rgba(255,252,238,.3) }

/* --- CTA móvil ------------------------------------------------------------ */
.cta-movil{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:none; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(255,252,238,.94);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--linea-oscura);
  transform:translateY(110%); transition:transform .5s var(--curva);
}
.cta-movil[data-visible="true"]{ transform:translateY(0) }
.cta-movil__dato{
  font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--verde); opacity:.92;
}
.cta-movil .btn{ --btn-fg:var(--verde); --btn-bd:var(--verde) }
.cta-movil .btn:hover,.cta-movil .btn:focus-visible{ color:var(--crema) }

/* --- Reveal --------------------------------------------------------------- */
.reveal{
  opacity:0; transform:translateY(22px);
  transition:opacity .9s var(--curva), transform .9s var(--curva);
}
.reveal[data-visto="true"]{ opacity:1; transform:none }

/* --- Adaptación ----------------------------------------------------------- */
@media (max-width: 1000px){
  .pilares{ grid-template-columns:repeat(2, 1fr) }
  .lugar{ grid-template-columns:1fr; grid-template-areas:'foto' 'panel' 'foto2' }
  .lugar__fig img{ min-height:320px }
  .incluye{ grid-template-columns:1fr }
  .nav__links{ display:none }
}

@media (max-width: 680px){
  html{ scroll-padding-top:0 }
  .btn--lg{ width:100%; min-height:64px; padding:0 1rem; font-size:.82rem; white-space:nowrap }
  .nav{ display:none }
  .cta-movil{ display:flex }

  /* Verbos en dos por dos */
  .verbos{ grid-template-columns:1fr 1fr }
  .verbos li + li{ border-left:0 }
  .verbos li:nth-child(even){ border-left:1px solid var(--linea-clara) }
  .verbos li:nth-child(n+3){ border-top:1px solid var(--linea-clara) }

  /* Dónde vas en el carrusel */
  .pilares__guia{
    display:flex; align-items:center; gap:1rem;
    padding:.9rem var(--gutter) 0; color:var(--verde);
  }
  .pilares__cuenta{ font-size:.86rem; letter-spacing:.12em; font-variant-numeric:tabular-nums; white-space:nowrap }
  .pilares__barra{ flex:1; height:1px; background:var(--linea-oscura) }
  .pilares__barra i{
    display:block; height:100%; background:var(--verde);
    transform:scaleX(.1667); transform-origin:left; transition:transform .2s linear;
  }

  /* Pilares en carrusel con encaje */
  .pilares{
    display:flex; gap:16px;
    overflow-x:auto; scroll-snap-type:x mandatory;
    padding-inline:var(--gutter); padding-bottom:10px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .pilares::-webkit-scrollbar{ display:none }
  .pilar{ flex:0 0 72vw; scroll-snap-align:center }
  .pilar::after{ content:''; display:block; width:var(--gutter) }

  /* Los dos datos del hero, uno debajo del otro */
  .hero__meta{ flex-direction:column; gap:.55rem; letter-spacing:.14em; font-size:.8rem }
  .hero__dot{ display:none }

  .dia li{ grid-template-columns:1fr; gap:.4rem }
  .precios{ grid-template-columns:1fr }
  .guia{ grid-template-columns:1fr }
  .voces{ grid-template-columns:1fr }
  .lista--si{ grid-template-columns:1fr }
  .pie__in{ flex-direction:column; align-items:flex-start; text-align:left }
  /* Hueco para que la barra fija de reserva no tape el pie */
  .pie{ padding-bottom:calc(108px + env(safe-area-inset-bottom)) }
}

/* --- Movimiento reducido -------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{ opacity:1; transform:none }
  .dia__sol{ display:none }
  .hero__body > *{ opacity:1; transform:none }
  .hero__media img{ transform:none }
}

/* --- Impresión ------------------------------------------------------------ */
@media print{
  .nav,.cta-movil,.hero__scroll{ display:none }
  body{ background:#fff; color:#000 }
}
