*{box-sizing:border-box;margin:0}body{font-family:system-ui,Segoe UI,Roboto,sans-serif;color:#1e293b;line-height:1.6}
.wrap{max-width:1100px;margin:auto;padding:0 20px}.narrow{max-width:680px}section{padding:70px 0}section.wrap{padding:70px 20px}.alt{background:#f1f5f9}
h2{font-size:2rem;margin-bottom:28px;text-align:center}
.nav{position:sticky;top:0;background:#fff;box-shadow:0 1px 8px #0001;z-index:9}.nav .wrap{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{font-weight:800;font-size:1.4rem;color:#0f172a;text-decoration:none}.logo span{color:#2563eb}
nav a{margin-left:18px;color:#334155;text-decoration:none}nav button{margin-left:18px;border:1px solid #2563eb;background:none;color:#2563eb;border-radius:6px;padding:4px 10px;cursor:pointer}
.hero{background:linear-gradient(135deg,#1e3a8a,#2563eb 60%,#06b6d4);color:#fff;text-align:center;padding:110px 0}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:16px}.hero p{max-width:620px;margin:0 auto 30px;font-size:1.15rem;opacity:.9}
.btn{display:inline-block;background:#f59e0b;color:#111;border:0;padding:12px 26px;border-radius:8px;font-weight:700;text-decoration:none;cursor:pointer;font-size:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.card,.step{background:#fff;border-radius:12px;padding:26px;box-shadow:0 4px 18px #0f172a14}.card b{font-size:2rem}
.step span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2563eb;color:#fff;font-weight:700}
.price{text-align:center}.amt{font-size:1.8rem;font-weight:800;margin:14px 0;color:#2563eb}.hot{outline:3px solid #2563eb}
.note{text-align:center;margin:-16px 0 24px;color:#b45309;font-style:italic}
form{display:grid;gap:12px}input,textarea,select{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.row{display:flex;gap:12px}
details{border-bottom:1px solid #e2e8f0;padding:14px 0}summary{font-weight:600;cursor:pointer}
footer{background:#0f172a;color:#cbd5e1;text-align:center;padding:50px 0}footer a{color:#93c5fd}.small{font-size:.85rem;margin-top:10px}
#msg{text-align:center;font-weight:600}
@media(max-width:700px){nav a{display:none}.row{flex-direction:column}}
.dur{color:#64748b}.policy{margin-top:34px;background:#eff6ff;border-left:5px solid #2563eb;border-radius:10px;padding:22px 26px}.policy ul{margin:10px 0 0 18px}
.amt small{display:block;font-size:1rem;font-weight:600;color:#475569;margin-top:2px}.price{display:flex;flex-direction:column}.price .btn{margin-top:auto;align-self:center}
.langsw{display:inline-flex;margin-left:18px;border:1px solid #cbd5e1;border-radius:999px;padding:3px;gap:3px;background:#f8fafc}
.langsw button{display:flex;align-items:center;gap:6px;border:0;background:none;border-radius:999px;padding:5px 10px;cursor:pointer;font:600 .85rem system-ui;color:#64748b;opacity:.55}
.langsw button svg{height:16px;border-radius:3px;box-shadow:0 0 0 1px #0002}.langsw button[data-lang=es] svg{width:24px}.langsw button[data-lang=en] svg{width:32px}
.langsw button[aria-pressed="true"]{background:#2563eb;color:#fff;opacity:1}
.langsw button:focus-visible{outline:2px solid #f59e0b}
.extra{font-size:.85rem;color:#475569;margin:-6px 0 14px}.cancel{margin-top:16px;border-color:#f59e0b;background:#fffbeb}
form label{flex:1;display:grid;gap:4px;font-size:.85rem;color:#475569;font-weight:600}
.xlink{display:block;font-size:.85rem;font-weight:600;color:#2563eb;margin:10px 0 0;text-align:center}
.cursw{display:flex;justify-content:center;align-items:center;gap:6px;margin:-10px 0 26px;font-weight:600;color:#475569}.cursw button{border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:6px 14px;font:600 .9rem system-ui;cursor:pointer;color:#334155}.cursw button[aria-pressed="true"]{background:#2563eb;border-color:#2563eb;color:#fff}
