:root{--bg:#fff;--soft:#f3f6f9;--soft2:#e4ebf1;--ink:#1f252b;--muted:#525d68;--line:#d6dfe7;--sky:#59b7e8;--sky-soft:#e8f4fb;--blue:#1d5ea8;--blue-d:#164a86;--gr:#1f252b;
--m:clamp(18px,4vw,40px);--h:'Barlow Semi Condensed','Arial Narrow',system-ui,sans-serif;--b:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--b);overflow-x:hidden}
a{color:var(--blue)}a:hover{color:var(--blue-d)}
.wrap{padding-inline:var(--m);max-width:1200px;margin-inline:auto}
h1,h2,h3{font-family:var(--h);font-weight:700;line-height:1.08;letter-spacing:-.005em;color:var(--gr)}
h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.6rem)}
h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem)}
h3{font-size:1.3rem}
p{max-width:70ch}
.skip{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px;top:8px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
/* franja superior + encabezado */
.util{background:var(--gr);color:#dce5ec;font-size:.86rem}
.util .wrap{display:flex;gap:6px 22px;justify-content:space-between;flex-wrap:wrap;padding-block:7px}
.util a{color:#dce5ec;text-decoration:none}.util a:hover{color:#fff;text-decoration:underline}
.util .u2{display:flex;gap:18px;flex-wrap:wrap}
.top{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}
@media (min-width:1241px){.top{position:sticky;top:0}}
nav{display:flex;align-items:center;gap:18px;padding-block:12px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--gr);flex:none}
.brand svg{width:64px;height:auto;flex:none}
.brand span{font-family:var(--h);font-weight:700;font-size:1.02rem;line-height:1.02;text-transform:uppercase;letter-spacing:.02em}
.brand span small{display:block;font-weight:600;font-size:.78rem;color:var(--blue);letter-spacing:.09em}
nav .links{display:flex;align-items:center;gap:2px;margin-left:auto}
nav .links>a,.has-sub>a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.93rem;padding:9px 8px;border-radius:4px;white-space:nowrap}
nav .links>a:hover,.has-sub>a:hover{background:var(--sky-soft);color:var(--blue-d)}
nav .links a[aria-current="page"]{color:var(--blue);box-shadow:inset 0 -3px 0 var(--sky)}
.has-sub{position:relative;display:flex;align-items:center}
.caret{width:26px;height:30px;border:0;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0}
.caret::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.has-sub.open .caret::before{transform:translateY(1px) rotate(225deg)}
.sub{display:none;position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--sky);padding:6px;flex-direction:column;z-index:30}
.sub a{padding:9px 12px;color:var(--ink);text-decoration:none;font-size:.93rem;border-radius:3px}.sub a:hover{background:var(--sky-soft);color:var(--blue-d)}
@media (min-width:1241px){.has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{display:flex}.has-sub.esc .sub{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border:2px solid var(--blue);padding:11px 20px;font:600 .98rem var(--b);text-decoration:none;border-radius:4px;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.btn.line{background:#fff;color:var(--blue)}.btn.line:hover{background:var(--sky-soft);color:var(--blue-d)}
nav>.btn{padding:9px 16px;margin-left:6px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:4px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-left:auto}
.burger span{width:20px;height:2px;background:var(--ink)}
@media (max-width:1240px){
 .burger{display:flex}
 nav>.btn{display:none}
 nav .links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px var(--m) 16px;margin:0;max-height:calc(100dvh - 120px);overflow-y:auto}
 nav .links.open{display:flex}
 nav .links>a,.has-sub>a{padding:13px 4px;border-bottom:1px solid var(--soft2)}
 .has-sub{flex-wrap:wrap;justify-content:space-between}.has-sub>a{flex:1}
 .caret{width:48px;height:48px}
 .sub{position:static;flex-basis:100%;min-width:0;border:0;border-left:3px solid var(--sky);margin:0 0 6px 6px}
 .has-sub.open .sub{display:flex}
}
/* secciones generales */
section{padding-block:clamp(40px,6vw,76px)}
.kicker{font:600 .8rem var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px;display:flex;align-items:center;gap:10px}
.kicker::before{content:"";width:26px;height:2px;background:var(--sky)}
.lead{font-size:1.18rem;color:var(--muted);margin-top:14px}
.soft{background:var(--soft)}
/* inicio */
.hero{padding-block:clamp(36px,6vw,80px);background:var(--sky-soft)}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero p.lead{max-width:56ch}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.ficha{background:#fff;border:1px solid var(--line);border-left:5px solid var(--sky);padding:24px}
.ficha h2{font-size:1.4rem;margin-bottom:12px}
.ficha ul{list-style:none;padding:0;display:grid;gap:9px}
.ficha li{display:flex;gap:10px;align-items:flex-start}
.ficha li::before{content:"";flex:none;width:9px;height:9px;margin-top:.55em;background:var(--sky)}
.ficha svg{width:100%;height:auto;margin-top:18px}
.ficha .acts{margin-top:16px}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr}}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:28px}
.card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--sky);padding:22px;text-decoration:none;color:var(--ink);transition:border-color .2s,background .2s}
.card:hover{background:var(--sky-soft);border-top-color:var(--blue);color:var(--ink)}
.card small{font:600 .78rem var(--b);letter-spacing:.1em;color:var(--blue)}
.card b{font:700 1.3rem/1.1 var(--h);color:var(--gr)}
.card span{color:var(--muted);font-size:.97rem}
.card i{font-style:normal;margin-top:auto;padding-top:6px;color:var(--blue);font-weight:600;font-size:.92rem}
.tl{list-style:none;padding:0;margin-top:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;counter-reset:n}
.tl li{position:relative;padding:0 20px 0 0;counter-increment:n}
.tl li::before{content:counter(n);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font:700 1.1rem var(--h);margin-bottom:12px}
.tl li::after{content:"";position:absolute;left:46px;right:6px;top:19px;height:2px;background:var(--soft2)}
.tl li:last-child::after{display:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);align-items:start}
@media (max-width:820px){.split{grid-template-columns:1fr}.tl li::after{display:none}}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chips li{border:1px solid var(--line);background:#fff;border-radius:999px}
.chips a,.chips li:not(:has(a)){display:block;padding:7px 15px;text-decoration:none;font-size:.95rem;color:var(--ink)}
.chips li:hover{border-color:var(--sky);background:var(--sky-soft)}
/* páginas internas */
.pagehead{padding-block:clamp(28px,4vw,52px) clamp(40px,6vw,72px)}
.pagehead>.wrap>h1{margin-top:6px;max-width:22ch}
.pagehead .lead{max-width:62ch}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--blue)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);margin-top:clamp(30px,5vw,54px)}
@media (max-width:820px){.cols{grid-template-columns:1fr}}
.cols h2,.block h2{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);margin-bottom:12px}
.cols p+p,.block p+p{margin-top:12px}
.block{margin-top:clamp(30px,5vw,54px)}
.bul,.opts{list-style:none;padding:0;display:grid;gap:9px}
.bul li,.opts li{display:flex;gap:10px}
.bul li::before{content:"";flex:none;width:8px;height:8px;margin-top:.6em;background:var(--sky)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;counter-reset:s}
.steps li{background:var(--soft);border-top:3px solid var(--sky);padding:16px;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:700 1.2rem var(--h);color:var(--blue);margin-bottom:4px}
.prose p+p{margin-top:14px}
.intro{font-size:1.25rem;color:var(--ink);max-width:60ch;margin-top:16px}
.about2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);margin-top:34px}.about2 p{color:var(--muted)}
.destaque{margin-top:32px;border-left:5px solid var(--sky);padding:6px 0 6px 22px}.destaque p{font-size:1.2rem;color:var(--ink)}
@media (max-width:820px){.about2{grid-template-columns:1fr}}
.opts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.opts li{background:var(--soft);border-top:3px solid var(--sky);padding:16px;font-weight:600}
.faq{margin-top:10px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:16px 36px 16px 2px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:600 1.5rem var(--b);color:var(--blue)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 8px 18px 2px;color:var(--muted)}
.faq-grupo{margin-top:36px}.faq-grupo h2{font-size:1.5rem}
.cta{background:var(--blue);color:#fff;padding-block:clamp(34px,5vw,56px)}
.cta .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.cta h2{color:#fff}.cta p{color:#e4eefa}.cta .btn{background:#fff;color:var(--blue);border-color:#fff}.cta .btn.line{background:transparent;color:#fff}
.cta .acts{margin:0}
/* contacto y formulario */
.contact{background:var(--soft);border-top:1px solid var(--line)}
.contact .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(26px,5vw,64px);align-items:start}
@media (max-width:880px){.contact .grid{grid-template-columns:1fr}}
.channels{display:grid;gap:10px;margin-top:20px}
.channels a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:12px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.channels a:hover{border-color:var(--sky);background:var(--sky-soft)}
.ico{width:22px;height:22px;flex:none;color:var(--blue)}
.notice{margin-top:16px;font-size:.9rem;color:var(--muted);border-left:3px solid var(--sky);padding-left:12px}
.hours{margin-top:10px;font-size:.9rem;color:var(--muted)}
form{background:#fff;border:1px solid var(--line);padding:clamp(18px,3vw,28px);display:grid;gap:14px}
label{display:grid;gap:5px;font-weight:600;font-size:.93rem}
input,textarea{font:400 1rem var(--b);padding:11px 12px;border:1px solid #aab7c3;border-radius:3px;background:#fff;color:var(--ink);width:100%}
textarea{min-height:150px;resize:vertical}
input:focus,textarea:focus{border-color:var(--blue)}
::placeholder{color:#7a8794}
form .acts{margin-top:4px}
.nota{font-size:.84rem;color:var(--muted)}
.f-estado{padding:11px 14px;font-weight:600;font-size:.95rem}
.f-estado.error{background:#fdecec;color:#8a1c1c;border-left:4px solid #c33}
.f-estado.ok{background:#e7f6ec;color:#17532c;border-left:4px solid #2e9e57}
.f-err{color:#a11d1d;font-size:.84rem;font-weight:600}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#c33;box-shadow:0 0 0 1px #c33}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* pie */
footer{background:var(--soft);border-top:1px solid var(--line);padding-block:44px 22px;font-size:.93rem}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}@media (max-width:540px){.fgrid{grid-template-columns:1fr}}
.fcol b{display:block;font:700 1rem var(--h);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;color:var(--gr)}
.fcol a{display:block;color:var(--muted);text-decoration:none;padding:3px 0}.fcol a:hover{color:var(--blue);text-decoration:underline}
.fcol p{color:var(--muted);margin-top:8px;font-size:.92rem}
.fbot{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;color:var(--muted);font-size:.86rem}
.fbot a{color:var(--muted)}
/* galería: mosaico con pie de foto debajo */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.filtros button{font:500 .93rem var(--b);padding:8px 15px;border:1px solid var(--line);background:#fff;border-radius:999px;cursor:pointer;color:var(--ink)}
.filtros button:hover{border-color:var(--sky);background:var(--sky-soft)}
.filtros button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.gal-titulo{font-size:1.6rem;margin-top:28px}
.fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:22px}
.foto{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);overflow:hidden}
.foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--soft2)}
.foto .cap{display:flex;flex-direction:column;gap:2px;padding:11px 13px;border-top:3px solid var(--sky)}
.foto .cap b{font-size:.97rem}.foto .cap small{color:var(--muted);font-size:.82rem}
.foto:hover{border-color:var(--blue)}
.empty{color:var(--muted);padding:18px 0}
.recent[hidden]{display:none}
.tiles{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tile{display:block;border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:500}
.tile small{display:none}.tile:hover{border-color:var(--sky);background:var(--sky-soft)}
/* errores, legal */
.nf{padding-block:clamp(40px,8vw,100px)}
.nf-code{font:700 clamp(96px,20vw,220px)/.85 var(--h);color:var(--sky)}
.nf h1{margin-top:12px}.nf .acts{margin-top:20px}
.nf .btn.big{padding:15px 26px;font-size:1.05rem}
.flinks{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:30px}.flinks b{flex-basis:100%}.flinks a{color:var(--blue)}
.legal h2{font-size:1.5rem;margin-top:28px}.legal p,.legal li{margin-top:8px;color:var(--muted)}
/* barra móvil */
.mbar{display:none}
@media (max-width:820px){
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
 .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line);transition:transform .25s}
 body.menu-open .mbar,body.lb-open .mbar,body.form-focus .mbar,body.en-contacto .mbar{transform:translateY(120%);visibility:hidden}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* visor de fotos */
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.lb img{max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain;background:#111}
.lb figcaption{color:#e8eef3;text-align:center;max-width:70ch;font-size:.95rem}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:2rem;line-height:1;width:48px;height:48px;border-radius:4px;cursor:pointer}
.lb button:hover{background:var(--blue)}
.lb-x{top:12px;right:12px}.lb-p{left:8px;top:50%;transform:translateY(-50%)}.lb-n{right:8px;top:50%;transform:translateY(-50%)}
body.lb-open{overflow:hidden}
@media (max-width:600px){.lb{padding:56px 8px}}

.only-m{display:none!important}
@media (max-width:1240px){nav .links>a.only-m{display:block!important}}
.fcol a.brand{display:flex;padding:0;color:var(--gr)}.fcol a.brand:hover{text-decoration:none;color:var(--gr)}.fcol .brand svg{width:52px}
.prose h2{margin-bottom:10px}.prose h2:not(:first-child){margin-top:30px}.cols h2,.block h2{margin-bottom:10px}
.brand{min-width:0;flex:0 1 auto}
@media (max-width:520px){nav{gap:10px}.brand{gap:8px}.brand svg{width:44px}.brand span{font-size:.8rem}.brand span small{font-size:.66rem}.burger{flex:none}}
@media (max-width:340px){.brand span{font-size:.72rem}.brand svg{width:38px}}

/* Portada: panel de atención (sustituye al logo grande) */
.hero .wrap{grid-template-columns:1.1fr 1fr;align-items:center}
.hero h1{max-width:18ch}
.hero-note{margin-top:16px;font-size:.95rem;color:var(--muted)}
.orden{background:#fff;border:1px solid var(--line);box-shadow:0 1px 0 var(--line),0 18px 40px -28px rgba(31,37,43,.35)}
.orden-h{position:relative;background:var(--gr);color:#fff;padding:14px 20px 20px;font:700 1.15rem/1.15 var(--h);letter-spacing:.01em}
.orden-h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:repeating-linear-gradient(90deg,var(--sky) 0 1.5px,transparent 1.5px 10px),repeating-linear-gradient(90deg,var(--sky) 0 1.5px,transparent 1.5px 50px);background-size:auto 4px,auto 7px;background-repeat:repeat-x;background-position:bottom left,bottom left}
.orden ol{list-style:none;padding:0;margin:0}
.orden li{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:16px 20px;border-bottom:1px solid var(--soft2)}
.orden .tag{align-self:start;justify-self:start;font:600 .74rem var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-d);background:var(--sky-soft);border:1px solid #bfe0f3;padding:4px 8px;border-radius:3px;white-space:nowrap}
.orden b{display:block;font:700 1.12rem/1.15 var(--h);color:var(--gr)}
.orden li p{margin-top:4px;font-size:.95rem;color:var(--muted)}
.orden-f{padding:12px 20px;font-size:.88rem;color:var(--muted);background:var(--soft)}
@media (max-width:880px){.hero .wrap{grid-template-columns:1fr}.hero h1{max-width:none}}
@media (max-width:440px){.orden li{grid-template-columns:1fr;gap:8px;padding:14px 16px}.orden-h{padding-inline:16px}.orden-f{padding-inline:16px}}
.hero h1{font-size:clamp(2rem,1.3rem + 2.3vw,3.05rem);max-width:20ch}
.orden li{grid-template-columns:104px 1fr}
.orden-f,.orden li p{max-width:none}
@media (max-width:440px){.orden li{grid-template-columns:1fr;gap:8px}}

/* Redes sociales en el pie (las agrega js/main.js) */
.redes{margin-top:18px}
.redes b{display:block;font:600 .8rem var(--b);letter-spacing:.1em;text-transform:uppercase;color:var(--gr);margin-bottom:10px}
.redes-fila{display:flex;gap:10px;flex-wrap:wrap}
footer .redes a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--blue);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
footer .redes a:hover,footer .redes a:focus-visible{text-decoration:none;background:var(--blue);border-color:var(--blue);color:#fff}
