@font-face{
  font-family:'Gilroy';
  src:url('../fonts/gilroy/Gilroy-Light.otf') format('opentype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Gilroy';
  src:url('../fonts/gilroy/Gilroy-ExtraBold.otf') format('opentype');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

:root{
  --blue-950:#06192f;--blue-900:#0c2f5a;--blue-800:#173B6C;--blue-500:#2E86FF;--yellow:#F4B400;
  --bg:#F4F7FB;--text:#253044;--muted:#5B6B80;--white:#fff;--line:rgba(23,59,108,.12);
  --shadow:0 24px 60px rgba(12,34,64,.12);--shadow-soft:0 14px 34px rgba(12,34,64,.08);
  --radius-xl:32px;--radius-lg:24px;--radius-md:18px;--header-h:76px;--max:1180px;
  --font-primary:"Gilroy","Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font:var(--font-body);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);color:var(--text);line-height:1.55;background:linear-gradient(180deg,#fff 0%,var(--bg) 45%,#fff 100%);overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}details summary{cursor:pointer}summary::-webkit-details-marker{display:none}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,59,108,.08)}.site-header__inner{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center}.brand__logo{height:38px;width:auto}.brand--footer .brand__logo{height:40px}.nav{display:flex;align-items:center;gap:28px;color:#4f6480;font-size:14px;font-weight:500}.nav a{position:relative;padding:8px 0}.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--yellow);border-radius:999px;transition:width .25s ease}.nav a:hover::after{width:100%}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;border:1px solid transparent;font-size:14px;font-weight:700;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#19498d,#2e86ff);box-shadow:0 14px 30px rgba(46,134,255,.22)}.btn-outline{color:var(--blue-800);background:#fff;border-color:rgba(23,59,108,.16)}.btn-outline--light{background:rgba(255,255,255,.96);color:var(--blue-800);border-color:rgba(255,255,255,.18)}
.menu-toggle{display:none;width:44px;height:44px;border-radius:14px;border:1px solid rgba(23,59,108,.14);background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:20px;height:2px;border-radius:999px;background:var(--blue-800);transition:transform .25s ease,opacity .25s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 36%,rgba(46,134,255,.28),transparent 22rem),linear-gradient(135deg,#06192f 0%,#0d2c52 52%,#173B6C 100%);color:#fff}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;opacity:.22;pointer-events:none}.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:54px;align-items:center;min-height:640px;padding:72px 0}.hero--home .hero__inner--home{grid-template-columns:minmax(0,1fr) 520px;padding:60px 0 132px;min-height:calc(100vh - var(--header-h))}.hero__content{max-width:720px}.eyebrow,.eyebrow-light{display:inline-flex;align-items:center;gap:9px;width:fit-content;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.eyebrow{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:rgba(255,255,255,.92);backdrop-filter:blur(10px)}.eyebrow-light{border:1px solid rgba(23,59,108,.12);background:#fff;color:var(--blue-800)}.eyebrow::before,.eyebrow-light::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--yellow);box-shadow:0 0 0 4px rgba(244,180,0,.14)}.hero h1,.section h1{margin:22px 0 0;max-width:780px;font-size:clamp(34px,4.2vw,54px);line-height:1.05;letter-spacing:-.045em;font-weight:700}.hero__copy,.copy-stack{margin-top:22px;color:rgba(255,255,255,.82);font-size:17px;display:grid;gap:14px}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:420px}.hero__glow{position:absolute;right:40px;bottom:50px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(89,146,255,.44) 0%,rgba(89,146,255,.18) 34%,rgba(89,146,255,0) 72%)}.hero__printer{position:relative;z-index:3;max-height:500px;width:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.18))}.hero-marquee{position:absolute;left:0;right:0;bottom:0;z-index:4;min-height:96px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.07));border-top:1px solid rgba(255,255,255,.10);backdrop-filter:blur(14px)}.hero-marquee__viewport,.client-marquee{overflow:hidden}.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;animation:marquee 28s linear infinite}.hero-marquee .marquee-track{min-height:96px}.hero-marquee .marquee-track span{color:rgba(255,255,255,.86);font-weight:800;font-size:18px;white-space:nowrap}.marquee-track--cards span{padding:16px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--blue-800);font-size:14px;box-shadow:var(--shadow-soft)}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px;max-width:720px}.feature-pill{display:flex;align-items:center;gap:12px;min-height:52px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.90);font-size:14px;font-weight:500}.feature-pill span{width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:rgba(244,180,0,.16);color:var(--yellow);font-size:13px;font-weight:800}
.section{padding:76px 0}.section-soft{background:linear-gradient(180deg,rgba(232,237,243,.52),rgba(255,255,255,.92));border-top:1px solid rgba(23,59,108,.07);border-bottom:1px solid rgba(23,59,108,.07)}.section-head{max-width:780px;margin-bottom:34px}.section-head.center{text-align:center;margin-inline:auto}.section-head h2{margin:14px 0 0;font-size:clamp(28px,3.2vw,38px);line-height:1.12;letter-spacing:-.035em;color:var(--blue-950);font-weight:700}.section-head p{margin-top:14px;color:var(--muted);font-size:17px;max-width:760px}.section-head.center p{margin-inline:auto}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-gap-sm{gap:14px}.top-space-sm{margin-top:18px}.pt-sm{padding-top:20px}
.card,.service-card--light,.metric-card,.pill-card,.info-card,.generic-card,.form-card--light,.mini-list__item,.status-panel,.history-highlight{background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:0 12px 30px rgba(12,34,64,.06)}.card,.service-card--light,.generic-card{padding:24px;border-radius:24px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:hover,.service-card--light:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:rgba(46,134,255,.22)}.card h3,.service-card--light h3,.glass-card h3,.status-panel h3,.history-highlight h3,.cta-banner h2,.form-banner h2,.quote-box h2,.info-card h3{color:var(--blue-950);font-size:20px;line-height:1.2;letter-spacing:-.02em;font-weight:700;margin:0 0 10px}.card h4{color:var(--blue-800);font-size:14px;font-weight:700;margin:0 0 10px}.card p,.service-card--light p,.pill-card span,.mini-list__item span,.status-row span,.generic-card p,.info-card p,.faq-list p{color:var(--muted);font-size:15px}.number-tag,.icon-tag{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;color:var(--blue-800);background:rgba(46,134,255,.10);font-size:13px;font-weight:800}.icon-tag{width:50px;height:50px;font-size:14px;letter-spacing:.04em;background:linear-gradient(135deg,rgba(46,134,255,.12),rgba(244,180,0,.14))}.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--blue-800);font-size:14px;font-weight:750}.card-link::after{content:"→";transition:transform .2s ease}.card-link:hover::after{transform:translateX(4px)}.category-chip{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(46,134,255,.1);color:var(--blue-800);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px}
.split-layout{display:grid;gap:38px}.split-layout--about{grid-template-columns:400px minmax(0,1fr);align-items:center}.split-layout--history{grid-template-columns:360px minmax(0,1fr);align-items:center}.split-layout--cta{grid-template-columns:minmax(0,1fr) 380px;align-items:center}.split-layout--form{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.status-panel{padding:28px;border-radius:30px}.status-panel__label{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(46,134,255,.1);color:var(--blue-800);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-panel h3{margin-top:18px;color:var(--blue-950);font-size:34px;line-height:1.04}.status-row{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:16px;background:#f5f8fc;border:1px solid rgba(23,59,108,.08);margin-top:12px}.status-row strong{color:var(--blue-800)}.bullet-list{display:grid;gap:12px;max-width:580px}.bullet-list--check div{display:flex;align-items:center;gap:12px;color:var(--text);font-size:15px;font-weight:600}.bullet-list--check div::before{content:"✓";width:24px;height:24px;border-radius:999px;display:grid;place-items:center;background:rgba(244,180,0,.18);color:var(--blue-800);font-size:12px;font-weight:900}
.mini-list{display:grid;gap:14px}.mini-list__item{padding:20px;border-radius:22px}.mini-list__item strong{display:block;color:var(--blue-950);font-size:16px;margin-bottom:6px}
.cta-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:40px;border-radius:32px;background:linear-gradient(135deg,#173B6C,#06192f);color:#fff;box-shadow:var(--shadow)}.cta-banner h2{color:#fff;font-size:clamp(28px,3vw,38px)}.cta-banner p{margin-top:12px;max-width:760px;color:rgba(255,255,255,.78);font-size:16.5px}
.glass-card,.service-card{border-radius:30px;padding:28px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);box-shadow:0 24px 70px rgba(0,0,0,.18);backdrop-filter:blur(14px)}.glass-card h3,.service-card h3{color:#fff;font-size:26px;line-height:1.1;letter-spacing:-.035em;margin-top:18px}.glass-card p,.light-list li,.service-card p{color:rgba(255,255,255,.82)}.placeholder-photo{height:250px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.05)),radial-gradient(circle at 50% 25%,rgba(255,255,255,.32),transparent 90px),linear-gradient(135deg,rgba(46,134,255,.28),rgba(244,180,0,.10));border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;color:rgba(255,255,255,.82);font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.glass-card blockquote{margin:18px 0 0;padding:22px;border-radius:22px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}.glass-card blockquote p{margin:0;color:rgba(255,255,255,.9);font-size:16px;font-weight:600;line-height:1.5}.glass-card blockquote footer{margin-top:14px;color:rgba(255,255,255,.66);font-size:13px;font-weight:700}
.metric-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:34px;max-width:640px}.metric-inline div,.metric-card{padding:20px;border-radius:20px}.metric-inline div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.metric-inline strong{display:block;color:#fff;font-size:28px;line-height:1}.metric-inline span{display:block;margin-top:8px;color:rgba(255,255,255,.72);font-size:13px;font-weight:600}.history-highlight{min-height:360px;padding:30px;border-radius:30px;color:#fff;background:linear-gradient(135deg,#06192f,#173B6C);display:grid;align-content:center}.history-highlight strong{font-size:64px;line-height:.9;letter-spacing:-.06em}.history-highlight h3{margin-top:12px;max-width:260px;color:#fff;font-size:25px}.history-highlight p{margin-top:20px;color:rgba(255,255,255,.76)}.pill-card{padding:16px;border-radius:18px}.pill-card strong{display:block;color:var(--blue-950);font-size:15px;margin-bottom:6px}.pill-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.pill-row span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--blue-800);font-size:14px;font-weight:650}
.list-check{display:grid;gap:10px;margin:20px 0 24px;padding:0}.list-check li{list-style:none;display:flex;gap:10px;color:var(--muted);font-size:15px}.list-check li::before{content:"✓";width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:8px;background:rgba(244,180,0,.18);color:var(--blue-800);font-size:12px;font-weight:900;margin-top:1px}.light-list li{font-size:14.5px}.light-list li::before{background:rgba(244,180,0,.16);color:var(--yellow)}.metric-cards{padding:22px;border-radius:28px;background:#fff;border:1px solid rgba(23,59,108,.10);box-shadow:var(--shadow)}.metric-card strong{display:block;color:var(--blue-800);font-size:34px;line-height:1;letter-spacing:-.045em}.metric-card span{display:block;margin-top:8px;color:var(--muted);font-size:14px;font-weight:650}.pull-up-metrics{margin-top:-44px;padding-top:0}.printer-card{margin-top:18px;padding:16px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.printer-card img{max-height:280px;margin:auto}.device-placeholder{margin-top:18px;height:240px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05));display:grid;place-items:center;color:rgba(255,255,255,.86);font-size:20px;font-weight:700}
.form-banner{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:28px;align-items:center;padding:34px;border-radius:32px;background:linear-gradient(135deg,#0D2340,#173B6C);color:#fff;box-shadow:var(--shadow)}.form-banner__copy h2{margin-top:18px;color:#fff;font-size:clamp(28px,3vw,38px);line-height:1.12;letter-spacing:-.035em}.form-banner__copy p{margin-top:14px;color:rgba(255,255,255,.78);font-size:16.5px}.align-center-vertical{align-self:center}.form-card{display:grid;gap:12px}.form-card--dark{padding:22px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12)}.form-card--light{padding:24px;border-radius:24px}.form-grid{display:grid;gap:12px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field{width:100%;min-height:48px;padding:13px 14px;border-radius:14px;border:1px solid rgba(23,59,108,.12);background:#fff;color:var(--text);outline:none}.field--dark{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.10);color:#fff}.field::placeholder{color:#8190a6}.field--dark::placeholder{color:rgba(255,255,255,.62)}.field--dark option{color:#253044}.form-note{margin:0;color:var(--muted);font-size:13px}.info-card{padding:24px;border-radius:24px}.info-list{display:grid;gap:14px;padding:0;margin:0 0 16px;list-style:none}.info-list li{display:grid;gap:4px}.info-list strong{color:var(--blue-950);font-size:14px}.info-list span{color:var(--muted);font-size:14px}.contact-badges{display:grid;gap:12px;margin-top:18px}.contact-badges div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}.contact-badges strong{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:12px}.contact-badges span{color:rgba(255,255,255,.82);font-size:14px}
.faq-list{display:grid;gap:14px}.faq-list details{padding:18px 20px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(12,34,64,.05)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--blue-950);font-size:16px;font-weight:700}.faq-list summary::after{content:"+";font-size:22px;line-height:1;color:var(--blue-800)}.faq-list details[open] summary::after{content:"–"}.faq-list p{margin:14px 0 0}
.footer{padding:62px 0 30px;background:#081B30;color:rgba(255,255,255,.76)}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:34px}.footer-brand p{max-width:360px;margin-top:18px;font-size:14.5px}.footer h3{margin:0 0 15px;color:#fff;font-size:15px;font-weight:700}.footer ul{list-style:none;display:grid;gap:10px;padding:0;margin:0;font-size:14.5px}.footer a:hover{color:#fff}.footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.56)}
.reveal-up,.stagger-item{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--delay,0ms)}.is-visible{opacity:1;transform:none}
@media (max-width:1060px){.nav{gap:18px}.hero__inner,.hero--home .hero__inner--home,.split-layout--about,.split-layout--history,.split-layout--cta,.split-layout--form,.cta-banner,.form-banner{grid-template-columns:1fr}.glass-card,.service-card,.hero__visual{max-width:560px}.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.pull-up-metrics{margin-top:-28px}}
@media (max-width:820px){:root{--header-h:68px}.container{width:min(var(--max),calc(100% - 28px))}.menu-toggle{display:inline-flex}.header-cta{display:none}.nav{position:absolute;left:14px;right:14px;top:calc(var(--header-h) + 8px);display:grid;gap:0;padding:12px;border-radius:22px;background:rgba(255,255,255,.98);border:1px solid rgba(23,59,108,.10);box-shadow:var(--shadow-soft);transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.nav a{padding:12px 14px;border-radius:14px}.nav a:hover{background:rgba(46,134,255,.08)}.nav a::after{display:none}.hero__inner,.hero--home .hero__inner--home{min-height:auto;padding:52px 0 110px}.hero__visual{min-height:300px}.hero__printer{max-height:360px}.feature-grid,.metric-inline,.grid-2,.grid-3,.grid-4,.grid-5,.form-grid-2{grid-template-columns:1fr}.hero__actions,.cta-banner .hero__actions{flex-direction:column;align-items:stretch}.btn{width:100%}.section{padding:58px 0}.card,.service-card--light,.generic-card{padding:18px;border-radius:20px}.number-tag,.icon-tag{margin-bottom:14px}.footer-grid{grid-template-columns:1fr}.form-banner,.cta-banner{padding:24px;border-radius:26px}.footer-bottom{justify-content:flex-start}.pill-row{justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal-up,.stagger-item{opacity:1;transform:none}}


/* WooCommerce / Tienda TECNIMAX */
.hero--shop .hero__inner{min-height:560px}.empty-state{text-align:center;max-width:620px;margin:0 auto;padding:42px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.empty-state__icon{width:56px;height:56px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:rgba(46,134,255,.1);font-size:25px}.empty-state h3{margin:0;color:var(--blue-950);font-size:24px}.empty-state p{margin:10px 0 0;color:var(--muted)}

/* Blog */
.tmx-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tmx-blog-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft)}.tmx-blog-card__image{display:block;aspect-ratio:1.6/1;background:#f5f8fc}.tmx-blog-card__image img{width:100%;height:100%;object-fit:cover}.tmx-blog-card__body{padding:22px}.tmx-blog-card h2{margin:0 0 10px;color:var(--blue-950);font-size:22px;line-height:1.18;letter-spacing:-.025em}.tmx-blog-card p{margin:0;color:var(--muted)}.tmx-single-post{max-width:920px}.tmx-single-post__image{margin-bottom:24px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft)}.tmx-single-post__image img{width:100%;height:auto}.tmx-entry-content{font-size:17px}.tmx-entry-content h2,.tmx-entry-content h3{color:var(--blue-950);line-height:1.2}.tmx-entry-content a{color:var(--blue-800);font-weight:700}

@media (max-width:1060px){.tmx-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.tmx-blog-grid{grid-template-columns:1fr}}.tmx-woo-shell,.tmx-checkout-shell{
  max-width: var(--max);
  margin: 0 auto;
}.tmx-checkout-card{
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 24px !important;
  box-shadow: var(--shadow-soft) !important;
  padding: 24px !important;
}.tmx-checkout-card h3,.tmx-checkout-head h2{
  margin: 0 0 18px !important;
  color: var(--blue-950) !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
}

/* Checkout forced */
.tmx-checkout-head {
  margin-bottom: 28px;
}

.tmx-checkout-head h2 {
  margin-top: 14px !important;
  font-size: clamp(30px, 3vw, 40px) !important;
}

.tmx-checkout-head p {
  color: var(--muted);
  font-size: 16px;
}

.tmx-checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 28px;
  align-items: start;
}

.tmx-checkout-section + .tmx-checkout-section {
  margin-top: 24px;
}

/* Responsive Woo forced */
@media (max-width:1060px){

  .tmx-checkout-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width:820px){

  .tmx-checkout-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}


/* Navbar real pages */
.nav a.is-active,
.nav a.tecnimax-nav__link.is-active {
  color: var(--blue-800);
  font-weight: 800;
}
.nav a.is-active::after,
.nav a.tecnimax-nav__link.is-active::after {
  width: 100%;
}


/* Carruseles de clientes */
.section-clients{
  background:
    radial-gradient(circle at 15% 20%, rgba(46,134,255,.20), transparent 26rem),
    linear-gradient(135deg,#06192f 0%,#081B30 55%,#0c2f5a 100%);
  color:#fff;
  overflow:hidden;
}

.section-clients .section-head h2{
  color:#fff;
}

.section-clients .section-head p{
  color:rgba(255,255,255,.72);
}

.section-clients .eyebrow-light{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
}

.client-logo-marquee,
.client-name-marquee{
  position:relative;
  overflow:hidden;
  width:100%;
}

.client-logo-marquee{
  margin-top:8px;
  padding:18px 0;
}

.client-name-marquee{
  margin-top:12px;
  padding:12px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.client-logo-marquee::before,
.client-logo-marquee::after,
.client-name-marquee::before,
.client-name-marquee::after,
.hero-marquee--logos .hero-marquee__viewport::before,
.hero-marquee--logos .hero-marquee__viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  z-index:2;
  pointer-events:none;
}

.client-logo-marquee::before,
.client-name-marquee::before,
.hero-marquee--logos .hero-marquee__viewport::before{
  left:0;
  background:linear-gradient(90deg,#06192f,rgba(6,25,47,0));
}

.client-logo-marquee::after,
.client-name-marquee::after,
.hero-marquee--logos .hero-marquee__viewport::after{
  right:0;
  background:linear-gradient(270deg,#06192f,rgba(6,25,47,0));
}

.client-logo-track,
.client-name-track{
  display:flex;
  align-items:center;
  width:max-content;
  will-change:transform;
}

.client-logo-track{
  gap:28px;
  animation:clientLogoMarquee 36s linear infinite;
}

.client-name-track{
  gap:16px;
  animation:clientNameMarquee 44s linear infinite reverse;
}

.client-logo-item{
  width:210px;
  height:104px;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 24px;
  border-radius:22px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.09);
}

.client-logo-item img{
  max-width:100%;
  max-height:64px;
  object-fit:contain;
  opacity:.94;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.14));
}

.client-name-track span{
  flex:0 0 auto;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.76);
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
}

.hero-marquee--logos{
  min-height:116px;
}

.hero-marquee--logos .hero-marquee__viewport{
  position:relative;
  overflow:hidden;
}

.hero-marquee--logos .client-logo-track{
  min-height:116px;
  gap:24px;
  animation-duration:34s;
}

.hero-marquee--logos .client-logo-item{
  width:190px;
  height:82px;
  padding:14px 22px;
  background:rgba(255,255,255,.055);
}

.hero-marquee--logos .client-logo-item img{
  max-height:52px;
}

@keyframes clientLogoMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@keyframes clientNameMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (max-width:820px){
  .client-logo-marquee::before,
  .client-logo-marquee::after,
  .client-name-marquee::before,
  .client-name-marquee::after,
  .hero-marquee--logos .hero-marquee__viewport::before,
  .hero-marquee--logos .hero-marquee__viewport::after{
    width:52px;
  }

  .client-logo-track{
    gap:16px;
    animation-duration:30s;
  }

  .client-logo-item{
    width:168px;
    height:88px;
    padding:16px 18px;
    border-radius:18px;
  }

  .client-logo-item img{
    max-height:50px;
  }

  .hero-marquee--logos,
  .hero-marquee--logos .client-logo-track{
    min-height:98px;
  }

  .hero-marquee--logos .client-logo-item{
    width:150px;
    height:70px;
  }

  .hero-marquee--logos .client-logo-item img{
    max-height:42px;
  }

  .client-name-track span{
    font-size:13px;
    padding:9px 13px;
  }
}


/* =========================================================
   HERO TECNIMAX v7 - carrusel full width + glow reforzado
   ========================================================= */

.hero--home{
  min-height: calc(100vh - var(--header-h));
}

.hero--home .hero__inner--home{
  padding-bottom: 156px;
}

.hero--home .hero__visual{
  overflow: visible;
}

.hero--home .hero__visual::before{
  content:"";
  position:absolute;
  width:640px;
  height:360px;
  right:-80px;
  bottom:38px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 55%,
      rgba(78,158,255,.70) 0%,
      rgba(46,134,255,.42) 28%,
      rgba(46,134,255,.18) 54%,
      rgba(46,134,255,0) 76%);
  filter: blur(18px);
  opacity: 1;
  z-index:1;
  pointer-events:none;
}

.hero--home .hero__visual::after{
  content:"";
  position:absolute;
  width:760px;
  height:150px;
  right:-150px;
  bottom:26px;
  border-radius:50%;
  background:
    radial-gradient(ellipse,
      rgba(87,157,255,.42) 0%,
      rgba(46,134,255,.22) 44%,
      rgba(46,134,255,0) 76%);
  filter: blur(22px);
  z-index:1;
  pointer-events:none;
}

.hero__glow{
  width:520px;
  height:520px;
  right:-40px;
  bottom:28px;
  background:
    radial-gradient(circle,
      rgba(108,177,255,.72) 0%,
      rgba(46,134,255,.38) 32%,
      rgba(46,134,255,.15) 58%,
      rgba(46,134,255,0) 78%);
  filter: blur(12px);
  opacity: 1;
}

.hero__printer{
  z-index:3;
}

.hero-marquee--logos{
  left:0;
  right:0;
  width:100%;
  min-height:118px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.075)),
    rgba(3,17,34,.56);
  border-top:1px solid rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 -24px 70px rgba(46,134,255,.12);
  backdrop-filter: blur(18px);
}

.hero-marquee--logos .hero-marquee__viewport{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

.hero-marquee--logos .client-logo-track{
  min-height:118px;
  gap:26px;
  padding-left:26px;
  animation-duration:36s;
}

.hero-marquee--logos .client-logo-item{
  width:214px;
  height:82px;
  border-radius:20px;
  padding:14px 24px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 12px 32px rgba(0,0,0,.12);
}

.hero-marquee--logos .client-logo-item img{
  max-height:52px;
  opacity:.96;
}

.hero-marquee--logos .hero-marquee__viewport::before{
  width:170px;
  background:linear-gradient(90deg,#06192f 0%,rgba(6,25,47,.78) 28%,rgba(6,25,47,0) 100%);
}

.hero-marquee--logos .hero-marquee__viewport::after{
  width:170px;
  background:linear-gradient(270deg,#06192f 0%,rgba(6,25,47,.78) 28%,rgba(6,25,47,0) 100%);
}

@media (max-width:1060px){
  .hero--home .hero__inner--home{
    padding-bottom:138px;
  }

  .hero--home .hero__visual::before{
    width:520px;
    height:300px;
    right:-90px;
    bottom:20px;
  }

  .hero--home .hero__visual::after{
    width:620px;
    right:-160px;
  }
}

@media (max-width:820px){
  .hero--home .hero__inner--home{
    padding-bottom:124px;
  }

  .hero--home .hero__visual::before{
    width:420px;
    height:260px;
    right:-80px;
    bottom:8px;
    filter: blur(16px);
  }

  .hero--home .hero__visual::after{
    width:460px;
    height:100px;
    right:-100px;
    bottom:18px;
  }

  .hero__glow{
    width:360px;
    height:360px;
    right:-40px;
    bottom:10px;
  }

  .hero-marquee--logos{
    min-height:98px;
  }

  .hero-marquee--logos .client-logo-track{
    min-height:98px;
    gap:16px;
    padding-left:16px;
  }

  .hero-marquee--logos .client-logo-item{
    width:164px;
    height:68px;
    padding:12px 18px;
    border-radius:18px;
  }

  .hero-marquee--logos .client-logo-item img{
    max-height:40px;
  }

  .hero-marquee--logos .hero-marquee__viewport::before,
  .hero-marquee--logos .hero-marquee__viewport::after{
    width:54px;
  }
}


/* =========================================================
   CLIENTES v8 - doble carrusel full width
   ========================================================= */

.section-clients .container{
  width:100%;
  max-width:none;
  margin:0;
}

.section-clients .section-head{
  width:min(var(--max), calc(100% - 48px));
  margin-inline:auto;
}

.section-clients .client-logo-marquee,
.section-clients .client-name-marquee{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.section-clients .client-logo-marquee{
  margin-top:30px;
  padding:18px 0;
  background:rgba(3,17,34,.34);
}

.section-clients .client-name-marquee{
  margin-top:14px;
  padding:12px 0;
  background:rgba(3,17,34,.28);
}

.section-clients .client-logo-track{
  padding-left:28px;
}

.section-clients .client-name-track{
  padding-left:28px;
}

.section-clients .client-logo-marquee::before,
.section-clients .client-name-marquee::before{
  width:180px;
  background:linear-gradient(90deg,#06192f 0%,rgba(6,25,47,.82) 32%,rgba(6,25,47,0) 100%);
}

.section-clients .client-logo-marquee::after,
.section-clients .client-name-marquee::after{
  width:180px;
  background:linear-gradient(270deg,#06192f 0%,rgba(6,25,47,.82) 32%,rgba(6,25,47,0) 100%);
}

@media (max-width:820px){
  .section-clients .section-head{
    width:min(var(--max), calc(100% - 28px));
  }

  .section-clients .client-logo-marquee{
    margin-top:22px;
  }

  .section-clients .client-logo-track,
  .section-clients .client-name-track{
    padding-left:16px;
  }

  .section-clients .client-logo-marquee::before,
  .section-clients .client-logo-marquee::after,
  .section-clients .client-name-marquee::before,
  .section-clients .client-name-marquee::after{
    width:54px;
  }
}


/* =========================================================
   TIENDA v9 - filtros, hero limpio y productos con precio
   ========================================================= */

.btn-primary,
a.btn-primary,
button.btn-primary,
.header-cta.btn-primary{
  color:#fff !important;
}

.hero--shop-clean .hero__inner--single{
  grid-template-columns:1fr;
  min-height:430px;
  padding-top:92px;
  padding-bottom:92px;
}

.hero--shop-clean .hero__content{
  max-width:760px;
}

.shop-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:26px;
  align-items:start;
}

.shop-result-note{
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:16px;
  background:#f5f8fc;
  border:1px solid rgba(23,59,108,.08);
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}

.hero--shop .btn-outline--light{
  background:#fff !important;
  color:var(--blue-950) !important;
  border-color:rgba(255,255,255,.24) !important;
}

@media (max-width:1060px){
  .shop-layout{
    grid-template-columns:240px minmax(0,1fr);
    gap:20px;
  }
}

@media (max-width:820px){
  .hero--shop-clean .hero__inner--single{
    min-height:auto;
    padding-top:58px;
    padding-bottom:58px;
  }

  .shop-layout{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   TIENDA v10 - sin hero azul, más ancho y tipografía ligera
   ========================================================= */

.shop-page-clean{
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 42%,#fff 100%);
}

.shop-products-section{
  padding-top:56px;
}

.shop-wide-container{
  width:min(1440px, calc(100% - 48px));
  margin-inline:auto;
}

.shop-layout{
  grid-template-columns:260px minmax(0,1fr);
  gap:22px;
}

.shop-result-note{
  font-weight:500;
}.card h3,.service-card--light h3,.glass-card h3,.status-panel h3,.history-highlight h3,.info-card h3{
  font-weight:650;
}

@media (min-width:1500px){
  .shop-wide-container{
    width:min(1520px, calc(100% - 64px));
  }

  .shop-layout{
    grid-template-columns:270px minmax(0,1fr);
  }
}

@media (max-width:820px){
  .shop-wide-container{
    width:min(var(--max), calc(100% - 28px));
  }

  .shop-products-section{
    padding-top:44px;
  }

  .shop-layout{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v11 - footer legible + productos sin padding en imagen
   ========================================================= */

/* Footer con contraste real */
.footer{
  background:#06192f !important;
  color:rgba(255,255,255,.86) !important;
}

.footer-brand p,
.footer p{
  color:rgba(255,255,255,.86) !important;
  font-weight:400;
}

.footer h3{
  color:#fff !important;
  font-weight:650;
}

.footer ul,
.footer li,
.footer a{
  color:rgba(255,255,255,.74) !important;
}

.footer a:hover{
  color:#fff !important;
}

.footer-bottom{
  border-top-color:rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.68) !important;
}

.footer-bottom span{
  color:rgba(255,255,255,.68) !important;
}

@media (max-width:820px){
  .footer-grid{
    gap:28px;
  }
}


/* =========================================================
   v12 - corrección textos claros fuera del hero
   ========================================================= */

/* .copy-stack nació para el hero oscuro, pero también se usa en secciones claras.
   Aquí forzamos lectura correcta fuera del hero. */
.section .copy-stack,
.simple-page .copy-stack,
main:not(.hero) .copy-stack{
  color:var(--muted) !important;
}

.section .copy-stack p,
.simple-page .copy-stack p,
main:not(.hero) .copy-stack p{
  color:var(--muted) !important;
  font-weight:400;
}

/* En el hero sí debe mantenerse claro */
.hero .copy-stack,
.hero .copy-stack p{
  color:rgba(255,255,255,.82) !important;
}

/* Historia / Nosotros */
.split-layout--history .copy-stack,
.split-layout--history .copy-stack p{
  color:var(--muted) !important;
}

.split-layout--history .section-head h2{
  color:var(--blue-950) !important;
}

.split-layout--history .section-head p{
  color:var(--muted) !important;
}


/* =========================================================
   v14 - refinamiento Contacto
   ========================================================= */

.page-template-page-contacto .split-layout--form,
.split-layout--form{
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:42px;
  align-items:start;
}

.page-template-page-contacto .form-card--light{
  padding:28px;
  border-radius:26px;
}

.page-template-page-contacto .section-head{
  margin-bottom:30px;
}

.contact-side{
  display:grid;
  gap:18px;
  align-self:start;
  margin-top:0;
}

.contact-info-card{
  padding:26px;
  border-radius:26px;
}

.contact-info-card h3{
  margin-bottom:18px;
}

.contact-info-card .info-list{
  gap:17px;
}

.contact-info-card .info-list li{
  gap:5px;
}

.contact-info-card p{
  margin-top:18px;
  line-height:1.55;
}

.contact-map-card{
  overflow:hidden;
  min-height:260px;
  border-radius:26px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow-soft);
}

.contact-map-card iframe{
  width:100%;
  height:300px;
  display:block;
  border:0;
  filter:saturate(.9) contrast(.96);
}

@media (max-width:1060px){
  .page-template-page-contacto .split-layout--form,
  .split-layout--form{
    grid-template-columns:1fr;
    gap:28px;
  }

  .contact-side{
    grid-template-columns:1fr 1fr;
  }

  .contact-map-card iframe{
    height:100%;
    min-height:280px;
  }
}

@media (max-width:820px){
  .contact-side{
    grid-template-columns:1fr;
  }

  .page-template-page-contacto .form-card--light{
    padding:20px;
    border-radius:22px;
  }

  .contact-info-card,
  .contact-map-card{
    border-radius:22px;
  }

  .contact-map-card iframe{
    height:260px;
  }
}


/* =========================================================
   v15 - reconstrucción Alquiler general
   ========================================================= */

.alquiler-hero .hero__inner{
  min-height:600px;
}

.alquiler-hero .glass-card{
  align-self:center;
}

.alquiler-metrics{
  position:relative;
  z-index:3;
}

.alquiler-service-grid .service-card--light{
  min-height:100%;
}

.alquiler-service-grid .btn{
  width:fit-content;
  margin-top:4px;
}

.alquiler-process-grid .card{
  min-height:220px;
}

@media (max-width:1060px){
  .alquiler-hero .hero__inner{
    min-height:auto;
  }

  .alquiler-service-grid .btn{
    width:100%;
  }

  .alquiler-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .alquiler-process-grid{
    grid-template-columns:1fr;
  }

  .alquiler-process-grid .card{
    min-height:auto;
  }
}


/* =========================================================
   v16 - Contacto alineado + Alquiler por slug
   ========================================================= */

/* En Contacto la columna derecha debe iniciar alineada con la card del formulario, no con el título. */
.page-template-page-contacto .contact-side,
body.page-id-contacto .contact-side{
  margin-top:172px;
}

/* Fallback por si WordPress no agrega una clase específica de template */
.split-layout--form > .contact-side{
  margin-top:172px;
}

/* Ya no mostramos notas técnicas de formulario */
.form-note{
  display:none !important;
}

/* Alquiler: evita cualquier bloque fantasma heredado de contenido WPBakery o contenido vacío */
.page-template-page-alquiler .entry-content:empty,
.page-template-page-alquiler-general .entry-content:empty{
  display:none !important;
}

.alquiler-hero{
  margin-top:0;
}

.alquiler-hero .hero__content h1{
  color:#fff !important;
}

.alquiler-hero .copy-stack,
.alquiler-hero .copy-stack p{
  color:rgba(255,255,255,.82) !important;
}

@media (max-width:1060px){
  .page-template-page-contacto .contact-side,
  body.page-id-contacto .contact-side,
  .split-layout--form > .contact-side{
    margin-top:0;
  }
}


/* =========================================================
   v17 - Navbar Alquiler dropdown + rutas robustas
   ========================================================= */

.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-dropdown__trigger{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
}

.nav-dropdown__chevron{
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
  opacity:.75;
}

.nav-dropdown__menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  min-width:210px;
  transform:translate(-50%, 10px);
  padding:10px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 18px 44px rgba(12,34,64,.14);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:80;
}

.nav-dropdown__menu::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-16px;
  height:16px;
}

.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}

.nav-dropdown__menu a{
  display:flex;
  align-items:center;
  min-height:42px;
  padding:10px 12px !important;
  border-radius:12px;
  color:var(--text);
  font-size:14px;
  font-weight:600;
}

.nav-dropdown__menu a:hover{
  background:rgba(46,134,255,.08);
  color:var(--blue-800);
}

.nav-dropdown.is-active > .nav-dropdown__trigger,
.nav-dropdown__trigger.is-active{
  color:var(--blue-800);
  font-weight:800;
}

@media (max-width:820px){
  .nav-dropdown{
    display:grid;
  }

  .nav-dropdown__trigger{
    justify-content:space-between;
    width:100%;
  }

  .nav-dropdown__menu{
    position:static;
    min-width:0;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:none;
    border:0;
    background:rgba(46,134,255,.06);
    margin:0 8px 8px;
    padding:6px;
  }

  .nav-dropdown:hover .nav-dropdown__menu,
  .nav-dropdown:focus-within .nav-dropdown__menu{
    transform:none;
  }
}


/* =========================================================
   v18 - Hero readability + impresora más grande + logos legibles
   ========================================================= */

/* Textos de todos los hero oscuros siempre blancos */
.hero,
.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero .copy-stack,
.hero .copy-stack p,
.hero .hero__copy,
.hero .hero__content p,
.hero .glass-card p,
.hero .glass-card li,
.hero .light-list li,
.hero .contact-badges span{
  color:rgba(255,255,255,.86) !important;
}

.hero h1,
.hero .hero__content h1{
  color:#fff !important;
}

.hero .glass-card h3{
  color:#fff !important;
}

.hero .eyebrow{
  color:#fff !important;
}

/* Home: impresora más grande y naciendo desde abajo */
.hero--home .hero__inner--home{
  grid-template-columns:minmax(0,1fr) 610px;
  align-items:end;
  padding-top:54px;
  padding-bottom:138px;
}

.hero--home .hero__visual{
  min-height:570px;
  align-self:end;
  align-items:flex-end;
  justify-content:center;
}

.hero--home .hero__printer{
  max-height:650px;
  width:auto;
  transform:translateY(74px) scale(1.08);
  transform-origin:bottom center;
  filter:drop-shadow(0 34px 58px rgba(0,0,0,.24));
}

.hero--home .hero__visual::before{
  width:760px;
  height:430px;
  right:-115px;
  bottom:-10px;
  opacity:1;
  filter:blur(20px);
}

.hero--home .hero__visual::after{
  width:880px;
  height:170px;
  right:-180px;
  bottom:-4px;
  opacity:1;
}

/* Carrusel de logos: más grandes, menos apretados y más legibles */
.hero-marquee--logos{
  min-height:138px;
}

.hero-marquee--logos .client-logo-track{
  min-height:138px;
  gap:32px;
  animation-duration:42s;
}

.hero-marquee--logos .client-logo-item{
  width:268px;
  height:102px;
  padding:16px 26px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));
}

.hero-marquee--logos .client-logo-item img{
  max-height:72px;
  max-width:100%;
  opacity:1;
  image-rendering:auto;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));
}

.section-clients .client-logo-track{
  gap:34px;
  animation-duration:44s;
}

.section-clients .client-logo-item{
  width:280px;
  height:124px;
  padding:20px 30px;
  border-radius:26px;
}

.section-clients .client-logo-item img{
  max-height:82px;
  opacity:1;
  image-rendering:auto;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.18));
}

/* Nombres también un poco más claros */
.client-name-track span{
  color:rgba(255,255,255,.86);
  font-weight:650;
}

/* Responsive */
@media (max-width:1200px){
  .hero--home .hero__inner--home{
    grid-template-columns:minmax(0,1fr) 520px;
  }

  .hero--home .hero__printer{
    max-height:575px;
    transform:translateY(62px) scale(1.05);
  }

  .hero--home .hero__visual{
    min-height:500px;
  }

  .hero-marquee--logos .client-logo-item{
    width:236px;
    height:94px;
  }

  .hero-marquee--logos .client-logo-item img{
    max-height:64px;
  }
}

@media (max-width:1060px){
  .hero--home .hero__inner--home{
    grid-template-columns:1fr;
    align-items:center;
    padding-bottom:138px;
  }

  .hero--home .hero__visual{
    min-height:430px;
  }

  .hero--home .hero__printer{
    max-height:500px;
    transform:translateY(46px) scale(1.02);
  }

  .section-clients .client-logo-item{
    width:238px;
    height:104px;
  }

  .section-clients .client-logo-item img{
    max-height:68px;
  }
}

@media (max-width:820px){
  .hero--home .hero__inner--home{
    padding-bottom:116px;
  }

  .hero--home .hero__visual{
    min-height:340px;
  }

  .hero--home .hero__printer{
    max-height:390px;
    transform:translateY(34px) scale(1.02);
  }

  .hero-marquee--logos{
    min-height:108px;
  }

  .hero-marquee--logos .client-logo-track{
    min-height:108px;
    gap:18px;
  }

  .hero-marquee--logos .client-logo-item{
    width:190px;
    height:78px;
    padding:12px 18px;
  }

  .hero-marquee--logos .client-logo-item img{
    max-height:50px;
  }

  .section-clients .client-logo-item{
    width:190px;
    height:88px;
    padding:14px 20px;
  }

  .section-clients .client-logo-item img{
    max-height:54px;
  }
}


/* =========================================================
   v19 - Ajuste fino hero Home
   ========================================================= */

/* Título menos grande y más elegante */
.hero--home h1,
.hero--home .hero__content h1{
  font-size:clamp(36px,4.05vw,54px) !important;
  line-height:1.07 !important;
  letter-spacing:-.04em !important;
  font-weight:680 !important;
  max-width:700px;
}

/* Párrafo con más aire entre líneas */
.hero--home .hero__copy,
.hero--home .hero__content p{
  line-height:1.72 !important;
  max-width:680px;
}

/* La impresora sigue grande, pero menos pegada al carrusel inferior */
.hero--home .hero__inner--home{
  padding-bottom:164px !important;
}

.hero--home .hero__visual{
  min-height:540px !important;
}

.hero--home .hero__printer{
  max-height:610px !important;
  transform:translateY(38px) scale(1.04) !important;
}

.hero--home .hero__visual::before{
  bottom:24px !important;
}

.hero--home .hero__visual::after{
  bottom:30px !important;
}

/* Ajuste del carrusel para compensar más aire arriba */
.hero-marquee--logos{
  min-height:128px !important;
}

.hero-marquee--logos .client-logo-track{
  min-height:128px !important;
}

@media (max-width:1200px){
  .hero--home h1,
  .hero--home .hero__content h1{
    font-size:clamp(34px,4vw,50px) !important;
  }

  .hero--home .hero__printer{
    max-height:540px !important;
    transform:translateY(30px) scale(1.02) !important;
  }
}

@media (max-width:1060px){
  .hero--home .hero__inner--home{
    padding-bottom:148px !important;
  }

  .hero--home .hero__visual{
    min-height:410px !important;
  }

  .hero--home .hero__printer{
    max-height:470px !important;
    transform:translateY(26px) scale(1) !important;
  }
}

@media (max-width:820px){
  .hero--home h1,
  .hero--home .hero__content h1{
    font-size:clamp(32px,9vw,40px) !important;
    line-height:1.08 !important;
  }

  .hero--home .hero__inner--home{
    padding-bottom:124px !important;
  }

  .hero--home .hero__copy,
  .hero--home .hero__content p{
    line-height:1.65 !important;
  }

  .hero--home .hero__visual{
    min-height:320px !important;
  }

  .hero--home .hero__printer{
    max-height:360px !important;
    transform:translateY(20px) scale(1) !important;
  }
}


/* =========================================================
   v20 - Paleta TECNIMAX con acento rojo + aire en cards hero
   Paleta:
   #173b6c / #2e86ff / #e63946 / #f4b400 / #e8edf3 / #2d3748
   ========================================================= */

:root{
  --blue-800:#173b6c;
  --blue-500:#2e86ff;
  --red:#e63946;
  --yellow:#f4b400;
  --bg:#e8edf3;
  --text:#2d3748;
}

/* Acentos rojos */
.eyebrow::before,
.eyebrow-light::before{
  background:var(--red) !important;
  box-shadow:0 0 0 4px rgba(230,57,70,.16) !important;
}

.feature-pill span,
.list-check li::before,
.light-list li::before,
.bullet-list--check div::before{
  background:rgba(230,57,70,.14) !important;
  color:var(--red) !important;
}

.number-tag,
.icon-tag{
  color:var(--red) !important;
  background:rgba(230,57,70,.10) !important;
}.category-chip,.status-panel__label{
  color:var(--red) !important;
  background:rgba(230,57,70,.09) !important;
}/* Botón principal: azul con detalle rojo sutil */
.btn-primary,a.btn-primary,button.btn-primary,.header-cta.btn-primary{
  background:
    linear-gradient(135deg, #173b6c 0%, #2e86ff 72%, #e63946 145%) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(46,134,255,.20), 0 8px 18px rgba(230,57,70,.08) !important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
.header-cta.btn-primary:hover{
  background:
    linear-gradient(135deg, #173b6c 0%, #2e86ff 58%, #e63946 130%) !important;
}

/* Subrayado / estado activo de navbar con rojo */
.nav a::after,
.nav a.is-active::after,
.nav a.tecnimax-nav__link.is-active::after{
  background:var(--red) !important;
}

.nav a.is-active,
.nav a.tecnimax-nav__link.is-active,
.nav-dropdown.is-active > .nav-dropdown__trigger,
.nav-dropdown__trigger.is-active{
  color:#173b6c !important;
}

/* Hero: cards inferiores con más aire, no pegadas al carrusel/borde */
.hero--home .feature-grid{
  margin-top:30px !important;
  margin-bottom:34px !important;
  max-width:680px !important;
}

.hero--home .feature-pill{
  padding:15px 18px !important;
  min-height:56px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.09) !important;
  border-color:rgba(255,255,255,.14) !important;
}

/* Aumenta ligeramente la zona del contenido para que las cards respiren */
.hero--home .hero__content{
  padding-bottom:18px !important;
}

.hero--home .hero__inner--home{
  padding-bottom:178px !important;
}

/* Carrusel mantiene azul oscuro, pero con rojo muy sutil en profundidad */
.hero-marquee--logos{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 -24px 70px rgba(46,134,255,.10),
    0 -12px 36px rgba(230,57,70,.07) !important;
}

.hero-marquee--logos .client-logo-item,
.section-clients .client-logo-item{
  border-color:rgba(255,255,255,.12) !important;
}

@media (max-width:1060px){
  .hero--home .feature-grid{
    margin-bottom:26px !important;
  }

  .hero--home .hero__inner--home{
    padding-bottom:158px !important;
  }
}

@media (max-width:820px){
  .hero--home .feature-grid{
    margin-bottom:22px !important;
  }

  .hero--home .hero__inner--home{
    padding-bottom:130px !important;
  }
}


/* =========================================================
   v21 - Métricas separadas, sin contenedor único
   ========================================================= */

.metric-cards{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  gap:20px !important;
}

.metric-card{
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(12,34,64,.08) !important;
  padding:22px 24px !important;
}

.pull-up-metrics .metric-card{
  min-height:110px;
  display:grid;
  align-content:center;
}

@media (max-width:820px){
  .metric-cards{
    gap:14px !important;
  }

  .metric-card{
    border-radius:18px !important;
    padding:18px !important;
  }
}


/* =========================================================
   v22 - Rojo SOLO en botones + heros con texto blanco
   ========================================================= */

/* Revertir acentos rojos que NO son botones */
.eyebrow::before,
.eyebrow-light::before{
  background:var(--yellow) !important;
  box-shadow:0 0 0 4px rgba(244,180,0,.14) !important;
}

.feature-pill span,
.list-check li::before,
.light-list li::before,
.bullet-list--check div::before{
  background:rgba(244,180,0,.18) !important;
  color:var(--yellow) !important;
}

.number-tag,
.icon-tag{
  color:var(--blue-800) !important;
  background:rgba(46,134,255,.10) !important;
}.category-chip,.status-panel__label{
  color:var(--blue-800) !important;
  background:rgba(46,134,255,.10) !important;
}

.nav a::after,
.nav a.is-active::after,
.nav a.tecnimax-nav__link.is-active::after{
  background:var(--yellow) !important;
}

.nav a.is-active,
.nav a.tecnimax-nav__link.is-active,
.nav-dropdown.is-active > .nav-dropdown__trigger,
.nav-dropdown__trigger.is-active{
  color:var(--blue-800) !important;
}/* Rojo SOLO en botones principales */
.btn-primary,a.btn-primary,button.btn-primary,.header-cta.btn-primary,.form-card .btn-primary,.cta-banner .btn-primary{
  background:#e63946 !important;
  color:#fff !important;
  border-color:#e63946 !important;
  box-shadow:0 14px 30px rgba(230,57,70,.22) !important;
}.btn-primary:hover,a.btn-primary:hover,button.btn-primary:hover,.header-cta.btn-primary:hover,.form-card .btn-primary:hover,.cta-banner .btn-primary:hover{
  background:#d92f3b !important;
  border-color:#d92f3b !important;
  color:#fff !important;
}/* Botones secundarios siguen claros / azules */
.btn-outline,a.btn-outline{
  background:#fff !important;
  color:var(--blue-800) !important;
  border-color:rgba(23,59,108,.16) !important;
}

.hero .btn-outline--light,
.hero a.btn-outline--light{
  background:#fff !important;
  color:var(--blue-950) !important;
  border-color:rgba(255,255,255,.20) !important;
}

/* Heros: textos directos sobre fondo oscuro siempre blancos.
   No alteramos contenido dentro de cards blancas. */
.hero > .container .hero__content h1,
.hero > .container .hero__content h2,
.hero > .container .hero__content p,
.hero > .container .hero__content .copy-stack,
.hero > .container .hero__content .copy-stack p,
.hero > .container .hero__content .hero__copy{
  color:#fff !important;
}

.hero .hero__content .copy-stack p,
.hero .hero__content p{
  color:rgba(255,255,255,.86) !important;
}

/* Cards claras dentro o fuera del hero conservan texto oscuro */
.hero .info-card,
.hero .form-card--light,
.hero .service-card--light,
.hero .generic-card,
.hero .card{
  color:var(--text) !important;
}

.hero .info-card h3,
.hero .form-card--light h3,
.hero .service-card--light h3,
.hero .generic-card h3,
.hero .card h3{
  color:var(--blue-950) !important;
}

.hero .info-card p,
.hero .form-card--light p,
.hero .service-card--light p,
.hero .generic-card p,
.hero .card p{
  color:var(--muted) !important;
}

/* Cards oscuras/glass dentro del hero siguen con texto blanco */
.hero .glass-card,
.hero .glass-card h3,
.hero .glass-card p,
.hero .glass-card li,
.hero .glass-card span,
.hero .service-card,
.hero .service-card h3,
.hero .service-card p,
.hero .service-card li{
  color:rgba(255,255,255,.88) !important;
}

.hero .glass-card h3,
.hero .service-card h3{
  color:#fff !important;
}

/* Textos de listas/mini badges dentro de hero oscuro */
.hero .contact-badges span,
.hero .metric-inline span,
.hero .metric-inline strong{
  color:rgba(255,255,255,.86) !important;
}

.hero .metric-inline strong{
  color:#fff !important;
}


/* =========================================================
   v23 - Impresora del hero un poco más grande
   ========================================================= */

.hero--home .hero__printer{
  max-height:650px !important;
  transform:translateY(34px) scale(1.07) !important;
}

.hero--home .hero__visual{
  min-height:560px !important;
}

@media (max-width:1200px){
  .hero--home .hero__printer{
    max-height:575px !important;
    transform:translateY(28px) scale(1.05) !important;
  }

  .hero--home .hero__visual{
    min-height:500px !important;
  }
}

@media (max-width:1060px){
  .hero--home .hero__printer{
    max-height:500px !important;
    transform:translateY(24px) scale(1.03) !important;
  }

  .hero--home .hero__visual{
    min-height:430px !important;
  }
}

@media (max-width:820px){
  .hero--home .hero__printer{
    max-height:385px !important;
    transform:translateY(18px) scale(1.02) !important;
  }

  .hero--home .hero__visual{
    min-height:330px !important;
  }
}


/* =========================================================
   v24 - Carrusel del hero debajo de la impresora
   ========================================================= */

/* El hero ya no reserva espacio para un carrusel global inferior */
.hero--home .hero__inner--home{
  padding-bottom:72px !important;
  align-items:center !important;
}

/* El bloque visual ahora organiza impresora + carrusel debajo */
.hero--home .hero__visual{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:22px !important;
  min-height:620px !important;
  padding-top:12px;
  padding-bottom:0;
}

/* La impresora sube un poco y deja espacio natural al carrusel */
.hero--home .hero__printer{
  max-height:610px !important;
  transform:translateY(0) scale(1.05) !important;
  margin-bottom:0 !important;
}

/* Carrusel propio del bloque de impresora */
.hero-visual-marquee{
  position:relative !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:5 !important;
  width:min(620px, 100%) !important;
  min-height:72px !important;
  overflow:hidden !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  margin-top:-4px !important;
}

/* Viewport sin container ni fondo */
.hero-visual-marquee .hero-marquee__viewport{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

/* Degradados laterales suaves, sin caja */
.hero-visual-marquee .hero-marquee__viewport::before,
.hero-visual-marquee .hero-marquee__viewport::after{
  width:74px !important;
}

.hero-visual-marquee .hero-marquee__viewport::before{
  background:linear-gradient(90deg, rgba(9,30,57,1), rgba(9,30,57,0)) !important;
}

.hero-visual-marquee .hero-marquee__viewport::after{
  background:linear-gradient(270deg, rgba(9,30,57,1), rgba(9,30,57,0)) !important;
}

/* Logos sin fondo, sin borde, sin tarjeta */
.hero-visual-marquee .client-logo-track{
  min-height:72px !important;
  gap:34px !important;
  padding-left:0 !important;
  animation-duration:34s !important;
}

.hero-visual-marquee .client-logo-item{
  width:150px !important;
  height:58px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hero-visual-marquee .client-logo-item img{
  max-height:46px !important;
  max-width:148px !important;
  opacity:.98 !important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.18)) !important;
}

/* Anula cualquier hero-marquee global dentro del home fuera del visual */
.hero--home > .hero-marquee{
  display:none !important;
}

/* Ajuste del glow para acompañar nueva posición */
.hero--home .hero__visual::before{
  bottom:72px !important;
}

.hero--home .hero__visual::after{
  bottom:76px !important;
}

/* Desktop medio */
@media (max-width:1200px){
  .hero--home .hero__inner--home{
    grid-template-columns:minmax(0,1fr) 540px !important;
  }

  .hero--home .hero__visual{
    min-height:560px !important;
  }

  .hero--home .hero__printer{
    max-height:540px !important;
    transform:translateY(0) scale(1.03) !important;
  }

  .hero-visual-marquee{
    width:min(540px,100%) !important;
  }
}

/* Tablet: carrusel también queda debajo de la impresora */
@media (max-width:1060px){
  .hero--home .hero__inner--home{
    grid-template-columns:1fr !important;
    padding-bottom:64px !important;
  }

  .hero--home .hero__visual{
    min-height:auto !important;
    margin-top:16px;
  }

  .hero--home .hero__printer{
    max-height:460px !important;
  }

  .hero-visual-marquee{
    width:min(620px,100%) !important;
  }
}

/* Móvil */
@media (max-width:820px){
  .hero--home .hero__inner--home{
    padding-bottom:52px !important;
  }

  .hero--home .hero__printer{
    max-height:340px !important;
    transform:translateY(0) scale(1) !important;
  }

  .hero-visual-marquee{
    width:100% !important;
    min-height:60px !important;
  }

  .hero-visual-marquee .client-logo-track{
    min-height:60px !important;
    gap:24px !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:124px !important;
    height:48px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-height:36px !important;
    max-width:122px !important;
  }
}


/* =========================================================
   v25 - Hero Home más ancho + carrusel sin franja distinta
   ========================================================= */

/* Aprovechar mejor el ancho real del hero */
.hero--home .hero__inner--home{
  width:min(1320px, calc(100% - 64px)) !important;
  max-width:none !important;
  grid-template-columns:minmax(520px, 0.92fr) minmax(620px, 1.08fr) !important;
  gap:44px !important;
  padding-top:42px !important;
  padding-bottom:62px !important;
  align-items:center !important;
}

/* El texto ocupa más ancho para evitar una columna tan angosta */
.hero--home .hero__content{
  max-width:760px !important;
  padding-bottom:0 !important;
}

.hero--home h1,
.hero--home .hero__content h1{
  max-width:760px !important;
  font-size:clamp(38px, 4vw, 56px) !important;
  line-height:1.05 !important;
}

/* Párrafo más elegante y ancho */
.hero--home .hero__copy,
.hero--home .hero__content p{
  max-width:720px !important;
  line-height:1.68 !important;
}

/* Cards inferiores con más ancho útil */
.hero--home .feature-grid{
  max-width:760px !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:14px !important;
  margin-top:28px !important;
  margin-bottom:0 !important;
}

.hero--home .feature-pill{
  min-height:58px !important;
  padding:14px 18px !important;
}

/* Visual más amplio */
.hero--home .hero__visual{
  width:100% !important;
  min-height:610px !important;
  gap:14px !important;
  justify-content:center !important;
  align-items:center !important;
}

/* Impresora más centrada en el bloque derecho */
.hero--home .hero__printer{
  max-height:620px !important;
  transform:translateY(0) scale(1.02) !important;
}

/* Carrusel debajo de la impresora, pero sin caja ni color distinto */
.hero-visual-marquee{
  width:min(760px, 100%) !important;
  min-height:64px !important;
  margin-top:-2px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  isolation:isolate;
}

/* Quitar cualquier fondo accidental del viewport */
.hero-visual-marquee .hero-marquee__viewport{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Degradados laterales usando el mismo fondo del hero, no una mancha rectangular */
.hero-visual-marquee .hero-marquee__viewport::before,
.hero-visual-marquee .hero-marquee__viewport::after{
  width:86px !important;
  background:none !important;
  backdrop-filter:none !important;
}

.hero-visual-marquee .hero-marquee__viewport::before{
  background:linear-gradient(90deg, rgba(19,58,105,.98), rgba(19,58,105,0)) !important;
}

.hero-visual-marquee .hero-marquee__viewport::after{
  background:linear-gradient(270deg, rgba(19,58,105,.98), rgba(19,58,105,0)) !important;
}

/* Track sin fondo visible */
.hero-visual-marquee .client-logo-track{
  min-height:64px !important;
  gap:42px !important;
  padding-left:0 !important;
  background:transparent !important;
}

/* Logos limpios, sin tarjetas */
.hero-visual-marquee .client-logo-item{
  width:168px !important;
  height:54px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

.hero-visual-marquee .client-logo-item img{
  max-height:44px !important;
  max-width:168px !important;
  opacity:.95 !important;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.18)) !important;
}

/* Glow acompaña al visual completo */
.hero--home .hero__visual::before{
  width:820px !important;
  height:470px !important;
  right:-120px !important;
  bottom:78px !important;
}

.hero--home .hero__visual::after{
  width:900px !important;
  right:-170px !important;
  bottom:82px !important;
}

/* Pantallas medianas */
@media (max-width:1280px){
  .hero--home .hero__inner--home{
    width:min(1180px, calc(100% - 48px)) !important;
    grid-template-columns:minmax(460px, .95fr) minmax(520px, 1.05fr) !important;
    gap:36px !important;
  }

  .hero--home h1,
  .hero--home .hero__content h1{
    font-size:clamp(36px,4vw,52px) !important;
  }

  .hero--home .hero__printer{
    max-height:570px !important;
  }

  .hero-visual-marquee{
    width:min(650px, 100%) !important;
  }
}

@media (max-width:1060px){
  .hero--home .hero__inner--home{
    width:min(var(--max), calc(100% - 40px)) !important;
    grid-template-columns:1fr !important;
    gap:26px !important;
    padding-bottom:56px !important;
  }

  .hero--home .hero__content{
    max-width:820px !important;
  }

  .hero--home .hero__visual{
    min-height:auto !important;
  }

  .hero--home .hero__printer{
    max-height:440px !important;
  }

  .hero-visual-marquee{
    width:min(720px, 100%) !important;
  }

  .hero-visual-marquee .hero-marquee__viewport::before{
    background:linear-gradient(90deg, rgba(13,44,82,.98), rgba(13,44,82,0)) !important;
  }

  .hero-visual-marquee .hero-marquee__viewport::after{
    background:linear-gradient(270deg, rgba(13,44,82,.98), rgba(13,44,82,0)) !important;
  }
}

@media (max-width:820px){
  .hero--home .hero__inner--home{
    width:min(var(--max), calc(100% - 28px)) !important;
    padding-top:40px !important;
    padding-bottom:44px !important;
  }

  .hero--home h1,
  .hero--home .hero__content h1{
    font-size:clamp(32px,9vw,40px) !important;
  }

  .hero--home .feature-grid{
    grid-template-columns:1fr !important;
  }

  .hero--home .hero__printer{
    max-height:330px !important;
  }

  .hero-visual-marquee{
    width:100% !important;
    min-height:54px !important;
  }

  .hero-visual-marquee .client-logo-track{
    min-height:54px !important;
    gap:28px !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:132px !important;
    height:46px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-height:34px !important;
    max-width:132px !important;
  }
}


/* =========================================================
   v26 - Carrusel hero sin franja + logos más grandes
   ========================================================= */

/* Quitar totalmente la franja/degradado que se veía diferente al fondo */
.hero-visual-marquee,
.hero-visual-marquee *,
.hero-visual-marquee .hero-marquee__viewport,
.hero-visual-marquee .client-logo-track{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  backdrop-filter:none !important;
}

.hero-visual-marquee .hero-marquee__viewport::before,
.hero-visual-marquee .hero-marquee__viewport::after{
  display:none !important;
  content:none !important;
  background:transparent !important;
}

/* Ampliar carrusel para aprovechar más espacio lateral */
.hero-visual-marquee{
  width:min(980px, 118%) !important;
  max-width:none !important;
  min-height:88px !important;
  margin-top:2px !important;
  overflow:hidden !important;
  transform:translateX(-1%) !important;
}

/* Track más abierto */
.hero-visual-marquee .client-logo-track{
  min-height:88px !important;
  gap:58px !important;
  padding-left:0 !important;
  animation-duration:38s !important;
}

/* Logos sin tarjeta, pero más grandes */
.hero-visual-marquee .client-logo-item{
  width:230px !important;
  height:78px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.hero-visual-marquee .client-logo-item img{
  max-width:230px !important;
  max-height:68px !important;
  width:auto !important;
  height:auto !important;
  opacity:1 !important;
  image-rendering:auto !important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.16)) !important;
}

/* Mejor balance con impresora + carrusel */
.hero--home .hero__visual{
  min-height:630px !important;
  gap:10px !important;
}

.hero--home .hero__printer{
  max-height:625px !important;
  transform:translateY(0) scale(1.03) !important;
}

/* En desktop ancho, permitir que el bloque derecho respire más */
@media (min-width:1281px){
  .hero--home .hero__inner--home{
    width:min(1400px, calc(100% - 64px)) !important;
    grid-template-columns:minmax(540px, .9fr) minmax(700px, 1.1fr) !important;
    gap:48px !important;
  }

  .hero-visual-marquee{
    width:min(1060px, 122%) !important;
  }
}

@media (max-width:1280px){
  .hero-visual-marquee{
    width:min(860px, 116%) !important;
  }

  .hero-visual-marquee .client-logo-track{
    gap:48px !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:205px !important;
    height:72px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-width:205px !important;
    max-height:60px !important;
  }
}

@media (max-width:1060px){
  .hero-visual-marquee{
    width:min(760px,100%) !important;
    transform:none !important;
  }

  .hero-visual-marquee .client-logo-track{
    gap:38px !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:180px !important;
    height:62px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-width:180px !important;
    max-height:52px !important;
  }
}

@media (max-width:820px){
  .hero--home .hero__visual{
    min-height:auto !important;
  }

  .hero-visual-marquee{
    width:100% !important;
    min-height:58px !important;
  }

  .hero-visual-marquee .client-logo-track{
    min-height:58px !important;
    gap:28px !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:138px !important;
    height:48px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-width:138px !important;
    max-height:38px !important;
  }
}


/* =========================================================
   v27 - Carrusel limitado al bloque derecho + radius 5px global
   ========================================================= */

/* Carrusel del hero: no debe invadir la mitad izquierda */
.hero-visual-marquee{
  width:100% !important;
  max-width:620px !important;
  transform:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow:hidden !important;
}

.hero-visual-marquee .client-logo-track{
  gap:42px !important;
}

.hero-visual-marquee .client-logo-item{
  width:190px !important;
  height:68px !important;
}

.hero-visual-marquee .client-logo-item img{
  max-width:190px !important;
  max-height:58px !important;
}

/* En pantallas grandes, mantenerlo dentro del lado de la impresora */
@media (min-width:1281px){
  .hero-visual-marquee{
    max-width:650px !important;
  }
}

@media (max-width:1280px){
  .hero-visual-marquee{
    max-width:560px !important;
  }
}

@media (max-width:1060px){
  .hero-visual-marquee{
    max-width:680px !important;
  }
}

@media (max-width:820px){
  .hero-visual-marquee{
    max-width:100% !important;
  }

  .hero-visual-marquee .client-logo-item{
    width:138px !important;
    height:48px !important;
  }

  .hero-visual-marquee .client-logo-item img{
    max-width:138px !important;
    max-height:38px !important;
  }
}/* Border radius global: 5px en botones,cards,inputs,logos,productos y bloques */
.btn,button,input,textarea,select,.field,.header-cta,.brand-mark,.eyebrow,.eyebrow-light,.feature-pill,.metric-card,.card,.generic-card,.info-card,.glass-card,.service-card,.service-card--light,.form-card,.form-banner,.cta-banner,.status-panel,.history-highlight,.icon-tag,.number-tag,.category-chip,.shop-result-note,.empty-state,.empty-state__icon,.tmx-blog-card,.tmx-blog-card__image,.contact-info-card,.contact-map-card,.contact-map-card iframe,.client-logo-item,.client-name-track span,.nav-dropdown__menu,.nav-dropdown__menu a,.tmx-woo-shortcode-card{
  border-radius:5px !important;
}/* Elementos circulares pequeños se mantienen redondos porque funcionan como indicadores */
.eyebrow::before,.eyebrow-light::before,.feature-pill span,.list-check li::before,.light-list li::before,.bullet-list--check div::before{
  border-radius:999px !important;
}/* Asegura que los botones no queden en pill */
.btn,button.btn,.btn-primary,.btn-outline,.header-cta{
  border-radius:5px !important;
}


/* =========================================================
   v28 - Botón cotizar navbar azul, ancho y thin uppercase
   ========================================================= */

.site-header .header-cta,
.site-header .header-cta.btn-primary,
.header-cta.btn-primary{
  min-width:210px !important;
  min-height:48px !important;
  padding:13px 34px !important;
  background:#2e86ff !important;
  border-color:#2e86ff !important;
  color:#fff !important;
  border-radius:5px !important;
  text-transform:uppercase !important;
  letter-spacing:.075em !important;
  font-weight:500 !important;
  font-size:12px !important;
  box-shadow:0 14px 32px rgba(46,134,255,.22) !important;
}

.site-header .header-cta:hover,
.site-header .header-cta.btn-primary:hover,
.header-cta.btn-primary:hover{
  background:#173b6c !important;
  border-color:#173b6c !important;
  color:#fff !important;
}

@media (max-width:820px){
  .site-header .header-cta,
  .site-header .header-cta.btn-primary,
  .header-cta.btn-primary{
    min-width:100% !important;
    width:100% !important;
  }
}


/* =========================================================
   v29 - Radius 5px específico para cards del hero
   ========================================================= */

.hero--home .feature-grid .feature-pill,
.hero .feature-grid .feature-pill,
.feature-grid .feature-pill{
  border-radius:5px !important;
}

.hero--home .feature-grid .feature-pill span,
.hero .feature-grid .feature-pill span,
.feature-grid .feature-pill span{
  border-radius:5px !important;
}

/* Refuerzo para cualquier card tipo pill que haya heredado radius grande */
.hero [class*="pill"],
.hero [class*="card"],
.hero [class*="tag"]{
  border-radius:5px !important;
}

/* Mantener solo puntos decorativos redondos */
.hero .eyebrow::before,
.hero .eyebrow-light::before{
  border-radius:999px !important;
}


/* =========================================================
   v30 - Foto oficial Nosotros
   ========================================================= */

.about-photo-card{
  align-self:center;
  overflow:hidden;
  border-radius:5px !important;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  box-shadow:0 28px 70px rgba(0,0,0,.20);
}

.about-photo-card img{
  width:100%;
  min-height:420px;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:5px !important;
}

@media (max-width:1060px){
  .about-photo-card img{
    min-height:360px;
  }
}

@media (max-width:820px){
  .about-photo-card img{
    min-height:260px;
  }
}


/* =========================================================
   v31 - Alquiler impresoras/laptops: visual limpio + métricas visibles
   ========================================================= */

/* Evitar que el hero tape las 3 cards de métricas */
.page-template-page-alquiler-de-impresoras .hero,
.page-template-page-alquiler-de-laptops .hero,
body[class*="alquiler-impresoras"] .hero,
body[class*="alquiler-laptops"] .hero{
  overflow:visible !important;
}

.page-template-page-alquiler-de-impresoras .hero__inner,
.page-template-page-alquiler-de-laptops .hero__inner,
body[class*="alquiler-impresoras"] .hero__inner,
body[class*="alquiler-laptops"] .hero__inner{
  min-height:620px !important;
  padding-bottom:110px !important;
}

.page-template-page-alquiler-de-impresoras .pull-up-metrics,
.page-template-page-alquiler-de-laptops .pull-up-metrics,
body[class*="alquiler-impresoras"] .pull-up-metrics,
body[class*="alquiler-laptops"] .pull-up-metrics{
  margin-top:0 !important;
  padding-top:48px !important;
  position:relative !important;
  z-index:5 !important;
}

/* Visual derecho: solo imagen grande, sin card, borde, fondo ni título */
.hero-product-visual{
  align-self:center;
  justify-self:center;
  width:100%;
  min-height:480px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.hero-product-visual img{
  width:auto;
  max-width:100%;
  max-height:560px;
  object-fit:contain;
  filter:drop-shadow(0 34px 58px rgba(0,0,0,.26));
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}

.hero-product-visual--printer img{
  max-height:585px;
  transform:translateY(24px) scale(1.05);
}

/* Laptop visual limpio, sin card */
.laptop-visual-only{
  width:min(520px, 100%);
  aspect-ratio:1.45/1;
  position:relative;
  filter:drop-shadow(0 34px 58px rgba(0,0,0,.26));
}

.laptop-visual-only::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:5%;
  height:68%;
  border-radius:5px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.05)),
    linear-gradient(135deg, #1b2536, #0d1524);
  border:1px solid rgba(255,255,255,.20);
}

.laptop-visual-only::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:13%;
  height:13%;
  border-radius:5px;
  background:linear-gradient(180deg, #dbe3ec, #aeb9c7);
  transform:perspective(500px) rotateX(18deg);
}

@media (max-width:1060px){
  .page-template-page-alquiler-de-impresoras .hero__inner,
  .page-template-page-alquiler-de-laptops .hero__inner,
  body[class*="alquiler-impresoras"] .hero__inner,
  body[class*="alquiler-laptops"] .hero__inner{
    min-height:auto !important;
    padding-bottom:72px !important;
  }

  .hero-product-visual{
    min-height:360px;
  }

  .hero-product-visual--printer img{
    max-height:430px;
    transform:translateY(0) scale(1);
  }

  .laptop-visual-only{
    width:min(430px,100%);
  }
}

@media (max-width:820px){
  .page-template-page-alquiler-de-impresoras .hero__inner,
  .page-template-page-alquiler-de-laptops .hero__inner,
  body[class*="alquiler-impresoras"] .hero__inner,
  body[class*="alquiler-laptops"] .hero__inner{
    padding-bottom:54px !important;
  }

  .page-template-page-alquiler-de-impresoras .pull-up-metrics,
  .page-template-page-alquiler-de-laptops .pull-up-metrics,
  body[class*="alquiler-impresoras"] .pull-up-metrics,
  body[class*="alquiler-laptops"] .pull-up-metrics{
    padding-top:34px !important;
  }

  .hero-product-visual{
    min-height:280px;
  }

  .hero-product-visual--printer img{
    max-height:320px;
  }
}

.tmx-info-mini{
  padding:12px;
  border:1px solid var(--line);
  background:#f7f9fc;
  border-radius:5px;
}

.tmx-info-mini span,
.tmx-detail-label{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:11px;
  font-weight:650;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.tmx-info-mini strong{
  display:block;
  color:var(--blue-950);
  font-size:13px;
  font-weight:600;
  line-height:1.35;
}

.tmx-info-mini a{
  color:var(--blue-800);
}

.tmx-detail-section{
  padding:17px 0;
  border-top:1px solid rgba(23,59,108,.10);
}

.tmx-detail-section:first-of-type{
  border-top:0;
  padding-top:0;
}

.tmx-support-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.tmx-support-actions a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 10px;
  border-radius:5px;
  background:#fff;
  border:1px solid var(--line);
  color:var(--blue-800);
  font-size:13px;
  font-weight:650;
}


/* =========================================================
   v38 - Fix vistas alquiler y navbar
   ========================================================= */

.hero-product-visual--laptop img{
  width:auto;
  max-width:100%;
  max-height:540px;
  object-fit:contain;
  filter:drop-shadow(0 30px 52px rgba(0,0,0,.24));
}

@media (max-width:820px){
  /* El menú móvil se muestra/oculta con opacity + visibility en el bloque
     consolidado del final del archivo. No usar display:none aquí porque
     rompía la apertura del menú responsive. */
  .hero-product-visual--laptop img{
    max-height:340px;
  }
}


/* =========================================================
   v39 - Producto individual balanceado
   ========================================================= */

.product-detail--balanced{
  background:linear-gradient(180deg,#fff 0%,#f5f8fc 100%) !important;
  padding-top:78px !important;
}

.tmx-support-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}

.tmx-support-actions a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding:8px 10px !important;
  border-radius:5px !important;
  background:#f7f9fc !important;
  border:1px solid var(--line) !important;
  color:var(--blue-800) !important;
  font-size:13px !important;
  font-weight:650 !important;
}

/* reCAPTCHA: ese ícono normalmente lo inyecta Google reCAPTCHA desde un plugin/formulario */
.grecaptcha-badge{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

@media (max-width:720px){
  .product-detail--balanced{
    padding-top:48px !important;
  }
}/* =========================================================
   v39.1 - Ajustes producto: separadores{
  border-top:0 !important;
}

.tmx-woo-notices{
  position:relative;
  z-index:4;
}

/* =========================================================
   v39.3 - Home feedback: dropdown, hero tag, botones y minicards
   ========================================================= */

/* Flecha navbar: un poco más ancha y hacia arriba en hover */
.nav-dropdown__trigger{
  gap:8px !important;
}

.nav-dropdown__chevron{
  width:10px !important;
  height:10px !important;
  display:inline-block !important;
  flex:0 0 10px !important;
  font-size:0 !important;
  line-height:0 !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  transform:rotate(45deg) translateY(-2px) !important;
  opacity:.82 !important;
  transition:transform .18s ease, opacity .18s ease !important;
}

.nav-dropdown:hover .nav-dropdown__chevron,
.nav-dropdown:focus-within .nav-dropdown__chevron{
  transform:rotate(-135deg) translateY(-1px) !important;
  opacity:1 !important;
}

/* Mini etiqueta del hero: texto thin y punto al inicio/final */
.hero--home .eyebrow{
  position:relative !important;
  gap:9px !important;
  font-weight:300 !important;
  letter-spacing:.07em !important;
}

.hero--home .eyebrow::before,
.hero--home .eyebrow::after{
  content:"" !important;
  width:8px !important;
  height:8px !important;
  display:inline-block !important;
  flex:0 0 8px !important;
  border-radius:999px !important;
  background:var(--yellow) !important;
  box-shadow:0 0 0 4px rgba(244,180,0,.14) !important;
}

/* Botones del hero del mismo ancho */
.hero--home .hero__actions{
  align-items:center !important;
}

.hero--home .hero__actions .btn{
  width:160px !important;
  min-width:160px !important;
  max-width:160px !important;
}/* Botones rojos: borde por defecto,relleno solo en hover */
.btn-primary:not(.header-cta),a.btn-primary:not(.header-cta),button.btn-primary:not(.header-cta),.form-card .btn-primary,.cta-banner .btn-primary{
  background:transparent !important;
  color:var(--red) !important;
  border:1px solid var(--red) !important;
  box-shadow:none !important;
}

.hero .btn-primary:not(.header-cta),
.hero a.btn-primary:not(.header-cta),
.form-card--dark .btn-primary,
.cta-banner .btn-primary{
  color:#fff !important;
}.btn-primary:not(.header-cta):hover,a.btn-primary:not(.header-cta):hover,button.btn-primary:not(.header-cta):hover,.form-card .btn-primary:hover,.cta-banner .btn-primary:hover{
  background:var(--red) !important;
  border-color:var(--red) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(230,57,70,.18) !important;
}

/* Mantener el CTA del navbar azul como estaba */
.site-header .header-cta,
.site-header .header-cta.btn-primary,
.header-cta.btn-primary{
  background:#2e86ff !important;
  border-color:#2e86ff !important;
  color:#fff !important;
  box-shadow:0 14px 32px rgba(46,134,255,.22) !important;
}

.site-header .header-cta:hover,
.site-header .header-cta.btn-primary:hover,
.header-cta.btn-primary:hover{
  background:#173b6c !important;
  border-color:#173b6c !important;
  color:#fff !important;
}

/* Minicards del hero: blancas, flotando entre hero y sección siguiente */
.hero--home{
  overflow:visible !important;
}

.hero--home .hero__inner--home{
  padding-bottom:118px !important;
}

.hero--home .feature-grid{
  position:absolute !important;
  left:50% !important;
  bottom:-52px !important;
  transform:translateX(-50%) !important;
  width:min(var(--max), calc(100vw - 48px)) !important;
  max-width:min(var(--max), calc(100vw - 48px)) !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:16px !important;
  margin:0 !important;
  z-index:12 !important;
}

.hero--home .feature-pill{
  min-height:104px !important;
  height:100% !important;
  padding:20px 18px !important;
  align-items:center !important;
  background:#fff !important;
  border:1px solid rgba(23,59,108,.08) !important;
  color:var(--blue-950) !important;
  box-shadow:0 20px 46px rgba(12,34,64,.13) !important;
  font-size:14px !important;
  font-weight:350 !important;
  line-height:1.42 !important;
}

.hero--home .feature-pill span{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  border-radius:5px !important;
  background:rgba(244,180,0,.16) !important;
  color:#b78300 !important;
  font-weight:700 !important;
}

#soluciones{
  padding-top:118px !important;
}

@media (max-width:1060px){
  .hero--home .hero__inner--home{
    padding-bottom:124px !important;
  }

  .hero--home .feature-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    bottom:-84px !important;
    width:min(760px, calc(100vw - 40px)) !important;
    max-width:min(760px, calc(100vw - 40px)) !important;
  }

  .hero--home .feature-pill{
    min-height:78px !important;
  }

  #soluciones{
    padding-top:140px !important;
  }
}

