:root{--red:#DA121A;--red-d:#A30E15;--green:#078930;--green-l:#e4f3ea;--ink:#1b1416;--mute:#5f5559;--bg:#f7f6f4;--line:#dfdad7;--r:10px;--hh:68px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font:400 1.05rem/1.6 var(--sans);color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:var(--serif);line-height:1.05;margin:0;letter-spacing:-.015em}
a{color:var(--red)}:focus-visible{outline:3px solid var(--green);outline-offset:2px}
[hidden]{display:none!important}
.top{position:sticky;top:0;z-index:10;height:var(--hh);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1rem,4vw,3rem);background:#fff;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font:italic 800 1.5rem var(--serif);color:var(--red)}
.brand img{width:44px;height:44px;flex:none}
.brand span{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:3px;text-underline-offset:5px}
.top nav{display:flex;gap:clamp(.8rem,2.5vw,2rem);font-weight:600;overflow-x:auto}
.top nav a{color:var(--ink);text-decoration:none;padding:.4rem 0;border-bottom:3px solid transparent;white-space:nowrap}
.top nav a:hover{border-color:var(--line)}.top nav a[aria-current]{color:var(--red);border-color:var(--red)}
.btn{display:inline-block;font:600 1rem var(--sans);background:var(--red);color:#fff!important;text-decoration:none;border:0;border-radius:var(--r);padding:.95rem 1.7rem;cursor:pointer;transition:transform .15s,background .2s}
.btn:hover{background:var(--red-d);transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn.ghost{background:transparent;color:var(--ink)!important;border:1.5px solid var(--ink)}.btn.ghost:hover{background:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 40%,var(--green-l))}
.hero::before{content:"";position:absolute;inset:-30px;background:url(../img/zamora.jpg) center/cover;filter:blur(14px);opacity:.22}
/* Cinta con la bandera de Zamora: una franja verde y ocho rojas con punta */
.hero::after{content:"";display:block;position:relative;height:61px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 61'%3E%3Cpolygon fill='%23078930' points='0,0 20,2.5 0,5'/%3E%3Cpolygon fill='%23DA121A' points='0,7 20,9.5 0,12'/%3E%3Cpolygon fill='%23DA121A' points='0,14 20,16.5 0,19'/%3E%3Cpolygon fill='%23DA121A' points='0,21 20,23.5 0,26'/%3E%3Cpolygon fill='%23DA121A' points='0,28 20,30.5 0,33'/%3E%3Cpolygon fill='%23DA121A' points='0,35 20,37.5 0,40'/%3E%3Cpolygon fill='%23DA121A' points='0,42 20,44.5 0,47'/%3E%3Cpolygon fill='%23DA121A' points='0,49 20,51.5 0,54'/%3E%3Cpolygon fill='%23DA121A' points='0,56 20,58.5 0,61'/%3E%3C/svg%3E") right top/20px 61px no-repeat,linear-gradient(#078930,#078930) 0 0/calc(100% - 20px) 5px no-repeat,repeating-linear-gradient(#DA121A 0 5px,transparent 5px 7px) 0 7px/calc(100% - 20px) 54px no-repeat}
.hero-in{position:relative;max-width:1180px;margin:0 auto;padding:clamp(2.5rem,7vw,6rem) clamp(1rem,4vw,3rem);display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;color:var(--green);margin:0 0 1rem}
.hero h1{font-size:clamp(3.2rem,9vw,7rem);font-weight:800;color:var(--red-d)}
.lead{font-size:1.25rem;color:var(--mute);max-width:46ch;margin:1.4rem 0 2rem}
.acts{display:flex;gap:.8rem;flex-wrap:wrap}.hero-art svg{width:100%;max-width:440px;display:block;margin:0 auto}
.meter{margin-top:2.5rem;max-width:520px}.bar{height:16px;border-radius:99px;background:#e6e1dd;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--green);border-radius:99px;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.meter p{margin:.6rem 0 0;font-size:.95rem}.meter b{font:800 1.8rem var(--serif);color:var(--green)}
.sec{max-width:1180px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) clamp(1rem,4vw,3rem)}
.sec h2,.cta h2{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;margin-bottom:2rem}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:p}
.pasos li{counter-increment:p;border-top:3px solid var(--green);padding-top:1rem}
.pasos li::before{content:counter(p);font:800 3.4rem var(--serif);color:var(--red);line-height:1;display:block;margin-bottom:.4rem}
.pasos h3{font-size:1.4rem;margin-bottom:.4rem}.pasos p{margin:0;color:var(--mute)}
.cta{background:var(--red);color:#fff;text-align:center;padding:clamp(3rem,8vw,5.5rem) 1rem}.cta h2{margin-bottom:1.5rem}
.cta .btn{background:#fff;color:var(--red-d)!important}.cta .btn:hover{background:var(--green-l)}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1.5rem clamp(1rem,4vw,3rem);color:var(--mute);font-size:.9rem;border-top:1px solid var(--line)}
.tit{font-size:clamp(2.6rem,7vw,5rem);font-weight:800;color:var(--red-d);margin-bottom:1rem}
.intro{max-width:64ch;color:var(--mute)}
.lista{margin-top:2.5rem}
.ini,.news,.lista{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ini li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1.5rem;padding:1.6rem 0;border-bottom:1.5px solid var(--line)}
.ini h3{font-size:1.6rem}.ini p{margin:0;color:var(--mute)}
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.vids figure{margin:0}.vids figcaption{margin-top:.5rem;font-weight:600}
.vid{aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--ink)}.vid iframe{width:100%;height:100%;border:0}
.vid.vacio,.ph{display:grid;place-items:center;color:#9a8f93;text-align:center;padding:1rem;font-size:.95rem}
.fotos{columns:3 240px;column-gap:1rem}.fotos figure{margin:0 0 1rem;break-inside:avoid}.fotos img{width:100%;display:block;border-radius:var(--r)}
.ph{background:repeating-linear-gradient(135deg,#ebe7e3 0 14px,#f2efec 14px 28px);color:var(--mute);border-radius:var(--r);min-height:200px}.fotos figure:nth-child(2n) .ph{min-height:290px}
.news article{display:grid;grid-template-columns:9rem 1fr;gap:1.5rem;padding:1.4rem 0;border-bottom:1.5px solid var(--line)}
.news time{color:var(--mute);font-weight:500}.news h3{font-size:1.4rem;margin-bottom:.4rem}.news p{margin:0}
.texto-libre p{max-width:64ch;margin:0 0 1rem}
/* Avales */
.layout{display:grid;grid-template-columns:minmax(300px,36%) 1fr;min-height:calc(100vh - var(--hh))}
.rail{background:var(--red-d);color:#fff;padding:clamp(1.5rem,4vw,3.5rem);display:flex;flex-direction:column;gap:1.6rem;position:sticky;top:var(--hh);height:calc(100vh - var(--hh));--p:0}
.claim{font-weight:800;font-size:clamp(2.2rem,4.5vw,3.6rem);max-width:11ch;margin-top:auto}.rail .lede{color:#fbdcde;max-width:38ch;margin:0}
.steps{list-style:none;margin:1rem 0 0;padding:0 0 0 1.5rem;position:relative;display:grid;gap:1.25rem}
.steps::before,.steps::after{content:"";position:absolute;left:7px;top:8px;width:2px;border-radius:2px}
.steps::before{bottom:8px;background:rgba(255,255,255,.4)}.steps::after{height:calc((100% - 16px)*var(--p));background:#8fe0ac;transition:height .5s ease}
.steps li{position:relative;display:grid;opacity:.6;transition:opacity .3s}.steps small{color:#fbdcde}
.steps .dot{position:absolute;left:-1.5rem;top:.3rem;width:16px;height:16px;border-radius:50%;background:var(--red-d);border:2px solid rgba(255,255,255,.4);transition:.3s}
.steps .is-current,.steps .is-done{opacity:1}.steps .is-current .dot{border-color:#fff;background:#fff}.steps .is-done .dot{border-color:#8fe0ac;background:#8fe0ac}
.stage{padding:clamp(1.5rem,5vw,4.5rem);max-width:780px;width:100%}
.stage h2{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--red-d)}.sub{color:var(--mute);margin:.75rem 0 2rem;max-width:60ch}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem;margin-bottom:1.5rem;align-items:start}
label{display:grid;gap:.4rem;font-weight:600;font-size:.92rem;align-content:start}
input:not([type=checkbox]):not([type=radio]),select{font:inherit;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);width:100%}
input:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #07893033}[aria-invalid=true]{border-color:#b42318!important}
.check{display:flex;gap:.75rem;align-items:flex-start;font-weight:400;font-size:.9rem;margin:.7rem 0}.check input{margin-top:.25rem;width:1.1rem;height:1.1rem;accent-color:var(--green);flex:none}
.stage .btn{margin-top:1.25rem}.stage .btn.ghost{margin-right:.6rem}
.error{color:#b42318;font-weight:500;margin:.75rem 0 0}
.resumen{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1.25rem 1.5rem;margin:1.5rem 0 .5rem}.resumen dt{color:var(--mute)}.resumen dd{margin:0;font-weight:600}
.howto{margin-top:2.5rem;border-top:1.5px solid var(--line);padding-top:1.5rem}.howto h3{font-size:1.3rem;margin-bottom:.75rem}.howto ol{padding-left:1.2rem;display:grid;gap:.6rem;max-width:60ch}
.seal{width:120px;height:120px;margin-bottom:1.5rem;fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.seal circle{stroke-dasharray:340;stroke-dashoffset:340;animation:draw 1s .1s ease forwards}.seal path{stroke:var(--red);stroke-dasharray:90;stroke-dashoffset:90;animation:draw .5s .9s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.ref{font:800 1.4rem var(--serif);background:var(--green-l);color:var(--green);display:inline-block;padding:.5rem 1rem;border-radius:var(--r)}
/* Votaciones */
.texto{border-bottom:1.5px solid var(--line)}.texto>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:.6rem 1.5rem;padding:1.5rem 0;align-items:center}
.texto>summary::-webkit-details-marker{display:none}.texto h2{font-size:1.5rem;font-weight:800;margin:0}
.est{font-weight:600;font-size:.9rem;padding:.25rem .7rem;border-radius:99px;background:#ebe7e3;white-space:nowrap}.est.abierta{background:var(--green-l);color:var(--green)}
.res{grid-column:1/-1}.res .barra{display:flex;height:12px;border-radius:99px;overflow:hidden;background:var(--line)}.res .barra i{display:block;transition:width 1s ease}
.res .f{background:var(--green)}.res .c{background:var(--red)}.res .a{background:#a79ea2}.res p{margin:.4rem 0 0;font-size:.9rem;color:var(--mute)}
.cuerpo{padding:0 0 2rem;max-width:640px}.cuerpo form{display:grid;gap:1rem;margin-top:1.2rem}
fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}fieldset label{position:relative}fieldset input{position:absolute;opacity:0}
fieldset span{display:block;text-align:center;padding:.85rem .5rem;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;cursor:pointer}
fieldset input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}fieldset input:focus-visible+span{outline:3px solid var(--green);outline-offset:2px}
.cuerpo .btn{justify-self:start;margin:0}.msg{margin:0;font-weight:500}.msg.mal{color:#b42318}
.msg.bien{background:var(--green-l);color:var(--green);display:inline-block;padding:.5rem 1rem;border-radius:var(--r);font:800 1.2rem var(--serif)}
/* Textos legales */
.doc{max-width:760px}.doc h2{font-size:1.6rem;margin:2.2rem 0 .6rem}.doc p,.doc li{color:#352d30}.doc ul{padding-left:1.2rem}.falta{background:#fff2b3;padding:0 .3rem;border-radius:4px}
@media(max-width:860px){.hero-in{grid-template-columns:1fr}.hero-art{order:-1}.hero-art svg{max-width:260px}.pasos{grid-template-columns:1fr}
.layout{grid-template-columns:1fr}.rail{position:static;height:auto;gap:1rem}.claim{margin-top:.5rem;font-size:2.2rem}.rail .lede{display:none}
.steps{grid-auto-flow:column;padding:0;gap:.75rem}.steps::before,.steps::after{display:none}.steps small{display:none}
.steps .dot{position:static;display:inline-block;margin-right:.4rem;vertical-align:middle;width:12px;height:12px}.grid{grid-template-columns:1fr}
.ini li,.news article{grid-template-columns:1fr;gap:.4rem}fieldset{grid-template-columns:1fr}.texto>summary{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.seal circle,.seal path{stroke-dashoffset:0}}
/* Móvil: marca arriba y menú ordenado en dos columnas */
@media(max-width:640px){:root{--hh:0px}
.top{position:static;height:auto;flex-direction:column;align-items:stretch;gap:.5rem;padding:.7rem 1rem 0}
.brand{align-self:flex-start}
.top nav{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;overflow:visible}
.top nav a{white-space:normal;text-align:center;padding:.6rem 0;border-bottom-color:var(--line)}
.top nav a[aria-current]{border-color:var(--red)}}

.demo-aviso{background:#fff4d6;border-left:5px solid #c28a00;padding:.8rem 1rem;border-radius:var(--r);margin:1rem 0;color:#4a3500}
select{width:100%;font:inherit;padding:.8rem;border:1.5px solid #b9b2ae;border-radius:var(--r);background:#fff;margin-top:.3rem}
select[aria-invalid=true]{border-color:var(--red)}

/* Contador en panel rojo, caja alternativa, normas */
.rail .meter{margin:0;max-width:none}.rail .bar{background:rgba(255,255,255,.25)}.rail .bar i{background:#fff}.rail .meter b{color:#fff}.rail .meter p{color:#fbdcde}
.alt{margin-top:2rem;padding:1.1rem 1.3rem;background:#fff;border:1.5px solid var(--line);border-left:5px solid var(--green);border-radius:var(--r);max-width:60ch}.alt p{margin:0}
.normas{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:.6rem}.normas li{background:#fff;border:1.5px solid var(--line);border-left:5px solid var(--red);border-radius:var(--r);padding:.75rem 1.1rem}
.destacado{font:italic 600 clamp(1.25rem,2.6vw,1.6rem)/1.4 var(--serif);color:var(--red-d);max-width:44ch;margin:0 0 2rem}
.bloque{margin-top:3rem}.bloque>h2{font-size:clamp(1.8rem,4vw,2.4rem);margin-bottom:1rem}.bloque .pasos{margin-top:1.5rem}
.panel-meter{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1.2rem 1.5rem;margin:1.5rem 0;max-width:520px}.panel-meter .meter{margin:0}

/* Medidor circular flotante */
.gauge{position:fixed;right:clamp(.8rem,2vw,1.6rem);bottom:clamp(.8rem,2vw,1.6rem);width:136px;height:136px;border-radius:50%;background:#fff;box-shadow:0 8px 28px rgba(27,20,22,.22);display:grid;place-items:center;z-index:20;text-align:center}
.gauge svg{position:absolute;inset:0;width:100%;height:100%}.gauge circle{fill:none;stroke-width:8}.g-bg{stroke:#e6e1dd}.g-fg{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1)}
.gauge div{display:grid;line-height:1.05}.gauge small{font:700 .72rem var(--sans);letter-spacing:.14em;color:var(--mute)}.gauge b{font:800 2rem var(--serif);color:var(--ink)}.gauge span{font-size:.8rem;color:var(--mute)}
@media(max-width:640px){.gauge{width:96px;height:96px}.gauge b{font-size:1.35rem}.gauge small{font-size:.58rem}.gauge span{font-size:.65rem}}
/* Página sin certificado */
.dos{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.faq h2{font-size:1.5rem;margin:1.8rem 0 .4rem;color:var(--red-d)}.faq h2:first-child{margin-top:0}.faq p{margin:0 0 .5rem;max-width:60ch}
.guia{background:#fff;border:1.5px solid var(--line);border-radius:var(--r);padding:1.4rem;position:sticky;top:calc(var(--hh) + 1rem)}
.guia h3{font-size:1.4rem;margin-bottom:1rem}.guia ol{list-style:none;margin:0;padding:0;display:grid;gap:.7rem;counter-reset:g}
.guia li{counter-increment:g;display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;align-items:start}
.guia li::before{content:counter(g);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red);color:#fff;font:800 1.05rem var(--serif)}
.guia li b{display:block}.guia li small{color:var(--mute)}
.fila{margin-top:1.2rem;border:1.5px solid var(--green);border-radius:8px;overflow:hidden;font-size:.82rem}.fila div{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr 1.3fr}.fila div+div{border-top:1px solid var(--line)}
.fila span{padding:.4rem .5rem;border-left:1px solid var(--line)}.fila span:first-child{border-left:0}.fila .cab{background:var(--green-l);font-weight:700;font-size:.7rem;text-transform:uppercase}.fila .ej{font-family:var(--serif);font-style:italic;color:#1d3f8f}
.envio{margin-top:2.5rem;padding:1.5rem;background:#fff;border:1.5px solid var(--line);border-left:5px solid var(--red);border-radius:var(--r)}.envio h2{font-size:1.6rem;margin-bottom:.8rem}.envio p{margin:.3rem 0 .9rem;max-width:64ch}
@media(max-width:860px){.dos{grid-template-columns:1fr}.guia{position:static}.fila{overflow-x:auto}.fila div{min-width:520px}}

/* arreglo guía */
.guia li::before{grid-row:1 / span 2}.guia li b,.guia li small{grid-column:2}.guia li small{display:block}
.hint{font-weight:400;font-size:.8rem;color:var(--mute)}
.quien{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.retrato{margin:0;position:sticky;top:calc(var(--hh) + 1.5rem)}
.retrato img{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:0 22px 44px -22px rgba(27,20,22,.45);border-bottom:6px solid var(--green)}
@media(max-width:860px){.quien{grid-template-columns:1fr}.retrato{position:static;max-width:440px;margin:0 auto}}
.grid input:not([type=checkbox]):not([type=radio]),.grid select{height:3.1rem;box-sizing:border-box}
.grid label{grid-template-rows:1.4rem auto}
