
/* ── Tipografías incrustadas (OFL). Sin CDN, sin fallback silencioso. ────── */
@font-face{font-family:'Newsreader';src:url("fonts/newsreader.woff2") format('woff2');font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:'Archivo';src:url("fonts/archivo.woff2") format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'PlexMono';src:url("fonts/ibm-plex-mono.woff2") format('woff2');font-weight:500;font-style:normal;font-display:swap}

/* ── Fichas de color ──────────────────────────────────────────────────────
   El azul viene del logo del congreso (chakana + onda). El ámbar es la única
   nota cálida y se reserva para precio y llamada a la acción.               */
:root{
  --noche:#0A1524; --indigo:#16345F; --onda:#35B9DC; --ambar:#E2A03A;
  --hueso:#F2F5F8; --tinta:#101E30; --niebla:#5C6E85;

  --fondo:var(--hueso);
  --fondo-alt:#FFFFFF;
  --texto:var(--tinta);
  --texto-suave:var(--niebla);
  --titulo:var(--indigo);
  --borde:#D7DFE9;
  --acento:#1E7FA0;          /* cian pisado, legible sobre fondo claro */
  --acento-claro:var(--onda);
  --sombra:0 1px 2px rgba(16,30,48,.05), 0 12px 32px -12px rgba(16,30,48,.18);
}
@media (prefers-color-scheme: dark){
  :root{
    --fondo:#08111D; --fondo-alt:#0E1B2C; --texto:#DCE5EF; --texto-suave:#8FA3BA;
    --titulo:#CFE4F2; --borde:#1E3149; --acento:var(--onda); --acento-claro:var(--onda);
    --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 34px -14px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --fondo:#08111D; --fondo-alt:#0E1B2C; --texto:#DCE5EF; --texto-suave:#8FA3BA;
  --titulo:#CFE4F2; --borde:#1E3149; --acento:var(--onda); --acento-claro:var(--onda);
  --sombra:0 1px 2px rgba(0,0,0,.4), 0 14px 34px -14px rgba(0,0,0,.6);
}
:root[data-theme="light"]{
  --fondo:var(--hueso); --fondo-alt:#FFFFFF; --texto:var(--tinta); --texto-suave:var(--niebla);
  --titulo:var(--indigo); --borde:#D7DFE9; --acento:#1E7FA0; --acento-claro:var(--onda);
  --sombra:0 1px 2px rgba(16,30,48,.05), 0 12px 32px -12px rgba(16,30,48,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0; background:var(--fondo); color:var(--texto);
  font-family:'Archivo',system-ui,sans-serif; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3{font-family:'Newsreader',Georgia,serif; font-weight:500; color:var(--titulo);
  letter-spacing:-.015em; line-height:1.12; text-wrap:balance; margin:0}
p{margin:0}
a{color:var(--acento)}
img{max-width:100%; display:block}

.mono{font-family:'PlexMono',ui-monospace,monospace; font-weight:500;
  text-transform:uppercase; letter-spacing:.14em; font-size:.68rem}
.num{font-variant-numeric:tabular-nums}

/* ── Rejilla base: una columna con canal de señal a la izquierda ────────── */
.wrap{width:min(1080px,92vw); margin-inline:auto}
.seccion{padding:clamp(56px,8vw,104px) 0; position:relative}
.seccion + .seccion{border-top:1px solid var(--borde)}
.marca-seccion{color:var(--acento); display:flex; align-items:center; gap:10px; margin-bottom:14px}
.marca-seccion::before{content:""; width:26px; height:1px; background:var(--acento); flex:none}

/* La traza: una línea vertical de señal que recorre el cuerpo de la página */
.traza{position:absolute; left:calc(50% - 620px); top:0; bottom:0; width:1px;
  background:linear-gradient(180deg,transparent,var(--borde) 8%,var(--borde) 92%,transparent); display:none}
@media (min-width:1240px){.traza{display:block}}

/* Muesca escalonada tomada de la chakana del logo, en vez de esquina redonda */
.ficha{background:var(--fondo-alt); border:1px solid var(--borde); box-shadow:var(--sombra);
  clip-path:polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%)}

/* ── Botones ──────────────────────────────────────────────────────────── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 26px; font-family:'Archivo',sans-serif; font-weight:600; font-size:.97rem;
  text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .16s, box-shadow .16s, background .16s;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%)}
.btn-primario{background:var(--ambar); color:#20160A; box-shadow:0 10px 24px -12px rgba(226,160,58,.9)}
.btn-primario:hover{transform:translateY(-2px); box-shadow:0 16px 30px -12px rgba(226,160,58,.95)}
.btn-solido{background:var(--indigo); color:#EAF2F8}
.btn-solido:hover{transform:translateY(-2px); box-shadow:0 14px 28px -14px rgba(22,52,95,.8)}
:root[data-theme="dark"] .btn-solido{background:#22467A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn-solido{background:#22467A}}
.btn-fantasma{background:transparent; color:inherit; border-color:currentColor; opacity:.85}
.btn-fantasma:hover{opacity:1; transform:translateY(-2px)}
.btn:focus-visible{outline:2px solid var(--onda); outline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--onda); outline-offset:3px}

/* ── Cabecera ─────────────────────────────────────────────────────────── */
.cabecera{position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--fondo) 88%, transparent);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--borde)}
.cabecera-in{display:flex; align-items:center; gap:18px; padding:11px 0}
.cabecera img{width:38px; height:auto}
.cabecera-txt{display:flex; flex-direction:column; line-height:1.2; min-width:0}
.cabecera-txt b{font-family:'Newsreader',serif; font-weight:600; font-size:1rem; color:var(--titulo);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.cabecera-txt span{color:var(--texto-suave)}
/* En móvil la barra fija de abajo ya lleva la llamada a la acción: quitarla de
   la cabecera le devuelve el ancho al título. */
@media (max-width:700px){.cabecera .btn{display:none} .cabecera-txt b{white-space:normal; font-size:.94rem}}

.nav-sitio{display:flex; gap:22px; margin-left:auto; align-items:center}
.nav-sitio a{color:var(--texto-suave); text-decoration:none; font-size:.9rem; font-weight:500;
  padding:4px 0; border-bottom:1px solid transparent; transition:color .15s, border-color .15s}
.nav-sitio a:hover{color:var(--acento); border-bottom-color:var(--acento)}
.cabecera .btn{margin-left:20px; padding:10px 18px; font-size:.86rem; flex:none}
@media (max-width:1080px){.nav-sitio{display:none}}

/* ── Portada ──────────────────────────────────────────────────────────── */
.portada{position:relative; background:var(--noche); color:#EAF2F8; overflow:hidden; isolation:isolate}
.portada-foto{position:absolute; inset:0; z-index:-2}
.portada-foto img{width:100%; height:100%; object-fit:cover; object-position:center 38%}
.portada-velo{position:absolute; inset:0; z-index:-1;
  background:linear-gradient(105deg, rgba(6,14,26,.96) 0%, rgba(6,14,26,.88) 42%, rgba(6,14,26,.42) 100%)}
.portada-in{padding:clamp(72px,11vw,132px) 0 clamp(56px,7vw,88px); max-width:720px}
.eyebrow{color:var(--onda); display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.eyebrow::before{content:""; width:34px; height:1px; background:var(--onda)}
.portada h1{color:#FFF; font-size:clamp(2.5rem,6.4vw,4.35rem); margin:22px 0 0; font-weight:400}
.portada h1 em{font-style:italic; color:var(--onda)}
.portada-fecha{font-family:'Newsreader',serif; font-size:clamp(1.15rem,2.4vw,1.5rem); color:#C6D8E8; margin-top:18px}
.portada-fecha b{color:#FFF; font-weight:600}
.portada-lead{margin-top:20px; color:#B8CADC; max-width:56ch}
.portada-acciones{display:flex; gap:14px; flex-wrap:wrap; margin-top:34px}
.portada .btn-fantasma{color:#EAF2F8}
.onda-hero{position:absolute; left:0; right:0; bottom:0; height:120px; z-index:-1; opacity:.5}
.onda-hero path{fill:none; stroke:var(--onda); stroke-width:1.4;
  stroke-dasharray:2600; stroke-dashoffset:2600; animation:trazar 2.6s .3s ease-out forwards}
@keyframes trazar{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.onda-hero path{animation:none; stroke-dashoffset:0}}

/* Barra de urgencia */
.urgencia{background:var(--indigo); color:#EAF2F8; border-top:1px solid rgba(255,255,255,.12)}
.urgencia-in{display:flex; align-items:center; gap:8px 26px; flex-wrap:wrap; padding:15px 0}
.urgencia .punto{width:7px; height:7px; border-radius:50%; background:var(--ambar); flex:none;
  box-shadow:0 0 0 0 rgba(226,160,58,.7); animation:latir 2.4s infinite}
@keyframes latir{70%{box-shadow:0 0 0 9px rgba(226,160,58,0)} 100%{box-shadow:0 0 0 0 rgba(226,160,58,0)}}
@media (prefers-reduced-motion:reduce){.urgencia .punto{animation:none}}
.urgencia b{color:var(--ambar)}
#cuenta{margin-left:auto; color:#A9C0D6}
#cuenta strong{color:#FFF; font-weight:600}
@media (max-width:760px){#cuenta{margin-left:0; width:100%}}

/* ── Franja de respaldo ───────────────────────────────────────────────────
   Texto, no logos: los originales son de proporciones muy distintas y a
   tamaño de franja se leen como manchas. Los sellos de AMNO e ISOM van en la
   sección del PreCongreso, que es lo que efectivamente avalan.             */
.avales{padding:22px 0; border-bottom:1px solid var(--borde); background:var(--fondo-alt)}
.avales-in{display:flex; align-items:center; justify-content:center;
  gap:clamp(14px,3vw,40px); flex-wrap:wrap; color:var(--texto-suave); text-align:center}
.avales-in span{display:flex; align-items:center; gap:11px}
.avales-in span + span::before{content:""; width:16px; height:1px; background:var(--acento); flex:none}
.avales-in b{color:var(--texto); font-weight:600}

/* Sellos institucionales sobre ficha blanca, a tamaño legible */
.sellos{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:30px}
.sellos .rotulo{color:var(--onda); margin-right:4px}
.chip-aval{background:#FFF; border:1px solid rgba(255,255,255,.2); padding:10px 14px;
  display:grid; place-items:center; min-height:76px;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%)}
.chip-aval img{max-height:56px; max-width:180px; width:auto; height:auto; object-fit:contain}

/* ── Bloques de contenido ─────────────────────────────────────────────── */
.titulo-seccion{font-size:clamp(1.85rem,4vw,2.7rem); max-width:20ch}
.bajada{color:var(--texto-suave); margin-top:16px; max-width:62ch}

.dos-col{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:start}
@media (max-width:860px){.dos-col{grid-template-columns:1fr}}

.lista-check{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:13px}
.lista-check li{display:grid; grid-template-columns:22px 1fr; gap:12px; align-items:start}
.lista-check svg{width:22px; height:22px; color:var(--acento); margin-top:3px}

/* Ponentes — la invitada principal en horizontal, el resto en cuatro fichas
   de igual altura para que ninguna recorte su texto. */
.ponente-foto{overflow:hidden; background:var(--indigo)}
.ponente-foto img{width:100%; height:100%; object-fit:cover; object-position:center 20%;
  transition:transform .5s ease}
.ponente:hover .ponente-foto img{transform:scale(1.04)}
.ponente-txt h3{font-size:1.16rem}
.ponente-txt .rol{color:var(--acento); margin-top:7px}
.ponente-txt p{color:var(--texto-suave); font-size:.92rem; margin-top:11px}

.destacada{display:grid; grid-template-columns:minmax(0,300px) minmax(0,1fr); margin-top:44px}
.destacada .ponente-foto{min-height:340px}
.destacada .ponente-txt{padding:clamp(26px,3.6vw,44px); align-self:center}
.destacada .ponente-txt h3{font-size:clamp(1.5rem,2.6vw,2rem)}
.destacada .ponente-txt p{font-size:1rem; max-width:56ch}
@media (max-width:720px){
  .destacada{grid-template-columns:1fr}
  .destacada .ponente-foto{min-height:0; aspect-ratio:16/10}
}

.ponentes{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:18px}
@media (max-width:900px){.ponentes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.ponentes{grid-template-columns:1fr}}
.ponentes .ponente{display:flex; flex-direction:column}
.ponentes .ponente-foto{aspect-ratio:13/14}
.ponentes .ponente-txt{padding:16px 18px 20px}

.aviso-panel{color:var(--texto-suave); margin-top:34px; padding-top:22px;
  border-top:1px solid var(--borde)}

/* Ejes temáticos */
.ejes{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px}
@media (max-width:900px){.ejes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ejes{grid-template-columns:1fr}}
.eje{padding:26px 24px 28px; position:relative}
.eje h3{font-size:1.12rem; margin-bottom:10px}
.eje p{color:var(--texto-suave); font-size:.93rem}
.eje-onda{position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--acento-claro),transparent)}

/* PreCongreso — banda oscura */
.banda-oscura{background:var(--noche); color:#E4EEF6; border-top:none}
.banda-oscura h2,.banda-oscura h3{color:#FFF}
.banda-oscura .bajada,.banda-oscura p{color:#A9C0D6}
.banda-oscura .marca-seccion{color:var(--onda)}
.banda-oscura .marca-seccion::before{background:var(--onda)}
.banda-oscura .ficha{background:rgba(255,255,255,.045); border-color:rgba(255,255,255,.13); box-shadow:none}
.banda-oscura .lista-check svg{color:var(--onda)}
.banda-oscura .btn-fantasma{color:#E4EEF6}
.pre-grid{display:grid; grid-template-columns:280px 1fr; gap:clamp(26px,5vw,56px); align-items:center; margin-top:40px}
@media (max-width:760px){.pre-grid{grid-template-columns:1fr}}
.pre-foto{aspect-ratio:1; overflow:hidden}
.pre-foto img{width:100%; height:100%; object-fit:cover}

/* Galería — mosaico de filas fijas: 6 columnas que siempre cierran exacto.
   Filas 1-2: una foto grande (4×2) + dos verticales (2×1). Fila 3: tres (2×1). */
.galeria{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:clamp(130px,15vw,200px);
  gap:10px; margin-top:38px}
.galeria figure{margin:0; overflow:hidden; grid-column:span 2}
.galeria figure:first-child{grid-column:span 4; grid-row:span 2}
.galeria img{width:100%; height:100%; object-fit:cover; filter:saturate(.92);
  transition:transform .55s ease, filter .35s ease}
.galeria figure:hover img{transform:scale(1.05); filter:saturate(1.05)}
@media (max-width:700px){
  .galeria{grid-template-columns:repeat(2,1fr); grid-auto-rows:34vw}
  .galeria figure{grid-column:span 1}
  .galeria figure:first-child{grid-column:span 2; grid-row:span 1}}
.pie-galeria{color:var(--texto-suave); margin-top:16px; font-size:.88rem}

/* Precios */
.precios{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:44px; align-items:stretch}
@media (max-width:880px){.precios{grid-template-columns:1fr}}
.plan{padding:30px 26px 32px; display:flex; flex-direction:column}
.plan .etiqueta{color:var(--texto-suave)}
.plan h3{font-size:1.3rem; margin-top:12px}
.plan .valor{font-family:'Newsreader',serif; font-size:3.1rem; font-weight:600; color:var(--titulo);
  line-height:1; margin-top:18px; font-variant-numeric:tabular-nums}
.plan .valor sup{font-size:1.1rem; vertical-align:super; font-weight:400; margin-right:3px}
.plan .vigencia{color:var(--texto-suave); font-size:.88rem; margin-top:8px}
.plan ul{list-style:none; padding:0; margin:22px 0 26px; display:grid; gap:9px; font-size:.93rem}
.plan ul li{padding-left:19px; position:relative; color:var(--texto-suave)}
.plan ul li::before{content:""; position:absolute; left:0; top:.62em; width:7px; height:1px; background:var(--acento)}
.plan .btn{margin-top:auto; width:100%}
.plan-destacado{border-color:var(--ambar); border-width:1.5px; position:relative}
.plan-destacado .valor{color:var(--ambar)}
.cinta{position:absolute; top:0; right:0; background:var(--ambar); color:#20160A; padding:5px 13px;
  clip-path:polygon(12px 0, 100% 0, 100% 100%, 0 100%)}
.plan-agotado{opacity:.62}
.plan-agotado .valor{text-decoration:line-through; text-decoration-thickness:2px; color:var(--texto-suave)}
.sello-agotado{align-self:flex-start; margin-top:14px; border:1px solid var(--borde); padding:5px 11px; color:var(--texto-suave)}

/* Sede */
.sede-foto{overflow:hidden; aspect-ratio:16/10}
.sede-foto img{width:100%; height:100%; object-fit:cover}
.dato{display:grid; grid-template-columns:120px 1fr; gap:6px 18px; margin-top:26px; font-size:.95rem}
.dato dt{color:var(--texto-suave); font-family:'PlexMono',monospace; text-transform:uppercase;
  letter-spacing:.1em; font-size:.66rem; padding-top:4px}
.dato dd{margin:0}
.tarifa-hotel{display:flex; align-items:baseline; gap:12px; margin-top:8px}
.tarifa-hotel .antes{text-decoration:line-through; color:var(--texto-suave)}
.tarifa-hotel .ahora{font-family:'Newsreader',serif; font-size:2rem; font-weight:600; color:var(--titulo)}

/* Pago */
.pagos{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:40px}
@media (max-width:760px){.pagos{grid-template-columns:1fr}}
.pago{padding:24px}
.pago h3{font-size:1.06rem; margin-bottom:12px}
.pago p,.pago dl{color:var(--texto-suave); font-size:.93rem}
.pago .cuenta{font-family:'PlexMono',monospace; text-transform:none; letter-spacing:.02em;
  font-size:.95rem; color:var(--texto); background:var(--fondo); border:1px solid var(--borde);
  padding:3px 9px; display:inline-block; margin-top:4px; user-select:all}
.aviso-pago{margin-top:26px; padding:18px 22px; border-left:3px solid var(--acento);
  background:var(--fondo-alt); color:var(--texto-suave); font-size:.93rem}

/* FAQ */
.faq{margin-top:38px; border-top:1px solid var(--borde)}
.faq details{border-bottom:1px solid var(--borde)}
.faq summary{cursor:pointer; padding:20px 40px 20px 0; position:relative; list-style:none;
  font-family:'Newsreader',serif; font-size:1.12rem; color:var(--titulo)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; position:absolute; right:6px; top:17px; font-family:'Archivo',sans-serif;
  font-size:1.5rem; color:var(--acento); transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .respuesta{padding:0 0 22px; color:var(--texto-suave); max-width:68ch}

/* Cierre */
.cierre{background:var(--indigo); color:#EAF2F8; text-align:center}
.cierre h2{color:#FFF; font-size:clamp(2rem,4.6vw,3.1rem); margin-inline:auto}
.cierre p{color:#B8CADC; margin:18px auto 0; max-width:52ch}
.cierre .portada-acciones{justify-content:center}
.cierre .btn-fantasma{color:#EAF2F8}

footer{background:var(--noche); color:#8AA2BA; padding:52px 0 40px; font-size:.87rem}
footer a{color:#B8CADC}
.pie-grid{display:flex; gap:28px; flex-wrap:wrap; justify-content:space-between; align-items:start}
.legal{margin-top:30px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1);
  color:#6F869E; font-size:.8rem; max-width:80ch}

/* Auspiciantes */
.auspiciantes{display:grid; gap:16px; margin-top:44px}
.auspiciante{display:grid; grid-template-columns:150px 1fr; gap:clamp(20px,3vw,36px);
  align-items:center; padding:24px 28px}
.auspiciante-logo{display:grid; place-items:center; background:#FFF; padding:14px; min-height:120px;
  clip-path:polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%)}
.auspiciante-logo img{max-height:92px; width:auto; object-fit:contain}
.auspiciante h3{font-size:1.24rem; margin-bottom:9px}
.auspiciante p{color:var(--texto-suave); font-size:.94rem}
@media (max-width:640px){.auspiciante{grid-template-columns:1fr}
  .auspiciante-logo{min-height:0; justify-self:start; padding:12px 20px}}

/* Stands */
.stands{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:40px}
@media (max-width:860px){.stands{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.stands{grid-template-columns:1fr}}
.stand{padding:24px 22px 26px}
.stand .etiqueta{color:var(--texto-suave)}
.stand h3{font-size:1.2rem; margin-top:8px}
.stand .valor{font-family:'Newsreader',serif; font-size:2.1rem; font-weight:600; color:var(--titulo);
  line-height:1; margin-top:14px; font-variant-numeric:tabular-nums}
.stand .valor sup{font-size:.82rem; vertical-align:super; font-weight:400; margin-right:3px}
.banda-oscura .stand .valor{color:var(--ambar)}
.banda-oscura .stand h3{color:#FFF}

/* Ficha de ponente sin retrato disponible: iniciales sobre el degradado. */
.ponente-sin-foto{aspect-ratio:13/14; display:grid; place-items:center;
  background:linear-gradient(140deg,var(--indigo),var(--noche))}
.ponente-sin-foto .iniciales{font-size:1.7rem; color:var(--onda); opacity:.8}

/* Los retratos del panel vienen recortados sobre fondo transparente: se apoyan
   en la base de la ficha en vez de recortarse, sobre el mismo azul nocturno. */
.ponente-recorte{background:linear-gradient(140deg,var(--indigo),var(--noche))}
.ponente-recorte img{object-fit:contain; object-position:center bottom; padding:12px 12px 0}
.ponente-pais{display:flex; align-items:center; gap:8px; color:var(--acento); margin-top:8px}
.ponente-pais .bandera{font-size:1.05rem; letter-spacing:0}

/* CTA fija en móvil */
.cta-movil{position:fixed; left:0; right:0; bottom:0; z-index:60; display:none; gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:color-mix(in srgb,var(--fondo) 94%,transparent);
  backdrop-filter:blur(10px); border-top:1px solid var(--borde)}
.cta-movil .btn{flex:1; padding:13px 10px; font-size:.9rem}
@media (max-width:700px){.cta-movil{display:flex} body{padding-bottom:74px}}

/* Aparición al hacer scroll */
.revelar{opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease}
.revelar.visible{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.revelar{opacity:1; transform:none; transition:none}}