@media (max-width:820px){
  .hero--home .hero__actions .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .hero--home .hero__inner--home{
    padding-bottom:44px !important;
  }

  .hero--home .feature-grid{
    position:relative !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
    margin-top:28px !important;
  }

  .hero--home .feature-pill{
    min-height:66px !important;
  }

  #soluciones{
    padding-top:58px !important;
  }
}

/* =========================================================
   v40 - Etiquetas con punto al inicio y al final en todo el sitio
   ========================================================= */

.eyebrow,
.eyebrow-light{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  font-weight:300 !important;
}

.eyebrow::before,
.eyebrow-light::before,
.eyebrow::after,
.eyebrow-light::after{
  content:"" !important;
  width:8px !important;
  height:8px !important;
  display:inline-block !important;
  flex:0 0 8px !important;
  border-radius:999px !important;
  background:var(--yellow) !important;
  box-shadow:0 0 0 4px rgba(244,180,0,.14) !important;
}


/* =========================================================
   v39.5 - Tipografías oficiales + refinamiento visual
   ========================================================= */

:root{
  --font-primary:"Gilroy","Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font:var(--font-body);
}html,body,p,a,li,span,div,button,input,textarea,select{
  font-family:var(--font-body) !important;
}body,p,li,.hero__copy,.section-head p,.card p,.service-card--light p,.generic-card p,.info-card p,.faq-list p{
  font-weight:400 !important;
}h1,h2,h3,h4,h5,h6,.hero h1,.section h1,.section-head h2,.card h3,.service-card--light h3,.glass-card h3,.status-panel h3,.history-highlight h3,.cta-banner h2,.form-banner h2,.quote-box h2,.info-card h3,.tmx-blog-card h2,.tmx-entry-content h2,.tmx-entry-content h3{
  font-family:var(--font-primary) !important;
  font-weight:500 !important;
}strong,b,.card-link,.nav-dropdown__menu a,.btn{
  font-weight:600 !important;
}

