/* V05-REDESIGN-1104: Barlow / Barlow Condensed / JetBrains Mono (latin) + Fira Sans Extra Condensed / JetBrains Mono (cirílico). SIL OFL 1.1 */
@font-face{font-family:'BarlowC';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'BarlowC';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'BarlowC';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'FiraXC';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/fira-sans-extra-condensed-cyrillic-600.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'FiraXC';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/fira-sans-extra-condensed-cyrillic-700.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'FiraXC';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/fira-sans-extra-condensed-cyrillic-800.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'OfoMono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'OfoMono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/jetbrains-mono-cyrillic-400.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'OfoMono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'OfoMono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-cyrillic-500.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}


/* ===================== V05-REDESIGN-1104 · «v05-industrial» (decisión de Roy #31) =====================
   Capa de estilo sobre el sistema R3: mismas clases y mismo HTML (formularios, portal, blog, herramientas),
   nueva piel: papel hormigón #EDECE8, grafito, rojo señal #D0021B, aristas rectas, rótulos condensados en
   mayúsculas y etiquetas mono. Cabecera nueva (src/v5_header.py) con Herramientas / Profesionales / Entrar arriba. */
:root{
 --v-ink:#141518;--v-graph:#1E2024;--v-steel:#2B2E33;--v-line-d:#3A3E44;--v-mute-d:#A9AEB5;
 --v-paper:#EDECE8;--v-paper2:#E2E1DC;--v-line-l:#C9C7C0;--v-mute-l:#55585E;
 --o:#D0021B;--o-cta:#D0021B;--o-cta-h:#A80016;--o-soft:#FBE9EB;--o-line:#EFB3BA;--v-red-on-d:#FF2B3D;--ink:#141518;--ink2:#2E3136;--mute:#55585E;--line:#D6D4CE;--line2:#C9C7C0;--bg2:#E2E1DC;
 --r:0;--r-s:0;--sh:6px 6px 0 rgba(20,21,24,.9);--sh-s:none;
 --ff:"Barlow",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
 --fh:"BarlowC","FiraXC","Arial Narrow",Montserrat,system-ui,sans-serif;
 --fm:"OfoMono",ui-monospace,SFMono-Regular,Menlo,monospace
}
body{background:var(--v-paper);font-size:17px;line-height:1.55}
:focus-visible{outline:3px solid #FFC400;outline-offset:2px}
h1,h2,h3{font-family:var(--fh);text-transform:uppercase;letter-spacing:.005em;font-weight:800;line-height:.98}
h1{font-size:2.5rem}
h2{font-size:1.9rem}
h3{font-size:1.28rem;font-weight:700;line-height:1.05}
a{text-decoration-color:var(--o-cta)}
.btn{border-radius:0;font-family:var(--fh);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem}
.btn-primary{box-shadow:none}
.btn-ghost{background:transparent;border:2px solid var(--v-ink)}
.btn-ghost:hover{background:var(--v-ink);color:#fff;border-color:var(--v-ink)}
.btn-sm{font-size:.98rem}
.eyebrow{font-family:var(--fm);font-weight:500;font-size:.74rem;letter-spacing:.08em;color:var(--v-ink);background:transparent}
.eyebrow:before{width:10px;height:10px;border-radius:0;background:var(--o-cta)}
.lead{color:var(--ink2)}
input,select,textarea{border-radius:0!important}

/* ---------- cabecera v5 ---------- */
.top.v5{background:var(--v-graph);color:#fff;border-bottom:0;position:sticky;top:0;z-index:30}
.top.v5 .util{background:var(--v-ink);border-bottom:1px solid var(--v-line-d);color:var(--v-mute-d);font-family:var(--fm);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.top.v5 .util-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}
.top.v5 .util-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.top.v5 .langs summary{border:0;border-radius:0;min-height:30px;padding:2px 6px;color:var(--v-mute-d);font-size:.72rem}
.top.v5 .langs summary:hover{color:#fff}
.top.v5 .langs ul{border-radius:0;box-shadow:var(--sh);border:2px solid var(--v-ink);font-family:var(--ff);text-transform:none;letter-spacing:0;font-size:.95rem}
.top.v5 .langs li a{border-radius:0}
.top.v5 .top-in{min-height:64px;gap:0;align-items:stretch}
.top.v5 .brand{margin-right:auto;padding:12px 0}
.top.v5 .brand img{height:30px}
.top.v5 .top-nav{display:none;align-items:stretch;gap:0}
.top.v5 .top-nav>a,.top.v5 .dd-t{display:flex;align-items:center;gap:8px;padding:0 20px;border-left:1px solid var(--v-line-d);color:#D7DADE;text-decoration:none;
 font-family:var(--fh);font-weight:600;font-size:1.02rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none;height:100%}
.top.v5 .top-nav>a:hover,.top.v5 .dd:hover>.dd-t,.top.v5 .dd:focus-within>.dd-t{color:#fff;background:var(--v-steel)}
.top.v5 .top-nav .ico{color:var(--v-red-on-d)}
.top.v5 .dd{position:relative;display:flex}
.top.v5 .dd-t:after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-3px);margin-left:4px}
.top.v5 .dd ul{display:none;position:absolute;left:0;top:100%;margin:0;padding:6px 0;list-style:none;min-width:260px;background:#fff;border:2px solid var(--v-ink);box-shadow:var(--sh);z-index:40}
.top.v5 .dd:hover ul,.top.v5 .dd:focus-within ul{display:block}
.top.v5 .dd li a,.top.v5 .mnav li a{display:flex;align-items:center;gap:10px;padding:11px 16px;color:var(--v-ink);text-decoration:none;font-weight:600}
.top.v5 .dd li a:hover,.top.v5 .dd li a:focus-visible{background:var(--v-ink);color:#fff}
.top.v5 .dd li a:hover .ico{color:var(--v-red-on-d)}
.top.v5 .dd .ico{color:var(--o-cta)}
.top.v5 .top-login{background:var(--v-steel)}
.top.v5 .top-cta{align-self:stretch;margin-left:0;min-height:0;white-space:nowrap;padding:0 18px}
.top.v5 .top-in>*:focus-visible,.top.v5 .top-nav a:focus-visible{outline-offset:-3px}
.top.v5 .top-login-m{display:flex;align-items:center;justify-content:center;width:46px;color:#fff;margin-left:4px}
.top.v5 .top-login-m:hover{background:var(--v-steel);color:#fff}
.top.v5 .mnav{display:flex;position:static}
.top.v5 .mnav>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:48px;cursor:pointer;color:#fff;border-left:1px solid var(--v-line-d);margin-left:10px}
.top.v5 .mnav>summary::-webkit-details-marker{display:none}
.top.v5 .mnav[open]>summary{background:var(--o-cta)}
.top.v5 .mnav-p{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--v-ink);border-top:4px solid var(--o-cta);border-bottom:2px solid var(--v-ink);padding:8px 20px 16px;box-shadow:0 18px 30px rgba(0,0,0,.25);z-index:40}
.top.v5 .mnav-p ul{list-style:none;margin:0;padding:0}
.top.v5 .mnav li a{padding:13px 4px;border-bottom:1px solid var(--line)}
.top.v5 .mnav-p .ico{color:var(--o-cta)}
.top.v5 .mnav>summary .ico{color:#fff}
.top.v5 .mnav-h{font-family:var(--fm);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-mute-l);margin:14px 0 2px}
@media (min-width:960px){
 .top.v5 .top-nav{display:flex}
 .top.v5 .mnav,.top.v5 .top-login-m{display:none}
 .top.v5 .top-in{min-height:70px}
 .top.v5 .brand img{height:32px}
 .top.v5 .top-cta{padding:0 26px}
}
@media (max-width:440px){
 .top.v5 .util-tag{font-size:.62rem}
 .top.v5 .brand img{height:24px}
 .top.v5 .top-cta{padding:0 10px;font-size:.82rem;letter-spacing:.03em}
 .top.v5 .top-login-m{width:40px}
 .top.v5 .mnav>summary{width:44px;margin-left:4px}
}

/* ---------- portada: hero industrial ---------- */
.hero{background:var(--v-graph);color:#fff;border-bottom:0;padding:34px 0 40px;position:relative}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(-45deg,var(--o-cta) 0 14px,var(--v-ink) 14px 28px)}
.hero h1{color:#fff;font-size:2.5rem;line-height:.92}
.hero .lead{color:#D5D8DC}
.hero .eyebrow{color:#fff}
.hero .eyebrow:before{background:var(--o-cta)}
.hero .quick{border:0;border-radius:0;box-shadow:10px 10px 0 var(--v-ink);background:#fff;padding:0;gap:0}
.hero .quick .q-f{padding:12px 16px 10px;border-bottom:1px solid var(--v-line-l)}
.hero .quick label{font-family:var(--fm);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-mute-l)}
.hero .quick input{border:0;background:transparent;padding:4px 0;font-family:var(--fh);font-weight:600;font-size:1.45rem;color:var(--v-ink);min-height:0}
.hero .quick input:focus{box-shadow:none;outline:none}
.hero .quick .q-f:focus-within{box-shadow:inset 0 -4px 0 var(--o-cta)}
.hero .quick .btn{min-height:58px;border-radius:0;font-size:1.2rem}
.hero .trust{color:#fff;margin-top:26px}
.hero .trust .ico{background:transparent;color:var(--v-red-on-d)}
.hero .trust-note{color:var(--v-mute-d)}
.hero-media img{border-radius:0;filter:grayscale(1) contrast(1.12) brightness(.85)}
.hero-badge{border-radius:0;background:var(--o-cta);color:#fff;box-shadow:none;left:0;bottom:0;font-family:var(--fh);text-transform:uppercase;letter-spacing:.03em;font-size:1.1rem;font-weight:700;padding:16px 20px}
.hero-badge .ico{color:#fff;background:transparent;border:2px solid #fff;border-radius:0}
.hero .photo-credit,.hero .photo-credit a{color:var(--v-mute-d)}
@media (min-width:960px){
 .hero{padding:64px 0 78px}
 .hero h1{font-size:4.1rem}
 .hero .quick{grid-template-columns:1.5fr 1fr auto}
 .hero .quick .q-f{border-bottom:0;border-right:1px solid var(--v-line-l)}
 .hero .quick .btn{height:100%;padding:0 28px}
}

/* ---------- populares, secciones, cómo funciona ---------- */
.popular h2{font-family:var(--fm);font-size:.76rem;font-weight:500;letter-spacing:.08em;color:var(--v-mute-l)}
.pop-list a{border-radius:0;border:2px solid var(--v-ink);background:#fff;font-family:var(--fh);text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.pop-list a:hover{background:var(--v-ink);color:#fff}
.pop-list .ico,.card .ico,.inc .ico{color:var(--o-cta);background:transparent;border-radius:0;padding:0;width:30px;height:30px}
.pop-list a:hover .ico{color:#fff}.card:hover .ico{color:var(--v-red-on-d)}
.sec{padding:56px 0}
.sec-alt{background:var(--v-paper2);border-top:1px solid var(--v-line-l);border-bottom:1px solid var(--v-line-l)}
.sec-h h2,.sec h2{position:relative}
.sec-h{border-top:3px solid var(--v-ink);padding-top:14px}
.how-list li{border-radius:0;background:transparent;border:0;border-top:1px solid var(--v-ink);box-shadow:none;padding-top:18px}
.how-list li:before{font-family:var(--fh);font-weight:800;font-size:3rem;line-height:.8;color:var(--v-ink);background:transparent;width:auto;height:auto;border-radius:0}
.how-list li:nth-child(3):before{color:var(--o-cta)}
.how-list .ico,.how-list li:last-child .ico{background:transparent;color:var(--o-cta);border-radius:0;padding:0;width:32px;height:32px}
.how-note{border:2px solid var(--v-ink);background:#fff;padding:16px 20px;font-family:var(--fh);font-weight:600;font-size:1.2rem;border-radius:0}
.ai-promo .bubble{border-radius:0;background:var(--v-ink);color:#E6E8EB;font-family:var(--fm);font-size:.92rem;border:0}
.ai-promo .bubble b{color:var(--v-red-on-d)}
.group-t{font-family:var(--fm);font-size:.76rem;font-weight:500;letter-spacing:.08em;color:var(--v-mute-l);border-bottom:1px solid var(--v-line-l);padding-bottom:8px}
.cards{gap:8px}
.card{border-radius:0;border:2px solid var(--v-ink);box-shadow:none;background:#fff;height:100%;border-top-width:5px}
.card:hover{background:var(--v-graph);color:#fff;border-top-color:var(--o-cta);transform:none;box-shadow:none}
.card:hover .card-d{color:var(--v-mute-d)}
.card-t{font-family:var(--fh);text-transform:uppercase;font-weight:700;font-size:1.22rem;letter-spacing:.01em;line-height:1.05}
.chips a,.chips span{border-radius:0;border:1px solid var(--v-ink);background:#fff}
.chips a:hover{background:var(--v-ink);color:#fff}
.grid-links a{text-decoration:none;border-bottom:1px solid var(--v-line-l)}
.faq{border-radius:0;border:0;border-top:1px solid var(--v-ink);background:transparent}
.faq summary{font-family:var(--fh);text-transform:uppercase;font-weight:700;letter-spacing:.01em;font-size:1.12rem}
.callout{border-radius:0;border:2px solid var(--v-ink);background:#fff}
.callout .ico{color:var(--o-cta)}
.see-also{border-left:6px solid var(--o-cta)}
#herramientas{background:var(--v-paper);background-image:linear-gradient(var(--v-paper2) 1px,transparent 1px),linear-gradient(90deg,var(--v-paper2) 1px,transparent 1px);background-size:22px 22px}

/* ---------- páginas de categoría / provincia / ciudad ---------- */
.cp{background:var(--v-paper)}
.cp-head h1{font-size:2.3rem}
.cp-media img{border-radius:0;filter:grayscale(.35) contrast(1.05)}
.crumbs ol{font-family:var(--fm);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}
.cp-body>section>h2{border-top:3px solid var(--v-ink);padding-top:12px}
.inc li,.factors li{border-radius:0}
.num li:before{border-radius:0;background:var(--v-ink);color:#fff;font-family:var(--fh)}

/* ---------- formulario de solicitud: panel oscuro con sombra en bloque ---------- */
.lead-card{border-radius:0;border:2px solid var(--v-ink);box-shadow:10px 10px 0 var(--v-ink);background:#fff}
.form-title{font-size:1.6rem}
.lead-card label,.lead-card legend{font-family:var(--fm);font-weight:500;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--v-mute-l)}
.lead-card .check span,.lead-card .chip span{font-family:var(--ff);text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--ink)}
.lead-card .check{text-transform:none;letter-spacing:0}
input,select,textarea{border:1.5px solid var(--v-line-l);background:#FBFBF9}
input:focus,select:focus,textarea:focus{border-color:var(--v-ink);box-shadow:inset 0 -3px 0 var(--o-cta)}
.chip span{border-radius:0}
.ai-tabs{border-radius:0}
.ai-tab{border-radius:0;font-family:var(--fh);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.ai-tab.on{background:var(--v-ink);color:#fff;border-color:var(--v-ink)}
.ai-log li{border-radius:0}
.ai-log .bot{background:var(--v-paper2)}
.ai-log .me{background:var(--v-ink);color:#fff}
.btn-cta{width:100%;min-height:58px;font-size:1.2rem}
.more{border-radius:0;border:1.5px solid var(--v-line-l)}

/* ---------- banda de profesionales (señal) ---------- */
.pro-band{background:var(--o-cta);color:#fff;border-radius:0}
.pro-band h2{color:#fff;font-size:2rem}
.pro-band .ico{color:#fff}
.btn-ghost-inv{border-radius:0;background:var(--v-ink);border-color:var(--v-ink);color:#fff}
.btn-ghost-inv:hover{background:#000;border-color:#000;color:#fff}

/* ---------- pie ---------- */
.foot{background:var(--v-ink);color:var(--v-mute-d);border-top:10px solid transparent;border-image:repeating-linear-gradient(-45deg,var(--o-cta) 0 14px,var(--v-ink) 14px 28px) 10}
.foot h2{font-family:var(--fm);font-weight:500;font-size:.74rem;letter-spacing:.08em;color:#fff;border-bottom:2px solid var(--o-cta);display:inline-block;padding-bottom:8px;text-transform:uppercase}
.foot a{color:#C9CDD2}
.foot a:hover{color:#fff}
.foot-bottom{font-family:var(--fm);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}

/* ---------- varios (legal, gracias, portal /pro/, cookies) ---------- */
.legal table,.legal th,.legal td{border-radius:0}
.draft{border-radius:0}
.thanks-box{border-radius:0;border:2px solid var(--v-ink);box-shadow:10px 10px 0 var(--v-ink);background:#fff}
.t-icon{border-radius:0}
.acc-card,.acc-tabs a,.acc-badge,.acc-msg{border-radius:0}
.acc-card{border:2px solid var(--v-ink);box-shadow:none}
.acc-kicker{font-family:var(--fm);letter-spacing:.08em;text-transform:uppercase}
.cookie{border-radius:0;background:var(--v-ink);color:#E6E8EB;border-top:4px solid var(--o-cta)}
.cookie a{color:#fff}
.cookie .btn-ghost{border-color:#fff;color:#fff}
.cookie .btn-dark{background:#fff;color:var(--v-ink)}
.lang-offer{border-radius:0;background:var(--v-ink)}
@media (min-width:960px){
 h1{font-size:3.2rem}
 h2{font-size:2.4rem}
 .cp-head h1{font-size:3.1rem}
 .sec{padding:88px 0}
}
@media (prefers-reduced-motion:reduce){.top.v5 *{transition:none!important}}

/* ---------- V05 · hero partido a sangre, acento rojo en la 2.ª parte del titular ---------- */
.hero h1 .acc{color:var(--v-red-on-d);display:block}
.hero .eyebrow{font-family:var(--fm);color:var(--v-mute-d)}
.hero .eyebrow:before{width:auto;height:auto;content:"OB-00";background:var(--o-cta);color:#fff;padding:3px 8px;font-size:.72rem;margin-right:8px}
.hero .trust{border-top:1px solid var(--v-line-d);padding-top:16px;gap:10px 0}
.hero .trust li{font-family:var(--fh);text-transform:uppercase;font-size:1.08rem;letter-spacing:.03em;padding-right:18px;margin-right:18px;border-right:1px solid var(--v-line-d)}
.hero .trust li:last-child{border-right:0}
@media (min-width:960px){
 .hero{overflow:hidden;padding:0}
 .hero-in{grid-template-columns:minmax(0,1fr);min-height:600px}
 .hero-text{width:56%;padding:64px 0 72px}
 .hero-media{position:absolute;top:0;bottom:10px;right:0;width:40%;margin:0}
 .hero-media picture{height:100%}
 .hero-media img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}
 .hero-badge{left:0;bottom:0;max-width:340px}
 .hero-media .photo-credit{position:absolute;top:10px;right:14px;margin:0;font-family:var(--fm);text-transform:uppercase;letter-spacing:.06em}
}
@media (min-width:1500px){.hero-media{width:calc(50% - 150px)}}

/* ---------- V05 · franja de herramientas bajo el hero (1 clic) ---------- */
.tstrip{background:var(--v-ink);color:#fff;border-bottom:1px solid var(--v-line-d)}
.tstrip-in{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}
.tstrip-h{margin:0;padding:14px 22px 14px 0;font-family:var(--fm);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--v-mute-d);display:flex;align-items:center;flex-basis:100%}
.tstrip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;flex:1 1 auto}
.tstrip li a{display:flex;align-items:center;gap:12px;padding:14px 4px;min-height:56px;color:#fff;text-decoration:none;border-top:1px solid var(--v-line-d);font-family:var(--fh);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem}
.tstrip li a:hover,.tstrip li a:focus-visible{background:var(--o-cta);color:#fff}
.tstrip .ts-n{font-family:var(--fm);font-weight:400;font-size:.72rem;color:var(--v-red-on-d);letter-spacing:.06em}
.tstrip li a:hover .ts-n,.tstrip li a:hover .ico{color:#fff}
.tstrip .ico{color:var(--v-red-on-d)}
.tstrip .ts-a{margin-left:auto;padding-right:6px}
@media (min-width:760px){
 .tstrip-h{flex-basis:auto;border-right:1px solid var(--v-line-d)}
 .tstrip ul{grid-template-columns:repeat(3,1fr)}
 .tstrip li a{border-top:0;border-right:1px solid var(--v-line-d);padding:16px 20px}
}
.mnav-cta a{font-family:var(--fh);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.top.v5 .svc-s-btn{align-self:stretch;min-height:0;border:0;border-left:1px solid var(--v-line-d);background:transparent;color:#fff;padding:0 14px;min-width:46px}
.top.v5 .svc-s-btn:hover,.top.v5 .svc-s-btn[aria-expanded=true]{background:var(--v-steel);color:#fff}
.svc-s-panel{border-radius:0;border-top:4px solid var(--o-cta)}
.svc-s-q{border-radius:0!important}
@media (max-width:440px){.top.v5 .svc-s-btn{min-width:38px;padding:0 8px}}

/* ECO R3: shared v05 skin; each vertical retains its own accessible CTA colour.
   Static and PHP pages share this stylesheet through portal_shell.json. */
.eco-top{background:var(--v-graph);color:#fff;border-bottom:1px solid var(--v-line-d);position:relative}
.eco-top .top-in{min-height:80px;gap:20px}
.eco-top .eng-logo text{fill:#fff}
.eco-top .eng-logo tspan{fill:var(--eco-signal)}
.eco-top .eng-logo>path{fill:var(--eco-signal)}
.eco-top .top-nav a,.eco-top .eng-acc,.eco-top .langs summary{color:#fff}
.eco-top .top-nav a:hover,.eco-top .eng-acc:hover{color:var(--eco-signal)}
.eco-top .top-nav a,.eco-top .eng-acc{font-family:var(--fh);text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem}
.eco-top .langs summary{border-color:#777;border-radius:0;min-height:44px}
.eco-top .langs ul{color:var(--ink);border:2px solid var(--ink);border-radius:0}
.eco-menu{display:none}
.eco-index{font:500 .72rem/1.5 var(--fm);letter-spacing:.1em;color:#D5D8DC;margin:0 0 22px;text-transform:uppercase}
.eng-staging{font-family:var(--fm);background:#0E1013;color:#E6E8EB;font-weight:400;line-height:1.5}
.eng-hero{background:var(--v-graph);color:#fff;padding:48px 0 56px}
.eng-hero h1{max-width:22ch;font-size:clamp(2.5rem,4.6vw,4.5rem);line-height:.98;overflow-wrap:break-word}
.eng-hero .lead{color:#D5D8DC;font-size:1.1rem}
.eng-hero .eyebrow{color:var(--eco-signal);font-size:.72rem}
.eng-hero:after{background:repeating-linear-gradient(-45deg,var(--eco-signal) 0 14px,var(--v-ink) 14px 28px);height:7px}
.eng-trust{color:#E6E8EB;font-size:.93rem;gap:8px 20px}
.eng-trust li:before{border-radius:0;background:var(--eco-signal);width:8px;height:8px;top:.5em}
.eco-home-grid{display:grid;gap:32px;align-items:start;grid-template-columns:minmax(0,1fr)}
.eco-home-grid>*{min-width:0}
.eco-home .eng-form-card{background:#141518;border:1px solid #52555B;border-top:4px solid var(--eco-signal);color:#fff;box-shadow:8px 8px 0 #0E1013;border-radius:0;padding:24px}
.eco-home .eng-form-card h2,.eco-home .eng-form-card h3,.eco-home .eng-step-h{color:#fff}
.eco-home .eng-form-card .form-p,.eco-home .eng-prog-t,.eco-home .eng-form-card .help,.eco-home .eng-form-card .form-note{color:#C4C8CE}
.eco-home .eng-form-card input:not([type=checkbox]):not([type=radio]),.eco-home .eng-form-card select,.eco-home .eng-form-card textarea{background:#fff;color:#141518;border-color:#A9AEB5}
.eco-home .eng-form-card .chip span{color:#141518;background:#fff}
.eco-home .eng-form-card .chip input:checked+span{background:var(--o-soft);color:var(--ink);border-color:var(--eco-signal)}
.eco-home .eng-back,.eco-home .eng-form-card a{color:var(--eco-signal)}
.eco-home .eng-notice,.eco-home .eng-warn,.eco-home .eng-urgent{color:var(--ink)}
.eco-home .eng-notice a,.eco-home .eng-urgent a{color:var(--o-cta)}
.eco-home .err{color:#FFB4B4}
.eco-home .eng-bar{background:#52555B}
.eco-home .eng-bar i{background:var(--eco-signal)}
.eco-home .eng-modules .callout{color:var(--ink)}
.eco-home .eng-modules .callout a{color:var(--o-cta)}
.eng-cat{border:1px solid var(--v-line-l);border-top:3px solid var(--ink);border-radius:0;box-shadow:none;padding:22px;gap:12px}
.eng-cat b{font:700 1.45rem/1.05 var(--fh);text-transform:uppercase;color:var(--ink)}
.eng-cat:hover{border-color:var(--o-cta);background:var(--o-soft)}
.eng-cat:focus-visible{outline-color:var(--o-cta)}
.eng-cats{gap:12px;counter-reset:cat}
.eng-cat:before{counter-increment:cat;content:'[ ' counter(cat,decimal-leading-zero) ' ]';font:500 .7rem var(--fm);color:var(--o-cta)}
.eng-links a,.eng-provs,.eng-notice,.eng-warn,.eng-draft,.eng-urgent,.eng-prices,.eng-form-card{border-radius:0;box-shadow:none}
.eng-links a{border-color:var(--v-line-l);background:transparent}
.eng-links a:hover{background:#fff}
.eng-how-s{counter-reset:how;list-style:none;padding:0;display:grid;gap:24px}
.eng-how-s li{counter-increment:how;border-top:1px solid var(--ink);padding:18px 0 0;position:relative}
.eng-how-s li:before{content:'0' counter(how);display:block;font:800 3rem/1 var(--fh);color:var(--o-cta);margin-bottom:12px}
.eng-how-s b{font:700 1.4rem var(--fh);text-transform:uppercase}
.eng-faq{border-color:var(--v-line-l);padding:16px 0}
.eng-faq summary{font:700 1.2rem var(--fh);text-transform:uppercase;min-height:32px}
.foot{border-top:5px solid var(--o-cta)}
.foot h2{font-family:var(--fm);font-size:.8rem;line-height:1.5;letter-spacing:.07em}
.foot .eng-logo text{fill:#fff}
.foot .eng-logo tspan{fill:var(--eco-signal)}
.eng-brand-art{border:1px solid #52555B;background:var(--v-paper);padding:24px;max-width:400px}
.eng-form-card{scroll-margin-top:16px}
@media(min-width:960px){
 .eco-home-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}
 .eco-intro{padding:12px 0}
 .eng-how-s{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
}
@media(max-width:959px){
 .eco-top .top-nav,.eco-top .eng-acc{display:none}
 .eco-top .top-in{gap:10px;min-height:68px;flex-wrap:nowrap}
 .eco-top .brand{margin-right:auto;min-width:0}
 .eco-top .eng-logo{height:29px;max-width:100%}
 .eco-top .btn-sm{font-size:.85rem;padding:10px;letter-spacing:0;white-space:nowrap}
 .eco-top .langs summary{font-size:.8rem;padding:8px}
 .eco-menu{display:block;order:5}
 .eco-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:44px;height:44px;border:1px solid #777;font-size:1.4rem}
 .eco-menu>summary::-webkit-details-marker{display:none}
 .eco-menu[open]>summary{background:var(--o-cta)}
 .eco-menu nav{position:absolute;top:100%;left:0;right:0;background:#1E2024;border-bottom:3px solid var(--eco-signal);padding:12px 24px;z-index:31;box-shadow:0 10px 15px #0004}
 .eco-menu nav a{display:block;color:#fff;text-decoration:none;padding:12px 0;font:600 1.1rem var(--fh);text-transform:uppercase;border-bottom:1px solid #52555B}
 .eng-hero{padding:32px 0 40px}
 .eco-index{margin-bottom:18px}
 .eco-home .eng-form-card{padding:20px 16px;box-shadow:4px 4px 0 #0E1013}
 .sec{padding:36px 0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

body.site-hogar{--o:#0F7B6C;--o-cta:#0B6A5C;--o-cta-h:#08574B;--o-soft:#E7F5F2;--o-line:#BFE5DD;--eco-signal:#56DCC0}

body.site-legal{--o:#2B4DB3;--o-cta:#22409A;--o-cta-h:#1A327A;--o-soft:#EEF2FF;--o-line:#C7D2FE;--eco-signal:#A2B9FF}

body.site-casa{--o:#A23B2C;--o-cta:#8E3324;--o-cta-h:#72281C;--o-soft:#FBEEEB;--o-line:#F0C8BF;--eco-signal:#FFB7A0}

body.site-motor{--o:#3B4450;--o-cta:#1D6B36;--o-cta-h:#15542A;--o-soft:#EEF1F4;--o-line:#C8D0D8;--eco-signal:#9ADCAC}

body.site-finanzas{--o:#2F5D50;--o-cta:#24493F;--o-cta-h:#1A372F;--o-soft:#EEF4F1;--o-line:#C9DAD3;--eco-signal:#99CFB6}

body.site-salud{--o:#0E7C86;--o-cta:#0B6670;--o-cta-h:#08525A;--o-soft:#E6F4F5;--o-line:#B9E0E3;--eco-signal:#7AE0E3}

body.site-energia{--o:#D97706;--o-cta:#A15C00;--o-cta-h:#844B00;--o-soft:#FEF5E6;--o-line:#F5D9A8;--eco-signal:#FFC266}
/* Readable dark-surface text and an early request form on mobile. */
.eng-hero .eyebrow:before{content:none}
.eco-home .eng-form-card .form-sub,.eco-home .eng-form-card .form-foot{color:#C4C8CE}
.eco-home .eng-modules .btn-ghost{border-color:var(--eco-signal);color:var(--eco-signal)}
.eco-home .eng-modules .btn-ghost:hover{background:var(--eco-signal);color:var(--v-ink)}
.eco-home .eng-trust li{border:0;text-transform:none;font-family:var(--ff);font-weight:400;line-height:1.45}
@media(max-width:959px){
 .eco-home-grid{gap:18px}
 .eco-home-grid .eco-intro{display:contents}
 .eco-home .eco-index,.eco-home .eyebrow,.eco-home h1,.eco-home .lead{margin:0}
 .eco-home-grid>.eng-form-card{order:2;margin-top:8px}
 .eco-intro .eng-trust{order:3;margin-top:8px}
 .eco-intro .eng-modules{order:4;margin:0}
}
.eco-home .eng-form-card label,.eco-home .eng-form-card legend{color:#C4C8CE}
.eco-home .eng-form-card .check:not(.req):not(.eng-urgent) span{color:#ECEEF1}
.eco-home .eng-form-card .check.req span,.eco-home .eng-form-card .eng-urgent span{color:#141518}
.eco-home .eng-form-card .check.req a{color:var(--o-cta)}
.eco-home .eng-form-card .help.eng-warn,.eco-home .eng-form-card .check.req{color:#141518}
.eco-home .eng-form-card .check.req a{color:#141518;text-decoration:underline;text-underline-offset:3px}

/* OFERT-ECO-B R6: in the engine hero column the trust items always wrap one per line (390 and 1440), so the separators are stray bars */
.eng-hero .eng-trust li{border-right:0;margin-right:0;padding-right:0}
/* OFERT-ECO R26: two short items can still share a line at 1440 (casa); .hero .trust has column gap 0, so give the spacing back as a gap */
.eng-hero .eng-trust{column-gap:26px}
