/* Tokens · fuente de verdad: DESIGN.md (dirección Niebla). Cero hex fuera de este archivo. */
:root{
  --cano-noche-verde:#0E2525; --cano-musgo:#1B3030; --cano-rio:#577C7C; --cano-bruma:#86A9AC; --cano-niebla:#D5DEDA; --cano-linea:#2C4444; --cano-rio-texto:#7A9E9F;
  --font:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --fs-xs:.8125rem; --fs-sm:.875rem; --fs-base:1.0625rem; --fs-lg:1.25rem; --fs-xl:1.5rem; --fs-2xl:2rem; --fs-3xl:3rem; --fs-hero:clamp(2.75rem,14vw,11rem);
  --sp-xs:4px; --sp-sm:8px; --sp-md:16px; --sp-lg:24px; --sp-xl:32px; --sp-2xl:48px; --sp-3xl:64px; --sp-4xl:96px; --sp-5xl:128px;
  --sec:var(--sp-4xl); --container:56rem; --pad:24px;
  --t-reveal:700ms cubic-bezier(.22,1,.36,1); --z-fixed:1000;
}
@media (min-width:768px){ :root{ --pad:48px; --sec:var(--sp-5xl); } }
/* Reset y utilidades · portado de explore-home-v4.html */
/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--cano-noche-verde);scroll-behavior:smooth;scroll-padding-top:92px}
section[id]{scroll-margin-top:92px}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body{margin:0;background:var(--cano-noche-verde);color:var(--cano-niebla);font:300 var(--fs-base)/1.7 var(--font);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:1px solid var(--cano-bruma);outline-offset:4px}