.nav,
.nav a,
.tecnimax-nav__link,
.nav-dropdown__trigger{
  font-family:var(--font-body) !important;
  font-weight:400 !important;
}

.nav a.is-active,
.nav a.tecnimax-nav__link.is-active,
.nav-dropdown.is-active > .nav-dropdown__trigger,
.nav-dropdown__trigger.is-active{
  font-weight:500 !important;
}

.eyebrow,
.eyebrow-light{
  font-family:var(--font-body) !important;
  font-weight:300 !important;
}

.hero--home .feature-grid{
  bottom:-50px !important;
  gap:16px !important;
}

.hero--home .feature-pill{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:104px !important;
  padding:24px 26px !important;
  background:#fff !important;
  color:var(--blue-950) !important;
  border:1px solid rgba(23,59,108,.08) !important;
  box-shadow:0 20px 46px rgba(12,34,64,.13) !important;
  font-family:var(--font-body) !important;
  font-size:15.5px !important;
  line-height:1.38 !important;
  font-weight:400 !important;
  letter-spacing:-.005em !important;
}

.hero--home .feature-pill span,
.hero .feature-grid .feature-pill span,
.feature-grid .feature-pill span{
  display:none !important;
}

@media (max-width:1060px){
  .hero--home .feature-grid{
    bottom:-84px !important;
  }

  .hero--home .feature-pill{
    min-height:82px !important;
    padding:22px 24px !important;
    font-size:15px !important;
  }
}

