@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--azul:#1E2A4A;--oro:#E8A84C;--rosa:#F4C9B5;--papel:#FBF7F1;--tinta:#1B1B1F;--verde:#2F7D5B;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tinta);background:var(--papel);line-height:1.6}
h1,h2,h3{font-family:Fraunces,Georgia,serif;color:var(--azul);line-height:1.2}
a{color:var(--azul)}.wrap{max-width:1100px;margin:auto;padding:0 20px}
header.top{position:sticky;top:0;background:rgba(251,247,241,.92);backdrop-filter:blur(6px);border-bottom:1px solid #eadfcf;z-index:10}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{display:flex;align-items:center}.logo img{display:block;height:32px;width:auto}
nav a{margin-left:18px;text-decoration:none;font-size:.95rem}
.btn{display:inline-block;background:var(--azul);color:#fff;padding:12px 22px;border-radius:999px;text-decoration:none;border:0;font-weight:600;cursor:pointer;font-size:1rem}
.btn.alt{background:transparent;color:var(--azul);border:2px solid var(--azul)}
.hero{background:linear-gradient(160deg,var(--azul) 0%,#3a3f6b 55%,var(--oro) 88%,var(--rosa) 100%);color:#fff;padding:96px 0 80px}
.hero h1{color:#fff;font-size:clamp(2rem,5vw,3.4rem);margin:.2em 0}.hero p{font-size:1.15rem;max-width:640px;opacity:.95}
.hero .btn{background:var(--oro);color:var(--azul)}.hero .btn.alt{color:#fff;border-color:#fff;background:transparent}
.badge{display:inline-block;background:rgba(255,255,255,.15);padding:6px 14px;border-radius:999px;font-size:.9rem}
section{padding:72px 0}section.alt{background:#fff}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid #eadfcf;border-radius:var(--r);padding:24px}section.alt .card{background:var(--papel)}
.card h3{margin-top:0}
.principio{background:var(--azul);color:#fff}.principio h2{color:var(--oro)}
blockquote{font-family:Fraunces,Georgia,serif;font-size:1.6rem;border-left:4px solid var(--oro);margin:24px 0;padding-left:20px}
.plan .precio{font-size:2.2rem;font-weight:700;color:var(--azul)}.plan.dest{border:2px solid var(--oro)}
.nota{font-size:.85rem;color:#6b6257}
details{background:#fff;border:1px solid #eadfcf;border-radius:10px;padding:14px 18px;margin-bottom:10px}summary{font-weight:600;cursor:pointer}
form.espera{display:flex;flex-wrap:wrap;gap:12px;max-width:640px}
form.espera .campo{flex:1 1 220px;display:flex;flex-direction:column;gap:4px}form.espera label{font-size:.85rem;font-weight:600;color:var(--azul)}form.espera button{align-self:flex-end}
form.espera input{width:100%;font-family:inherit;padding:12px 14px;border:1px solid #cfc3b2;border-radius:10px;font-size:1rem}
footer{background:var(--tinta);color:#ccc;padding:40px 0;font-size:.9rem}footer a{color:var(--rosa)}
ul.check{list-style:none;padding:0}ul.check li:before{content:"✓✓ ";color:var(--verde);font-weight:700}
@media(max-width:720px){nav a:not(.btn){display:none}nav a.btn{padding:8px 16px;font-size:.9rem}section{padding:52px 0}}
.plan .precio,.badge{font-variant-numeric:tabular-nums}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.estado{flex-basis:100%;margin:4px 0 0;min-height:1.5em;font-weight:600}.estado.ok{color:var(--verde)}.estado.error{color:#B3412F}
form.espera.enviado .campo,form.espera.enviado button{display:none}
form.espera input:focus-visible,.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--oro);outline-offset:2px}
.btn:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){.hero{padding:64px 0 56px}.badge{border-radius:12px}.hero p .btn{margin:6px 0}blockquote{font-size:1.3rem}form.espera button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.tabla{overflow-x:auto;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff}th,td{border:1px solid #eadfcf;padding:8px 10px;text-align:left;vertical-align:top}th{background:var(--papel);color:var(--azul)}code{font-size:.85em;word-break:break-all}
.revision{font-size:.9rem;color:#6b6257;margin:4px 0 12px}
