/* Paleta y tipografía originales de la web: verde #0D4A43, oro #B8811A, fondo #F3F5F4 · Figtree */
:root{--bg:#F3F5F4;--surface:#FFFFFF;--fg:#10201F;--muted:#526060;--line:#DCE3E1;--brand:#0D4A43;--brand-fg:#FFFFFF;--gold:#B8811A;--gold-text:#B8811A;--gold-soft:#F4E7C7;--band:#0D4A43;--band-fg:#F3F5F4;--band-gold:#E3B34C;
--ink:#10201F;--f-display:'Figtree','Segoe UI',system-ui,sans-serif;--f-body:'Figtree','Segoe UI',system-ui,sans-serif;--f-black:'Figtree',system-ui,sans-serif}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.6 var(--f-body)}
.wrap{max-width:70rem;margin-inline:auto;padding-inline:1rem}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;text-wrap:balance;margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.top{display:flex;justify-content:space-between;align-items:center;gap:.8rem 1rem;padding-block:1.1rem;flex-wrap:wrap}
.logo{font:700 1.35rem var(--f-display);letter-spacing:.04em;text-decoration:none}
.logo span{color:var(--gold)}
.top nav{display:flex;gap:1.4rem;font-size:.95rem;font-weight:500}
.top nav a{white-space:nowrap;text-decoration:none;color:var(--muted);padding-block:.3rem;border-bottom:2px solid transparent}
.top nav a:hover{color:var(--fg)}
.top nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--brand);color:var(--brand-fg);font:600 1rem var(--f-body);padding:.85rem 1.4rem;border-radius:.6rem;text-decoration:none;border:0;cursor:pointer;min-height:2.9rem}
.btn:hover{filter:brightness(1.1)}
.btn.alt{background:transparent;color:var(--fg);border:1.5px solid var(--line)}
.btn.sm{padding:.55rem 1rem;min-height:2.4rem;font-size:.92rem}
.eyebrow{font:600 .8rem var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);margin:0 0 .9rem}
h1{font-size:clamp(2.3rem,5.6vw,4rem);font-weight:800;letter-spacing:-.02em}
h1 em{font-style:normal;color:var(--gold-text)}
.lead{font-size:1.2rem;color:var(--muted);max-width:34rem;margin:1.2rem 0 1.8rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;padding-block:3rem 4rem}
.hero>*{min-width:0}
.sim{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.5rem;box-shadow:0 18px 40px -26px rgba(14,74,68,.5)}
.sim h2{font-size:1.25rem;margin-bottom:1.1rem}
.sim label,.sim .lbl{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.monto{font:800 2.4rem var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
input[type=range]{width:100%;accent-color:var(--brand);margin:.4rem 0 1.1rem;min-height:1.6rem}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:1.2rem}
.seg button{font:600 .95rem var(--f-body);padding:.7rem .5rem;border:1.5px solid var(--line);background:transparent;color:var(--fg);border-radius:.55rem;cursor:pointer;min-height:2.7rem}
.seg button[aria-pressed=true]{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}
.res{border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.5rem}
.res div{display:flex;justify-content:space-between;gap:1rem;font-variant-numeric:tabular-nums}
.res .cuota{font:700 1.5rem var(--f-display);color:var(--gold-text)}
.nota{font-size:.82rem;color:var(--muted);margin:1rem 0 0}
.pagina{padding-block:2.5rem 3.5rem}
.pagina h1{font-size:clamp(2rem,4.6vw,3.1rem);max-width:42rem}
.pagina .lead{margin-bottom:2.2rem}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;list-style:none;padding:0;margin:0 0 2rem}
.pasos li{border-top:3px solid var(--gold);padding-top:1rem;min-width:0}
.pasos h3{font-size:1.25rem;margin-bottom:.4rem}
.pasos p{margin:0;color:var(--muted)}
.tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:0 0 2rem;padding:0;list-style:none}
.tipos li{background:var(--surface);border:1px solid var(--line);padding:1.1rem 1.2rem;border-radius:.8rem;min-width:0}
.tipos b{display:block;font:700 1.15rem var(--f-display);margin-bottom:.2rem}
.tipos span{color:var(--muted);font-size:.97rem}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2rem}
.dos>div{min-width:0}
.dos h2{font-size:1.5rem;margin-bottom:.9rem}
.lista{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.lista li{padding-left:1.5rem;position:relative}
.lista li::before{content:"";position:absolute;left:0;top:.62em;width:.7rem;height:.7rem;border-radius:50%;background:var(--gold)}
.claro{background:var(--gold-soft);border-radius:1rem;padding:1.6rem}
.claro p{margin:.5rem 0 0}
.datos{display:grid;gap:.5rem;font-size:1.1rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.6rem;min-width:0;overflow-wrap:anywhere}
.datos b{font-family:var(--f-display);font-size:1.6rem}
.datos small{color:var(--muted);font-size:.9rem}
.cierre{background:var(--band);color:var(--band-fg);border-radius:1rem;padding:1.8rem;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap}
.cierre h2{font-size:1.5rem;max-width:26rem}
.cierre .btn{background:var(--band-gold);color:#1A1A1A}
footer{border-top:1px solid var(--line);padding-block:1.8rem;color:var(--muted);font-size:.88rem;display:grid;gap:.4rem;margin-top:1rem}
@media (max-width:50rem){.hero,.dos{grid-template-columns:1fr}.pasos{grid-template-columns:1fr}.hero{padding-block:1.5rem 2.5rem}.top nav{order:3;width:100%;gap:1.1rem;overflow-x:auto}.top .btn.sm{display:none}}
@media (prefers-reduced-motion:no-preference){.btn{transition:filter .15s}}
.top nav{flex-wrap:nowrap}
.fab{position:fixed;right:max(1rem,env(safe-area-inset-right,0px));bottom:calc(1rem + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:.5rem;background:#1E9E57;color:#fff;font:600 .95rem var(--f-body);text-decoration:none;padding:.75rem 1.1rem;border-radius:3rem;box-shadow:0 10px 24px -8px rgba(0,0,0,.45);z-index:20;min-height:2.9rem}
.fab:hover{filter:brightness(1.08)}
.fab svg{width:1.3rem;height:1.3rem;fill:#fff}
.form{display:grid;gap:1rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.6rem;min-width:0}
.form h2{font-size:1.4rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form .row>*{min-width:0}
.form label{display:block;font-size:.88rem;font-weight:600;margin-bottom:.3rem}
.form label small{font-weight:400;color:var(--muted)}
.form input[type=text],.form input[type=tel],.form input[type=email],.form input[type=number],.form select,.form textarea{width:100%;font:400 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:.55rem;padding:.7rem .8rem;min-height:2.9rem}
.form textarea{min-height:7rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.form .chk{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--muted)}
.form .chk input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--brand);flex:none}
.form .chk label{font-weight:400;margin:0;font-size:.9rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.estado{padding:.8rem 1rem;border-radius:.6rem;font-weight:500}
.estado.ok{background:var(--gold-soft)}
.estado.err{background:#F8D9D6;color:#5A1410}
.col2{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:start}
.col2>*{min-width:0}
details.faq{background:var(--surface);border:1px solid var(--line);border-radius:.8rem;padding:0;margin-bottom:.7rem}
details.faq summary{cursor:pointer;font:700 1.08rem var(--f-display);padding:1rem 1.2rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1}
details.faq[open] summary::after{content:"–"}
details.faq p{margin:0;padding:0 1.2rem 1.1rem;color:var(--muted)}
.legal h2{font-size:1.3rem;margin:1.8rem 0 .5rem}
.legal p,.legal li{color:var(--muted);max-width:44rem}
.legal ul{padding-left:1.2rem}
.pie-links{display:flex;gap:1.2rem;flex-wrap:wrap}
.pie-links a{color:var(--muted)}
@media (max-width:50rem){.col2,.form .row{grid-template-columns:1fr}body{padding-bottom:4.5rem}}
@media (max-width:50rem){.top nav{flex-wrap:wrap;overflow:visible;gap:.2rem 1.1rem}}
.burger,.nav-cerrar,.nav-wa,.scrim{display:none}
@media (max-width:64rem){
  .top{flex-wrap:nowrap;position:relative}
  .burger{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;background:var(--surface);border:1.5px solid var(--line);border-radius:.6rem;color:var(--fg);cursor:pointer;padding:0}
  .burger svg{width:1.4rem;height:1.4rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .top nav{position:fixed;top:0;right:0;bottom:0;order:0;width:min(20rem,86vw);flex-direction:column;flex-wrap:nowrap;gap:.2rem;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);padding:1rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom,0px));z-index:40;transform:translateX(100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;box-shadow:-18px 0 40px -20px rgba(0,0,0,.4)}
  .top nav a{font:600 1.15rem var(--f-display);color:var(--fg);padding:.95rem .4rem;border-bottom:1px solid var(--line);white-space:normal}
  .top nav a[aria-current=page]{color:var(--fg);border-bottom-color:var(--gold)}
  .top.abierto nav{transform:none;visibility:visible;transition:transform .25s ease,visibility 0s}
  .nav-cerrar{display:inline-flex;align-self:flex-end;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;background:transparent;border:1.5px solid var(--line);border-radius:.6rem;color:var(--fg);cursor:pointer;margin-bottom:.6rem;padding:0}
  .nav-cerrar svg{width:1.2rem;height:1.2rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .top nav a.nav-wa{display:flex;margin-top:1.2rem;background:var(--brand);color:var(--brand-fg);border:0;border-radius:.6rem;justify-content:center;padding:.9rem 1rem;font:600 1rem var(--f-body)}
  .scrim{display:block;position:fixed;inset:0;background:rgba(5,15,14,.55);z-index:30;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
  .top.abierto .scrim{opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s}
  .fab{transition:opacity .2s}
  .top.abierto~.fab{opacity:0;pointer-events:none}
  body.menu-abierto{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.top nav,.scrim{transition:none!important}}
.areas{display:grid;gap:.7rem;margin-block:.4rem}
.areas small{display:block}
.areas a{font-weight:600;text-decoration:none;color:var(--gold-text);font-size:1.02rem}
.areas a:hover{text-decoration:underline}

/* calculadora */
.sim select{width:100%;font:600 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:.55rem;padding:.7rem .8rem;min-height:2.9rem;margin-bottom:1.2rem}
.seg3{grid-template-columns:repeat(3,1fr)}
.simerr{background:var(--gold-soft);border-radius:.6rem;padding:.9rem 1rem;margin:.6rem 0;font-weight:500}
.avisog{background:var(--gold-soft);border-radius:.6rem;padding:.7rem .9rem;margin-top:.9rem;font-size:.92rem}
.sim .btn{width:100%;margin-top:1rem}
.val{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.2rem;margin:0 0 2rem;padding:0;list-style:none}
.val li{background:var(--surface);border:1px solid var(--line);border-radius:.9rem;padding:1.3rem;min-width:0}
.val b{display:block;font:700 1.2rem var(--f-display);margin-bottom:.35rem}
.val span{color:var(--muted)}
.horario{margin-top:.2rem;color:var(--muted);font-size:.95rem}
/* detalles */
.wrap{position:relative;isolation:isolate}
.hero{position:relative}
.hero::before{content:"";position:absolute;top:0;right:0;width:36rem;max-width:100%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(201,151,30,.20),transparent);z-index:-1;pointer-events:none}
.sim{box-shadow:0 24px 50px -28px rgba(26,26,26,.45)}
.tipos li,.val li,.pasos li{transition:transform .2s ease,box-shadow .2s ease}
.tipos li:hover,.val li:hover{transform:translateY(-3px);box-shadow:0 14px 28px -20px rgba(26,26,26,.5)}
@keyframes subir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.hero>div,.pagina>*{animation:subir .6s ease both}.hero>.sim{animation:subir .7s .12s ease both}}
@media (prefers-reduced-motion:reduce){.tipos li,.val li{transition:none}}
[hidden]{display:none!important}

/* ===== Estructura (cabecera y pie) ===== */
:root{color-scheme:light only;--surface-2:#F9FBFA}
h1 em{color:var(--brand)}
.top{display:block;position:sticky;top:0;z-index:50;padding:0;background:transparent;border-bottom:1px solid transparent;transition:border-color .25s ease}
.top::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(243,245,244,.72);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);opacity:0;transition:opacity .25s ease;pointer-events:none}
.top.scrolled{border-bottom-color:rgba(220,227,225,.9)}
.top.scrolled::before{opacity:1}
.top.abierto::before{opacity:0}
.top .bar{display:flex;justify-content:space-between;align-items:center;gap:.8rem 1rem;padding-block:1.1rem}
.logo{display:flex;align-items:center;gap:.65rem;font-weight:800;font-size:1.45rem;letter-spacing:.03em;color:var(--ink)}
.logo img{width:2.4rem;height:2.4rem;border-radius:.6rem;flex:none;display:block}
.btn.alt{background:transparent;color:var(--fg);border:1.5px solid var(--line)}
footer{display:block;padding-block:0}
footer .fin{display:grid;gap:.4rem;padding-block:1.8rem;width:100%}
@media (max-width:64rem){.top .bar{flex-wrap:nowrap}.top{position:sticky}}
@media (prefers-reduced-motion:reduce){.top,.top::before{transition:none}}
.aviso-priv{background:var(--gold-soft);border-radius:.6rem;padding:.8rem 1rem;font-size:.95rem}
.exito{background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:1.8rem;max-width:34rem}
.exito h2{margin-bottom:.6rem}.exito p{margin:0 0 1.2rem}
.wa2{display:block;text-align:center;margin-top:.8rem;font-weight:600;color:var(--brand)}
.col2 .datos .btn{margin-top:.6rem}
.cierre .btn.alt{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.cierre .btn.alt:hover{background:rgba(255,255,255,.12)}
html{background:#F3F5F4;color-scheme:light only}
.logo{flex:0 1 auto;min-width:0;white-space:nowrap;align-items:center}
.logo img{flex:none;width:2.4rem;height:2.4rem}
.top .bar>*{flex-shrink:0}.top .bar>.logo{flex-shrink:1}
.burger{flex:none}
.wa2{display:block;clear:both;width:100%}
@media (max-width:26rem){.logo{font-size:1.15rem;gap:.5rem}.logo img{width:2.1rem;height:2.1rem}.top .bar{gap:.5rem}.top .btn.sm{padding:.55rem .8rem;font-size:.85rem}}

.sim input[type=number]{width:100%;font:600 1rem var(--f-body);color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:.55rem;padding:.7rem .8rem;min-height:2.9rem;margin:-.6rem 0 1.2rem}.sim input[type=number]:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold)}

/* Logo: marca denominativa GRUPO | ZAZAN */
.logo img{width:auto;height:1.9rem;border-radius:0}
@media (max-width:26rem){.logo img{width:auto;height:1.4rem}}