/* ---------- utilidades ---------- */
.wrap{max-width:var(--container);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.alt{background:var(--cano-musgo)}
.alt+.alt{border-top:1px solid var(--cano-linea)}
.eti{font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cano-rio-texto)}
.tit{font-weight:300;font-size:var(--fs-lg);letter-spacing:.18em;text-transform:uppercase;line-height:1.3}
.num{font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.link{font-weight:400;font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;min-height:48px;border-bottom:1px solid var(--cano-niebla);padding:0 0 2px;line-height:1}
.link:hover{color:var(--cano-bruma);border-color:var(--cano-bruma)}
.falta{color:var(--cano-bruma);font-weight:400;font-size:var(--fs-sm);letter-spacing:0;text-transform:none}
.rv{opacity:0;transform:translateY(12px);transition:opacity var(--t-reveal),transform var(--t-reveal);transition-delay:calc(var(--i,0)*90ms)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){ .rv{opacity:1;transform:none;transition:none} }
/* Componentes de la home · portado de explore-home-v4.html */
/* ---------- top ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:900;display:flex;justify-content:space-between;align-items:center;padding-top:var(--sp-md);padding-bottom:var(--sp-md);max-width:none;background:linear-gradient(180deg,rgba(14,37,37,.78),rgba(14,37,37,.45));transition:background 300ms,box-shadow 300ms}
.top.fija{background:rgba(14,37,37,.55);-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);box-shadow:0 1px 0 rgba(213,222,218,.08)}
.top .menu{display:flex;gap:var(--sp-lg);font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase}
.top .menu a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;border-bottom:1px solid transparent;transition:border-color 200ms,color 200ms}
.top .menu a:hover,.top .menu a.activo{border-color:var(--cano-bruma);color:var(--cano-bruma)}
@media (max-width:1023px){ .top .menu a.oculto-m{display:none} }
@media (max-width:767px){ .top .menu{gap:var(--sp-md)} .top .menu a.oculto-m{display:none} .wordmark .wmt{display:none} .hero h1{letter-spacing:.16em;text-indent:.16em} }
.wordmark{display:flex;align-items:center;gap:14px;line-height:1.2;min-height:44px}
.wordmark .wmt b{white-space:nowrap}
.wordmark .wmt{display:flex;flex-direction:column}
.wordmark .marca{flex:none}
.wordmark b{font-weight:400;font-size:var(--fs-sm);letter-spacing:.22em;text-transform:uppercase}
.wordmark span{font-weight:300;font-size:var(--fs-xs);color:var(--cano-niebla);opacity:.8;letter-spacing:.04em}


/* ---------- hero en capas ---------- */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}
.hero .capa{position:absolute;inset:0;will-change:transform}
.hero .fondo{top:-14%;height:128%}
.hero .destino-img{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1100ms ease}
.hero .destino-img.activo{opacity:1}
.hero .destino-img picture,.hero .destino-img img{display:block;width:100%;height:100%}
.hero .destino-img img{object-fit:cover;object-position:50% 60%}
.hero .destino-img[data-d=paraiso-cascadas] img,.hero .destino-img[data-d=macarena-cano-cristales] img{filter:brightness(.72) saturate(.85)}
@media (max-width:767px){ .hero .fondo::before{background:radial-gradient(ellipse 80% 34% at 50% 48%,rgba(14,37,37,.8),rgba(14,37,37,0) 72%)} }
.hero .silueta{transition:opacity 700ms ease}
.hero .silueta.oculta{opacity:0}
.hero h1 .l{display:inline-block;will-change:transform,opacity}
.puntos{display:flex;gap:var(--sp-md);margin-top:var(--sp-md)}
.puntos button{background:none;border:0;padding:0;min-height:44px;color:var(--cano-niebla);opacity:.55;font:400 var(--fs-xs) var(--font);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-bottom:1px solid transparent}
.puntos button[aria-selected=true]{opacity:1;border-color:var(--cano-bruma)}
.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero .fondo{z-index:1}
.hero .fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,37,37,.92),rgba(14,37,37,.35) 14%,rgba(14,37,37,0) 32%,rgba(14,37,37,0) 55%,rgba(14,37,37,.9) 100%)}
.hero .fondo::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 72% 42% at 50% 50%,rgba(14,37,37,.72),rgba(14,37,37,0) 72%)}
.hero .palabra{z-index:2;display:grid;place-items:center;pointer-events:none}
.hero h1{font-weight:300;font-size:var(--fs-hero);letter-spacing:.22em;text-indent:.22em;white-space:nowrap;text-transform:uppercase;line-height:1;color:var(--cano-niebla);transform:translateY(-18%)}
.hero .silueta{z-index:3;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 50%,#000 64%);mask-image:linear-gradient(to bottom,transparent 50%,#000 64%)}
.hero .linea{position:absolute;left:0;right:0;bottom:0;z-index:4;padding-bottom:var(--sp-xl)}
.hero .linea .eti{color:var(--cano-niebla);opacity:.85}
.hero .linea a{display:grid;gap:var(--sp-xs);border-top:1px solid rgba(213,222,218,.35);padding-top:var(--sp-md)}
.hero .linea .q{display:flex;flex-wrap:wrap;gap:var(--sp-xs) var(--sp-md);align-items:baseline;font-size:var(--fs-base)}
.hero .linea .q b{font-weight:400}
.hero .linea .q em{font-style:normal;color:var(--cano-bruma);font-weight:400;font-size:var(--fs-xl);line-height:1}
.hero .linea .q em.largo{font-size:var(--fs-base);line-height:inherit}
.hero .linea .q .flecha{margin-left:auto;font-weight:300}
/* Móvil: misma foto que escritorio, sin parallax (capas del mismo tamaño para que la silueta calce), la palabra cabe siempre y la línea libra el botón del bot. */
@media (max-width:767px){
  .hero .fondo{top:0;height:100%}
  .hero .capa{will-change:auto}
  .hero h1{letter-spacing:.16em;text-indent:.16em;font-size:min(var(--fs-hero),calc((100vw - 2*var(--pad)) / (var(--n,6) * .95)))}
  .hero .linea{padding-bottom:calc(var(--sp-lg) + 64px)}
}
@media (min-width:768px){ .hero img{object-position:50% 55%} .hero .palabra{place-items:center} .hero h1{transform:translateY(-4%);font-size:clamp(5rem,9.5vw,8.5rem)} }
@media (prefers-reduced-motion:reduce){ .hero .capa{transform:none!important} }

/* ---------- horario ---------- */
.horario{margin-top:var(--sp-xl)}
.fila{display:grid;grid-template-columns:4rem 1fr auto;gap:var(--sp-md);align-items:baseline;padding:var(--sp-lg) 0;border-top:1px solid var(--cano-linea);margin:0 calc(-1*var(--sp-md));padding-left:var(--sp-md);padding-right:var(--sp-md);transition:background-color 200ms}
.fila:last-child{border-bottom:1px solid var(--cano-linea)}
a.fila:hover{background:var(--cano-musgo)}
.fila .f{line-height:1}
.fila .f b{display:block;font-size:var(--fs-2xl);font-weight:400;font-variant-numeric:tabular-nums}
.fila .f small{display:block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--cano-rio-texto);margin-top:var(--sp-xs)}
.fila .p b{display:block;font-weight:400;font-size:var(--fs-lg);line-height:1.3}
.fila .p span{display:block;font-size:var(--fs-sm);color:var(--cano-rio-texto);margin-top:2px}
.fila .p a{color:var(--cano-bruma);border-bottom:1px solid currentColor}
.fila .c{text-align:right;line-height:1}
.fila .c b{display:block;font-size:var(--fs-2xl);font-weight:400;font-variant-numeric:tabular-nums}
.fila .c small{display:block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--cano-rio-texto);margin-top:var(--sp-xs)}
.fila.pocos .c b,.fila.pocos .c small{color:var(--cano-bruma)}
.fila.llena .p b,.fila.llena .c b{color:var(--cano-rio-texto);font-weight:300}
.nota{margin-top:var(--sp-lg);font-size:var(--fs-sm);color:var(--cano-rio-texto);max-width:56ch}
.nota a{color:var(--cano-niebla);border-bottom:1px solid var(--cano-rio)}