@media (max-width:820px){
  .hero--home .feature-grid{
    bottom:auto !important;
  }

  .hero--home .feature-pill{
    min-height:68px !important;
    padding:20px 22px !important;
    font-size:15px !important;
  }
}

/* v39-7 - Home hero features + soluciones principales */
.hero--home .feature-grid{
  position:relative;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  max-width:none;
  margin-top:34px;
}
.hero--home .feature-pill{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  min-height:108px;
  padding:22px 24px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 20px 40px rgba(12,34,64,.10);
  color:var(--blue-800);
  text-align:left;
}
.hero--home .feature-pill__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(23,59,108,.08);
  color:var(--blue-800);
}
.hero--home .feature-pill__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}
.hero--home .feature-pill__text{
  display:block;
  color:var(--blue-800);
  font-family:'Poppins',sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:400;
  letter-spacing:-.01em;
}
.hero--home .feature-pill span:not(.feature-pill__icon):not(.feature-pill__text){
  display:none;
}

.solutions-grid{
  align-items:stretch;
}
.solutions-grid > *{
  height:100%;
}
.card--solution{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:100%;
  padding:28px 22px 22px;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 18px 34px rgba(12,34,64,.06);
  background:#fff;
}
.card--solution__accent{
  width:112px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#173B6C,#2E86FF);
  margin-bottom:22px;
}
.card--solution__icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(23,59,108,.08);
  color:var(--blue-800);
  margin-bottom:18px;
}
.card--solution__icon svg{
  width:28px;
  height:28px;
  stroke:currentColor;
}
.card--solution h3{
  width:100%;
  color:var(--blue-800);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:29px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.03em;
  margin:0 0 14px;
}
.card--solution p{
  width:100%;
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-size:16px;
  line-height:1.6;
  font-weight:400;
  margin:0 0 22px;
}
.card--solution .btn-solution{
  margin-top:auto;
  min-width:100%;
  justify-content:center;
  font-size:14px;
  font-weight:600;
  color:var(--blue-800);
  border:1px solid rgba(23,59,108,.18);
  background:#fff;
}
.card--solution .btn-solution:hover{
  background:var(--blue-800);
  color:#fff;
  border-color:var(--blue-800);
}
.card--solution .card-link{display:none !important;}

#soluciones .section-head.center .eyebrow-light{
  padding:10px 16px;
  border-color:rgba(23,59,108,.14);
  box-shadow:0 10px 22px rgba(12,34,64,.06);
}
#soluciones .section-head.center h2{
  color:var(--blue-800);
  font-family:'Gilroy','Poppins',sans-serif;
  font-weight:600;
}
#soluciones .section-head.center p{
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-weight:400;
}

@media (max-width: 1080px){
  .hero--home .feature-grid,
  .solutions-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 767px){
  .hero--home .feature-grid,
  .solutions-grid{
    grid-template-columns:1fr;
  }
  .hero--home .feature-pill{
    min-height:88px;
    padding:18px 18px;
  }
  .hero--home .feature-pill__text{
    font-size:16px;
  }
  .card--solution{
    padding:22px 18px 18px;
  }
  .card--solution h3{
    font-size:24px;
  }
  .card--solution p{
    font-size:15px;
  }
}


