:root{--tinta:#14213d;--suave:#4a5568;--fondo:#f7f8fb;--blanco:#fff;--acento:#0f766e;--acento-osc:#0b5a54;--borde:#d9dee8;--aviso:#fff4d6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:1.0625rem/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--tinta);background:var(--fondo)}
img{max-width:100%;height:auto;display:block}
a{color:var(--acento-osc)}
.salto{position:absolute;left:-999px;top:0;background:var(--tinta);color:#fff;padding:.5rem 1rem;z-index:10}
.salto:focus{left:0}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.caja{max-width:1040px;margin:0 auto;padding:0 1.25rem}
header.sup{background:var(--blanco);border-bottom:1px solid var(--borde)}
header.sup .caja{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem}
.marca{font-weight:800;font-size:1.35rem;color:var(--tinta);text-decoration:none;letter-spacing:-.02em}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem}
nav a{display:inline-block;padding:.5rem .25rem;text-decoration:none;color:var(--tinta);font-weight:600}
nav a:hover{text-decoration:underline}
.btn{display:inline-block;padding:.8rem 1.4rem;border-radius:.6rem;font-weight:700;text-decoration:none;border:2px solid var(--acento);background:var(--acento);color:#fff;min-height:44px}
.btn:hover{background:var(--acento-osc);border-color:var(--acento-osc)}
.btn.claro{background:transparent;color:var(--acento-osc)}
.btn.claro:hover{background:#e6f4f2}
.btn.wa{background:#0f7a40;border-color:#0f7a40}
.btn.wa:hover{background:#0b5e31;border-color:#0b5e31}
.botones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.portada{background:linear-gradient(160deg,#14213d,#0f766e);color:#fff;padding:3.5rem 0}
.portada h1{font-size:clamp(1.9rem,6vw,3rem);line-height:1.15;margin:0 0 1rem;letter-spacing:-.02em}
.portada p{font-size:1.2rem;max-width:40rem;margin:0}
.portada .btn.claro{color:#fff;border-color:#fff}
.portada .btn.claro:hover{background:rgba(255,255,255,.15)}
section{padding:2.75rem 0}
section h2{font-size:clamp(1.5rem,4.5vw,2rem);margin:0 0 1rem;letter-spacing:-.01em}
.grilla{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:.8rem;padding:1.25rem}
.tarjeta h3{margin:0 0 .5rem;font-size:1.15rem}
.tarjeta p{margin:0;color:var(--suave)}
.num{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--acento);color:#fff;font-weight:800;margin-bottom:.5rem}
figure{margin:0}
figure img{border:1px solid var(--borde);border-radius:.6rem;background:#fff}
figcaption{font-size:.95rem;color:var(--suave);margin-top:.4rem}
.fondo-b{background:var(--blanco);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.celu{max-width:320px;width:100%;margin:0 auto}
.galeria{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,640px),1fr));align-items:start}
.galeria-celu{margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),320px));justify-content:center}
.galeria img{width:100%;height:auto;display:block}
.zoom{display:block}
figcaption a{font-weight:600;white-space:nowrap}
.visor{display:none;position:fixed;inset:0;z-index:50;background:rgba(10,20,30,.92);overflow:auto;padding:1rem;text-align:center;cursor:zoom-out}
.visor:target{display:block}
.visor img{max-width:min(100%,1400px);height:auto;margin:0 auto;display:block;border-radius:.4rem;background:#fff}
.visor span{display:inline-block;margin-top:.75rem;color:#fff;border:1px solid #fff;border-radius:.4rem;padding:.4rem 1rem}
.aviso{background:var(--aviso);border:1px solid #e6c768;border-radius:.6rem;padding:1rem 1.25rem}
footer{background:var(--tinta);color:#e5e9f2;padding:2rem 0;font-size:.95rem}
footer a{color:#fff}
.legal{max-width:46rem;padding-top:2rem;padding-bottom:3rem}
.legal h1{font-size:2rem}
.legal table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}
.legal th,.legal td{border:1px solid var(--borde);padding:.5rem;text-align:left;vertical-align:top}
@media (max-width:480px){body{font-size:1rem}.btn{width:100%;text-align:center}.portada{padding:2.25rem 0}}
.visor img[width="780"]{max-width:min(100%,560px)}

.btn.chico{padding:.35rem 1rem;min-height:36px;width:auto;margin-left:.25rem}
.qr{margin-top:1.25rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.qr img{width:176px;height:176px;border:1px solid var(--borde);border-radius:.6rem;background:#fff}
.qr p{margin:0;max-width:16rem;font-weight:600}