/* ---------- foto + frase ---------- */
.foto-frase .foto{aspect-ratio:3/2;overflow:hidden}
.foto-frase .foto picture,.foto-frase .foto img{display:block;width:100%;height:100%}
.foto-frase .foto img{object-fit:cover}
.foto-frase p{margin-top:var(--sp-xl);font-size:var(--fs-xl);line-height:1.4;max-width:30ch;font-weight:300}
.foto-frase p em{font-style:italic;color:var(--cano-bruma)}
@media (min-width:768px){
  .foto-frase .wrap{display:grid;grid-template-columns:3fr 2fr;gap:var(--sp-3xl);align-items:end}
  .foto-frase p{margin-top:0;padding-bottom:var(--sp-lg)}
}

/* ---------- planes ---------- */
.indice{margin-top:var(--sp-xl)}
.indice a{display:grid;grid-template-columns:2.5rem 1fr auto;gap:var(--sp-md);align-items:baseline;padding:var(--sp-lg) 0;border-top:1px solid var(--cano-linea);margin:0 calc(-1*var(--sp-md));padding-left:var(--sp-md);padding-right:var(--sp-md);transition:background-color 200ms}
.indice li:last-child a{border-bottom:1px solid var(--cano-linea)}
.indice a:hover{background:var(--cano-musgo)}
.indice .n{font-size:var(--fs-sm);color:var(--cano-rio-texto);font-variant-numeric:tabular-nums}
.indice .t b{display:block;font-weight:400;font-size:var(--fs-lg);line-height:1.3}
.indice .t span{display:block;font-size:var(--fs-sm);color:var(--cano-rio-texto);margin-top:2px}
.indice .pr{font-weight:400;font-size:var(--fs-lg);white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:479px){ .indice a{grid-template-columns:2.5rem 1fr} .indice .pr{grid-column:2;font-size:var(--fs-base)} }

/* ---------- el profe ---------- */
.profe .wrap{display:grid;gap:var(--sp-xl)}
.profe .foto{aspect-ratio:4/5;overflow:hidden;max-width:420px}
.profe .foto picture{display:block;width:100%;height:100%}
.profe .foto img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.profe .nombre{font-weight:300;font-size:var(--fs-xl);letter-spacing:.18em;text-transform:uppercase;line-height:1.3;margin-top:var(--sp-md)}
.profe .rol{font-size:var(--fs-sm);color:var(--cano-rio-texto);margin-top:var(--sp-xs)}
.profe .texto{margin-top:var(--sp-lg);max-width:46ch;display:grid;gap:var(--sp-md)}
.profe .firma{margin-top:var(--sp-lg);font-style:italic;font-weight:300;font-size:var(--fs-lg);color:var(--cano-bruma)}
@media (min-width:768px){ .profe .wrap{grid-template-columns:2fr 3fr;gap:var(--sp-3xl);align-items:center} .profe .nombre{margin-top:0} }