/* v39-8 - Corrección de lectura e iconografía centrada */
.hero--home .feature-pill span.feature-pill__icon{
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  border-radius:12px !important;
  background:rgba(23,59,108,.08) !important;
  color:#173B6C !important;
  box-shadow:none !important;
}
.hero--home .feature-pill span.feature-pill__icon svg{
  display:block !important;
  width:23px !important;
  height:23px !important;
  color:#173B6C !important;
  stroke:currentColor !important;
}
.hero--home .feature-pill span.feature-pill__text{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#173B6C !important;
  font-family:'Poppins',sans-serif !important;
  font-size:16.5px !important;
  line-height:1.35 !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
  text-align:left !important;
}
.hero--home .feature-pill{
  overflow:visible !important;
}

/* Soluciones principales: icono superior centrado, visible y en azul oscuro */
.solutions-grid .card--solution{
  align-items:center !important;
  text-align:center !important;
  padding:30px 22px 24px !important;
  overflow:hidden !important;
}
.solutions-grid .card--solution__icon{
  order:1 !important;
  width:70px !important;
  height:70px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 auto 16px !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#173B6C !important;
  box-shadow:none !important;
}
.solutions-grid .card--solution__icon svg{
  display:block !important;
  width:44px !important;
  height:44px !important;
  color:#173B6C !important;
  stroke:#173B6C !important;
}
.solutions-grid .card--solution__icon svg *{
  stroke:#173B6C !important;
  stroke-width:1.85 !important;
}
.solutions-grid .card--solution h3{
  order:2 !important;
  color:#173B6C !important;
  font-size:22px !important;
  line-height:1.18 !important;
  font-weight:600 !important;
  margin:0 0 12px !important;
  text-align:center !important;
}
.solutions-grid .card--solution__accent{
  order:3 !important;
  width:58px !important;
  height:3px !important;
  margin:0 auto 18px !important;
  border-radius:999px !important;
  background:#173B6C !important;
}
.solutions-grid .card--solution p{
  order:4 !important;
  color:#4D6485 !important;
  font-size:14.8px !important;
  line-height:1.58 !important;
  font-weight:400 !important;
  text-align:center !important;
  margin:0 0 24px !important;
}
.solutions-grid .card--solution .btn-solution{
  order:5 !important;
  width:100% !important;
  max-width:190px !important;
  min-width:0 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:767px){
  .hero--home .feature-pill span.feature-pill__text{
    font-size:15.5px !important;
  }
  .solutions-grid .card--solution__icon{
    width:64px !important;
    height:64px !important;
  }
  .solutions-grid .card--solution__icon svg{
    width:40px !important;
    height:40px !important;
  }
}

/* v39-9 - Hover dark para cards de soluciones */
.card--solution,
.card--solution h3,
.card--solution p,
.card--solution .card--solution__icon,
.card--solution .card--solution__icon svg,
.card--solution .card--solution__accent,
.card--solution .btn-solution{
  transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease,opacity .25s ease;
}

.card--solution:hover,
.card--solution:focus-within{
  background:var(--blue-800);
  border-color:var(--blue-800);
  box-shadow:0 22px 42px rgba(12,34,64,.18);
}

.card--solution:hover .card--solution__accent,
.card--solution:focus-within .card--solution__accent{
  background:rgba(255,255,255,.92);
}

.card--solution:hover .card--solution__icon,
.card--solution:focus-within .card--solution__icon{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.card--solution:hover h3,
.card--solution:focus-within h3,
.card--solution:hover p,
.card--solution:focus-within p{
  color:#fff;
}

.card--solution:hover .btn-solution,
.card--solution:focus-within .btn-solution{
  background:#fff;
  color:var(--blue-800);
  border-color:#fff;
}

.card--solution:hover .btn-solution:hover,
.card--solution:focus-within .btn-solution:hover{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.88);
}

/* v39-10 - Status cards + about image/cards on home */
.mini-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.mini-status-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 18px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 14px 28px rgba(12,34,64,.07);
  border-radius:5px;
}
.mini-status-card__icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(23,59,108,.08);
  color:var(--blue-800);
}
.mini-status-card__icon svg{
  width:24px;
  height:24px;
  stroke:currentColor;
}
.mini-status-card__body{
  display:grid;
  gap:4px;
}
.mini-status-card__body strong{
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:18px;
  line-height:1.1;
  font-weight:600;
}
.mini-status-card__body span{
  color:#5f7594;
  font-family:'Poppins',sans-serif;
  font-size:14px;
  line-height:1.3;
  font-weight:400;
}

.split-layout--about-home{
  grid-template-columns:460px minmax(0,1fr);
  align-items:center;
}
.split-layout--about-home .about-photo-card{
  max-width:460px;
  width:100%;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 20px 42px rgba(12,34,64,.08);
}
.split-layout--about-home .about-photo-card img{
  min-height:520px;
}
.about-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.about-mini-card{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:90px;
  padding:18px 18px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 14px 28px rgba(12,34,64,.07);
  border-radius:5px;
}
.about-mini-card__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(244,180,0,.14);
  color:var(--blue-800);
}
.about-mini-card__icon svg{
  width:22px;
  height:22px;
  stroke:currentColor;
}
.about-mini-card strong{
  color:var(--blue-950);
  font-family:'Poppins',sans-serif;
  font-size:16px;
  line-height:1.35;
  font-weight:500;
}

@media (max-width: 1180px){
  .mini-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .split-layout--about-home{
    grid-template-columns:1fr;
  }
  .split-layout--about-home .about-photo-card{
    max-width:none;
  }
  .split-layout--about-home .about-photo-card img{
    min-height:380px;
  }
}
@media (max-width: 767px){
  .mini-status-grid,
  .about-mini-grid{
    grid-template-columns:1fr;
  }
  .mini-status-card,
  .about-mini-card{
    padding:16px;
  }
  .split-layout--about-home .about-photo-card img{
    min-height:260px;
  }
}


/* v39-11 - Hover blanco completo + imagen Nosotros sin recorte + botón full width */
.card--solution:hover,
.card--solution:focus-within,
.mini-status-card:hover,
.mini-status-card:focus-within,
.about-mini-card:hover,
.about-mini-card:focus-within{
  background:var(--blue-800) !important;
  border-color:var(--blue-800) !important;
  box-shadow:0 22px 42px rgba(12,34,64,.18);
}

.card--solution:hover h3,
.card--solution:focus-within h3,
.card--solution:hover p,
.card--solution:focus-within p,
.card--solution:hover .card--solution__icon,
.card--solution:focus-within .card--solution__icon,
.card--solution:hover .card--solution__icon *,
.card--solution:focus-within .card--solution__icon *,
.card--solution:hover .btn-solution,
.card--solution:focus-within .btn-solution,
.mini-status-card:hover *,
.mini-status-card:focus-within *,
.about-mini-card:hover *,
.about-mini-card:focus-within *{
  color:#fff !important;
}

.card--solution:hover .card--solution__accent,
.card--solution:focus-within .card--solution__accent{
  background:#fff !important;
}

.card--solution:hover .card--solution__icon,
.card--solution:focus-within .card--solution__icon,
.mini-status-card:hover .mini-status-card__icon,
.mini-status-card:focus-within .mini-status-card__icon,
.about-mini-card:hover .about-mini-card__icon,
.about-mini-card:focus-within .about-mini-card__icon{
  background:rgba(255,255,255,.14) !important;
}

.card--solution:hover svg,
.card--solution:focus-within svg,
.card--solution:hover svg *,
.card--solution:focus-within svg *,
.mini-status-card:hover svg,
.mini-status-card:focus-within svg,
.mini-status-card:hover svg *,
.mini-status-card:focus-within svg *,
.about-mini-card:hover svg,
.about-mini-card:focus-within svg,
.about-mini-card:hover svg *,
.about-mini-card:focus-within svg *{
  stroke:currentColor !important;
}

.card--solution:hover .btn-solution,
.card--solution:focus-within .btn-solution{
  width:100%;
  background:transparent !important;
  border-color:rgba(255,255,255,.85) !important;
  color:#fff !important;
}

.card--solution:hover .btn-solution:hover,
.card--solution:focus-within .btn-solution:hover{
  background:rgba(255,255,255,.12) !important;
  border-color:#fff !important;
  color:#fff !important;
}

.about-photo-card img,
.split-layout--about-home .about-photo-card img{
  width:100%;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block;
  background:#fff;
}

.split-layout--about-home .about-photo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.split-layout--about-home .hero__actions{
  width:100%;
}

.split-layout--about-home .hero__actions .btn,
#nosotros .hero__actions .btn{
  width:100%;
  max-width:none;
}

/* v39-12 - Imagen Nosotros a altura completa del contenido derecho */
#nosotros .split-layout--about-home{
  align-items:stretch !important;
}

#nosotros .split-layout--about-home > .reveal-up:not(.about-photo-card){
  display:flex;
  flex-direction:column;
  justify-content:center;
}

#nosotros .split-layout--about-home .about-photo-card{
  align-self:stretch !important;
  height:100% !important;
  min-height:100% !important;
  max-width:none !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  overflow:hidden !important;
  background:#fff;
}

#nosotros .split-layout--about-home .about-photo-card img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

@media (max-width:1180px){
  #nosotros .split-layout--about-home .about-photo-card{
    min-height:360px !important;
  }
  #nosotros .split-layout--about-home .about-photo-card img{
    min-height:360px !important;
  }
}

@media (max-width:767px){
  #nosotros .split-layout--about-home .about-photo-card{
    min-height:260px !important;
  }
  #nosotros .split-layout--about-home .about-photo-card img{
    min-height:260px !important;
  }
}

/* v39-13 - Nosotros: menos padding X y foto más ancha sin recorte */
@media (min-width:1181px){
  #nosotros > .container{
    width:min(1480px, calc(100% - 48px)) !important;
    max-width:none !important;
  }

  #nosotros .split-layout--about-home{
    grid-template-columns:minmax(640px, 1.08fr) minmax(560px, .92fr) !important;
    gap:36px !important;
    align-items:stretch !important;
  }

  #nosotros .split-layout--about-home .about-photo-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  #nosotros .split-layout--about-home .about-photo-card img{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
  }
}

@media (min-width:1500px){
  #nosotros > .container{
    width:min(1540px, calc(100% - 56px)) !important;
  }

  #nosotros .split-layout--about-home{
    grid-template-columns:minmax(720px, 1.05fr) minmax(600px, .95fr) !important;
    gap:38px !important;
  }
}

@media (min-width:1061px) and (max-width:1180px){
  #nosotros > .container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  #nosotros .split-layout--about-home{
    grid-template-columns:minmax(52%, 1fr) minmax(0, .92fr) !important;
    gap:26px !important;
  }

  #nosotros .split-layout--about-home .about-photo-card img{
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* v39-14 - Hero minicards: iconos sin fondo y más grandes */
.hero--home .feature-pill{
  gap:16px !important;
}
.hero--home .feature-pill span.feature-pill__icon{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  flex:0 0 32px !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
}
.hero--home .feature-pill span.feature-pill__icon svg{
  width:28px !important;
  height:28px !important;
}

/* v39-15 - Soluciones hover: icono sin fondo + soporte más claro */
.card--solution:hover .card--solution__icon,
.card--solution:focus-within .card--solution__icon,
.card--solution:hover .card--solution__icon *,
.card--solution:focus-within .card--solution__icon *{
  background:transparent !important;
  box-shadow:none !important;
}
.card--solution:hover .card--solution__icon,
.card--solution:focus-within .card--solution__icon{
  color:#fff !important;
}

/* v39-16 - Hover para mini status cards y about mini cards */
.mini-status-card,
.mini-status-card__icon,
.mini-status-card__icon svg,
.mini-status-card__icon *,
.mini-status-card__body strong,
.mini-status-card__body span,
.about-mini-card,
.about-mini-card__icon,
.about-mini-card__icon svg,
.about-mini-card__icon *,
.about-mini-card strong{
  transition:background .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

.mini-status-card:hover,
.mini-status-card:focus-within,
.about-mini-card:hover,
.about-mini-card:focus-within{
  background:var(--blue-800);
  border-color:var(--blue-800);
  box-shadow:0 20px 40px rgba(12,34,64,.18);
}

.mini-status-card:hover .mini-status-card__icon,
.mini-status-card:focus-within .mini-status-card__icon,
.about-mini-card:hover .about-mini-card__icon,
.about-mini-card:focus-within .about-mini-card__icon{
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
}

.mini-status-card:hover .mini-status-card__icon *,
.mini-status-card:focus-within .mini-status-card__icon *,
.about-mini-card:hover .about-mini-card__icon *,
.about-mini-card:focus-within .about-mini-card__icon *{
  color:#fff !important;
  stroke:currentColor !important;
}

.mini-status-card:hover .mini-status-card__body strong,
.mini-status-card:focus-within .mini-status-card__body strong,
.mini-status-card:hover .mini-status-card__body span,
.mini-status-card:focus-within .mini-status-card__body span,
.about-mini-card:hover strong,
.about-mini-card:focus-within strong{
  color:#fff !important;
}

/* v39-17 - Alternancia de fondos + nuevo diseño para Por qué alquilar y Sectores */
#por-que-alquilar.section-why{
  background:#fff !important;
  border-top:1px solid rgba(23,59,108,.06);
  border-bottom:1px solid rgba(23,59,108,.06);
}
#sectores.section-sectors{
  background:linear-gradient(180deg,#eef4fa 0%,#f8fbff 100%) !important;
  border-top:1px solid rgba(23,59,108,.07);
  border-bottom:1px solid rgba(23,59,108,.07);
}

#por-que-alquilar .section-head h2,
#sectores .section-head h2{
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-weight:600;
}

.rent-benefits-grid,
.sector-grid{
  align-items:stretch;
  gap:20px;
}
.rent-benefits-grid > *,
.sector-grid > *{
  height:100%;
}

.rent-benefit-card,
.sector-card{
  position:relative;
  min-height:255px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px 24px 24px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:0 14px 30px rgba(12,34,64,.055);
  border-radius:5px;
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}
.rent-benefit-card::before,
.sector-card::before{
  content:"";
  position:absolute;
  left:24px;
  top:0;
  width:86px;
  height:4px;
  background:linear-gradient(90deg,var(--blue-800),#2E86FF);
  border-radius:0 0 999px 999px;
  transition:background .25s ease,width .25s ease;
}
.rent-benefit-card:hover,
.rent-benefit-card:focus-within,
.sector-card:hover,
.sector-card:focus-within{
  transform:translateY(-5px);
  background:var(--blue-800);
  border-color:var(--blue-800);
  box-shadow:0 24px 46px rgba(12,34,64,.18);
}
.rent-benefit-card:hover::before,
.rent-benefit-card:focus-within::before,
.sector-card:hover::before,
.sector-card:focus-within::before{
  width:calc(100% - 48px);
  background:rgba(255,255,255,.9);
}

.rent-benefit-card__icon,
.sector-card__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(23,59,108,.08);
  color:var(--blue-800);
  margin-bottom:22px;
  transition:background .25s ease,color .25s ease,box-shadow .25s ease;
}
.rent-benefit-card__icon svg,
.sector-card__icon svg{
  width:28px;
  height:28px;
  display:block;
  stroke:currentColor;
}
.rent-benefit-card__number{
  position:absolute;
  top:24px;
  right:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(23,59,108,.06);
  color:var(--blue-800);
  font-size:12px;
  line-height:1;
  font-weight:600;
  letter-spacing:.04em;
  transition:background .25s ease,color .25s ease;
}
.rent-benefit-card h3,
.sector-card h3{
  margin:0 0 12px;
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:21px;
  line-height:1.16;
  letter-spacing:-.025em;
  font-weight:600;
  transition:color .25s ease;
}
.rent-benefit-card p,
.sector-card p{
  margin:0;
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-size:15.5px;
  line-height:1.58;
  font-weight:400;
  transition:color .25s ease;
}
.rent-benefit-card:hover .rent-benefit-card__icon,
.rent-benefit-card:focus-within .rent-benefit-card__icon,
.sector-card:hover .sector-card__icon,
.sector-card:focus-within .sector-card__icon{
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
}
.rent-benefit-card:hover .rent-benefit-card__number,
.rent-benefit-card:focus-within .rent-benefit-card__number{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.rent-benefit-card:hover h3,
.rent-benefit-card:focus-within h3,
.rent-benefit-card:hover p,
.rent-benefit-card:focus-within p,
.sector-card:hover h3,
.sector-card:focus-within h3,
.sector-card:hover p,
.sector-card:focus-within p{
  color:#fff !important;
}
.rent-benefit-card:hover svg,
.rent-benefit-card:focus-within svg,
.sector-card:hover svg,
.sector-card:focus-within svg{
  color:#fff !important;
  stroke:currentColor !important;
}

@media (max-width:1080px){
  .rent-benefits-grid,
  .sector-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rent-benefit-card,
  .sector-card{
    min-height:230px;
  }
}
@media (max-width:820px){
  .rent-benefits-grid,
  .sector-grid{
    grid-template-columns:1fr;
  }
  .rent-benefit-card,
  .sector-card{
    min-height:auto;
    padding:24px 20px 22px;
  }
  .rent-benefit-card::before,
  .sector-card::before{
    left:20px;
  }
  .rent-benefit-card:hover::before,
  .rent-benefit-card:focus-within::before,
  .sector-card:hover::before,
  .sector-card:focus-within::before{
    width:calc(100% - 40px);
  }
}

/* v39-18 - Clientes: quitar fondos internos y separar nombres con línea amarilla */
.section-clients .client-logo-item{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 34px !important;
  width:260px !important;
  height:112px !important;
}
.section-clients .client-logo-item img{
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.18)) !important;
}
.section-clients .client-name-track{
  gap:0 !important;
}
.section-clients .client-name-track span{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:0 24px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.86) !important;
  font-size:14px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
.section-clients .client-name-track span::after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:2px;
  height:18px;
  border-radius:999px;
  background:var(--yellow);
  transform:translateY(-50%);
  opacity:.95;
}
@media (max-width:820px){
  .section-clients .client-logo-item{
    width:210px !important;
    height:88px !important;
    padding:0 22px !important;
  }
  .section-clients .client-name-track span{
    padding:0 18px !important;
    font-size:13px !important;
  }
}

/* v39-19 - Hover solo en Soluciones, iconos limpios y foto Nosotros sin zona blanca */

/* Foto Nosotros: llenar el bloque y evitar el área blanca del contenedor/encuadre */
#nosotros .split-layout--about-home .about-photo-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:0 18px 40px rgba(12,34,64,.08) !important;
  overflow:hidden !important;
}
#nosotros .split-layout--about-home .about-photo-card img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center bottom !important;
  background:transparent !important;
}

/* Iconos de cards: sin fondo y un poco más grandes */
.card--solution__icon,
.mini-status-card__icon,
.about-mini-card__icon,
.rent-benefit-card__icon,
.sector-card__icon,
.icon-tag,
.number-tag{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  border-radius:0 !important;
}
.card--solution__icon{
  width:76px !important;
  height:76px !important;
  margin-bottom:18px !important;
}
.card--solution__icon svg{
  width:38px !important;
  height:38px !important;
}
.mini-status-card__icon,
.about-mini-card__icon{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
}
.mini-status-card__icon svg,
.about-mini-card__icon svg{
  width:29px !important;
  height:29px !important;
}
.rent-benefit-card__icon,
.sector-card__icon{
  width:60px !important;
  height:60px !important;
  margin-bottom:20px !important;
}
.rent-benefit-card__icon svg,
.sector-card__icon svg{
  width:34px !important;
  height:34px !important;
}

/* Quitar hover oscuro de todas las cards excepto Soluciones principales */
.mini-status-card:hover,
.mini-status-card:focus-within,
.about-mini-card:hover,
.about-mini-card:focus-within,
.rent-benefit-card:hover,
.rent-benefit-card:focus-within,
.sector-card:hover,
.sector-card:focus-within{
  background:#fff !important;
  border-color:rgba(23,59,108,.10) !important;
  box-shadow:0 16px 32px rgba(12,34,64,.08) !important;
  transform:translateY(-2px) !important;
}

.mini-status-card:hover .mini-status-card__icon,
.mini-status-card:focus-within .mini-status-card__icon,
.about-mini-card:hover .about-mini-card__icon,
.about-mini-card:focus-within .about-mini-card__icon,
.rent-benefit-card:hover .rent-benefit-card__icon,
.rent-benefit-card:focus-within .rent-benefit-card__icon,
.sector-card:hover .sector-card__icon,
.sector-card:focus-within .sector-card__icon{
  background:transparent !important;
  color:var(--blue-800) !important;
  box-shadow:none !important;
}

.mini-status-card:hover .mini-status-card__icon *,
.mini-status-card:focus-within .mini-status-card__icon *,
.about-mini-card:hover .about-mini-card__icon *,
.about-mini-card:focus-within .about-mini-card__icon *,
.rent-benefit-card:hover .rent-benefit-card__icon *,
.rent-benefit-card:focus-within .rent-benefit-card__icon *,
.sector-card:hover .sector-card__icon *,
.sector-card:focus-within .sector-card__icon *{
  color:var(--blue-800) !important;
  stroke:currentColor !important;
}

.mini-status-card:hover .mini-status-card__body strong,
.mini-status-card:focus-within .mini-status-card__body strong,
.about-mini-card:hover strong,
.about-mini-card:focus-within strong,
.rent-benefit-card:hover h3,
.rent-benefit-card:focus-within h3,
.sector-card:hover h3,
.sector-card:focus-within h3{
  color:var(--blue-950) !important;
}

