/* Umbral · estilos compartidos. Sin fuentes ni recursos externos: tipografía del sistema. */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#eef0f2;color:#14213a;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1.0625rem;line-height:1.6}
*{box-sizing:border-box}
.web{background:#eef0f2;color:#14213a;font-family:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;font-size:18px;line-height:1.6;overflow-x:hidden}
.web h1,.web h2,.web h3{font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;margin:0;text-wrap:balance}
.web p{margin:0;text-wrap:pretty}
.web a{color:#14213a}
.sec{padding:clamp(60px,9vw,120px) clamp(20px,5vw,64px)}
.in{max-width:1120px;margin:0 auto}
.oscuro{background:#0b1526;color:#f4f1ea}
.oscuro a{color:#f0b44c}
.kicker{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#8a5a00;margin-bottom:16px}
.oscuro .kicker,.hero .kicker{color:#f0b44c}
.h2{font-size:clamp(34px,5.2vw,58px);line-height:1.04}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:#f0b44c;color:#0b1526 !important;text-decoration:none;font-weight:600;padding:12px 28px;border:0;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:#ffc766}
.btn-o{background:transparent;border:1px solid #f0b44c;color:#f0b44c !important}
.btn-o:hover{background:rgba(240,180,76,.12)}

/* cabecera */

/* hero */


/* cabecera */
.hero{position:relative;overflow:hidden;color:#f4f1ea;background:radial-gradient(120% 90% at 72% 78%,#1b2f55 0,#0f1d38 38%,#070e1c 100%)}
.top{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1240px;margin:0 auto;padding:26px clamp(20px,5vw,64px);position:relative;z-index:3}
.marca{display:inline-flex;align-items:center;gap:12px;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:600;font-size:26px;letter-spacing:.04em;color:#f4f1ea !important;text-decoration:none}
.marca svg{width:22px;height:28px;flex:none}
.nav-l{display:flex;align-items:center;gap:34px;font-size:15px;letter-spacing:.04em}
.nav-l a{color:#cdd4e1;text-decoration:none;position:relative;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.nav-l a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#f0b44c;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-l a:hover{color:#fff}
.nav-l a:hover::after{transform:scaleX(1)}
.hero-g{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,5vw,72px);align-items:stretch;max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,64px);min-height:clamp(560px,78vh,780px)}
.hero-t{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,96px) 0 clamp(96px,10vw,140px)}
.kick{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#f0b44c}
.kick::before{content:"";width:44px;height:1px;background:#f0b44c;flex:none}
.hero h1{font-size:clamp(60px,9.5vw,132px);line-height:1;letter-spacing:-.02em;margin-top:32px;color:#f7f3ea;text-shadow:0 0 60px rgba(240,180,76,.18)}
.lema{font-size:clamp(19px,2vw,24px);line-height:1.55;color:#e6e9ef;margin-top:28px;max-width:30ch}
.sub{color:#aab4c7;margin-top:36px;max-width:46ch;font-size:16.5px;line-height:1.7;padding-left:20px;border-left:1px solid rgba(240,180,76,.55)}
.escena{align-self:end;justify-self:center;width:100%;max-width:560px;display:block;margin-bottom:-2px}
.descenso{position:absolute;left:clamp(20px,5vw,64px);bottom:26px;z-index:3;display:flex;align-items:center;gap:12px;color:#aab4c7 !important;font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none}
.descenso i{display:block;width:1px;height:44px;background:linear-gradient(#f0b44c,rgba(240,180,76,0));transform-origin:top}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.linea-oro{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(240,180,76,0),rgba(240,180,76,.7),rgba(240,180,76,0));z-index:3}
@media (prefers-reduced-motion:no-preference){
  .rayos{animation:rayos 2.4s ease-out both}
  .halo{animation:respira 7s ease-in-out infinite}
  .descenso i{animation:baja 2.6s ease-in-out infinite}
  .hero-t>*{animation:sube .9s ease-out both}
  .hero-t>*:nth-child(2){animation-delay:.12s}.hero-t>*:nth-child(3){animation-delay:.24s}.hero-t>*:nth-child(4){animation-delay:.36s}
}
@keyframes rayos{from{opacity:0}to{opacity:1}}
@keyframes respira{0%,100%{opacity:.8}50%{opacity:1}}
@keyframes baja{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@keyframes sube{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* tres palabras */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid #c9ced8}
.tres div{padding:28px clamp(16px,3vw,40px);border-right:1px solid #c9ced8}
.tres div:last-child{border-right:0}
.tres strong{display:block;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:clamp(26px,3.6vw,40px);line-height:1.1}
.tres span{display:block;margin-top:6px;font-size:16px;color:#3a4660}

/* qué es */
.dos{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,88px);align-items:start}
.resp{font-size:clamp(20px,2.3vw,25px);line-height:1.45;font-weight:600}
.fines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;margin-top:36px}
.fin{border-top:2px solid #14213a;padding-top:12px;font-size:17px}
.fin b{display:block;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:30px;line-height:1;color:#8a5a00;margin-bottom:6px;font-weight:600}

/* principios */
.princ{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:0;margin-top:48px;border-top:1px solid rgba(244,241,234,.2)}
.pr{padding:28px 28px 32px 0;border-bottom:1px solid rgba(244,241,234,.2)}
.pr b{font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:34px;color:#f0b44c;font-weight:500;font-style:italic;line-height:1}
.pr h3{font-size:27px;margin:12px 0 8px;line-height:1.1}
.pr p{color:#c9d0dc;font-size:17px}

/* pasos */
.pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:56px;align-items:start}
.paso{background:#fff;border-top:5px solid #f0b44c;padding:24px 22px 28px}
.paso:nth-child(2){margin-top:36px}
.paso:nth-child(3){margin-top:72px}
.paso:nth-child(4){margin-top:108px}
.paso b{display:block;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:64px;line-height:.9;font-weight:500;color:#14213a}
.paso h3{font-size:26px;margin:12px 0 8px;line-height:1.1}
.paso p{font-size:17px;color:#34405a}
.nota{margin-top:48px;max-width:60ch;color:#34405a}

/* reserva */
.reserva-banda{height:18px;background:repeating-conic-gradient(#14213a 0 25%,#eef0f2 0 50%) 0 0/36px 36px}
.col2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px);margin-top:44px}
.caja{border:1px solid rgba(244,241,234,.28);padding:28px}
.caja h3{font-size:28px;margin-bottom:14px}
.caja ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.caja li{padding-left:22px;position:relative;color:#d5dae4;font-size:17px}
.caja li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:#f0b44c}

/* faq */
.faq{margin-top:44px;border-top:1px solid #aab1c0}
.faq details{border-bottom:1px solid #aab1c0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;min-height:48px;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:clamp(22px,2.6vw,28px);font-weight:600;line-height:1.15}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:system-ui,sans-serif;font-size:28px;font-weight:400;color:#8a5a00;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:68ch;color:#34405a}

/* solicitud */
.sol{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,88px);align-items:start}
.sol-i{display:grid;gap:14px;margin-top:28px;padding:0;list-style:none}
.sol-i li{padding-left:22px;position:relative;color:#d5dae4;font-size:17px}
.sol-i li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:#f0b44c}
.form{background:#eef0f2;color:#14213a;padding:clamp(20px,4vw,40px);display:grid;gap:18px}
.form label{font-weight:600;font-size:16px;display:block;margin-bottom:6px}
.form .op{font-weight:400;color:#4a5670}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea{font:inherit;font-size:16px;width:100%;min-height:48px;padding:10px 12px;border:1px solid #14213a;background:#fff;color:#14213a;border-radius:0}
.form textarea{min-height:130px;resize:vertical}
.form input:focus,.form textarea:focus,.faq summary:focus-visible,.btn:focus-visible,.nav-l a:focus-visible{outline:3px solid #f0b44c;outline-offset:2px}
.fila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.chk{display:flex;gap:12px;align-items:flex-start;font-weight:400 !important;font-size:16px !important}
.chk input{width:24px;height:24px;flex:none;margin:2px 0 0;accent-color:#14213a}
.ayuda{font-size:14px;color:#4a5670;margin-top:4px}
.pie{background:#070e1b;color:#aeb7c8;padding:40px clamp(20px,5vw,64px);font-size:15px}
.pie .in{display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:space-between}
.pie a{color:#d5dae4}

@media (max-width:900px){
  .hero-g{grid-template-columns:1fr;min-height:0}
  .hero-t{padding:clamp(24px,7vw,48px) 0 16px}
  .escena{max-width:420px;margin-top:8px}
  .descenso{display:none}
  .dos,.sol{grid-template-columns:1fr}
  .pasos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .paso:nth-child(n){margin-top:0}
  .paso:nth-child(even){margin-top:28px}
}
@media (max-width:640px){
  .nav-l{gap:18px;font-size:14px}
  .nav-l a:nth-child(n+3){display:none}
  .marca{font-size:22px}
  .escena{max-width:340px}
  .kick{letter-spacing:.16em;font-size:12px}
  .kick::before{width:28px}
  .tres{grid-template-columns:1fr}
  .tres div{border-right:0;border-bottom:1px solid #c9ced8;padding:20px 4px}
  .tres div:last-child{border-bottom:0}
  .fines,.col2,.fila{grid-template-columns:1fr}
  .pasos{grid-template-columns:1fr}
  .paso:nth-child(n){margin-top:0}
  .pr{padding-right:0}
}

/* ---- formulario real, accesibilidad y páginas de texto ---- */
.salto{position:absolute;left:16px;top:-4rem;background:#f0b44c;color:#0b1526;padding:.6rem 1rem;z-index:20;font-weight:600}
.salto:focus{top:16px}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.estado{min-height:1.5rem;margin:0;font-weight:600}
.estado.ok{color:#1c6b3a}
.estado.error{color:#a3261f}
.btn:disabled{opacity:.6;cursor:wait}
.form .btn{color:#f4f1ea !important;background:#0b1526}
.form .btn:hover{background:#162742}
.nota-js{font-size:15px;color:#4a5670}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.cabecera-texto{background:#0e1a2f;color:#e8ecf3;padding:1.25rem 16px}
.cabecera-texto .envoltura{max-width:1040px;margin:0 auto}
.cabecera-texto a{color:#e8ecf3;text-decoration:none;font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:1.25rem}
.cabecera-texto a:hover{text-decoration:underline}
.texto{max-width:44rem;margin:0 auto;padding:3rem 16px 4.5rem}
.texto h1{font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:500;font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.1;margin:0 0 .5rem}
.texto h2{font-family:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-weight:500;font-size:1.4rem;margin:2.2rem 0 .5rem}
.texto p,.texto li{margin:0 0 .9rem}
.texto ul{padding-left:1.2rem}
.texto a{color:#14213a}
.texto .fecha{color:#56657c;font-size:.95rem}
.pendiente{background:#fbe9c0;color:#14213a;padding:0 .25em;border-radius:2px}

/* ---- SEO: la bajada del H1 conserva el aspecto del lema ---- */
.hero h1 .lema{display:block;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:400;letter-spacing:0;text-shadow:none}
/* Zonas táctiles de los enlaces del pie */
.pie a{display:inline-block;padding:.5rem 0}
@media (max-width:640px){.kick{font-size:13px}}