/* ---------- cita ---------- */
.cinta{margin-top:var(--sp-xl);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cinta-track{display:flex;gap:var(--sp-3xl);width:max-content;padding:0 var(--pad);animation:cinta 70s linear infinite}
.cinta:hover .cinta-track{animation-play-state:paused}
.cinta .cita{flex:0 0 22rem}
@keyframes cinta{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .cinta{mask-image:none;-webkit-mask-image:none} .cinta-track{animation:none;flex-wrap:wrap;width:auto;gap:var(--sp-2xl)} }
.cita blockquote{font-style:italic;font-weight:300;font-size:var(--fs-lg);line-height:1.5;max-width:32ch}
.cita figcaption{margin-top:var(--sp-md);font-size:var(--fs-sm);color:var(--cano-rio-texto)}
.cita figcaption b{font-weight:400;color:var(--cano-niebla)}

/* ---------- cómo ---------- */
.pasos{margin-top:var(--sp-xl);display:grid;gap:var(--sp-lg);max-width:56ch}
.pasos li{display:grid;grid-template-columns:2.5rem 1fr;gap:var(--sp-md)}
.pasos .n{font-size:var(--fs-sm);color:var(--cano-rio-texto)}
.pasos b{display:block;font-weight:400}
.pasos p{color:var(--cano-rio-texto);font-size:var(--fs-sm);line-height:1.6}
.dos-col{display:grid;gap:var(--sp-2xl)}
.foto-col{aspect-ratio:4/5;overflow:hidden}
.foto-col picture{display:block;width:100%;height:100%}
.foto-col img{width:100%;height:100%;object-fit:cover}
@media (min-width:768px){ .dos-col{grid-template-columns:1fr 1fr;gap:var(--sp-3xl);align-items:start} .foto-col{aspect-ratio:4/5} }

/* ---------- faq ---------- */
.faq{max-width:60ch}
@media (max-width:767px){ .faq{margin-top:var(--sp-md)} }
.faq details{border-top:1px solid var(--cano-linea)}
.faq details:last-child{border-bottom:1px solid var(--cano-linea)}
.faq summary{cursor:pointer;list-style:none;padding:var(--sp-md) 0;font-weight:400;display:grid;grid-template-columns:1fr auto;gap:var(--sp-md);min-height:48px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--cano-rio-texto);font-weight:300;font-size:var(--fs-xl);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 var(--sp-md);color:var(--cano-rio-texto)}

/* ---------- pie ---------- */
.pie{border-top:1px solid var(--cano-linea);padding-top:var(--sp-2xl);padding-bottom:var(--sp-4xl)}
.pie .cols{display:grid;gap:var(--sp-xl);margin-top:var(--sp-xl);font-size:var(--fs-sm)}
.pie ul{display:grid;gap:var(--sp-xs);margin-top:var(--sp-sm)}
.pie a:hover{color:var(--cano-bruma)}
.pie .legal{margin-top:var(--sp-2xl);font-size:var(--fs-xs);color:var(--cano-rio-texto)}
@media (min-width:600px){ .pie .cols{grid-template-columns:1fr 1fr 1fr} }