.mini-status-card:hover .mini-status-card__body span,
.mini-status-card:focus-within .mini-status-card__body span,
.rent-benefit-card:hover p,
.rent-benefit-card:focus-within p,
.sector-card:hover p,
.sector-card:focus-within p{
  color:#4D6485 !important;
}

.rent-benefit-card:hover::before,
.rent-benefit-card:focus-within::before,
.sector-card:hover::before,
.sector-card:focus-within::before{
  width:86px !important;
  background:linear-gradient(90deg,var(--blue-800),#2E86FF) !important;
}
.rent-benefit-card:hover .rent-benefit-card__number,
.rent-benefit-card:focus-within .rent-benefit-card__number{
  background:rgba(23,59,108,.06) !important;
  color:var(--blue-800) !important;
}

/* Mantener hover oscuro SOLO en Soluciones tecnológicas para tu operación diaria */
.solutions-grid .card--solution:hover,
.solutions-grid .card--solution:focus-within{
  background:var(--blue-800) !important;
  border-color:var(--blue-800) !important;
  box-shadow:0 22px 42px rgba(12,34,64,.18) !important;
  transform:translateY(-4px) !important;
}
.solutions-grid .card--solution:hover h3,
.solutions-grid .card--solution:focus-within h3,
.solutions-grid .card--solution:hover p,
.solutions-grid .card--solution:focus-within p,
.solutions-grid .card--solution:hover .card--solution__icon,
.solutions-grid .card--solution:focus-within .card--solution__icon,
.solutions-grid .card--solution:hover .card--solution__icon *,
.solutions-grid .card--solution:focus-within .card--solution__icon *{
  color:#fff !important;
  stroke:currentColor !important;
}
.solutions-grid .card--solution:hover .card--solution__icon,
.solutions-grid .card--solution:focus-within .card--solution__icon{
  background:transparent !important;
  box-shadow:none !important;
}
.solutions-grid .card--solution:hover .card--solution__accent,
.solutions-grid .card--solution:focus-within .card--solution__accent{
  background:#fff !important;
}
.solutions-grid .card--solution:hover .btn-solution,
.solutions-grid .card--solution:focus-within .btn-solution{
  background:transparent !important;
  border-color:rgba(255,255,255,.86) !important;
  color:#fff !important;
}

/* v39-20 - Botones rojos sobre fondos no blancos: texto blanco */
.hero .btn-primary:not(.header-cta),
.hero a.btn-primary:not(.header-cta),
.hero button.btn-primary:not(.header-cta),
.cta-banner .btn-primary,
.cta-banner a.btn-primary,
.cta-banner button.btn-primary,
.form-banner .btn-primary,
.form-banner a.btn-primary,
.form-banner button.btn-primary,
.form-card--dark .btn-primary,
.form-card--dark button.btn-primary,
.glass-card .btn-primary,
.service-card .btn-primary,
.site-footer .btn-primary,
.site-footer a.btn-primary,
.footer .btn-primary,
.section-dark .btn-primary,
.dark-section .btn-primary,
.section-clients .btn-primary,
.client-section .btn-primary,
[class*="--dark"] .btn-primary:not(.header-cta){
  color:#fff !important;
}

.hero .btn-primary:not(.header-cta):hover,
.cta-banner .btn-primary:hover,
.form-banner .btn-primary:hover,
.form-card--dark .btn-primary:hover,
.glass-card .btn-primary:hover,
.service-card .btn-primary:hover,
.site-footer .btn-primary:hover,
.footer .btn-primary:hover,
.section-dark .btn-primary:hover,
.dark-section .btn-primary:hover,
.section-clients .btn-primary:hover,
.client-section .btn-primary:hover,
[class*="--dark"] .btn-primary:not(.header-cta):hover{
  color:#fff !important;
}

/* v39-22 - Animación de borde desde la izquierda en botones outline */
.btn.btn-primary:not(.header-cta),
a.btn.btn-primary:not(.header-cta),
button.btn.btn-primary:not(.header-cta),
.btn.btn-outline,
a.btn.btn-outline,
button.btn.btn-outline,
.header-cta.btn-primary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.btn.btn-primary:not(.header-cta)::before,
a.btn.btn-primary:not(.header-cta)::before,
button.btn.btn-primary:not(.header-cta)::before,
.btn.btn-outline::before,
a.btn.btn-outline::before,
button.btn.btn-outline::before,
.header-cta.btn-primary::before{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid currentColor;
  border-radius:inherit;
  pointer-events:none;
  transform:scaleX(0);
  transform-origin:left center;
  opacity:0;
  transition:transform .38s cubic-bezier(.22,1,.36,1), opacity .18s ease;
  z-index:1;
}

.btn.btn-primary:not(.header-cta):hover::before,
a.btn.btn-primary:not(.header-cta):hover::before,
button.btn.btn-primary:not(.header-cta):hover::before,
.btn.btn-primary:not(.header-cta):focus-visible::before,
.btn.btn-outline:hover::before,
a.btn.btn-outline:hover::before,
button.btn.btn-outline:hover::before,
.btn.btn-outline:focus-visible::before,
.header-cta.btn-primary:hover::before,
.header-cta.btn-primary:focus-visible::before{
  transform:scaleX(1);
  opacity:1;
}

.btn.btn-primary:not(.header-cta):hover,
a.btn.btn-primary:not(.header-cta):hover,
button.btn.btn-primary:not(.header-cta):hover,
.btn.btn-outline:hover,
a.btn.btn-outline:hover,
button.btn.btn-outline:hover,
.header-cta.btn-primary:hover{
  border-color:transparent !important;
}

.btn.btn-primary:not(.header-cta) > *,
a.btn.btn-primary:not(.header-cta) > *,
button.btn.btn-primary:not(.header-cta) > *,
.btn.btn-outline > *,
a.btn.btn-outline > *,
button.btn.btn-outline > *,
.header-cta.btn-primary > *{
  position:relative;
  z-index:2;
}

/* Anula el pseudo-borde anterior: el borde debe quedarse fijo */
.btn.btn-primary:not(.header-cta)::before,
a.btn.btn-primary:not(.header-cta)::before,
button.btn.btn-primary:not(.header-cta)::before,
.btn.btn-outline::before,
a.btn.btn-outline::before,
button.btn.btn-outline::before,
.header-cta.btn-primary::before{
  content:none !important;
  display:none !important;
}/* El movimiento ahora es únicamente del fondo,desde la izquierda */
.btn.btn-primary:not(.header-cta),a.btn.btn-primary:not(.header-cta),button.btn.btn-primary:not(.header-cta){
  --tmx-btn-fill: var(--red);
  background-color:transparent !important;
  background-image:linear-gradient(90deg,var(--tmx-btn-fill),var(--tmx-btn-fill)) !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:0% 100% !important;
  transition:background-size .46s cubic-bezier(.22,1,.36,1), color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}.btn.btn-primary:not(.header-cta):hover,a.btn.btn-primary:not(.header-cta):hover,button.btn.btn-primary:not(.header-cta):hover{
  background-color:transparent !important;
  background-image:linear-gradient(90deg,var(--tmx-btn-fill),var(--tmx-btn-fill)) !important;
  background-size:100% 100% !important;
  border-color:var(--red) !important;
  color:#fff !important;
}

.btn.btn-outline:not(.btn-solution),
a.btn.btn-outline:not(.btn-solution),
button.btn.btn-outline:not(.btn-solution){
  --tmx-btn-fill: var(--blue-800);
  background-color:transparent !important;
  background-image:linear-gradient(90deg,var(--tmx-btn-fill),var(--tmx-btn-fill)) !important;
  background-repeat:no-repeat !important;
  background-position:left center !important;
  background-size:0% 100% !important;
  transition:background-size .46s cubic-bezier(.22,1,.36,1), color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
}

.btn.btn-outline:not(.btn-solution):hover,
a.btn.btn-outline:not(.btn-solution):hover,
button.btn.btn-outline:not(.btn-solution):hover{
  background-color:transparent !important;
  background-image:linear-gradient(90deg,var(--tmx-btn-fill),var(--tmx-btn-fill)) !important;
  background-size:100% 100% !important;
  border-color:var(--tmx-btn-fill) !important;
  color:#fff !important;
}/* v39-28 - Animación de fondo más lenta y visible en botones outline/relleno */
.btn.btn-primary:not(.header-cta),a.btn.btn-primary:not(.header-cta),button.btn.btn-primary:not(.header-cta),.btn.btn-outline:not(.btn-solution),a.btn.btn-outline:not(.btn-solution),button.btn.btn-outline:not(.btn-solution){
  background-position:left center !important;
  background-size:0% 100% !important;
  transition:
    background-size .92s cubic-bezier(.42,0,.18,1) !important,
    color .28s ease !important,
    border-color .28s ease !important,
    box-shadow .28s ease !important,
    transform .28s ease !important;
}.btn.btn-primary:not(.header-cta):hover,a.btn.btn-primary:not(.header-cta):hover,button.btn.btn-primary:not(.header-cta):hover,.btn.btn-outline:not(.btn-solution):hover,a.btn.btn-outline:not(.btn-solution):hover,button.btn.btn-outline:not(.btn-solution):hover{
  background-size:100% 100% !important;
}

@media (prefers-reduced-motion: reduce){
  .btn.btn-primary:not(.header-cta),
  a.btn.btn-primary:not(.header-cta),
  button.btn.btn-primary:not(.header-cta),
  .btn.btn-outline:not(.btn-solution),
  a.btn.btn-outline:not(.btn-solution),
  button.btn.btn-outline:not(.btn-solution){
    transition:none !important;
  }
}

/* v39-30 - Nosotros: imagen igual al alto del contenido y sin métricas inferiores */
.hero--about-page .hero__inner--about-page{
  grid-template-columns:minmax(0,1fr) minmax(420px,520px);
  align-items:stretch !important;
  gap:64px;
}
.hero--about-page .hero__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero--about-page .about-photo-card{
  align-self:stretch !important;
  display:flex;
  width:100%;
  min-height:100%;
  margin:0;
  background:transparent;
}
.hero--about-page .about-photo-card img{
  width:100%;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
.hero--about-page .metric-inline{
  display:none !important;
}
@media (max-width:1060px){
  .hero--about-page .hero__inner--about-page{
    grid-template-columns:1fr;
    gap:32px;
  }
  .hero--about-page .about-photo-card{
    min-height:360px;
  }
  .hero--about-page .about-photo-card img{
    min-height:360px !important;
  }
}
@media (max-width:820px){
  .hero--about-page .about-photo-card,
  .hero--about-page .about-photo-card img{
    min-height:260px !important;
  }
}

/* v39-31 - Nosotros: alternancia de fondos + proceso/equipo rediseñados */
#proceso-atencion.about-process-section{
  background:#fff !important;
  border-top:1px solid rgba(23,59,108,.06);
  border-bottom:1px solid rgba(23,59,108,.06);
}
#equipo.about-team-section{
  background:linear-gradient(180deg,#eef4fa 0%,#f8fbff 100%) !important;
  border-top:1px solid rgba(23,59,108,.07);
  border-bottom:1px solid rgba(23,59,108,.07);
}
#proceso-atencion .section-head h2,
#equipo .section-head h2{
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-weight:600;
}
.about-process-grid,
.about-team-grid{
  align-items:stretch;
  gap:20px;
}
.about-process-grid > *,
.about-team-grid > *{
  height:100%;
}
.about-process-card,
.about-team-card{
  border-radius:5px !important;
}
.about-process-card{
  min-height:285px;
}
.about-team-card{
  min-height:255px;
}
.about-team-card h4{
  margin:0 0 12px;
  color:var(--blue-800);
  font-family:'Poppins',sans-serif;
  font-size:13px;
  line-height:1.25;
  font-weight:600;
}
.about-team-card:hover h4,
.about-team-card:focus-within h4{
  color:var(--blue-800) !important;
}
#equipo .sector-card__icon,
#proceso-atencion .rent-benefit-card__icon{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--blue-800) !important;
}
#equipo .sector-card__icon svg,
#proceso-atencion .rent-benefit-card__icon svg{
  width:34px !important;
  height:34px !important;
}
#equipo .sector-card:hover,
#equipo .sector-card:focus-within,
#proceso-atencion .rent-benefit-card:hover,
#proceso-atencion .rent-benefit-card:focus-within{
  background:#fff !important;
  border-color:rgba(23,59,108,.10) !important;
  box-shadow:0 16px 32px rgba(12,34,64,.08) !important;
  transform:translateY(-2px) !important;
}
#equipo .sector-card:hover .sector-card__icon,
#equipo .sector-card:focus-within .sector-card__icon,
#proceso-atencion .rent-benefit-card:hover .rent-benefit-card__icon,
#proceso-atencion .rent-benefit-card:focus-within .rent-benefit-card__icon{
  color:var(--blue-800) !important;
  background:transparent !important;
}
#equipo .sector-card:hover h3,
#equipo .sector-card:focus-within h3,
#proceso-atencion .rent-benefit-card:hover h3,
#proceso-atencion .rent-benefit-card:focus-within h3{
  color:var(--blue-950) !important;
}
#equipo .sector-card:hover p,
#equipo .sector-card:focus-within p,
#proceso-atencion .rent-benefit-card:hover p,
#proceso-atencion .rent-benefit-card:focus-within p{
  color:#4D6485 !important;
}
#proceso-atencion .rent-benefit-card:hover .rent-benefit-card__number,
#proceso-atencion .rent-benefit-card:focus-within .rent-benefit-card__number{
  background:rgba(23,59,108,.06) !important;
  color:var(--blue-800) !important;
}
#equipo .sector-card:hover::before,
#equipo .sector-card:focus-within::before,
#proceso-atencion .rent-benefit-card:hover::before,
#proceso-atencion .rent-benefit-card:focus-within::before{
  width:86px !important;
  background:linear-gradient(90deg,var(--blue-800),#2E86FF) !important;
}
@media (max-width:1180px){
  .about-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .about-process-grid,
  .about-team-grid{
    grid-template-columns:1fr;
  }
  .about-process-card,
  .about-team-card{
    min-height:auto;
  }
}

/* v39-32 - Nosotros: Misión / Visión / Enfoque en carrusel */
#valores .about-mvv-carousel{
  max-width:980px;
  margin:34px auto 28px;
  position:relative;
}
#valores .about-mvv-carousel__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
#valores .about-mvv-carousel__counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border:1px solid rgba(23,59,108,.12);
  background:#fff;
  color:var(--blue-800);
  border-radius:5px;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:600;
  letter-spacing:.08em;
}
#valores .about-mvv-carousel__controls{
  display:flex;
  align-items:center;
  gap:10px;
}
#valores .about-mvv-carousel__arrow{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:5px;
  border:1px solid rgba(23,59,108,.16);
  background:#fff;
  color:var(--blue-800);
  font-size:30px;
  line-height:1;
  font-weight:300;
  cursor:pointer;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
#valores .about-mvv-carousel__arrow:hover,
#valores .about-mvv-carousel__arrow:focus-visible{
  background:var(--blue-800);
  border-color:var(--blue-800);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(12,34,64,.14);
}
#valores .about-mvv-carousel__viewport{
  overflow:hidden;
  border-radius:5px;
}
#valores .about-mvv-carousel__track{
  display:flex;
  width:100%;
  transform:translateX(0);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
#valores .about-mvv-card{
  flex:0 0 100%;
  min-height:300px;
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:28px;
  align-items:center;
  padding:38px 42px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  border-radius:5px;
  box-shadow:0 18px 38px rgba(12,34,64,.08);
}
#valores .about-mvv-card__number{
  width:96px;
  height:96px;
  display:grid;
  place-items:center;
  border-radius:5px;
  background:rgba(23,59,108,.06);
  color:var(--blue-800);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:34px;
  line-height:1;
  font-weight:600;
  letter-spacing:-.04em;
}
#valores .about-mvv-card h3{
  margin:0 0 10px;
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:clamp(30px,3vw,46px);
  line-height:1;
  font-weight:600;
  letter-spacing:-.04em;
}
#valores .about-mvv-card h4{
  margin:0 0 18px;
  color:var(--blue-800);
  font-family:'Poppins',sans-serif;
  font-size:17px;
  line-height:1.35;
  font-weight:600;
}
#valores .about-mvv-card p{
  max-width:660px;
  margin:0;
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-size:17px;
  line-height:1.65;
  font-weight:400;
}
#valores .about-mvv-carousel__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin-top:16px;
}
#valores .about-mvv-carousel__dots button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(23,59,108,.20);
  cursor:pointer;
  transition:width .25s ease,background .25s ease;
}
#valores .about-mvv-carousel__dots button.is-active{
  width:30px;
  background:var(--blue-800);
}
#valores .grid-gap-sm.top-space-sm{
  margin-top:28px !important;
}
@media (max-width:820px){
  #valores .about-mvv-carousel{
    margin-top:26px;
  }
  #valores .about-mvv-card{
    grid-template-columns:1fr;
    gap:18px;
    min-height:auto;
    padding:26px 22px;
  }
  #valores .about-mvv-card__number{
    width:64px;
    height:64px;
    font-size:22px;
  }
  #valores .about-mvv-card h3{
    font-size:32px;
  }
  #valores .about-mvv-card p{
    font-size:15.5px;
  }
}

/* v39-33 - Nosotros: refinamiento Por qué TECNIMAX */
.about-why-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,rgba(232,237,243,.42) 100%);
  border-top:1px solid rgba(23,59,108,.07);
}
.about-why-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%,rgba(46,134,255,.10),transparent 34rem);
  pointer-events:none;
}
.about-why-section .container{
  position:relative;
  z-index:1;
}
.about-why-section .section-head{
  margin-bottom:38px;
}
.about-why-section .section-head h2{
  max-width:760px;
  margin-inline:auto;
  color:var(--blue-950);
  font-weight:600;
}
.about-why-section .section-head p{
  max-width:720px;
  color:#516986;
  font-weight:400;
}
.about-why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}
.about-why-card{
  position:relative;
  min-height:256px;
  display:flex;
  flex-direction:column;
  padding:28px 26px 26px;
  overflow:hidden;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,59,108,.10);
  border-radius:5px;
  box-shadow:0 18px 36px rgba(12,34,64,.065);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.about-why-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--blue-800),#2E86FF);
  opacity:.92;
}
.about-why-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:rgba(23,59,108,.04);
  pointer-events:none;
}
.about-why-card:hover,
.about-why-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(23,59,108,.20);
  box-shadow:0 24px 48px rgba(12,34,64,.10);
  background:#fff;
}
.about-why-card__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}
.about-why-card__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:var(--blue-800);
  background:transparent !important;
  box-shadow:none !important;
}
.about-why-card__icon svg{
  width:38px;
  height:38px;
  display:block;
  stroke:currentColor;
}
.about-why-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:32px;
  padding:0 10px;
  border:1px solid rgba(23,59,108,.12);
  border-radius:999px;
  color:var(--blue-800);
  background:rgba(23,59,108,.035);
  font-family:'Poppins',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:600;
  letter-spacing:.05em;
}
.about-why-card h3{
  position:relative;
  z-index:1;
  margin:0 0 12px;
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:23px;
  line-height:1.14;
  font-weight:600;
  letter-spacing:-.025em;
}
.about-why-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-size:15.5px;
  line-height:1.62;
  font-weight:400;
}
@media (max-width:1060px){
  .about-why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .about-why-grid{
    grid-template-columns:1fr;
  }
  .about-why-card{
    min-height:auto;
    padding:24px 20px 22px;
  }
  .about-why-card__top{
    margin-bottom:18px;
  }
  .about-why-card h3{
    font-size:21px;
  }
  .about-why-card p{
    font-size:15px;
  }
}

/* =========================================================
   v39-35 - Contacto: formulario simplificado + mapa amplio
   ========================================================= */
.page-template-page-contacto #cotizacion .split-layout--form,
body.page-template-page-contacto #cotizacion .split-layout--form,
#cotizacion .split-layout--form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:36px;
  align-items:stretch;
}

.contact-quote-head{
  max-width:640px;
  margin-bottom:28px;
}

.page-template-page-contacto .contact-quote-form,
.contact-quote-form{
  display:grid;
  gap:18px;
  padding:28px;
  border-radius:5px;
  border:1px solid rgba(23,59,108,.10);
  background:#fff;
  box-shadow:0 18px 38px rgba(12,34,64,.07);
}

.contact-form-stack{
  display:grid;
  gap:14px;
}

.contact-field-group{
  display:grid;
  gap:8px;
  margin:0;
}

