:root{--navy:#255675;--blue:#5BAADB;--pale:#EAF4FB;--ink:#1f2d3a;--warm:#E8A33D;--w:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:19px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,3.6rem)}h2{font-size:clamp(1.8rem,4.5vw,2.5rem)}h3{font-size:1.4rem}
p{margin:0 0 1em}a{color:var(--navy)}
:focus-visible{outline:4px solid var(--warm);outline-offset:3px;border-radius:4px}
html[lang=es] .en,html[lang=en] .es{display:none!important}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;background:#fff;padding:10px;z-index:99}.skip:focus{left:10px;top:10px}
header.top{background:#fff;border-bottom:1px solid #d5e5f0;position:sticky;top:0;z-index:50}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:8px 20px}
.logo img{height:64px;width:auto;display:block}
.contact{margin-left:auto;display:none;gap:18px;font-weight:600}
.contact a{text-decoration:none;min-height:48px;display:inline-flex;align-items:center}
.contact a:hover{text-decoration:underline}
.lang{display:flex;border:2px solid var(--navy);border-radius:999px;overflow:hidden;margin-left:auto}
.lang button{font:inherit;font-weight:700;background:#fff;color:var(--navy);border:0;padding:8px 16px;min-height:48px;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--navy);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px 26px;border-radius:999px;font:700 1.05rem/1.2 inherit;font-family:inherit;text-decoration:none;border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer}
.btn:hover{background:#1b435c}
.btn.alt{background:#fff;color:var(--navy)}.btn.alt:hover{background:var(--pale)}
.btn.warm{background:var(--warm);border-color:var(--warm);color:#1f2d3a}.btn.warm:hover{background:#d4932c}
.callbtn{min-height:48px;padding:8px 20px}
.hero{background:linear-gradient(180deg,var(--pale),#fff);padding:48px 0 56px}
.hero .grid{display:grid;gap:32px}
.label{display:inline-block;background:#fff;border:1px solid var(--blue);color:var(--navy);font-weight:700;font-size:.9rem;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.hero p.lead{font-size:1.3rem;max-width:36em}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}
.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 4px 20px rgba(37,86,117,.12);border:1px solid #d5e5f0}
.agent{text-align:center;align-self:center}
.avatar{width:84px;height:84px;border-radius:50%;background:var(--pale);display:grid;place-items:center;margin:0 auto 12px}
.agent h3{margin-bottom:.2em}
section{padding:60px 0}
.alt-bg{background:var(--pale)}
.two{display:grid;gap:24px}
.ico{width:56px;height:56px;color:var(--blue);margin-bottom:10px}
.tag{font-weight:700;color:var(--navy);border-left:5px solid var(--warm);padding-left:12px}
.steps{display:grid;gap:20px;counter-reset:s;padding:0;list-style:none}
.steps li{background:#fff;border-radius:18px;padding:24px 24px 24px 84px;position:relative;border:1px solid #d5e5f0}
.steps li:before{counter-increment:s;content:counter(s);position:absolute;left:22px;top:22px;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:700 1.4rem Georgia,serif}
.steps h3{margin-bottom:.2em}
.dates{background:var(--navy);color:#fff;border-radius:20px;padding:32px;margin-top:32px}
.dates h3{color:#fff}.dates .dgrid{display:grid;gap:20px}
.dates .box{background:rgba(255,255,255,.1);border-radius:14px;padding:20px}
.dates .big{font:700 1.7rem Georgia,serif;color:#fff;margin:0 0 .3em}
.dates ul{margin:.3em 0 0;padding-left:1.2em}
.dates small{display:block;margin-top:14px;font-size:1rem;opacity:.95}
.trust{display:grid;gap:18px;padding:0;list-style:none;margin:0}
.trust li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:14px;padding:18px;border:1px solid #d5e5f0}
.trust svg{flex:none;width:34px;height:34px;color:var(--blue)}
.trust b{display:block;color:var(--navy)}
form{display:grid;gap:18px}
label{font-weight:700;display:block;margin-bottom:6px;color:var(--navy)}
input,select,textarea{width:100%;font:inherit;color:var(--ink);padding:12px 14px;min-height:52px;border:2px solid #8aa5b8;border-radius:10px;background:#fff}
textarea{min-height:130px}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:28px;height:28px;min-height:0;flex:none;margin-top:3px}
.check label{font-weight:400;color:var(--ink);margin:0}
.note{font-size:1rem}
.hours{list-style:none;padding:0;margin:0 0 1em}
.hours li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #d5e5f0}
.social{display:flex;gap:12px;flex-wrap:wrap}
.social a{min-height:48px;display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:2px solid var(--navy);border-radius:999px;font-weight:700;text-decoration:none}
.social a:hover{background:var(--pale)}
footer{background:#163648;color:#fff;padding:44px 0 90px}
footer a{color:#cfe8f7}
footer .logo-w{background:#fff;display:inline-block;padding:8px 14px;border-radius:12px}
footer .logo-w img{height:70px;display:block}
.legal p{font-size:1rem;opacity:.95;max-width:62em}
.sticky{position:fixed;right:16px;bottom:16px;z-index:60;box-shadow:0 6px 18px rgba(0,0,0,.3)}
@media(min-width:760px){
.two{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}
.steps li{padding:84px 22px 24px}.steps li:before{left:22px;top:20px}
.dates .dgrid{grid-template-columns:1fr 1fr}.trust{grid-template-columns:1fr 1fr}
.hero .grid{grid-template-columns:1.6fr 1fr}.contact{display:none}.lang{margin-left:0}
.contactgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}}
@media(max-width:759px){.logo img{height:52px}.bar{padding:6px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:980px){.contact{display:flex}}
@media(max-width:979px){.lang{margin-left:auto}.callbtn{order:3}}