/* ---------- bot ---------- */
.bot{position:fixed;right:var(--sp-lg);bottom:var(--sp-lg);z-index:var(--z-fixed);min-height:48px;padding:0 var(--sp-md);border-radius:9999px;background:var(--cano-noche-verde);color:var(--cano-niebla);border:1px solid var(--cano-rio);font:400 var(--fs-xs) var(--font);letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--sp-sm);cursor:pointer}
.bot i{width:28px;height:28px;border-radius:50%;overflow:hidden;display:block}
.bot i img{width:100%;height:100%;object-fit:cover}
/* Móvil: solo el retrato en círculo, con el mismo borde; el texto queda para lectores de pantalla y escritorio. */
@media (max-width:767px){
  .bot{width:52px;height:52px;min-height:0;padding:3px;justify-content:center;box-shadow:0 6px 20px rgba(14,37,37,.45)}
  .bot i{width:100%;height:100%}
  .bot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (max-width:767px){ .top .wordmark .wmt{display:none} .top .menu{margin-left:auto} }

/* ---------- página de plan · portado de explore-aventura-v4.html ---------- */
.phero{position:relative;min-height:72svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.phero .fondo{position:absolute;inset:0;z-index:-1}
.phero .fondo picture{display:block;width:100%;height:100%}
.phero .fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (max-width:767px){ .phero .fondo img{filter:brightness(.6)} }
.phero .fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,37,37,.88),rgba(14,37,37,.25) 26%,rgba(14,37,37,.55) 45%,rgba(14,37,37,.9) 68%,var(--cano-noche-verde) 100%)}
.phero .wrap{padding-top:var(--sp-5xl);padding-bottom:var(--sp-2xl)}
.phero .crumb{font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cano-niebla);display:inline-flex;align-items:center;min-height:44px}
.phero h1{font-weight:300;font-size:var(--fs-2xl);letter-spacing:.14em;text-transform:uppercase;line-height:1.15;max-width:18ch;margin-top:var(--sp-md)}
.phero .lead{margin-top:var(--sp-md);font-size:var(--fs-lg);max-width:44ch;color:var(--cano-niebla);opacity:.9}
.duros{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-lg);margin-top:var(--sp-xl);border-top:1px solid rgba(213,222,218,.3);padding-top:var(--sp-lg)}
.duros small{display:block;font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cano-rio-texto)}
.duros b{display:block;font-weight:400;font-size:var(--fs-xl);line-height:1.1;margin-top:var(--sp-xs);font-variant-numeric:tabular-nums}
.duros span{display:block;font-size:var(--fs-sm);color:var(--cano-rio-texto);margin-top:2px}
@media (min-width:768px){ .phero h1{font-size:var(--fs-3xl)} .duros{grid-template-columns:repeat(4,1fr)} }

.prosa{display:grid;gap:var(--sp-md);max-width:56ch;margin-top:var(--sp-xl);font-size:var(--fs-lg);line-height:1.65}
.prosa .sorpresa{font-style:italic;font-weight:300;font-size:var(--fs-xl);color:var(--cano-bruma);line-height:1.35;padding-left:var(--sp-lg);border-left:1px solid var(--cano-rio)}

/* fila de fotos verticales (GIF 2) */
.verticales{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-sm);margin-top:var(--sp-2xl)}
.verticales figure{aspect-ratio:3/4;overflow:hidden;opacity:0;transform:translateY(40px)}
.verticales figure picture{display:block;width:100%;height:100%}
.verticales figure img{width:100%;height:100%;object-fit:cover}
.verticales figure.in{opacity:1;transform:none;transition:opacity 800ms var(--t-reveal),transform 800ms cubic-bezier(.22,1,.36,1)}
.verticales figure:nth-child(2){margin-top:var(--sp-xl)}
.verticales figure:nth-child(4){margin-top:var(--sp-xl)}
@media (max-width:600px){ .verticales{grid-template-columns:repeat(2,1fr);gap:var(--sp-sm)} .verticales figure:nth-child(2),.verticales figure:nth-child(4){margin-top:var(--sp-lg)} }
@media (prefers-reduced-motion:reduce){ .verticales figure{opacity:1;transform:none} }

.listas{display:grid;gap:var(--sp-2xl);margin-top:var(--sp-xl)}
@media (min-width:768px){ .listas{grid-template-columns:1fr 1fr;gap:var(--sp-3xl)} }
.lista h3{font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cano-rio-texto);margin-bottom:var(--sp-md)}
.lista li{display:grid;grid-template-columns:1.5rem 1fr;gap:var(--sp-sm);padding:var(--sp-sm) 0;border-top:1px solid var(--cano-linea)}
.lista li:last-child{border-bottom:1px solid var(--cano-linea)}
.lista li::before{content:"—";color:var(--cano-rio-texto)}
.lista.si li::before{content:"·";color:var(--cano-bruma);font-size:1.5em;line-height:.7}
.nivel{display:inline-flex;gap:5px;vertical-align:middle;margin-left:var(--sp-sm)}
.nivel i{width:9px;height:9px;border-radius:50%;border:1px solid var(--cano-niebla)}
.nivel i.on{background:var(--cano-bruma);border-color:var(--cano-bruma)}