.contact-field-group > span{
  display:block;
  color:var(--blue-800);
  font-family:'Poppins',sans-serif;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-quote-form .field{
  min-height:52px;
  border-radius:5px;
  border-color:rgba(23,59,108,.14);
  color:var(--blue-950);
  font-family:'Poppins',sans-serif;
  font-size:14px;
  font-weight:400;
  background:#fff;
}

.contact-quote-form .field:focus{
  border-color:var(--blue-800);
  box-shadow:0 0 0 4px rgba(23,59,108,.08);
}

.contact-quote-form select.field{
  appearance:auto;
  color:#607794;
}

.contact-quote-form .btn{
  width:100%;
  min-height:52px;
  margin-top:2px;
}

.page-template-page-contacto .contact-side--map-only,
body.page-template-page-contacto .contact-side--map-only,
.split-layout--form > .contact-side--map-only{
  display:flex;
  align-self:stretch;
  margin-top:0;
}

.page-template-page-contacto .contact-info-card,
body.page-template-page-contacto .contact-info-card{
  display:none !important;
}

.contact-map-card--large{
  width:100%;
  height:100%;
  flex:1 1 auto;
  overflow:hidden;
  border-radius:5px;
  border:1px solid rgba(23,59,108,.10);
  background:#fff;
  box-shadow:0 18px 38px rgba(12,34,64,.07);
}

.contact-map-card--large iframe{
  width:100%;
  height:100%;
  min-height:100%;
  display:block;
  border:0;
}

@media (max-width:1060px){
  .page-template-page-contacto #cotizacion .split-layout--form,
  body.page-template-page-contacto #cotizacion .split-layout--form,
  #cotizacion .split-layout--form{
    grid-template-columns:1fr;
  }
  .page-template-page-contacto .contact-side--map-only,
  body.page-template-page-contacto .contact-side--map-only,
  .split-layout--form > .contact-side--map-only{
    margin-top:0;
  }
  .contact-map-card--large iframe{
    min-height:420px;
  }
}

@media (max-width:720px){
  .contact-quote-form{
    padding:20px;
  }
  .contact-map-card--large iframe{
    min-height:320px;
  }
}

/* =========================================================
   v39-36 - Contacto: canales con estructura de minicards home
   ========================================================= */
.page-template-page-contacto #canales.contact-channels-section,
body.page-template-page-contacto #canales.contact-channels-section,
#canales.contact-channels-section{
  background:#fff;
  border-top:1px solid rgba(23,59,108,.07);
  border-bottom:1px solid rgba(23,59,108,.07);
}

.contact-channel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

.contact-channel-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  min-height:205px;
  padding:26px 24px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  border-radius:5px;
  box-shadow:0 16px 34px rgba(12,34,64,.07);
  color:var(--blue-800);
  overflow:hidden;
  transition:background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease,transform .28s ease;
}

.contact-channel-card:hover,
.contact-channel-card:focus-within{
  background:var(--blue-800);
  border-color:var(--blue-800);
  color:#fff;
  box-shadow:0 22px 44px rgba(12,34,64,.18);
  transform:translateY(-2px);
}

.contact-channel-card__icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  color:var(--blue-800);
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transition:color .28s ease,transform .28s ease;
}

.contact-channel-card__icon svg{
  width:34px;
  height:34px;
  stroke:currentColor;
}

.contact-channel-card:hover .contact-channel-card__icon,
.contact-channel-card:focus-within .contact-channel-card__icon{
  color:#fff !important;
  transform:scale(1.04);
}

.contact-channel-card__body{
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
}

.contact-channel-card__body h3{
  margin:0;
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:21px;
  line-height:1.18;
  font-weight:600;
  letter-spacing:-.02em;
  transition:color .28s ease;
}

.contact-channel-card__body p{
  margin:0;
  color:#536985;
  font-family:'Poppins',sans-serif;
  font-size:15px;
  line-height:1.55;
  font-weight:400;
  transition:color .28s ease;
}

.contact-channel-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:12px;
  color:var(--blue-800);
  font-family:'Poppins',sans-serif;
  font-size:13px;
  line-height:1;
  font-weight:600;
  transition:color .28s ease,transform .28s ease;
}

.contact-channel-card__link::after{
  content:"→";
  transition:transform .25s ease;
}

.contact-channel-card__link:hover::after{
  transform:translateX(4px);
}

.contact-channel-card:hover h3,
.contact-channel-card:focus-within h3,
.contact-channel-card:hover p,
.contact-channel-card:focus-within p,
.contact-channel-card:hover .contact-channel-card__link,
.contact-channel-card:focus-within .contact-channel-card__link{
  color:#fff !important;
}

@media (max-width:1060px){
  .contact-channel-grid{
    grid-template-columns:1fr;
  }
  .contact-channel-card{
    min-height:auto;
  }
}

@media (max-width:640px){
  .contact-channel-card{
    padding:22px 18px;
    gap:14px;
  }
  .contact-channel-card__icon{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .contact-channel-card__icon svg{
    width:30px;
    height:30px;
  }
}

/* =========================================================
   v39-37 - Contacto: proceso refinado
   ========================================================= */
#proceso.contact-process-section{
  background:linear-gradient(180deg,#eef4fa 0%,#f8fbff 100%) !important;
  border-top:1px solid rgba(23,59,108,.07);
  border-bottom:1px solid rgba(23,59,108,.07);
}

#proceso.contact-process-section .section-head p{
  max-width:680px;
  color:#516986;
  font-weight:400;
}

.contact-process-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
  max-width:1180px;
  margin:0 auto;
}

.contact-process-grid::before{
  content:"";
  position:absolute;
  left:42px;
  right:42px;
  top:54px;
  height:1px;
  background:linear-gradient(90deg,rgba(244,180,0,.20),rgba(23,59,108,.18),rgba(244,180,0,.20));
  pointer-events:none;
}

.contact-process-card{
  position:relative;
  z-index:1;
  min-height:252px;
  display:flex;
  flex-direction:column;
  padding:28px 24px 26px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  border-radius:5px;
  box-shadow:0 18px 36px rgba(12,34,64,.065);
  transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease,background .26s ease;
}

.contact-process-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:92px;
  height:4px;
  background:linear-gradient(90deg,var(--blue-800),#2E86FF);
  transition:width .32s ease;
}

.contact-process-card::after{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-34px;
  width:118px;
  height:118px;
  border-radius:999px;
  background:rgba(23,59,108,.04);
  pointer-events:none;
}

.contact-process-card:hover,
.contact-process-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(23,59,108,.20);
  box-shadow:0 24px 48px rgba(12,34,64,.10);
  background:#fff;
}

.contact-process-card:hover::before,
.contact-process-card:focus-within::before{
  width:100%;
}

.contact-process-card__top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:30px;
}

.contact-process-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:32px;
  padding:0 12px;
  border:1px solid rgba(23,59,108,.12);
  border-radius:999px;
  color:var(--blue-800);
  background:rgba(23,59,108,.045);
  font-family:'Poppins',sans-serif;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.05em;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}

.contact-process-card:hover .contact-process-card__number,
.contact-process-card:focus-within .contact-process-card__number{
  background:var(--blue-800);
  border-color:var(--blue-800);
  color:#fff;
}

.contact-process-card__icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  color:var(--blue-800);
  background:transparent !important;
  box-shadow:none !important;
}

.contact-process-card__icon svg{
  width:40px;
  height:40px;
  display:block;
  stroke:currentColor;
}

.contact-process-card h3{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  color:var(--blue-950);
  font-family:'Gilroy','Poppins',sans-serif;
  font-size:22px;
  line-height:1.14;
  font-weight:600;
  letter-spacing:-.025em;
}

.contact-process-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#4D6485;
  font-family:'Poppins',sans-serif;
  font-size:15px;
  line-height:1.62;
  font-weight:400;
}

@media (max-width:1180px){
  .contact-process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .contact-process-grid::before{
    display:none;
  }
}

@media (max-width:720px){
  .contact-process-grid{
    grid-template-columns:1fr;
  }
  .contact-process-card{
    min-height:auto;
    padding:24px 20px;
  }
  .contact-process-card__top{
    margin-bottom:22px;
  }
  .contact-process-card h3{
    font-size:20px;
  }
}
.tmx-crumbs{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:30px;
  color:#5e7393;
  font-family:'Poppins',sans-serif;
  font-size:14px;
}
.tmx-crumbs a{
  color:#5e7393;
  text-decoration:none;
}
.tmx-crumbs span:last-child{
  color:#ff7f1e;
}
.tmx-gallery-main{
  min-height:560px;
  border:1px solid rgba(18,40,77,.12);
  background:#fff;
  border-radius:10px;
  padding:28px;
  display:grid;
  place-items:center;
}
.tmx-gallery-main img{
  width:100%;
  height:100%;
  max-height:500px;
  object-fit:contain;
}
.tmx-gallery-thumbs{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.tmx-gallery-thumb{
  width:100%;
  border:1px solid rgba(18,40,77,.12);
  background:#fff;
  border-radius:10px;
  padding:10px;
  min-height:110px;
  cursor:pointer;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.tmx-gallery-thumb img{
  width:100%;
  height:88px;
  object-fit:contain;
}
.tmx-gallery-thumb:hover,
.tmx-gallery-thumb.is-active{
  border-color:rgba(42,120,243,.45);
  box-shadow:0 12px 24px rgba(18,40,77,.10);
  transform:translateY(-1px);
}
@media (max-width: 1100px){
  .tmx-gallery-main{
    min-height:460px;
  }
}
@media (max-width: 767px){
  .tmx-gallery-thumbs{
    flex-direction:row;
    overflow:auto;
    padding-bottom:4px;
  }
  .tmx-gallery-thumb{
    min-width:94px;
    min-height:94px;
  }
  .tmx-gallery-main{
    min-height:320px;
    padding:18px;
  }
}/* v39-55 - Header carrito sin sombra + beneficios sin corte */
.header-cta .btn,.header-cta .btn-primary{
  box-shadow:none !important;
}


/* v39-57 - correcciones producto: imagen completa, carrito sin sombra, IGV */
html body .site-header .header-cta.btn,
html body .site-header .header-cta.btn-primary,
html body .site-header a.header-cta.btn.btn-primary,
html body .header-cta.btn,
html body .header-cta.btn-primary{
  box-shadow:none !important;
  filter:none !important;
}
html body .site-header .header-cta.btn:hover,
html body .site-header .header-cta.btn-primary:hover,
html body .site-header a.header-cta.btn.btn-primary:hover,
html body .header-cta.btn:hover,
html body .header-cta.btn-primary:hover{
  box-shadow:none !important;
  filter:none !important;
}
html body .site-header .header-cta.btn::before,
html body .site-header .header-cta.btn-primary::before,
html body .header-cta.btn::before,
html body .header-cta.btn-primary::before{
  box-shadow:none !important;
}/* v39-58 - carrito,alerta,IGV e imagen producto */
.site-header .header-cta,.site-header .header-cta.btn,.site-header .header-cta.btn-primary{
  box-shadow:none !important;
  filter:none !important;
}

body.single-product .tmx-woo-notices{
  max-width:1180px !important;
  margin:18px auto 0 !important;
  padding:0 24px !important;
}body.single-product .tmx-woo-notices .button{
  display:none !important;
}/* v39-59 - producto 50/50 y sin alerta */
body.single-product .tmx-woo-notices{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
}


/* =========================================================
   NAVBAR v40 — REESCRITA DESDE CERO (fuente única)
   Reemplaza todas las reglas de navbar anteriores del tema.
   Al ir al final del archivo, gobierna el resultado final.
   ========================================================= */

/* ---------- 1. Cabecera principal (escritorio) ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:900;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(23,59,108,.08);
}
.site-header__inner{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{display:inline-flex;align-items:center}
.brand__logo{height:38px;width:auto;display:block}

.site-header .nav{
  display:flex;
  align-items:center;
  gap:28px;
  color:#4f6480;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:500;
}
.site-header .nav .tecnimax-nav__link,
.site-header .nav > a{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 0;
  color:#4f6480;
  transition:color .2s ease;
}
.site-header .nav .tecnimax-nav__link::after,
.site-header .nav > a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:2px;
  border-radius:999px;
  background:var(--yellow);
  transition:width .25s ease;
}
.site-header .nav .tecnimax-nav__link:hover,
.site-header .nav > a:hover{color:var(--blue-800)}
.site-header .nav .tecnimax-nav__link:hover::after,
.site-header .nav > a:hover::after{width:100%}

/* Estado activo */
.site-header .nav .is-active,
.site-header .nav .tecnimax-nav__link.is-active{color:var(--blue-800);font-weight:700}
.site-header .nav .is-active::after,
.site-header .nav .tecnimax-nav__link.is-active::after{width:100%}

/* ---------- 2. Dropdown (Alquiler) ---------- */
.nav-dropdown{position:relative;display:inline-flex}
.nav-dropdown__chevron{
  font-size:15px;line-height:1;
  transition:transform .25s ease;
}
.nav-dropdown:hover .nav-dropdown__chevron,
.nav-dropdown:focus-within .nav-dropdown__chevron{transform:rotate(180deg)}
.nav-dropdown__menu{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%) translateY(-8px);
  min-width:200px;
  display:grid;
  gap:4px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(23,59,108,.10);
  box-shadow:var(--shadow-soft);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:20;
}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown__menu a{
  padding:10px 12px;
  border-radius:10px;
  color:#4f6480;
  font-size:14px;
  font-weight:600;
  transition:background .2s ease,color .2s ease;
}
.nav-dropdown__menu a:hover{background:rgba(46,134,255,.08);color:var(--blue-800)}

/* ---------- 3. Botón CTA ---------- */
.site-header .header-cta{white-space:nowrap}

/* ---------- 4. Hamburguesa ---------- */
.menu-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:12px;
  border:1px solid rgba(23,59,108,.14);
  background:#fff;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  cursor:pointer;
  position:relative;z-index:960;
}
.menu-toggle span{
  width:20px;height:2px;border-radius:999px;background:var(--blue-800);
  transition:transform .25s ease, opacity .2s ease;
}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- 5. Variante compacta para TIENDA ---------- */
.site-header--shop{--header-h:60px}
.site-header--shop .brand__logo{height:30px}
.site-header--shop .site-header__inner{min-height:60px}
.site-header--shop .nav{gap:22px;font-size:13px}



/* ---------- 7. Menú MÓVIL — tarjeta desplegable (position:absolute) ----------
   Se posiciona relativo al header sticky (top:100% => queda DEBAJO del header).
   NO usa position:fixed: el header tiene backdrop-filter y atraparía al fixed
   dentro de sus ~60px, colapsándolo en una cajita con scroll. absolute evita eso.
------------------------------------------------------------------------------- */
@media (max-width:820px){
  :root{--header-h:66px}
  .site-header--shop{--header-h:60px}

  .site-header .header-cta{display:none !important}
  .menu-toggle{display:inline-flex !important}

  .site-header .nav{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    z-index:200 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:10px !important;
    margin:0 !important;
    padding:16px !important;
    max-height:calc(100vh - 120px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%) !important;
    border:1px solid rgba(23,59,108,.10) !important;
    box-shadow:0 24px 60px rgba(12,34,64,.18) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-10px) !important;
    pointer-events:none !important;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  }
  .site-header .nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
  .site-header .nav::before{
    content:"Menú";
    display:block;
    margin:2px 2px 2px;
    color:#6b7b91;
    font-size:12px;font-weight:800;
    letter-spacing:.12em;text-transform:uppercase;
  }

  /* Enlaces como tarjetas */
  .site-header .nav .tecnimax-nav__link,
  .site-header .nav > a,
  .site-header .nav .nav-dropdown__trigger{
    width:100% !important;
    min-height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:0 16px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    border:1px solid rgba(23,59,108,.10) !important;
    box-shadow:0 6px 16px rgba(12,34,64,.05) !important;
    color:#173B6C !important;
    font-size:15px !important;font-weight:650 !important;
  }
  .site-header .nav .tecnimax-nav__link::after,
  .site-header .nav > a::after{display:none !important}
  .site-header .nav .tecnimax-nav__link:hover,
  .site-header .nav > a:hover{background:#f1f6ff !important;border-color:rgba(46,134,255,.20) !important}
  .site-header .nav .is-active,
  .site-header .nav .tecnimax-nav__link.is-active{
    background:#eef5ff !important;border-color:rgba(46,134,255,.24) !important;
  }

  /* Dropdown desplegado en línea */
  .site-header .nav .nav-dropdown{
    position:static !important;width:100% !important;
    display:grid !important;gap:8px !important;
  }
  .site-header .nav .nav-dropdown__chevron{transform:rotate(180deg) !important}
  .site-header .nav .nav-dropdown__menu{
    position:static !important;transform:none !important;
    opacity:1 !important;visibility:visible !important;pointer-events:auto !important;
    display:grid !important;gap:6px !important;min-width:0 !important;
    margin:0 !important;padding:8px !important;border-radius:14px !important;
    background:#edf4ff !important;box-shadow:none !important;
  }
  .site-header .nav .nav-dropdown__menu a{
    min-height:46px !important;display:flex !important;align-items:center !important;
    background:#fff !important;border:1px solid rgba(23,59,108,.06) !important;
    border-radius:10px !important;box-shadow:none !important;
    color:#4f6480 !important;font-size:14px !important;font-weight:600 !important;
  }
}

/* =========================================================
   NAVBAR v43.1 - Menú móvil con overlay gris y radio 5px
   Punto de partida: v43-navbar-fix-final
   ========================================================= */
@media (max-width:820px){
  html body.tmx-mobile-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }
  html body.tmx-mobile-menu-open::before{
    content:"";
    position:fixed;
    top:var(--header-h);
    left:0;
    right:0;
    bottom:0;
    z-index:880;
    background:rgba(8,20,36,.58);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    pointer-events:none;
  }
  html body .site-header{
    z-index:1000 !important;
  }
  html body .site-header .site-header__inner{
    position:relative !important;
  }
  html body .site-header .menu-toggle{
    display:inline-flex !important;
    border-radius:5px !important;
    z-index:1010 !important;
  }
  html body .site-header .header-cta{
    display:none !important;
  }
  html body .site-header .nav{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:8px !important;
    right:8px !important;
    width:auto !important;
    height:calc(100dvh - var(--header-h) - 24px) !important;
    max-height:none !important;
    z-index:1005 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    align-content:start !important;
    gap:0 !important;
    margin:0 !important;
    padding:16px !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    border-radius:5px !important;
    background:#ffffff !important;
    border:1px solid rgba(23,59,108,.10) !important;
    box-shadow:0 24px 70px rgba(4,16,34,.28) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    transition:opacity .22s ease, transform .22s ease, visibility .22s ease !important;
  }
  html body .site-header .nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
  html body .site-header .nav::before{
    content:"Men\00fa";
    display:block;
    padding:0 4px 12px !important;
    margin:0 !important;
    color:#72839a !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
  }
  html body .site-header .nav .tecnimax-nav__link,
  html body .site-header .nav > a,
  html body .site-header .nav .nav-dropdown__trigger{
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:0 12px !important;
    border-radius:5px !important;
    background:transparent !important;
    border:0 !important;
    border-bottom:1px solid rgba(23,59,108,.08) !important;
    box-shadow:none !important;
    color:#173B6C !important;
    font-size:15px !important;
    font-weight:650 !important;
  }
  html body .site-header .nav .tecnimax-nav__link::after,
  html body .site-header .nav > a::after{
    display:none !important;
  }
  html body .site-header .nav .tecnimax-nav__link:hover,
  html body .site-header .nav > a:hover,
  html body .site-header .nav .nav-dropdown__trigger:hover{
    background:#f1f6ff !important;
    color:#0A3976 !important;
  }
  html body .site-header .nav .is-active,
  html body .site-header .nav .tecnimax-nav__link.is-active{
    background:#edf4ff !important;
    color:#0A3976 !important;
    border-color:rgba(46,134,255,.22) !important;
  }
  html body .site-header .nav .nav-dropdown{
    position:static !important;
    width:100% !important;
    display:grid !important;
    gap:8px !important;
  }
  html body .site-header .nav .nav-dropdown__chevron{
    transform:rotate(180deg) !important;
  }
  html body .site-header .nav .nav-dropdown__menu{
    position:static !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    display:grid !important;
    gap:6px !important;
    min-width:0 !important;
    margin:0 0 8px !important;
    padding:8px !important;
    border-radius:5px !important;
    background:#f3f6fb !important;
    border:1px solid rgba(23,59,108,.08) !important;
    box-shadow:none !important;
  }
  html body .site-header .nav .nav-dropdown__menu a{
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 12px !important;
    background:#fff !important;
    border:1px solid rgba(23,59,108,.06) !important;
    border-radius:5px !important;
    box-shadow:none !important;
    color:#4f6480 !important;
    font-size:14px !important;
    font-weight:600 !important;
  }
}
@supports not (height:100dvh){
  @media (max-width:820px){
    html body .site-header .nav{
      height:calc(100vh - var(--header-h) - 24px) !important;
    }
  }
}


/* =========================================================
   NAVBAR v43.2 - Móvil compacto, dropdown cerrado y flecha limpia
   ========================================================= */
@media (max-width:820px){
  html body .site-header .nav{
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - var(--header-h) - 24px) !important;
    border-radius:5px !important;
  }
  html body .site-header .nav .nav-dropdown{gap:0 !important;}
  html body .site-header .nav .nav-dropdown__chevron{
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:5px !important;
    background:#f3f7ff !important;
    border:1px solid rgba(23,59,108,.12) !important;
    color:#173B6C !important;
    line-height:0 !important;
    transform:none !important;
    transition:transform .2s ease, background .2s ease !important;
  }
  html body .site-header .nav .nav-dropdown__chevron svg{
    width:13px !important;
    height:13px !important;
    display:block !important;
    stroke:currentColor !important;
  }
  html body .site-header .nav .nav-dropdown.is-mobile-open .nav-dropdown__chevron{
    transform:rotate(180deg) !important;
    background:#eaf2ff !important;
  }
  html body .site-header .nav .nav-dropdown__menu,
  html body .site-header .nav .nav-dropdown:hover .nav-dropdown__menu,
  html body .site-header .nav .nav-dropdown:focus-within .nav-dropdown__menu{
    display:none !important;
    margin:8px 0 10px !important;
    border-radius:5px !important;
  }
  html body .site-header .nav .nav-dropdown.is-mobile-open .nav-dropdown__menu,
  html body .site-header .nav .nav-dropdown.is-mobile-open:hover .nav-dropdown__menu,
  html body .site-header .nav .nav-dropdown.is-mobile-open:focus-within .nav-dropdown__menu{
    display:grid !important;
  }
  html body .site-header .nav .nav-dropdown__menu::before{display:none !important;}
}
@supports not (height:100dvh){
  @media (max-width:820px){
    html body .site-header .nav{max-height:calc(100vh - var(--header-h) - 24px) !important;}
  }
}

