:root{
  --navy:#17365f; --navy-dk:#0d1f36; --navy-2:#1f4778;
  --tambo:#ba131b; --vete:#8769a5; --ques:#f2a92c; --parq:#35985f; --lubr:#307fba; --bomb:#1b8a9a; --serv:#17365f;
  --wa:#25d366; --ink:#1b2430; --muted:#5b6675; --bg:#f4f6f9; --line:#e2e7ee;
  --r:16px; --shadow:0 6px 24px rgba(13,31,54,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.55;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Montserrat","Nunito Sans",sans-serif;line-height:1.15;margin:0 0 .5em}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
.eyebrow{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-2)}
.sec{padding:56px 0}
.sec-h{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin-bottom:28px}
.sec-h h2{font-size:clamp(1.6rem,4.5vw,2.3rem);color:var(--navy-dk);margin:.15em 0 0}
.sec-h p{margin:0;color:var(--muted);max-width:520px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;font-weight:800;text-decoration:none;font-size:.95rem;border:2px solid transparent;transition:.2s}
.btn svg{width:18px;height:18px}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{filter:brightness(.95)}
.btn-light{background:#fff;color:var(--navy)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-out{border-color:var(--navy);color:var(--navy)}

/* barra superior */
.topbar{background:var(--navy-dk);color:#c9d5e6;font-size:.82rem}
.topbar .wrap{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:7px 0}
.topbar a{text-decoration:none}
.topbar .tb-left{display:flex;gap:18px;flex-wrap:wrap}
.topbar .tb-left span b{color:#fff}
.topbar .soc{display:flex;gap:12px}
.topbar svg{width:16px;height:16px;fill:#c9d5e6;vertical-align:-3px}
@media (max-width:720px){.topbar .tb-mail,.topbar .soc{display:none}.topbar .wrap{justify-content:center}}

/* header */
header.site{background:var(--navy);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(0,0,0,.18)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo img{height:52px;width:auto}
nav.menu ul{list-style:none;display:flex;gap:4px;margin:0;padding:0}
nav.menu a{display:block;color:#fff;text-decoration:none;font-weight:700;padding:10px 12px;border-radius:8px;font-size:.95rem}
nav.menu a:hover,nav.menu a.on{background:rgba(255,255,255,.12)}
nav.menu .has-sub{position:relative}
nav.menu .has-sub>a::after{content:" ▾";font-size:.75em}
.hdr-cta{display:flex;gap:10px;align-items:center}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}
.burger span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px}
.search{display:flex;align-items:center;background:rgba(255,255,255,.12);border-radius:999px;padding:6px 12px;color:#fff;gap:6px;font-size:.88rem}
.search svg{width:16px;height:16px;fill:#fff;opacity:.85}
@media (max-width:1060px){nav.menu,.hdr-cta .search,.hdr-cta .btn{display:none}.burger{display:block}.logo img{height:44px}}

/* hero */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--navy-dk)}
.hero .bg{position:absolute;inset:0;background:url(../img/hero.jpg) center 35%/cover}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(13,31,54,.92) 0%,rgba(23,54,95,.78) 45%,rgba(23,54,95,.15) 100%)}
.hero::after{content:"";position:absolute;z-index:1;right:-12%;top:-30%;width:60%;height:160%;border-left:18px solid rgba(255,255,255,.28);border-radius:50%;}
.hero .wrap{position:relative;z-index:2;padding:72px 0 88px}
.hero h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:900;max-width:640px;letter-spacing:-.01em}
.hero p.lead{font-size:clamp(1rem,2.4vw,1.2rem);max-width:560px;color:#dfe7f2;margin:0 0 26px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.icons-row{display:flex;gap:8px;margin-bottom:22px}
.ico{width:44px;height:44px;border-radius:0 0 14px 14px;display:grid;place-items:center;flex:none}
.ico svg{width:24px;height:24px;fill:#fff}
.hero .icons-row .ico{border-radius:12px}
.hero-tag{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:999px;font-weight:700;font-size:.85rem;margin-bottom:16px;letter-spacing:.04em}

/* datos */
.stats{background:#fff;position:relative;z-index:3;margin-top:-40px}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.stat{padding:22px 20px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat b{display:block;font-family:Montserrat,sans-serif;font-size:1.5rem;color:var(--navy);font-weight:900}
.stat span{color:var(--muted);font-size:.9rem}
@media (max-width:760px){.stat{padding:16px 14px}.stat b{font-size:1.15rem}.stats .wrap{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* rubros */
.rubros{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1060px){.rubros{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.rubros{grid-template-columns:1fr;gap:14px}}
.rubro{--c:var(--navy);position:relative;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);text-decoration:none;display:flex;flex-direction:column;transition:transform .2s}
.rubro:hover{transform:translateY(-4px)}
.rubro .ph{aspect-ratio:16/10;background:center/cover;position:relative;border-bottom:6px solid var(--c)}
.rubro .ico{position:absolute;left:18px;bottom:-6px;background:var(--c);width:50px;height:54px}
.rubro .bd{padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.rubro h3{font-size:1.15rem;color:var(--navy-dk);margin:0}
.rubro p{margin:0;color:var(--muted);font-size:.9rem}
.rubro .more{margin-top:auto;padding-top:8px;font-weight:800;color:var(--c);font-size:.9rem}
@media (max-width:520px){.rubro{flex-direction:row}.rubro .ph{aspect-ratio:auto;width:38%;border-bottom:0;border-right:6px solid var(--c)}.rubro .ico{left:auto;right:-6px;bottom:auto;top:12px;border-radius:12px 0 0 12px;width:44px;height:44px}.rubro .ico svg{width:22px;height:22px}.rubro .bd{padding:14px}.rubro p{font-size:.85rem}}

/* productos ejemplo */
.bg-soft{background:var(--bg)}
.prods{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1060px){.prods{grid-template-columns:repeat(2,1fr)}}
.prod{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.prod .ph{aspect-ratio:1/1;background:#eef1f5 center/cover;position:relative}
.prod .tag{position:absolute;top:10px;left:10px;color:#fff;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px}
.prod .bd{padding:14px;display:flex;flex-direction:column;gap:4px;flex:1}
.prod .brand{font-size:.75rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.prod h3{font-size:1rem;margin:0;color:var(--navy-dk)}
.prod .cod{font-size:.78rem;color:var(--muted)}
.prod .btn{margin-top:auto;justify-content:center;padding:10px 12px;font-size:.88rem}
@media (max-width:520px){.prod h3{font-size:.92rem}.prod .bd{padding:10px}.prod .btn{font-size:.8rem;padding:9px 8px}.prods{gap:12px}}
.note{font-size:.82rem;color:var(--muted);background:#fff7e0;border:1px dashed #e8c25a;border-radius:10px;padding:8px 12px;margin-top:18px}

/* servicio */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:24px}}
.split .img{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.split .img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.checks{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px}
.checks li{padding-left:30px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:6px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat}
.band-navy{background:linear-gradient(120deg,var(--navy-dk),var(--navy-2));color:#fff}
.band-navy .eyebrow{color:#9fc0ea}
.band-navy h2{color:#fff}
.band-navy p{color:#d9e3f0}
.band-navy .checks li::before{background-color:var(--wa)}
.quote{font-family:Montserrat,sans-serif;font-weight:900;font-size:clamp(1.3rem,3.4vw,1.9rem);color:var(--navy);margin:0 0 12px}

/* marcas */
.marcas{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;align-items:center}
.marcas div{background:#fff;border:1px solid var(--line);border-radius:12px;height:76px;display:grid;place-items:center;padding:10px}
.marcas img{max-height:46px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.8;transition:.2s}
.marcas div:hover img{filter:none;opacity:1}
@media (max-width:1060px){.marcas{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.marcas{grid-template-columns:repeat(3,1fr);gap:8px}.marcas div{height:60px;padding:6px}.marcas img{max-height:36px}}

/* sucursales */
.sucs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:760px){.sucs{grid-template-columns:1fr}}
.suc{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.suc .map{height:150px;background:linear-gradient(135deg,#dfe8f3,#c7d6e8);position:relative;display:grid;place-items:center;color:var(--navy);font-weight:800}
.suc .map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,54,95,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,54,95,.08) 1px,transparent 1px);background-size:26px 26px}
.suc .map span{position:relative;display:flex;align-items:center;gap:8px;background:#fff;padding:8px 14px;border-radius:999px;box-shadow:var(--shadow);font-size:.85rem}
.suc .map svg{width:20px;height:20px;fill:var(--tambo)}
.suc .bd{padding:22px}
.suc h3{font-size:1.4rem;color:var(--navy-dk);margin:0 0 2px}
.suc .addr{color:var(--muted);margin:0 0 16px}
.suc .row{display:flex;flex-wrap:wrap;gap:10px}
.suc .row .btn{padding:10px 16px;font-size:.9rem}
.mails{margin-top:20px;text-align:center;color:var(--muted)}
.mails a{color:var(--navy);font-weight:800;text-decoration:none}

/* instagram */
.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ig-grid a{aspect-ratio:1/1;background:center/cover;border-radius:10px;position:relative;overflow:hidden}
.ig-grid a::after{content:"";position:absolute;inset:0;background:rgba(13,31,54,0);transition:.2s}
.ig-grid a:hover::after{background:rgba(13,31,54,.3)}
@media (max-width:760px){.ig-grid{grid-template-columns:repeat(3,1fr)}}
.btn-ig{background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888);color:#fff}

/* footer */
footer.site{background:var(--navy-dk);color:#b9c6d8;padding:48px 0 0;font-size:.92rem}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}
footer h4{color:#fff;font-family:Montserrat,sans-serif;margin:0 0 12px;font-size:1rem}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer .logo img{height:56px;margin-bottom:12px}
footer .soc{display:flex;gap:10px;margin-top:14px}
footer .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
footer .soc svg{width:18px;height:18px;fill:#fff}
footer .bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding:16px 0 90px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;font-size:.82rem}
.colors{display:flex;height:6px}
.colors i{flex:1}

/* WhatsApp flotante */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:80}
.wa-float summary{list-style:none;width:62px;height:62px;border-radius:50%;background:var(--wa);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.wa-float summary::-webkit-details-marker{display:none}
.wa-float summary svg{width:34px;height:34px;fill:#fff}
.wa-float .pop{position:absolute;right:0;bottom:74px;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:14px;width:250px}
.wa-float .pop p{margin:0 0 8px;font-weight:800;color:var(--navy-dk)}
.wa-float .pop a{display:flex;justify-content:space-between;padding:10px 12px;border-radius:10px;text-decoration:none;background:#f0faf3;margin-top:6px;font-weight:700}
.wa-float .pop a small{color:var(--muted);font-weight:600}

/* v2: servicio sin foto */
.serv{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center}
.serv-txt p{margin:0 0 22px}
.serv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.serv-list li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px;font-weight:700;color:#fff;line-height:1.35}
.serv-list .ico{border-radius:10px;width:40px;height:40px}
.serv-list .ico svg{width:22px;height:22px}
@media (max-width:860px){.serv{grid-template-columns:1fr;gap:26px}}
@media (max-width:520px){.serv-list{grid-template-columns:1fr;gap:10px}.serv-list li{flex-direction:row;align-items:center;padding:14px}}
/* v2: historia sin foto */
.historia{background:linear-gradient(180deg,#fff 0%,#eef3f9 100%);position:relative;overflow:hidden}
.historia::before{content:"R";position:absolute;right:-40px;top:-90px;font:900 420px/1 Montserrat,sans-serif;color:rgba(23,54,95,.04);pointer-events:none}
.hist-txt{max-width:780px;margin:0 auto;text-align:center;position:relative}
.hist-txt .quote{font-size:clamp(1.6rem,4.5vw,2.4rem)}
.hist-txt p{color:#3b4656}
.valores{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;position:relative}
.valores div{background:#fff;border-radius:14px;padding:18px;box-shadow:var(--shadow);border-top:4px solid var(--navy)}
.valores div:nth-child(1){border-top-color:var(--tambo)}.valores div:nth-child(2){border-top-color:var(--vete)}.valores div:nth-child(3){border-top-color:var(--ques)}.valores div:nth-child(4){border-top-color:var(--parq)}
.valores b{display:block;color:var(--navy-dk);font-family:Montserrat,sans-serif;margin-bottom:6px}
.valores span{color:var(--muted);font-size:.9rem}
.hist-cta{text-align:center;margin-top:28px;position:relative}
@media (max-width:960px){.valores{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.valores{grid-template-columns:1fr;gap:10px}}
/* v2: marcas balanceadas (13 logos) */
.marcas{display:flex;flex-wrap:wrap;justify-content:center}
.marcas div{flex:0 0 calc((100% - 6*14px)/7)}
@media (max-width:1060px){.marcas div{flex-basis:calc((100% - 3*14px)/4)}}
@media (max-width:520px){.marcas div{flex-basis:calc((100% - 2*8px)/3)}}
/* v2: instagram compacto */
.ig-band{padding:0 0 56px}
.ig-box{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;box-shadow:var(--shadow)}
.ig-ico{width:56px;height:56px;border-radius:16px;background:linear-gradient(45deg,#f09433,#dc2743 50%,#bc1888);display:grid;place-items:center;flex:none}
.ig-ico svg{width:28px;height:28px;fill:#fff}
.ig-txt{flex:1;display:flex;flex-direction:column}
.ig-txt b{font-family:Montserrat,sans-serif;font-size:1.3rem;color:var(--navy-dk)}
.ig-txt span:last-child{color:var(--muted);font-size:.92rem}
@media (max-width:620px){.ig-box{flex-wrap:wrap}.ig-box .btn{width:100%;justify-content:center}}

/* v4 marcas: grilla uniforme a color */
.marcas2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.marcas2 .mt{background:var(--tile);border:1px solid var(--tile-line);border-radius:12px;height:92px;display:grid;place-items:center;padding:6px 10px}
.marcas2 .mt img{width:100%;height:100%;object-fit:contain}
.marcas2 .mt.txt span{font:800 .95rem/1.1 Montserrat,sans-serif;color:#333a44;letter-spacing:.02em;text-transform:uppercase;text-align:center}
@media(max-width:520px){.marcas2{grid-template-columns:repeat(3,1fr);gap:8px}.marcas2 .mt{height:72px;padding:4px 6px}.marcas2 .mt.txt span{font-size:.72rem}}

/* v5: modo oscuro (variables + toggle) */
:root{--page:#fff;--surface:#fff;--heading:var(--navy-dk);--accent:var(--navy);--tile:#fff;--tile-line:var(--line);--soft-grad:#eef3f9;color-scheme:light}
:root[data-theme="dark"]{
  --page:#0e1622;--surface:#162131;--bg:#111b28;--ink:#e4ebf3;--muted:#a7b4c4;--line:#273650;
  --heading:#f1f5fa;--accent:#8fb6e8;--tile:#f3f5f8;--tile-line:#f3f5f8;--soft-grad:#111b28;
  --shadow:0 6px 24px rgba(0,0,0,.45);color-scheme:dark}
body{background:var(--page)}
.sec-h h2,.rubro h3,.prod h3,.suc h3,.valores b,.ig-txt b,.wa-float .pop p{color:var(--heading)}
.eyebrow{color:var(--accent)}
.stats{background:var(--page)}
.stats .wrap,.rubro,.prod,.suc,.valores div,.ig-box,.wa-float .pop,.suc .map span{background:var(--surface)}
.stat b,.quote,.mails a{color:var(--accent)}
.btn-out{border-color:var(--accent);color:var(--accent)}
.historia{background:linear-gradient(180deg,var(--page) 0%,var(--soft-grad) 100%)}
.hist-txt p{color:var(--ink)}
:root[data-theme="dark"] .historia::before{color:rgba(255,255,255,.035)}
:root[data-theme="dark"] .topbar,:root[data-theme="dark"] footer.site{background:#08101b}
:root[data-theme="dark"] header.site{background:#0f2440}
:root[data-theme="dark"] .hero{background:#08101b}
:root[data-theme="dark"] .hero::before{background:linear-gradient(90deg,rgba(6,12,22,.95) 0%,rgba(10,24,44,.85) 45%,rgba(10,24,44,.3) 100%)}
:root[data-theme="dark"] .hero .bg{filter:brightness(.8)}
:root[data-theme="dark"] .band-navy{background:linear-gradient(120deg,#08101b,#13305a)}
:root[data-theme="dark"] .band-navy .eyebrow{color:#9fc0ea}
:root[data-theme="dark"] .prod .ph{background-color:#1d2a3c}
:root[data-theme="dark"] .suc .map{background:linear-gradient(135deg,#1b2a40,#22344f);color:var(--ink)}
:root[data-theme="dark"] .suc .map::before{background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px)}
:root[data-theme="dark"] .btn-navy{background:#2a5a96}
:root[data-theme="dark"] .btn-light{background:#f1f5fa;color:var(--navy-dk)}
:root[data-theme="dark"] .note{background:#2a2410;border-color:#7a6420;color:#e9dcb0}
:root[data-theme="dark"] .wa-float .pop a{background:#13301f;color:var(--ink)}
:root[data-theme="dark"] .wa-float summary{box-shadow:0 6px 20px rgba(0,0,0,.6)}
:root[data-theme="dark"] .checks li::before{background-color:#2a5a96}
.theme-toggle{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);cursor:pointer;flex:none;padding:0}
.theme-toggle:hover{background:rgba(255,255,255,.22)}
.theme-toggle:focus-visible{outline:3px solid #ffd84d;outline-offset:2px}
.theme-toggle svg{width:20px;height:20px;fill:#fff}
.theme-toggle .i-sun{display:none}
:root[data-theme="dark"] .theme-toggle .i-sun{display:block}
:root[data-theme="dark"] .theme-toggle .i-moon{display:none}

/* zona de influencia */
a.stat-link{text-decoration:none;color:inherit}
a.stat-link:hover b{text-decoration:underline}
.zona{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.zona-map{margin:0;background:#f5f7fa;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.zona-map img{width:100%;height:auto}
.zona-ley{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:14px}
.zona-ley li{display:flex;gap:12px;align-items:center}
.zona-ley b{display:block;color:var(--navy-dk);font-family:Montserrat,sans-serif;font-size:1rem}
.zona-ley small{color:var(--muted);font-size:.9rem}
.sw{flex:none;width:34px;height:24px;border-radius:6px}
.sw-act{background:#26367C}.sw-prox{background:#f28c28}
.sw-suc{width:16px;height:16px;border-radius:50%;background:#d62828;border:3px solid #fff;box-shadow:0 0 0 1px #d62828;margin-inline:9px}
.zona-prox{margin:0 0 18px;padding:14px 16px;border-radius:12px;background:#fff4e8;border-left:4px solid #f28c28;color:#5a3209}
@media (max-width:900px){.zona{grid-template-columns:1fr}.zona-ley{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.zona-ley{grid-template-columns:1fr}}
:root[data-theme="dark"] .zona-map{border-color:#2a3a52;box-shadow:0 6px 24px rgba(0,0,0,.45)}
:root[data-theme="dark"] .zona-map img{filter:brightness(.93)}
:root[data-theme="dark"] .zona-ley b{color:var(--ink)}
:root[data-theme="dark"] .zona-prox{background:#2d1f0f;color:#f3d6b4}
:root[data-theme="dark"] .sw-act{background:#3a4fb0;box-shadow:0 0 0 1px #5a6fd0}
:root[data-theme="dark"] .sw-suc{border-color:#1b2430}

/* ===== v8: hero con fotos rotativas, franja de mercados, página Mercados ===== */
.hero .hero-slides{position:absolute;inset:0;z-index:0;background:var(--navy-dk)}
.hero .hs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);opacity:0;transition:opacity 1.4s ease-in-out}
.hero .hs.on{opacity:1}
.hero-pausa{position:absolute;z-index:3;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(13,31,54,.45);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.hero-pausa:hover,.hero-pausa:focus-visible{background:rgba(13,31,54,.8)}
.hero-pausa:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hero-pausa svg{width:14px;height:14px;fill:currentColor}
.hero-pausa .i-play{display:none}.hero-pausa[aria-pressed="true"] .i-play{display:block}.hero-pausa[aria-pressed="true"] .i-pause{display:none}
.hero-pausa[hidden]{display:none}
@media (max-width:760px){.hero::before{background:linear-gradient(180deg,rgba(13,31,54,.88) 0%,rgba(23,54,95,.8) 60%,rgba(23,54,95,.62) 100%)}}
@media (prefers-reduced-motion:reduce){.hero .hs{transition:none}}
:root[data-theme="dark"] .hero .hero-slides{filter:brightness(.8)}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .hero .hero-slides{filter:brightness(.8)}}

.sec-franja{padding:30px 0 4px}

.page-hero{background:linear-gradient(90deg,var(--navy-dk) 0%,var(--navy) 100%);color:#fff;padding:30px 0 28px}
.page-hero .crumbs{font-size:.85rem;color:#c9d6e6;margin:0 0 6px}
.page-hero .crumbs a{color:#fff;text-decoration:none}.page-hero .crumbs a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:900;margin:0 0 6px;letter-spacing:-.01em}
.page-hero p{margin:0;color:#dfe7f2;max-width:680px}
.pg-mercados .sec{padding:28px 0 56px}
.pg-mercados .rm-mercados{padding-left:0;padding-right:0;background:transparent}
.pg-mercados .rm-head h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.creditos-link{color:inherit;opacity:.85}
/* v8: menú en una sola línea (con "Mercados" son 7 ítems) */
nav.menu a,.hdr-cta .search{white-space:nowrap}
/* con 7 ítems no entra el buscador con texto en el ancho de 1180 px: queda sólo la lupa (title/aria en el HTML real) */
.hdr-cta .search{font-size:0;gap:0;padding:10px}.hdr-cta .search svg{width:17px;height:17px}
@media (max-width:1140px){nav.menu a{padding:10px 7px;font-size:.88rem}.hdr-cta{gap:8px}}
@media (max-width:1240px){nav.menu ul{gap:2px}nav.menu a{padding:10px 9px;font-size:.92rem}}
@media (max-width:760px){.hero::before{background:linear-gradient(180deg,rgba(13,31,54,.8) 0%,rgba(23,54,95,.66) 60%,rgba(23,54,95,.5) 100%)}}
.logo{flex:none}
@media (max-width:1100px){nav.menu,.hdr-cta .search,.hdr-cta .btn{display:none}.burger{display:block}.logo img{height:44px}}

/* V9: herramientas + mapa interactivo de zona */
.herr{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.herr-card{display:flex;gap:16px;align-items:flex-start;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--c);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);transition:transform .15s}
.herr-card:hover{transform:translateY(-3px)}
.herr-ico{flex:none;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.7rem;background:color-mix(in srgb,var(--c) 14%,transparent)}
.herr-card h3{font-size:1.1rem;margin:0 0 6px;color:var(--heading)}
.herr-card p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.herr-go{font-weight:800;color:var(--c)}
@media (max-width:960px){.herr{grid-template-columns:1fr}}
footer .cols{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr}
@media (max-width:1060px){footer .cols{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:860px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}
.sw-act{background:#2b59a3}
.zona-col{min-width:0}
.zmap-wrap{position:relative}
.zmap{position:relative;height:clamp(420px,62vh,620px);background:#f5f7fa;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.zmap.zoomed{touch-action:none}
.zmap-svg{display:block;cursor:grab}
.zmap-svg:active{cursor:grabbing}
.z-ctx{fill:none;stroke:#c9d2de;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.z{fill:#e6ebf1;stroke:#fff;stroke-width:.7;vector-effect:non-scaling-stroke;cursor:pointer;transition:filter .12s}
.z1{fill:#2b59a3;stroke:#173a73}.z2{fill:#f28c28;stroke:#9a4f0c}
.z:hover{filter:brightness(1.12)}
.z-bord{fill:none;stroke:#1b2430;stroke-opacity:.75;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linejoin:round;pointer-events:none}
.z-hl{fill:none;stroke:#d62828;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}
.z-prov text{font-family:Montserrat,sans-serif;font-weight:700;fill:#5b6675;fill-opacity:.55;pointer-events:none}
.z-lbl text{font-family:"Nunito Sans",sans-serif;font-weight:700;pointer-events:none;fill:#fff}
.z-lbl text.l2{fill:#3a1d03}
.z-town circle{fill:#d62828;stroke:#fff}
.z-town text{font-family:Montserrat,sans-serif;font-weight:800;fill:#d62828;stroke:#fff;paint-order:stroke;pointer-events:none}
.zmap-tools{position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:2}
.zmap-tools button{font:800 .9rem "Nunito Sans",sans-serif;min-width:38px;height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--heading);box-shadow:0 2px 8px rgba(13,31,54,.12);cursor:pointer}
.zmap-tools button[data-z]:not([data-z=fit]){font-size:1.25rem;padding:0}
.zmap-tip{position:absolute;z-index:3;max-width:250px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:10px 12px;box-shadow:0 8px 24px rgba(13,31,54,.22);pointer-events:none;font-size:.85rem;line-height:1.35}
.zmap-tip b{display:block;font-family:Montserrat,sans-serif;color:var(--heading);font-size:.98rem}
.zmap-tip small{display:block;color:var(--muted);margin-bottom:4px}
.zmap-tip em{display:inline-block;font-style:normal;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:999px;padding:2px 8px;margin-bottom:4px}
.zmap-tip em.e1{background:#2b59a3}.zmap-tip em.e2{background:#f28c28}
.zmap-tip span{display:block}
.zmap-hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:rgba(13,31,54,.85);color:#fff;border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:700;pointer-events:none;white-space:nowrap}
.zmap-wrap figcaption{padding:8px 14px;font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);background:var(--surface)}
.zona-lista{margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 16px}
.zona-lista summary{cursor:pointer;font-weight:800;color:var(--heading)}
.zona-lista h3{display:flex;align-items:center;gap:8px;font-size:1rem;margin:14px 0 6px}
.zona-lista h3 .sw{width:18px;height:14px;border-radius:4px}
.zona-lista p{margin:0 0 6px;font-size:.9rem;color:var(--muted)}
.zbusca{margin:0 0 18px}
.zbusca label{display:block;font-weight:800;color:var(--heading);margin-bottom:6px}
.zbusca input{width:100%;font:inherit;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.zbusca p{margin:6px 0 0;font-size:.9rem;font-weight:700;color:var(--heading);min-height:1.2em}
:root[data-theme="dark"] .zmap{background:#0f1a2a}
:root[data-theme="dark"] .z{fill:#22324a;stroke:#0f1a2a}
:root[data-theme="dark"] .z1{fill:#3d6fc0;stroke:#9fc0ea}:root[data-theme="dark"] .z2{fill:#f28c28;stroke:#ffd2a6}
:root[data-theme="dark"] .z-bord{stroke:#dfe6ef}
:root[data-theme="dark"] .z-ctx{stroke:#33455f}
:root[data-theme="dark"] .z-prov text{fill:#b8c4d4}
:root[data-theme="dark"] .z-town text{stroke:#0f1a2a}
@media (max-width:760px){.zmap{height:460px}}
/* header con "Herramientas": WhatsApp del encabezado solo ícono (los números siguen en la barra superior y en el botón flotante) */
.hdr-cta .btn-wa{font-size:0;gap:0;padding:0;width:42px;height:42px;justify-content:center;border-radius:50%}.hdr-cta .btn-wa svg{width:20px;height:20px;margin:0}
@media (max-width:1240px){nav.menu a{padding:10px 8px;font-size:.9rem}}
@media (max-width:1180px){nav.menu ul{gap:0}nav.menu a{padding:10px 6px;font-size:.86rem}}
/* /V9 */

/* CALC: 8 herramientas + submenú */
.herr{grid-template-columns:repeat(4,1fr);gap:18px}
.herr-card{flex-direction:column;gap:12px;padding:20px}
@media (max-width:1200px){.herr{grid-template-columns:repeat(2,1fr)}.herr-card{flex-direction:row}}
@media (max-width:640px){.herr{grid-template-columns:1fr}}
nav.menu .sub{display:none;position:absolute;top:100%;left:0;z-index:60;flex-direction:column;gap:0;min-width:250px;padding:8px;background:var(--navy);border-radius:0 0 12px 12px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
nav.menu .sub a{font-size:.9rem;font-weight:700;padding:9px 12px}
nav.menu .has-sub:hover>.sub,nav.menu .has-sub:focus-within>.sub{display:flex}
:root[data-theme="dark"] nav.menu .sub{background:#0f2440}
/* /CALC */
.ig-float{position:fixed;right:23px;bottom:92px;z-index:80;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ig-float svg{width:28px;height:28px;fill:#fff}
/* v10: portada compacta y Mercados con más peso */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero.hero-compacta .wrap{padding:46px 0 120px}
.sec-franja.franja-destacada{position:relative;z-index:5;margin-top:-92px;padding-top:0}
.franja-destacada .rm-franja{box-shadow:0 14px 40px rgba(13,31,54,.28);border:2px solid var(--navy,#17365f)}
.franja-destacada .rf-t{font-size:1.7rem}
.franja-destacada .rf-val{font-size:1.55rem}
.franja-destacada .rf-lab{font-size:.85rem}
@media (max-width:760px){.hero.hero-compacta .wrap{padding:30px 0 100px}.sec-franja.franja-destacada{margin-top:-70px}}
/* v11: flotante modo claro/oscuro */
.theme-toggle.theme-float{position:fixed;left:16px;bottom:40px;z-index:80;width:52px;height:52px;border:none;background:var(--navy,#1d3a63);box-shadow:0 6px 20px rgba(0,0,0,.25)}
.theme-toggle.theme-float:hover{background:#264d82}
.theme-toggle.theme-float svg{width:24px;height:24px}
:root[data-theme="dark"] .theme-toggle.theme-float{background:#2a3f5c;box-shadow:0 6px 20px rgba(0,0,0,.6)}
.hero-pausa{display:none!important}
@media (max-width:560px){.theme-toggle.theme-float{width:46px;height:46px;left:12px;bottom:36px}.theme-toggle.theme-float svg{width:22px;height:22px}}
/* v12 */
.rf-act{white-space:nowrap}
/* v12b */
:root[data-theme="dark"] .more,:root[data-theme="dark"] .herr-go{color:color-mix(in srgb,var(--c) 45%,#fff)}
/* v12d */
:root[data-theme="dark"] .btn-wa{color:#06251a}
:root[data-theme="dark"] .btn-ig{background:linear-gradient(45deg,#c13584,#833ab4)}
:root[data-theme="dark"] .ph .tag{background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3))!important}