.saber{display:grid;gap:var(--sp-lg);margin-top:var(--sp-xl)}
.saber div{border-top:1px solid var(--cano-linea);padding-top:var(--sp-md)}
.saber b{display:block;font-weight:400;margin-bottom:var(--sp-xs)}
.saber p{color:var(--cano-rio-texto);font-size:var(--fs-sm);line-height:1.6}
@media (min-width:600px){ .saber{grid-template-columns:1fr 1fr;column-gap:var(--sp-3xl)} }
@media (min-width:900px){ .saber{grid-template-columns:1fr 1fr 1fr} }

/* formulario · modo Operate */
.form{display:grid;gap:var(--sp-2xl);margin-top:var(--sp-xl);max-width:40rem}
.form fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--sp-lg)}
.form legend{font-weight:400;font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--cano-rio-texto);padding:0;margin-bottom:var(--sp-md)}
.form legend i{font-style:normal;color:var(--cano-bruma);margin-right:var(--sp-sm)}
.campo{display:grid;gap:var(--sp-xs)}
.campo label{font-weight:400;font-size:var(--fs-sm)}
.campo input,.campo select{min-height:48px;padding:0;font:300 var(--fs-base) var(--font);color:var(--cano-niebla);background:transparent;border:0;border-bottom:1px solid var(--cano-rio);border-radius:0;width:100%;outline:none}
.campo select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cano-rio-texto) 50%),linear-gradient(135deg,var(--cano-rio-texto) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.campo select option{background:var(--cano-noche-verde)}
.campo input:focus,.campo select:focus{border-bottom-color:var(--cano-niebla)}
.campo small{font-size:var(--fs-sm);color:var(--cano-rio-texto)}
.fila2{display:grid;gap:var(--sp-lg)}
@media (min-width:480px){ .fila2{grid-template-columns:1fr 1fr} }
.radios{display:grid}
.radios label{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-md);align-items:center;min-height:56px;padding:var(--sp-sm) 0;border-top:1px solid var(--cano-linea);cursor:pointer}
.radios label:last-child{border-bottom:1px solid var(--cano-linea)}
.radios label.off{color:var(--cano-rio-texto);cursor:not-allowed}
.radios label.off b{text-decoration:line-through}
.radios b{display:block;font-weight:400}
.radios small{display:block;color:var(--cano-rio-texto);font-size:var(--fs-sm)}
.radios .c{font-weight:400;font-size:var(--fs-xl);text-align:right;line-height:.9;font-variant-numeric:tabular-nums}
.radios .c small{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;margin-top:var(--sp-xs)}
.radios .pocos .c{color:var(--cano-bruma)}
.radios input{width:24px;height:24px;margin:0;accent-color:var(--cano-bruma)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 var(--sp-xl);border:1px solid var(--cano-niebla);border-radius:9999px;background:transparent;color:var(--cano-niebla);font:400 var(--fs-sm) var(--font);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background-color 200ms,color 200ms}
.btn:hover{background:var(--cano-niebla);color:var(--cano-noche-verde)}
.ok{display:none;padding:var(--sp-lg) 0;border-top:1px solid var(--cano-bruma)}
.ok b{display:block;font-weight:400;font-size:var(--fs-lg);margin-bottom:var(--sp-xs)}
.form.enviado .ok{display:block}
.form.enviado fieldset,.form.enviado .btn,.form.enviado .legal{display:none}
.legal{font-size:var(--fs-sm);color:var(--cano-rio-texto);max-width:52ch}

/* CTA fija móvil */
.cta-fija{position:fixed;left:0;right:0;bottom:0;z-index:950;background:rgba(14,37,37,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--cano-linea);padding:var(--sp-sm) var(--pad);padding-bottom:max(var(--sp-sm),env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md)}
.cta-fija .precio{flex:1;min-width:0;font-weight:400;font-size:var(--fs-xl);line-height:1}
.cta-fija .precio small{display:block;font-weight:400;font-size:var(--fs-xs);color:var(--cano-bruma);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;line-height:1.35}
.cta-fija .btn{flex:none;min-height:48px;padding:0 var(--sp-md);white-space:nowrap;letter-spacing:.12em}
body.con-cta{padding-bottom:84px}
body.con-cta .bot{bottom:92px}
@media (min-width:768px){ .cta-fija{display:none} body.con-cta{padding-bottom:0} body.con-cta .bot{bottom:var(--sp-lg)} }