/* =========================================================
   NAVBAR v43.3 - Flecha desktop limpia
   Evita doble flecha: antes el span dibujaba una flecha con borde
   y además contenía un SVG. Se deja solo el SVG.
   ========================================================= */
@media (min-width:821px){
  html body .site-header .nav .nav-dropdown__trigger{
    gap:6px !important;
  }
  html body .site-header .nav .nav-dropdown__chevron{
    width:14px !important;
    height:14px !important;
    flex:0 0 14px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:currentColor !important;
    font-size:0 !important;
    line-height:0 !important;
    opacity:.78 !important;
    transform:none !important;
    transition:transform .2s ease, opacity .2s ease !important;
  }
  html body .site-header .nav .nav-dropdown__chevron::before,
  html body .site-header .nav .nav-dropdown__chevron::after{
    content:none !important;
    display:none !important;
  }
  html body .site-header .nav .nav-dropdown__chevron svg{
    width:14px !important;
    height:14px !important;
    display:block !important;
    stroke:currentColor !important;
  }
  html body .site-header .nav .nav-dropdown:hover .nav-dropdown__chevron,
  html body .site-header .nav .nav-dropdown:focus-within .nav-dropdown__chevron{
    transform:rotate(180deg) !important;
    opacity:1 !important;
  }
}

/* =========================================================
   v43.6 - Carrito igual al mockup + cotización por WhatsApp
   ========================================================= */
body.admin-bar .site-header{
  top:32px !important;
}
@media (max-width:782px){
  body.admin-bar .site-header{top:46px !important;}
}

/* =========================================================
   v43.10 - Home responsive hard fix
   Evita desbordes horizontales en el hero y sus minicards.
   ========================================================= */
@media (max-width:820px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.home main,
  body.home .hero--home,
  .hero--home{
    width:100% !important;
    max-width:100vw !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.home .site-header .site-header__inner{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero--home .container,
  .hero--home .hero__inner,
  .hero--home .hero__inner--home{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .hero--home .hero__inner--home{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
    padding:32px 14px 34px !important;
    min-height:auto !important;
    align-items:start !important;
  }

  .hero--home .hero__content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:0 !important;
  }

  .hero--home .eyebrow{
    max-width:100% !important;
    white-space:normal !important;
    font-size:10.5px !important;
    line-height:1.35 !important;
    padding:7px 10px !important;
  }

  .hero--home h1,
  .hero--home .hero__content h1{
    width:100% !important;
    max-width:100% !important;
    margin-top:16px !important;
    font-size:clamp(28px, 8.4vw, 34px) !important;
    line-height:1.1 !important;
    letter-spacing:-.025em !important;
    overflow-wrap:break-word !important;
  }

  .hero--home .hero__copy,
  .hero--home .hero__content p{
    width:100% !important;
    max-width:100% !important;
    margin-top:16px !important;
    font-size:14.5px !important;
    line-height:1.58 !important;
    overflow-wrap:break-word !important;
  }

  .hero--home .hero__actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:22px !important;
  }

  .hero--home .hero__actions .btn,
  .hero--home .btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:42px !important;
    box-sizing:border-box !important;
    padding-left:12px !important;
    padding-right:12px !important;
    font-size:12.5px !important;
    line-height:1.2 !important;
    white-space:normal !important;
  }

  .hero--home .feature-grid{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    margin:22px 0 0 !important;
  }

  .hero--home .feature-pill{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:52px !important;
    padding:12px 14px !important;
    gap:12px !important;
    box-sizing:border-box !important;
    border-radius:5px !important;
    overflow:hidden !important;
  }

  .hero--home .feature-pill span.feature-pill__icon{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    flex:0 0 24px !important;
  }

  .hero--home .feature-pill span.feature-pill__icon svg{
    width:20px !important;
    height:20px !important;
  }

  .hero--home .feature-pill span.feature-pill__text{
    min-width:0 !important;
    font-size:13px !important;
    line-height:1.32 !important;
    overflow-wrap:break-word !important;
  }

  .hero--home .hero__visual{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:auto !important;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
    overflow:hidden !important;
  }

  .hero--home .hero__visual::before,
  .hero--home .hero__visual::after,
  .hero--home .hero__glow{
    display:none !important;
    content:none !important;
  }

  .hero--home .hero__printer{
    display:block !important;
    width:min(100%, 310px) !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    margin:8px auto 0 !important;
    transform:none !important;
  }

  .hero-visual-marquee{
    display:none !important;
  }

  #soluciones{
    padding-top:54px !important;
  }

  body.home .section > .container,
  body.home section:not(.hero--home) > .container{
    width:calc(100% - 28px) !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body.home .grid,
  body.home .grid-2,
  body.home .grid-3,
  body.home .grid-4,
  body.home .solutions-grid,
  body.home .rent-benefits-grid,
  body.home .about-mini-grid,
  body.home .mini-status-grid{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  body.home img,
  body.home svg,
  body.home video{
    max-width:100% !important;
  }
}

@media (max-width:390px){
  .hero--home .hero__inner--home{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .hero--home h1,
  .hero--home .hero__content h1{
    font-size:29px !important;
  }

  .hero--home .hero__copy,
  .hero--home .hero__content p{
    font-size:14px !important;
  }
}

/* v43.11 - fix responsive navbar de tienda */
@media (max-width: 820px){
  .site-header--shop .site-header__inner{
    width:calc(100% - 24px) !important;
    min-height:68px !important;
    padding:10px 0 !important;
  }

  .site-header--shop .brand{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .site-header--shop .brand__logo{
    max-width:140px !important;
    width:auto !important;
    height:auto !important;
    max-height:34px !important;
  }
}

@media (max-width: 480px){.site-header--shop .site-header__inner{
    width:calc(100% - 18px) !important;
  }
}


/* v43.12 - responsive: admin bar + header sin tapar hero */
@media (max-width: 820px){
  /*
   * La barra negra superior es la barra de administración de WordPress.
   * Solo aparece cuando estás logueado como admin. Ajustamos el header
   * para que no se monte encima del hero durante pruebas en responsive.
   */
  html body.admin-bar .site-header{
    top:46px !important;
  }

  html body:not(.admin-bar) .site-header{
    top:0 !important;
  }

  html body .site-header{
    position:sticky !important;
    z-index:900 !important;
  }

  html body .site-header__inner{
    min-height:66px !important;
  }

  html body .site-header .brand__logo{
    max-height:38px !important;
    width:auto !important;
  }

  /*
   * Evita que el hero quede por debajo del header en móvil.
   * Esto aplica a Home y páginas de alquiler que usan hero oscuro.
   */
  html body .hero,
  html body .hero-section,
  html body .alquiler-hero,
  html body .rental-hero,
  html body .page-hero,
  html body .tmx-hero,
  html body .tmx-rental-hero,
  html body .front-hero{
    padding-top:max(28px, env(safe-area-inset-top)) !important;
    margin-top:0 !important;
  }

  html body .hero .eyebrow,
  html body .hero-section .eyebrow,
  html body .alquiler-hero .eyebrow,
  html body .rental-hero .eyebrow,
  html body .page-hero .eyebrow,
  html body .tmx-hero .eyebrow,
  html body .tmx-rental-hero .eyebrow,
  html body .front-hero .eyebrow{
    margin-top:0 !important;
  }

  /*
   * En móvil, el menú desplegable debe abrir debajo del header real,
   * no sobre el hero ni detrás de la barra admin.
   */
  html body .site-header .nav{
    top:calc(100% + 8px) !important;
    max-height:calc(100vh - 130px) !important;
  }

  html body.admin-bar .site-header .nav{
    max-height:calc(100vh - 176px) !important;
  }

  /*
   * Reduce el alto visual del header móvil para que no robe tanto espacio.
   */
  html body .site-header,
  html body .site-header--shop{
    --header-h:66px !important;
  }
}

@media (max-width: 600px){
  /*
   * WordPress cambia la barra admin a 46px en móvil.
   * Lo dejamos explícito para evitar solapamientos en DevTools.
   */
  html body.admin-bar .site-header{
    top:46px !important;
  }

  html body.admin-bar{
    padding-top:0 !important;
  }
}

/* En modo visitante no habrá barra negra; el header queda limpio arriba */
@media (max-width: 820px){
  html body:not(.admin-bar) #wpadminbar{
    display:none !important;
  }
}


/* v43.14 - quitar espacio vacío superior en navbar responsive */
@media (max-width: 820px){
  html body .site-header,
  html body.admin-bar .site-header,
  html body .site-header--shop,
  html body.admin-bar .site-header--shop{
    top:0 !important;
    margin-top:0 !important;
    padding-top:0 !important;
  }

  html body .site-header__inner,
  html body .site-header--shop .site-header__inner{
    min-height:64px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    align-items:center !important;
  }

  html body .site-header .brand,
  html body .site-header--shop .brand{
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
  }

  html body .site-header .brand__logo,
  html body .site-header--shop .brand__logo{
    display:block !important;
    margin:0 !important;
  }
}

/* Cuando estás logueado como admin en móvil, evitamos que WP deje un hueco blanco si la barra admin no está visible */
@media (max-width: 600px){
  html body.admin-bar{
    padding-top:0 !important;
  }

  html body.admin-bar #wpadminbar{
    position:absolute !important;
  }
}


/* v43.16 - Nosotros: foto más ancha y sin recorte */
.hero--about-page .hero__inner--about-page{
  grid-template-columns:minmax(0,.88fr) minmax(520px,680px) !important;
  gap:48px !important;
  align-items:center !important;
}

.hero--about-page .about-photo-card{
  width:100% !important;
  max-width:680px !important;
  justify-self:end !important;
  align-self:center !important;
  min-height:0 !important;
  aspect-ratio:1 / 1.06 !important;
  background:#fff !important;
}

.hero--about-page .about-photo-card img{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#fff !important;
}

@media (max-width:1180px){
  .hero--about-page .hero__inner--about-page{
    grid-template-columns:minmax(0,1fr) minmax(460px,580px) !important;
    gap:36px !important;
  }

  .hero--about-page .about-photo-card{
    max-width:580px !important;
  }
}

@media (max-width:1060px){
  .hero--about-page .hero__inner--about-page{
    grid-template-columns:1fr !important;
  }

  .hero--about-page .about-photo-card{
    justify-self:center !important;
    width:min(100%,680px) !important;
    max-width:680px !important;
    aspect-ratio:1 / .92 !important;
  }
}

@media (max-width:620px){
  .hero--about-page .about-photo-card{
    width:100% !important;
    aspect-ratio:1 / 1.04 !important;
  }
}


/* v43.17 - Nosotros: hero 50/50 e imagen sin padding */
.hero--about-page .hero__inner--about-page{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:48px !important;
  align-items:center !important;
}

.hero--about-page .hero__content{
  max-width:none !important;
}

.hero--about-page .about-photo-card{
  width:100% !important;
  max-width:none !important;
  justify-self:stretch !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  aspect-ratio:auto !important;
  background:transparent !important;
  overflow:hidden !important;
  border-radius:5px !important;
}

.hero--about-page .about-photo-card img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:5px !important;
  background:transparent !important;
}

@media (max-width:1060px){
  .hero--about-page .hero__inner--about-page{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }

  .hero--about-page .about-photo-card{
    width:100% !important;
    max-width:none !important;
  }

  .hero--about-page .about-photo-card img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }
}


/* v43.18 - Nosotros: imagen 50/50 estirada al alto del texto, sin padding */
.hero--about-page .hero__inner--about-page{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:48px !important;
  align-items:stretch !important;
}

.hero--about-page .hero__content{
  height:100% !important;
  min-height:100% !important;
  justify-content:center !important;
}

.hero--about-page .about-photo-card{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-width:none !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  display:flex !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:5px !important;
  background:transparent !important;
}

.hero--about-page .about-photo-card img{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:5px !important;
  background:transparent !important;
}

@media (max-width:1060px){
  .hero--about-page .hero__inner--about-page{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:32px !important;
  }

  .hero--about-page .about-photo-card{
    height:auto !important;
    min-height:0 !important;
  }

  .hero--about-page .about-photo-card img{
    height:auto !important;
    min-height:0 !important;
    object-fit:contain !important;
  }
}


/* v43.19 - Nosotros: menos padding lateral, 50/50 real e imagen sin corte */
.hero--about-page > .container,
.hero--about-page .container,
.hero--about-page .hero__inner--about-page{
  width:min(1480px, calc(100% - 64px)) !important;
  max-width:1480px !important;
}

.hero--about-page .hero__inner--about-page{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:44px !important;
  align-items:center !important;
}

.hero--about-page .hero__content{
  max-width:none !important;
  width:100% !important;
}

.hero--about-page .about-photo-card{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  align-self:center !important;
  justify-self:stretch !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:5px !important;
  background:transparent !important;
}

.hero--about-page .about-photo-card img{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:5px !important;
  background:transparent !important;
}

/* Pantallas grandes: todavía menos margen lateral para que la imagen respire más */
@media (min-width:1440px){
  .hero--about-page > .container,
  .hero--about-page .container,
  .hero--about-page .hero__inner--about-page{
    width:min(1520px, calc(100% - 48px)) !important;
    max-width:1520px !important;
  }
}

/* Laptop estándar */
@media (max-width:1280px){
  .hero--about-page > .container,
  .hero--about-page .container,
  .hero--about-page .hero__inner--about-page{
    width:min(1200px, calc(100% - 44px)) !important;
  }

  .hero--about-page .hero__inner--about-page{
    gap:36px !important;
  }
}

/* Tablet/móvil: una columna para evitar corte o compresión */
@media (max-width:1060px){
  .hero--about-page > .container,
  .hero--about-page .container,
  .hero--about-page .hero__inner--about-page{
    width:calc(100% - 28px) !important;
  }

  .hero--about-page .hero__inner--about-page{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .hero--about-page .about-photo-card img{
    width:100% !important;
    height:auto !important;
  }
}

/* Hero home: subir un poco la columna de texto (izquierda).
   IMPORTANTE: se usa margin-bottom y NO transform. Un transform aquí crearía
   un "containing block" que reancla la .feature-grid (position:absolute) a esta
   columna en vez de al hero, descolocando las cards. margin no tiene ese efecto. */
.hero--home .hero__content{
  margin-bottom: 28px;
}
@media (max-width:820px){
  .hero--home .hero__content{
    margin-bottom: 0;
  }
}

/* ============================================================
   Cards de las landings de alquiler (impresoras / laptops)
   Igualadas al estilo del home: cards blancas separadas, con
   sombra, flotando sobre el borde inferior del hero.
   Scopeado a esas dos páginas para no afectar otras vistas.
   ============================================================ */
body[class*="alquiler-impresoras"] .pull-up-metrics,
body[class*="alquiler-laptops"] .pull-up-metrics{
  margin-top:-62px !important;
  padding-top:0 !important;
  position:relative !important;
  z-index:20 !important;
}
body[class*="alquiler-impresoras"] .pull-up-metrics .metric-cards,
body[class*="alquiler-laptops"] .pull-up-metrics .metric-cards{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:16px !important;
}
body[class*="alquiler-impresoras"] .pull-up-metrics .metric-card,
body[class*="alquiler-laptops"] .pull-up-metrics .metric-card{
  background:#fff !important;
  border:1px solid rgba(23,59,108,.08) !important;
  border-radius:18px !important;
  box-shadow:0 20px 46px rgba(12,34,64,.13) !important;
  padding:24px 26px !important;
  min-height:104px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
}
body[class*="alquiler-impresoras"] .pull-up-metrics .metric-card__ic,
body[class*="alquiler-laptops"] .pull-up-metrics .metric-card__ic{
  flex:0 0 auto !important;
  width:26px !important;
  height:26px !important;
  color:#2E86FF !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  background:none !important;
}
body[class*="alquiler-impresoras"] .pull-up-metrics .metric-card__ic svg,
body[class*="alquiler-laptops"] .pull-up-metrics .metric-card__ic svg{
  width:26px !important;
  height:26px !important;
}
body[class*="alquiler-impresoras"] .pull-up-metrics .metric-card__text,
body[class*="alquiler-laptops"] .pull-up-metrics .metric-card__text{
  color:var(--blue-950) !important;
  font-size:15.5px !important;
  font-weight:500 !important;
  line-height:1.38 !important;
  letter-spacing:-.005em !important;
  margin:0 !important;
}
@media (max-width:820px){
  body[class*="alquiler-impresoras"] .pull-up-metrics,
  body[class*="alquiler-laptops"] .pull-up-metrics{
    margin-top:-32px !important;
  }
}

/* =====================================================================
   FIX v44 · Botones outline sobre fondo oscuro
   Reposo: texto y borde BLANCOS, fondo transparente.
   Hover/focus: fondo BLANCO, texto azul oscuro.
   Aplica a .btn-outline--light y a cualquier .btn-outline dentro de un
   hero o banner oscuro. Override final para ganar a la cascada previa.
   ===================================================================== */
.btn.btn-outline--light,
a.btn.btn-outline--light,
button.btn.btn-outline--light,
.hero .btn.btn-outline:not(.btn-solution),
.hero a.btn.btn-outline:not(.btn-solution),
.form-banner .btn.btn-outline,
.form-banner a.btn.btn-outline,
.form-card--dark .btn.btn-outline,
.form-card--dark a.btn.btn-outline,
.cta-banner .btn.btn-outline,
.cta-banner a.btn.btn-outline{
  background:transparent !important;
  background-image:none !important;
  color:#ffffff !important;
  border:1.5px solid rgba(255,255,255,.85) !important;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease !important;
}

.btn.btn-outline--light:hover,
a.btn.btn-outline--light:hover,
button.btn.btn-outline--light:hover,
.btn.btn-outline--light:focus-visible,
a.btn.btn-outline--light:focus-visible,
.hero .btn.btn-outline:not(.btn-solution):hover,
.hero a.btn.btn-outline:not(.btn-solution):hover,
.hero .btn.btn-outline:not(.btn-solution):focus-visible,
.form-banner .btn.btn-outline:hover,
.form-banner a.btn.btn-outline:hover,
.form-banner .btn.btn-outline:focus-visible,
.form-card--dark .btn.btn-outline:hover,
.form-card--dark a.btn.btn-outline:hover,
.form-card--dark .btn.btn-outline:focus-visible,
.cta-banner .btn.btn-outline:hover,
.cta-banner a.btn.btn-outline:hover,
.cta-banner .btn.btn-outline:focus-visible{
  background:#ffffff !important;
  background-image:none !important;
  color:var(--blue-950) !important;
  border-color:#ffffff !important;
}

/* =====================================================================
   Página Descargas · v44
   ===================================================================== */
.downloads-list{
  display:flex;
  flex-direction:column;
  gap:32px;
  margin-top:8px;
}
.download-brand{
  display:grid;
  grid-template-columns:minmax(0,440px) minmax(0,1fr);
  align-items:center;
  gap:40px;
  padding:34px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(23,59,108,.08);
  box-shadow:0 18px 44px rgba(12,47,90,.08);
}
.download-brand--reverse{
  grid-template-columns:minmax(0,1fr) minmax(0,440px);
}
.download-brand--reverse .download-brand__media{order:2;}
.download-brand--reverse .download-brand__body{order:1;}
.download-brand__media{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border-radius:22px;
  background:radial-gradient(120% 120% at 50% 20%,#f4f7fb 0%,#eaeff7 100%);
}
.download-brand__media img{
  width:100%;
  height:auto;
  max-height:320px;
  object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(12,47,90,.16));
}
.download-brand__body .eyebrow-light{margin-bottom:10px;}
.download-brand__body h3{
  font-size:clamp(21px,2.1vw,27px);
  color:var(--blue-800);
  line-height:1.22;
  margin:0 0 12px;
}
.download-brand__body p{
  color:#48576b;
  font-size:16px;
  line-height:1.6;
  margin:0 0 10px;
}
.download-brand__note{
  color:#6a7789;
  font-size:14.5px;
}
.download-brand__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
@media (max-width:860px){
  .download-brand,
  .download-brand--reverse{
    grid-template-columns:1fr;
    gap:24px;
    padding:24px;
    text-align:center;
  }
  .download-brand--reverse .download-brand__media{order:1;}
  .download-brand--reverse .download-brand__body{order:2;}
  .download-brand__actions{justify-content:center;}
  .download-brand__media img{max-height:260px;}
}

/* Hero Descargas · imagen a la derecha */
.hero__visual--downloads{
  min-height:380px;
}
.hero__visual--downloads .hero__glow{
  right:auto;
  left:50%;
  top:50%;
  bottom:auto;
  transform:translate(-50%,-50%);
  width:360px;
  height:360px;
}
.hero__downloads-img{
  position:relative;
  z-index:3;
  width:100%;
  max-width:520px;
  height:auto;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.30));
}
@media (max-width:1060px){
  .hero__visual--downloads{min-height:300px;margin-top:8px;}
  .hero__downloads-img{max-width:420px;}
}
@media (max-width:820px){
  .hero__downloads-img{max-width:340px;}
}
