:root{
  --black:#050505;
  --black-2:#0a0a0b;
  --graphite:#141416;
  --steel:#6b6d70;
  --silver:#bfc2c5;
  --white:#f7f7f7;
  --red:#d90812;
  --red-hot:#f10d17;
  --red-dark:#87070c;
  --line:rgba(255,255,255,.14);
  --muted:#b5b6b8;
  --max:1480px;
  --cond:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;
  --sans:'Inter',Arial,sans-serif;
  --surface-0:#070708;
  --surface-1:#0d0d0f;
  --surface-2:#131315;
  --ui-border:rgba(255,255,255,.16);
  --ui-border-strong:rgba(255,255,255,.24);
  --ui-radius:6px;
  --ui-radius-sm:4px;
  --ui-shadow:0 18px 46px rgba(0,0,0,.30);
  --ui-shadow-hover:0 24px 58px rgba(0,0,0,.40);
  --section-space:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);overflow-x:hidden}
body.modal-open{overflow:hidden}

/* Paso 18 — Scrollbar personalizada */
html{
  scrollbar-width:thin;
  scrollbar-color:#b70a12 #080809;
}
html::-webkit-scrollbar{
  width:11px;
}
html::-webkit-scrollbar-track{
  background:#080809;
  border-left:1px solid rgba(255,255,255,.045);
}
html::-webkit-scrollbar-thumb{
  min-height:54px;
  border:3px solid #080809;
  border-radius:999px;
  background:linear-gradient(180deg,#e30b15 0%,#b10810 58%,#78060b 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);
}
html::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#f10d17 0%,#d90812 58%,#94080e 100%);
}
html::-webkit-scrollbar-thumb:active{
  background:#f10d17;
}
html::-webkit-scrollbar-corner{
  background:#080809;
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img{max-width:100%;display:block}
.shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;background:#fff;color:#000;padding:12px 16px;border-radius:4px}
.skip-link:focus{top:16px}

.topbar{height:34px;border-bottom:1px solid rgba(255,255,255,.08);background:#030303;color:#b8b8ba;font:600 12px/1 var(--sans);letter-spacing:.05em;position:relative;z-index:80}
.topbar__inner{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:28px}
.topbar a{color:#fff}.topbar a:hover{color:var(--red-hot)}

.site-header{height:112px;position:sticky;top:0;z-index:70;overflow:visible;background:linear-gradient(180deg,#080808 0%,rgba(7,7,7,.97) 100%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.nav-wrap{height:100%;display:flex;align-items:center;gap:28px;overflow:visible}
.brand{align-self:center;width:232px;height:auto;aspect-ratio:1/1;margin-top:0;margin-left:-10px;position:relative;z-index:83;flex:none;filter:drop-shadow(0 16px 24px rgba(0,0,0,.82));transition:transform .2s ease,filter .2s ease}.brand:hover{transform:scale(1.035);filter:drop-shadow(0 18px 28px rgba(0,0,0,.9))}
.brand img{width:100%;height:100%;object-fit:contain}
.main-nav{display:flex;align-items:center;justify-content:center;gap:38px;margin-left:auto}
.main-nav a{font:600 17px/1 var(--cond);letter-spacing:.055em;text-transform:uppercase;color:#ddd;padding:38px 0 34px;position:relative;transition:.2s ease}
.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--red-hot);transition:.22s ease}
.main-nav a:hover,.main-nav a.is-active{color:#fff}.main-nav a:hover:after,.main-nav a.is-active:after{right:0}
.nav-cta{margin-left:26px;min-width:220px}
.nav-toggle{display:none;background:none;border:0;width:46px;height:42px;padding:8px;cursor:pointer}
.nav-toggle span{height:2px;background:#fff;display:block;margin:6px 0;transition:.2s}

.btn{border:0;min-height:46px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font:700 17px/1 var(--cond);letter-spacing:.055em;text-transform:uppercase;transition:transform .18s ease,background .18s ease,border-color .18s ease;color:#fff}
.btn:hover{transform:translateY(-2px)}
.btn--red{background:linear-gradient(135deg,var(--red-hot),#b1060d);clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);box-shadow:0 10px 26px rgba(217,8,18,.22)}
.btn--red:hover{background:linear-gradient(135deg,#ff171f,#d0060f)}
.btn--outline{border:1px solid rgba(255,255,255,.6);background:rgba(5,5,5,.56);backdrop-filter:blur(8px)}
.btn--outline:hover{border-color:#fff;background:rgba(5,5,5,.8)}
.btn--outline-red{border:1px solid var(--red);background:#070707;padding-inline:30px;color:#fff}
.btn--outline-red span{color:var(--red-hot);font-size:24px;margin-top:-2px}
.btn--big{min-height:54px;padding-inline:28px;font-size:19px}
.btn--full{width:100%}
.wa-dot{color:#4ccc5b;font-size:18px}

.hero{min-height:680px;height:calc(100vh - 120px);max-height:900px;position:relative;display:flex;align-items:center;overflow:hidden;background:#050505}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 26%,rgba(0,0,0,.26) 61%,rgba(0,0,0,.08) 100%),linear-gradient(0deg,rgba(0,0,0,.68) 0%,transparent 35%)}
.hero__content{position:relative;z-index:3;padding-top:6px;padding-bottom:100px}
.eyebrow{margin:0 0 14px;color:#f0f0f0;font:600 15px/1.2 var(--cond);letter-spacing:.16em;text-transform:uppercase}
.hero h1{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:.83;margin:0;max-width:790px;text-shadow:0 4px 26px #000}
.hero h1 span,.hero h1 strong{display:block}
.hero h1 span{font-size:clamp(62px,6vw,106px);font-style:italic;color:#fff}
.hero h1 strong{font-size:clamp(62px,6vw,106px);font-style:italic;color:var(--red-hot);margin-top:16px}
.hero__copy{max-width:680px;font-size:18px;line-height:1.65;color:#e1e1e1;margin:28px 0 26px;text-shadow:0 2px 8px #000}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-facts{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:20px;background:linear-gradient(180deg,rgba(21,21,22,.96),rgba(11,11,12,.98));border:1px solid rgba(255,255,255,.09);border-radius:8px;min-height:86px;display:grid;grid-template-columns:repeat(4,1fr);padding:0 18px;box-shadow:0 16px 35px rgba(0,0,0,.4)}
.hero-facts div{display:flex;flex-direction:column;justify-content:center;padding:16px 28px;border-right:1px solid rgba(255,255,255,.18);position:relative}
.hero-facts div:last-child{border-right:0}
.hero-facts div:before{content:"";position:absolute;left:11px;top:50%;transform:translateY(-50%);width:7px;height:7px;border:2px solid var(--red-hot);transform:translateY(-50%) rotate(45deg)}
.hero-facts b{font:700 18px/1.15 var(--cond);letter-spacing:.04em;color:#fff}
.hero-facts span{font-size:11px;color:#aeb0b3;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}

.section{padding:74px 0;background:var(--black)}
.services{padding:18px 0 24px;background:#050505}
.services>.shell{width:min(1600px,calc(100% - 32px));}
.section-title{margin-bottom:14px}
.section-title--center{text-align:center}
.section-title--center span{font:700 10px/1 var(--sans);letter-spacing:.30em;color:var(--red-hot)}
.section-title h2{font:700 clamp(30px,2.7vw,38px)/1 var(--cond);letter-spacing:.055em;text-transform:uppercase;margin:5px 0 0}
.section-title--center h2{display:flex;align-items:center;gap:14px;justify-content:center}
.section-title--center h2:before,.section-title--center h2:after{content:"";height:2px;flex:1;max-width:560px;background:linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.22) 82%,var(--red-hot) 100%)}
.section-title--center h2:after{transform:scaleX(-1)}
.section-title--line{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:24px}
.section-title--line:before,.section-title--line:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--red))}
.section-title--line:after{transform:scaleX(-1)}
.section-title--line h2{font-size:40px;white-space:nowrap;margin:0}


.service-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.service-card{
  height:282px;
  min-height:0;
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  background:#111113;
  border:1px solid rgba(214,214,214,.42);
  border-radius:6px;
  box-shadow:0 6px 18px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.025);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(241,13,23,.62);
  box-shadow:0 12px 28px rgba(0,0,0,.5),0 0 0 1px rgba(241,13,23,.08);
}
.service-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 23%,rgba(10,10,11,.12) 37%,rgba(10,10,11,.78) 47%,#101011 58%,#101011 100%);
}
.service-card img{
  width:100%;
  height:128px;
  flex:0 0 128px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(1.11) brightness(.82);
  transition:transform .35s ease,filter .35s ease;
}
.service-card:hover img{transform:scale(1.035);filter:saturate(.95) contrast(1.1) brightness(.9)}
.service-card__body{
  position:relative;
  z-index:2;
  flex:1;
  min-height:0;
  margin-top:-17px;
  padding:18px 13px 11px;
  display:flex;
  flex-direction:column;
}
.service-card h3{
  font:700 22px/.94 var(--cond);
  font-style:italic;
  letter-spacing:.01em;
  margin:0 0 11px;
  color:#f3f3f3;
  text-transform:uppercase;
  text-shadow:0 1px 2px #000;
}
.service-card p{
  margin:0;
  color:#bebec0;
  font-size:11.5px;
  line-height:1.52;
  max-width:94%;
}
.service-card a{
  width:42px;
  height:18px;
  margin:auto auto 0;
  color:var(--red-hot);
  display:flex;
  align-items:center;
  justify-content:center;
  font:700 28px/1 var(--cond);
  transition:transform .2s ease,color .2s ease;
}
.service-card a:hover{transform:translateX(3px);color:#ff252d}



/* Banner intermedio de consulta rápida por WhatsApp */
.quick-wa-banner{
  position:relative;
  overflow:hidden;
  padding:20px 0;
  background:
    linear-gradient(90deg,rgba(217,8,18,.08),transparent 26%,transparent 74%,rgba(217,8,18,.08)),
    #09090a;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.quick-wa-banner:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.55;
  background:
    repeating-linear-gradient(135deg,transparent 0 26px,rgba(255,255,255,.018) 26px 27px),
    linear-gradient(90deg,transparent 0 10%,rgba(241,13,23,.08) 10% 10.15%,transparent 10.15% 89.85%,rgba(241,13,23,.08) 89.85% 90%,transparent 90%);
}
.quick-wa-banner__inner{
  position:relative;
  z-index:1;
  min-height:118px;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:18px 24px;
  background:linear-gradient(105deg,rgba(20,20,22,.96),rgba(9,9,10,.98));
  border:1px solid rgba(255,255,255,.16);
  border-left:4px solid var(--red-hot);
  box-shadow:0 18px 38px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025);
}
.quick-wa-banner__inner:after{
  content:"17";
  position:absolute;
  right:235px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.025);
  font:800 108px/.8 var(--cond);
  font-style:italic;
  pointer-events:none;
}
.quick-wa-banner__mark{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  background:#111113;
  clip-path:polygon(13% 0,100% 0,87% 100%,0 100%);
}
.quick-wa-banner__mark svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:#3fd25d;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quick-wa-banner__copy{position:relative;z-index:2}
.quick-wa-banner__eyebrow{
  display:block;
  margin-bottom:6px;
  color:var(--red-hot);
  font:700 10px/1 var(--sans);
  letter-spacing:.2em;
}
.quick-wa-banner__copy h2{
  margin:0;
  color:#f4f4f5;
  font:800 clamp(27px,2.3vw,38px)/.98 var(--cond);
  letter-spacing:.025em;
  text-transform:uppercase;
}
.quick-wa-banner__copy p{
  margin:8px 0 0;
  max-width:760px;
  color:#bfc0c2;
  font-size:13px;
  line-height:1.5;
}
.quick-wa-banner__cta{
  position:relative;
  z-index:2;
  min-width:286px;
  min-height:54px;
  padding:0 22px 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#fff;
  background:linear-gradient(135deg,var(--red-hot),#a8060d);
  clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);
  box-shadow:0 10px 26px rgba(217,8,18,.2);
  font:700 15px/1.05 var(--cond);
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:transform .2s ease,filter .2s ease;
}
.quick-wa-banner__cta b{
  color:#fff;
  font:700 28px/1 var(--cond);
}
.quick-wa-banner__cta:hover{transform:translateY(-2px);filter:brightness(1.12)}


.trust-strip{border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.035),transparent 40%),#0a0a0b;padding:29px 0}
.trust-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust-item{display:flex;align-items:center;gap:18px;min-height:80px;padding:0 34px;border-right:1px solid rgba(255,255,255,.12)}
.trust-item:last-child{border-right:0}
.trust-item svg{width:56px;height:56px;flex:none;fill:none;stroke:var(--red-hot);stroke-width:1.5}
.trust-item b{display:block;font:700 17px/1.15 var(--cond);letter-spacing:.04em}
.trust-item span{display:block;font-size:11px;line-height:1.5;color:#b5b6b9;text-transform:uppercase;margin-top:5px}

.featured{padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}
.gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr 1.35fr 1.15fr;gap:14px;margin-bottom:20px}
.gallery__item{padding:0;border:1px solid rgba(255,255,255,.22);background:#111;overflow:hidden;cursor:pointer;height:195px;position:relative}
.gallery__item:after{content:"VER";position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.7);border:1px solid var(--red);color:#fff;font:700 12px/1 var(--cond);letter-spacing:.12em;padding:7px 10px;opacity:0;transform:translateY(5px);transition:.2s}
.gallery__item:hover:after{opacity:1;transform:none}
.gallery__item img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.1);transition:.3s}
.gallery__item:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.1)}
.center{text-align:center}


/* Proyectos y trabajos especiales */
.projects-section{
  position:relative;
  padding:76px 0;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(217,8,18,.06),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(217,8,18,.12),transparent 28%),
    #0a0a0b;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.projects-section:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:repeating-linear-gradient(135deg,transparent 0 38px,rgba(255,255,255,.025) 39px 40px);
}
.projects-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:0;align-items:stretch;min-height:520px}
.projects-visual{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-right:0;background:#0d0d0e}
.projects-visual:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red-hot),var(--red-dark) 58%,transparent)}
.projects-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.08) brightness(.72);transition:transform .6s ease,filter .6s ease}
.projects-visual:hover img{transform:scale(1.025);filter:saturate(.86) contrast(1.08) brightness(.78)}
.projects-visual__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.14) 55%,rgba(0,0,0,.82) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%)}
.projects-visual__stamp{position:absolute;left:24px;top:24px;padding:9px 12px;border-left:3px solid var(--red-hot);background:rgba(5,5,5,.72);backdrop-filter:blur(6px);font:700 13px/1 var(--cond);letter-spacing:.16em;color:#eee}
.projects-visual__17{position:absolute;right:20px;bottom:-32px;font:800 190px/.78 var(--cond);font-style:italic;color:rgba(255,255,255,.07);text-shadow:0 0 1px rgba(255,255,255,.1);user-select:none}
.projects-content{position:relative;padding:48px 48px 42px;background:linear-gradient(155deg,#171719 0%,#0b0b0c 72%);border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--red-dark);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.projects-content:before{content:"";position:absolute;right:0;top:0;width:120px;height:1px;background:var(--red-hot)}
.projects-kicker{display:block;color:var(--red-hot);font:700 12px/1 var(--sans);letter-spacing:.20em;margin-bottom:13px}
.projects-content h2{max-width:700px;margin:0 0 18px;color:#f4f4f5;font:800 clamp(38px,3.2vw,54px)/.93 var(--cond);letter-spacing:.01em;text-transform:uppercase}
.projects-content>p{max-width:650px;margin:0 0 27px;color:#bdbdc0;font-size:14px;line-height:1.72}
.projects-list{border-top:1px solid rgba(255,255,255,.13)}
.projects-list>a,.projects-list>div{min-height:70px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.1);transition:padding-left .2s ease,background .2s ease}
.projects-list>a:hover{padding-left:8px;background:linear-gradient(90deg,rgba(217,8,18,.08),transparent)}
.projects-list>div{grid-template-columns:38px 1fr}
.projects-list span{color:var(--red-hot);font:800 16px/1 var(--cond);letter-spacing:.08em}
.projects-list strong{display:block;color:#efeff0;font:700 19px/1 var(--cond);letter-spacing:.035em}
.projects-list small{display:block;margin-top:5px;color:#858589;font-size:11px;line-height:1.35}
.projects-list b{color:var(--red-hot);font:700 26px/1 var(--cond);padding-right:6px}
.projects-actions{display:flex;align-items:center;gap:20px;margin-top:28px}
.projects-actions>span{max-width:190px;color:#77797c;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.06em}

@media (max-width:1100px){
  .projects-layout{grid-template-columns:1fr 1fr;min-height:500px}
  .projects-visual{min-height:500px}
  .projects-content{padding:40px 34px 36px}
  .projects-content h2{font-size:42px}
}
@media (max-width:820px){
  .projects-section{padding:56px 0}
  .projects-layout{grid-template-columns:1fr;gap:0}
  .projects-visual{min-height:380px;border-right:1px solid rgba(255,255,255,.16);border-bottom:0}
  .projects-content{border-left:1px solid rgba(255,255,255,.16);border-top:3px solid var(--red-dark);padding:38px 32px}
  .projects-visual__17{font-size:150px}
}
@media (max-width:560px){
  .projects-section{padding:46px 0}
  .projects-visual{min-height:290px}
  .projects-visual__stamp{left:16px;top:16px;font-size:11px}
  .projects-visual__17{right:10px;bottom:-20px;font-size:112px}
  .projects-content{padding:30px 21px 28px}
  .projects-content h2{font-size:36px}
  .projects-content>p{font-size:13px;margin-bottom:22px}
  .projects-list>a,.projects-list>div{grid-template-columns:32px 1fr auto;gap:8px;min-height:68px}
  .projects-list>div{grid-template-columns:32px 1fr}
  .projects-list strong{font-size:17px}
  .projects-list small{font-size:10.5px}
  .projects-actions{align-items:stretch;flex-direction:column;gap:11px}
  .projects-actions .btn{width:100%}
  .projects-actions>span{max-width:none;text-align:center}
}

/* Opiniones — réplica visual del mockup */
.reviews-section{
  position:relative;
  padding:34px 0 38px;
  background:
    radial-gradient(circle at 96% 56%,rgba(217,8,18,.12),transparent 22%),
    linear-gradient(180deg,#09090a 0%,#101012 48%,#0a0a0b 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.reviews-section:after{
  content:"";
  position:absolute;
  right:-70px;
  bottom:-95px;
  width:310px;
  height:240px;
  pointer-events:none;
  opacity:.32;
  background:
    radial-gradient(circle at 70% 70%,rgba(241,13,23,.42),transparent 3%,transparent 13%),
    radial-gradient(circle at 40% 45%,rgba(241,13,23,.2),transparent 2%,transparent 12%);
}
.reviews-title{
  display:grid;
  grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr);
  align-items:center;
  gap:16px;
  margin:0 0 18px;
}
.reviews-title h2{
  margin:0;
  color:#ededee;
  font:700 clamp(26px,2.2vw,36px)/1 var(--cond);
  letter-spacing:.025em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.8);
}
.reviews-title__line{
  height:2px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 70%,var(--red-hot) 100%);
}
.reviews-title__line:last-child{transform:scaleX(-1)}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
  padding:0 30px;
}
.review-card{
  position:relative;
  min-height:158px;
  padding:17px 18px 15px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(25,25,27,.98),rgba(12,12,13,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 7px 20px rgba(0,0,0,.2);
  overflow:hidden;
}
.review-card__top{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:36px;
  padding-right:40px;
}
.review-card__user{
  width:32px;
  height:32px;
  flex:none;
  display:grid;
  place-items:center;
  border:2px solid #9a9a9d;
  border-radius:50%;
  background:#18181a;
}
.review-card__user svg{
  width:22px;
  height:22px;
  fill:#77787b;
  stroke:#bfc2c5;
  stroke-width:1.25;
}
.review-card__top strong{
  color:#efeff0;
  font:600 14px/1.15 var(--sans);
}
.review-card__quote{
  position:absolute;
  top:3px;
  right:15px;
  color:rgba(255,255,255,.11);
  font:900 64px/.9 Georgia,serif;
  letter-spacing:-.12em;
}
.review-card p{
  margin:10px 0 10px;
  max-width:94%;
  color:#c9c9cb;
  font-size:12px;
  line-height:1.48;
}
.review-card__stars{
  margin-top:auto;
  color:var(--red-hot);
  font-size:18px;
  line-height:1;
  letter-spacing:3px;
  text-shadow:0 0 9px rgba(241,13,23,.16);
}

.notes-section{padding-top:40px;background:radial-gradient(circle at 100% 100%,rgba(217,8,18,.12),transparent 25%),#0b0b0c}
.note-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.note-card{min-height:190px;background:linear-gradient(145deg,#171719,#0b0b0c);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:23px;position:relative;overflow:hidden}
.note-card:before{content:"";position:absolute;right:-40px;top:-45px;width:120px;height:120px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.note-card>span{display:block;color:var(--red-hot);font:800 18px/1 var(--cond);letter-spacing:.14em;margin-bottom:22px}
.note-card h3{font:700 23px/1 var(--cond);letter-spacing:.03em;margin:0 0 12px}
.note-card p{font-size:13px;line-height:1.65;color:#c2c2c4;margin:0}

.contact-block{padding:42px 0 0;background:radial-gradient(circle at 88% 85%,rgba(217,8,18,.18),transparent 25%),#0d0d0e;border-top:1px solid rgba(255,255,255,.08)}
.contact-block__head{text-align:center;margin-bottom:24px}
.contact-block__head h2{font:700 clamp(34px,3.2vw,48px)/1 var(--cond);margin:0;text-transform:uppercase;letter-spacing:.03em}
.contact-block__head p{font:700 18px/1 var(--cond);letter-spacing:.14em;color:var(--red-hot);margin:10px 0 0}
.contact-panel{display:grid;grid-template-columns:1fr 260px;gap:12px;align-items:stretch;border:1px solid rgba(255,255,255,.13);border-bottom:0;background:rgba(6,6,6,.55)}
.contact-info{display:grid;grid-template-columns:repeat(4,1fr)}
.contact-info article{display:flex;gap:14px;align-items:flex-start;padding:26px 20px;border-right:1px solid rgba(255,255,255,.11)}
.contact-icon{width:48px;height:48px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font:800 20px/1 var(--sans);flex:none;box-shadow:0 0 0 5px rgba(217,8,18,.08)}
.contact-icon--wa{background:#2daf47}
.contact-info span{display:block;color:#aaa;font:700 11px/1 var(--sans);letter-spacing:.08em;margin:2px 0 7px}
.contact-info strong{display:block;font:600 15px/1.45 var(--sans);min-height:44px}
.contact-info a{display:inline-flex;margin-top:10px;min-width:126px;justify-content:center;background:linear-gradient(135deg,var(--red),#9c090d);padding:9px 15px;font:700 13px/1 var(--cond);letter-spacing:.07em;clip-path:polygon(5% 0,100% 0,95% 100%,0 100%)}
.contact-logo{display:flex;align-items:center;justify-content:center;min-height:170px;background:radial-gradient(circle,rgba(255,0,0,.17),transparent 62%)}
.contact-logo img{width:250px;height:250px;object-fit:contain;filter:drop-shadow(0 18px 28px #000)}

/* CTA final */

/* Ubicación + cómo llegar */
.location-section{
  position:relative;
  padding:76px 0 82px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 95% 18%,rgba(217,8,18,.12),transparent 25%),
    #09090a;
  background-size:72px 72px,72px 72px,auto,auto;
  border-top:1px solid rgba(255,255,255,.08);
}
.location-section:before{
  content:"LOCATION / 17";
  position:absolute;
  right:-18px;
  bottom:-30px;
  color:rgba(255,255,255,.025);
  font:800 150px/.8 var(--cond);
  letter-spacing:-.03em;
  white-space:nowrap;
  pointer-events:none;
}
.location-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:50px;align-items:end;margin-bottom:28px}
.location-kicker{display:block;margin-bottom:10px;color:var(--red-hot);font:700 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.location-heading h2{margin:0;font:800 clamp(40px,4.4vw,64px)/.92 var(--cond);letter-spacing:-.015em;text-transform:uppercase;color:#f1f1f2}
.location-heading p{margin:0 0 4px;color:#bfc0c2;font-size:14px;line-height:1.65;max-width:500px}
.location-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr);min-height:470px;border:1px solid rgba(255,255,255,.17);background:#080809;box-shadow:0 24px 55px rgba(0,0,0,.32)}
.location-map{position:relative;min-height:470px;overflow:hidden;background:#111;border-right:1px solid rgba(255,255,255,.14)}
.location-map:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px rgba(0,0,0,.38)}
.location-map iframe{display:block;width:100%;height:100%;min-height:470px;border:0;filter:grayscale(1) contrast(1.08) brightness(.82)}
.location-map__label{position:absolute;left:18px;bottom:18px;z-index:2;padding:10px 16px;background:rgba(5,5,5,.92);border-left:3px solid var(--red-hot);font:800 17px/1 var(--cond);letter-spacing:.07em;box-shadow:0 8px 24px rgba(0,0,0,.45)}
.location-map__label span{display:block;margin-top:3px;color:#aaa;font:600 9px/1 var(--sans);letter-spacing:.18em}
.location-card{position:relative;padding:36px 32px 32px;overflow:hidden;background:linear-gradient(145deg,#151517 0%,#0b0b0c 72%)}
.location-card:before{content:"";position:absolute;left:0;top:0;width:68px;height:3px;background:var(--red-hot)}
.location-card__number{position:absolute;right:-13px;top:1px;color:rgba(255,255,255,.035);font:800 170px/.8 var(--cond);font-style:italic;pointer-events:none}
.location-card__eyebrow{position:relative;z-index:1;color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.18em}
.location-card h3{position:relative;z-index:1;margin:8px 0 28px;font:800 38px/1 var(--cond);text-transform:uppercase}
.location-detail{position:relative;z-index:1;display:grid;grid-template-columns:45px 1fr;gap:14px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
.location-detail__icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(241,13,23,.55);color:var(--red-hot);font:700 18px/1 var(--sans);transform:skew(-5deg)}
.location-detail__icon--wa{color:#fff;background:#279c3d;border-color:#279c3d;font-size:14px}
.location-detail small{display:block;margin-bottom:5px;color:#8f9093;font:700 9px/1 var(--sans);letter-spacing:.15em}
.location-detail strong{display:block;color:#e2e2e3;font:600 13px/1.45 var(--sans)}
.location-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px}
.location-actions .btn{width:100%;min-height:48px;font-size:15px}
.location-actions .btn--outline{background:#09090a;border-color:rgba(255,255,255,.32)}

@media (max-width:980px){
  .location-heading{grid-template-columns:1fr;gap:14px;align-items:start}
  .location-heading p{max-width:680px}
  .location-grid{grid-template-columns:1fr;min-height:0}
  .location-map{min-height:390px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .location-map iframe{min-height:390px}
  .location-card{padding:30px 28px}
}
@media (max-width:700px){
  .location-section{padding:54px 0 58px;background-size:44px 44px,44px 44px,auto,auto}
  .location-section:before{font-size:86px;bottom:-12px}
  .location-heading{margin-bottom:20px}
  .location-heading h2{font-size:42px}
  .location-heading p{font-size:13px;line-height:1.55}
  .location-grid{border-left:0;border-right:0;margin-left:-14px;margin-right:-14px}
  .location-map,.location-map iframe{min-height:310px}
  .location-map__label{left:14px;bottom:14px;font-size:15px}
  .location-card{padding:27px 20px 24px}
  .location-card__number{font-size:130px;right:-8px}
  .location-card h3{font-size:33px;margin-bottom:22px}
  .location-detail{grid-template-columns:40px 1fr;gap:12px;padding:14px 0}
  .location-detail__icon{width:36px;height:36px}
}

.final-cta{
  position:relative;
  min-height:430px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(217,8,18,.42);
  background:#060607;
}
.final-cta__media{position:absolute;inset:0}
.final-cta__media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.72) contrast(1.12) brightness(.72)}
.final-cta__overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(4,4,5,.97) 0%,rgba(4,4,5,.91) 35%,rgba(4,4,5,.58) 62%,rgba(4,4,5,.30) 100%),
    linear-gradient(0deg,rgba(4,4,5,.82) 0%,transparent 52%);
}
.final-cta__content{position:relative;z-index:2;padding:76px 0;max-width:820px;margin-left:0}
.final-cta__kicker{display:block;margin-bottom:12px;color:var(--red-hot);font:700 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.final-cta h2{max-width:760px;margin:0;font:800 clamp(42px,5vw,72px)/.92 var(--cond);letter-spacing:-.015em;text-transform:uppercase;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.72)}
.final-cta p{max-width:650px;margin:22px 0 26px;color:#d4d4d6;font-size:16px;line-height:1.65;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.final-cta__actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.final-cta__phone{font:700 22px/1 var(--cond);letter-spacing:.06em;color:#fff;border-bottom:1px solid rgba(255,255,255,.34);padding-bottom:4px;transition:.2s ease}
.final-cta__phone:hover{color:var(--red-hot);border-color:var(--red-hot)}

@media (max-width:700px){
  .final-cta{min-height:500px;align-items:flex-end}
  .final-cta__media img{object-position:64% center}
  .final-cta__overlay{background:linear-gradient(180deg,rgba(4,4,5,.28) 0%,rgba(4,4,5,.66) 38%,rgba(4,4,5,.98) 76%,#040405 100%)}
  .final-cta__content{padding:170px 0 50px;max-width:none}
  .final-cta__kicker{font-size:10px;margin-bottom:10px}
  .final-cta h2{font-size:clamp(40px,12vw,58px);line-height:.9}
  .final-cta p{font-size:14px;line-height:1.55;margin:18px 0 20px}
  .final-cta__actions{display:grid;grid-template-columns:1fr;gap:14px}
  .final-cta__actions .btn{width:100%}
  .final-cta__phone{font-size:20px;width:max-content}
}

.footer{background:#080808;border-top:1px solid rgba(255,255,255,.1)}
.footer__grid{padding:34px 0;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:36px}
.footer__brand{display:flex;gap:18px;align-items:center}
.footer__brand img{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}
.footer strong{font:700 20px/1 var(--cond);letter-spacing:.04em}
.footer p{font-size:12px;color:#aaa;line-height:1.55;margin:6px 0 0;max-width:270px}
.footer h3{font:700 13px/1 var(--cond);letter-spacing:.11em;color:#ddd;margin:0 0 9px}
.footer__grid>div:not(.footer__brand){display:flex;flex-direction:column;align-items:flex-start}
.footer a,.footer span{font-size:11px;color:#a4a4a6;line-height:1.7}
.footer a:hover{color:#fff}
.footer__legal{margin-top:10px;color:#76767a;font-size:11px}
.footer__bottom{border-top:1px solid rgba(217,8,18,.4);padding:8px 0 9px}
.footer__bottom .shell{display:flex;justify-content:space-between}
.footer__bottom span{font-size:10px;color:#777}
.floating-wa{position:fixed;right:20px;bottom:20px;z-index:55;width:58px;height:58px;border-radius:50%;background:#28b746;color:#fff;display:flex;align-items:center;justify-content:center;font:800 22px/1 var(--sans);box-shadow:0 12px 34px rgba(0,0,0,.45);border:3px solid rgba(255,255,255,.85)}

.quote-modal,.gallery-modal{border:1px solid rgba(255,255,255,.22);background:linear-gradient(160deg,#18181a,#070708);color:#fff;padding:0;box-shadow:0 40px 100px rgba(0,0,0,.72)}
.quote-modal{width:min(680px,calc(100% - 28px));max-height:90vh;border-radius:8px;overflow:auto}
.quote-modal::backdrop,.gallery-modal::backdrop{background:rgba(0,0,0,.83);backdrop-filter:blur(5px)}
.modal-close{position:absolute;right:14px;top:10px;width:40px;height:40px;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;z-index:3}
.quote-modal__head{padding:32px 34px 10px;border-top:4px solid var(--red)}
.quote-modal__head span{color:var(--red-hot);font:700 12px/1 var(--sans);letter-spacing:.18em}
.quote-modal__head h2{font:700 40px/.95 var(--cond);text-transform:uppercase;margin:8px 0 10px}
.quote-modal__head p{font-size:13px;color:#bbb;line-height:1.6;margin:0;max-width:540px}
.quote-form{padding:16px 34px 32px;display:grid;gap:14px}
.quote-form label{font-size:12px;font-weight:700;color:#d6d6d7;letter-spacing:.03em}
.quote-form small{font-weight:400;color:#888}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;background:#0b0b0c;border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 13px;outline:none;border-radius:2px}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--red)}
.quote-form textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.check span{font-weight:500;color:#b8b8ba}
.form-note{font-size:10px;color:#79797b;text-align:center;margin:0}
.gallery-modal{width:min(1100px,calc(100% - 28px));max-height:90vh;overflow:hidden;border-radius:4px}
.gallery-modal img{width:100%;max-height:88vh;object-fit:contain;background:#050505}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-visible{opacity:1;transform:none}

.legal-page{min-height:100vh;background:#0a0a0b;color:#e8e8e9}
.legal-page .legal-wrap{width:min(920px,calc(100% - 40px));margin:auto;padding:70px 0}
.legal-page h1{font:700 52px/1 var(--cond);text-transform:uppercase;margin:0 0 18px}.legal-page h2{font:700 28px/1 var(--cond);margin:32px 0 10px}.legal-page p,.legal-page li{font-size:14px;line-height:1.75;color:#c3c3c5}.legal-page a{color:var(--red-hot)}

@media (max-width:1250px){
  .main-nav{gap:22px}.main-nav a{font-size:15px}.nav-cta{min-width:185px;margin-left:6px}.brand{width:188px;height:auto;aspect-ratio:1/1;margin-top:0}
  .service-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.service-card{min-height:0}.service-card img{height:128px}
  .trust-item{padding-inline:20px}.trust-item svg{width:46px;height:46px}
  .gallery{grid-template-columns:repeat(5,1fr)}.gallery__item{height:175px}
  .contact-panel{grid-template-columns:1fr 210px}.contact-logo img{width:180px;height:180px}.contact-info article{padding-inline:14px;gap:10px}.contact-icon{width:42px;height:42px}
}

@media (max-width:1100px) and (min-width:701px){
  .services>.shell{width:min(100% - 36px,980px)}
  .service-grid{grid-template-columns:repeat(4,1fr);gap:14px}
  .service-card{height:300px}
  .service-card img{height:140px;flex-basis:140px}
  .service-card h3{font-size:23px}
}

@media (max-width:980px){
  .topbar__inner{justify-content:space-between}.topbar__hours{display:none}
  .site-header{height:88px;overflow:visible}.nav-wrap{gap:14px}.brand{width:152px;height:auto;aspect-ratio:1/1;margin-top:0;margin-left:-4px}
  .nav-toggle{display:block;margin-left:auto;position:relative;z-index:82}.nav-cta{display:none}
  .main-nav{position:fixed;top:122px;left:0;right:0;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px 24px 26px;background:rgba(7,7,8,.99);border-bottom:1px solid rgba(255,255,255,.15);transform:translateY(-140%);opacity:0;pointer-events:none;transition:.25s ease;z-index:81}
  .main-nav.is-open{transform:none;opacity:1;pointer-events:auto}
  .main-nav a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.08);font-size:19px}.main-nav a:after{display:none}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .hero{height:auto;min-height:710px;max-height:none}.hero__content{padding-top:40px;padding-bottom:130px}.hero h1 span,.hero h1 strong{font-size:74px}.hero__copy{max-width:600px}
  .hero-facts{grid-template-columns:repeat(2,1fr);bottom:16px}.hero-facts div:nth-child(2){border-right:0}.hero-facts div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
  .trust-strip__grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
  .gallery{grid-template-columns:repeat(3,1fr)}.gallery__item{height:190px}.gallery__item--wide{grid-column:span 2}
  .note-cards{grid-template-columns:repeat(2,1fr)}
  .contact-panel{grid-template-columns:1fr}.contact-logo{display:none}.contact-info{grid-template-columns:repeat(2,1fr)}.contact-info article:nth-child(2){border-right:0}.contact-info article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.11)}
  .footer__grid{grid-template-columns:1.5fr 1fr 1fr}.footer__grid>div:last-child{grid-column:2/4}
}

@media (max-width:700px){
  .shell{width:min(100% - 28px,var(--max))}.topbar{height:30px}.topbar__inner{font-size:10px;gap:10px}.topbar__inner span:first-child{display:none}
  .site-header{top:0;height:84px;overflow:visible}.main-nav{top:114px}.brand{width:138px;height:auto;aspect-ratio:1/1;margin-top:0;margin-left:-5px}
  .hero{min-height:820px;align-items:flex-start}.hero__media img{object-position:center top}.hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.24) 0%,rgba(0,0,0,.2) 40%,rgba(0,0,0,.78) 62%,rgba(0,0,0,.98) 100%)}
  .hero__content{padding-top:410px;padding-bottom:198px}.eyebrow{font-size:12px;margin-bottom:10px}.hero h1{line-height:.88}.hero h1 span,.hero h1 strong{font-size:clamp(48px,14.2vw,70px)}.hero h1 strong{margin-top:10px}
  .hero__copy{font-size:14px;line-height:1.55;margin:19px 0 18px}.hero__actions{display:grid;grid-template-columns:1fr;gap:10px}.btn--big{font-size:16px;min-height:49px}.btn--outline{background:rgba(5,5,5,.78)}
  .hero-facts{width:calc(100% - 20px);grid-template-columns:repeat(2,1fr);padding:0 8px;bottom:10px;min-height:166px}.hero-facts div{padding:12px 12px 12px 24px}.hero-facts div:before{left:6px}.hero-facts b{font-size:15px}.hero-facts span{font-size:9px;line-height:1.35}
  .section{padding:52px 0}.services{padding:34px 0}.section-title h2{font-size:36px}.section-title--center h2:before,.section-title--center h2:after{display:none}
  .service-grid{display:flex;overflow-x:auto;gap:12px;padding:1px 1px 11px;scroll-snap-type:x mandatory;scrollbar-width:none}.service-grid::-webkit-scrollbar{display:none}.service-card{min-width:72vw;max-width:300px;height:300px;scroll-snap-align:start}.service-card img{height:140px;flex-basis:140px}.service-card__body{padding:19px 15px 12px}.service-card h3{font-size:24px}.service-card p{font-size:12px}
  .trust-strip{padding:8px 0}.trust-strip__grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)!important;padding:16px 8px;min-height:74px}.trust-item:last-child{border-bottom:0!important}.trust-item svg{width:42px;height:42px}
  .section-title--line h2{font-size:31px;white-space:normal;text-align:center}.section-title--line:before,.section-title--line:after{width:40px;flex:none}
  .gallery{grid-template-columns:1fr 1fr;gap:9px}.gallery__item,.gallery__item--wide{height:150px;grid-column:auto}.gallery__item--wide{grid-column:span 2;height:190px}.gallery__item:last-child{grid-column:span 2}
  .note-cards{grid-template-columns:1fr;gap:12px}.note-card{min-height:auto;padding:20px}
  .contact-block{padding-top:34px}.contact-block__head h2{font-size:34px}.contact-block__head p{font-size:14px}.contact-panel{width:100%;border-left:0;border-right:0}.contact-info{grid-template-columns:1fr}.contact-info article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.11)!important;padding:20px 22px}.contact-info article:last-child{border-bottom:0!important}.contact-info strong{min-height:auto}.contact-info a{margin-top:8px}
  .footer__grid{grid-template-columns:1fr 1fr;gap:26px}.footer__brand{grid-column:span 2}.footer__grid>div:last-child{grid-column:span 2}.footer__bottom .shell{flex-direction:column;gap:2px}
  .quote-modal__head{padding:28px 20px 8px}.quote-modal__head h2{font-size:34px}.quote-form{padding:14px 20px 24px}.form-row{grid-template-columns:1fr}.floating-wa{width:52px;height:52px;right:14px;bottom:14px}
}

@media (max-width:420px){
  .hero{min-height:790px}.hero__content{padding-top:385px}.service-card{min-width:84vw}.section-title--line h2{font-size:28px}.footer__grid{grid-template-columns:1fr}.footer__brand,.footer__grid>div:last-child{grid-column:auto}
}



/* Tren delantero + frenos */
.safety-section{
  position:relative;
  padding:76px 0;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 18%),
    radial-gradient(circle at 12% 18%,rgba(217,8,18,.09),transparent 27%),
    #080809;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.safety-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.2;
  background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.025) 80px 81px);
}
.safety-head{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:54px;
  align-items:end;
  margin-bottom:28px;
}
.safety-kicker{display:block;margin-bottom:11px;color:var(--red-hot);font:700 11px/1 var(--sans);letter-spacing:.22em}
.safety-head h2{max-width:820px;margin:0;color:#f4f4f5;font:800 clamp(42px,3.45vw,58px)/.9 var(--cond);letter-spacing:.005em;text-transform:uppercase}
.safety-head>p{margin:0 0 4px;max-width:590px;color:#b8b8bc;font-size:13px;line-height:1.7;border-left:2px solid var(--red-dark);padding-left:18px}
.safety-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.safety-panel{display:grid;grid-template-columns:minmax(240px,.86fr) minmax(0,1.14fr);min-height:390px;background:linear-gradient(145deg,#151517,#0a0a0b);border:1px solid rgba(255,255,255,.17);box-shadow:0 20px 48px rgba(0,0,0,.28);overflow:hidden}
.safety-panel__media{position:relative;display:block;min-height:390px;overflow:hidden;background:#0c0c0d}
.safety-panel__media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red-hot),var(--red-dark) 55%,transparent)}
.safety-panel__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.68) contrast(1.1) brightness(.68);transition:transform .45s ease,filter .45s ease}
.safety-panel:hover .safety-panel__media img{transform:scale(1.03);filter:saturate(.82) contrast(1.1) brightness(.74)}
.safety-panel__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 58%,rgba(0,0,0,.72) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%)}
.safety-panel__code{position:absolute;left:16px;top:16px;padding:8px 10px;border-left:3px solid var(--red-hot);background:rgba(5,5,5,.74);color:#eee;font:700 10px/1 var(--cond);letter-spacing:.17em;backdrop-filter:blur(5px)}
.safety-panel__media>b{position:absolute;right:-3px;bottom:-22px;color:rgba(255,255,255,.09);font:800 128px/.8 var(--cond);font-style:italic;user-select:none}
.safety-panel__body{position:relative;padding:30px 28px 27px;display:flex;flex-direction:column}
.safety-panel__body:before{content:"";position:absolute;left:0;top:0;width:3px;height:84px;background:linear-gradient(var(--red-hot),transparent)}
.safety-panel__title{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.safety-panel__title>span{color:var(--red-hot);font:800 14px/1 var(--cond);letter-spacing:.12em}
.safety-panel__title h3{margin:0;color:#f0f0f1;font:800 30px/.95 var(--cond);letter-spacing:.025em;text-transform:uppercase}
.safety-panel__body>p{margin:0 0 20px;color:#a8a8ac;font-size:12px;line-height:1.62}
.symptom-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px}
.symptom-list span{padding:7px 9px;border:1px solid rgba(255,255,255,.14);background:#0b0b0c;color:#c7c7ca;font:700 9.5px/1 var(--sans);letter-spacing:.08em}
.safety-link{margin-top:auto;display:inline-flex;align-items:center;gap:7px;color:#dedee0;font:700 11px/1 var(--cond);letter-spacing:.07em;text-transform:uppercase;transition:color .2s ease}
.safety-link span{color:var(--red-hot);font-size:19px;transition:transform .2s ease}
.safety-link:hover{color:#fff}.safety-link:hover span{transform:translateX(3px)}
.safety-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding:17px 20px;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--red-dark);background:#0b0b0c}
.safety-bottom>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:15px}
.safety-bottom>div>span{color:var(--red-hot);font:800 11px/1 var(--cond);letter-spacing:.16em}
.safety-bottom p{margin:0;max-width:790px;color:#8f9093;font-size:11px;line-height:1.5}
.safety-bottom .btn{flex:none;min-width:210px}

@media (max-width:1180px){
  .safety-panel{grid-template-columns:1fr;min-height:0}
  .safety-panel__media{min-height:260px}
  .safety-panel__body{min-height:320px}
}
@media (max-width:900px){
  .safety-section{padding:58px 0}
  .safety-head{grid-template-columns:1fr;gap:15px;align-items:start}
  .safety-head>p{max-width:720px}
  .safety-grid{grid-template-columns:1fr}
  .safety-panel{grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr)}
  .safety-panel__media{min-height:350px}
  .safety-panel__body{min-height:350px}
}
@media (max-width:620px){
  .safety-section{padding:46px 0}
  .safety-head{margin-bottom:20px}
  .safety-head h2{font-size:36px}
  .safety-head>p{font-size:12.5px;line-height:1.6;padding-left:13px}
  .safety-grid{gap:12px}
  .safety-panel{grid-template-columns:1fr}
  .safety-panel__media{min-height:245px}
  .safety-panel__body{min-height:0;padding:25px 20px 23px}
  .safety-panel__title h3{font-size:27px}
  .safety-panel__body>p{font-size:11.5px}
  .symptom-list{margin-bottom:19px}
  .symptom-list span{font-size:9px;padding:7px 8px}
  .safety-bottom{align-items:stretch;flex-direction:column;padding:16px 15px}
  .safety-bottom>div{grid-template-columns:1fr;gap:6px}
  .safety-bottom .btn{width:100%;min-width:0}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* Opiniones responsive */
@media (max-width:1100px){
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 18px;gap:16px}
}
@media (max-width:620px){
  .reviews-section{padding:30px 0 34px}
  .reviews-title{grid-template-columns:1fr auto 1fr;gap:9px;margin-bottom:17px}
  .reviews-title h2{font-size:24px;max-width:245px}
  .reviews-grid{grid-template-columns:1fr;padding:0;gap:12px}
  .review-card{min-height:0;padding:16px 17px}
  .review-card p{font-size:12.5px}
}

/* =====================================================
   HEADER / LOGO — ajuste final verificado
   ===================================================== */
.site-header{
  height:112px;
  overflow:visible;
}
.nav-wrap{
  position:relative;
  overflow:visible;
  padding-left:178px;
}
.brand{
  position:absolute;
  left:0;
  top:7px;
  width:158px;
  height:158px;
  aspect-ratio:auto;
  margin:0;
  align-self:auto;
  z-index:83;
  flex:none;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.78));
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media (max-width:1250px){
  .site-header{height:104px}
  .nav-wrap{padding-left:158px}
  .brand{left:0;top:7px;width:142px;height:142px;margin:0}
}

@media (max-width:980px){
  .site-header{height:84px;overflow:visible}
  .nav-wrap{padding-left:126px}
  .brand{left:0;top:5px;width:112px;height:112px;margin:0}
  .main-nav{top:118px}
}

@media (max-width:700px){
  .site-header{height:76px;overflow:visible}
  .nav-wrap{padding-left:110px}
  .brand{left:0;top:4px;width:98px;height:98px;margin:0}
  .main-nav{top:106px}
}


/* Páginas SEO locales */
.seo-page{background:#050505;color:#f7f7f7}
.seo-page .site-header{position:relative;top:auto}
.seo-hero{position:relative;min-height:440px;display:flex;align-items:end;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1);background:#080808}
.seo-hero__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08) brightness(.56)}
.seo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.6) 58%,rgba(0,0,0,.28)),linear-gradient(0deg,#050505 0%,transparent 55%)}
.seo-hero__content{position:relative;z-index:2;padding:72px 0 58px;max-width:860px}
.seo-kicker{margin:0 0 12px;color:var(--red-hot);font:700 13px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.seo-hero h1{margin:0;font:800 clamp(48px,6vw,82px)/.92 var(--cond);text-transform:uppercase;letter-spacing:-.015em;max-width:850px}
.seo-hero p{max-width:720px;color:#d2d2d4;font-size:17px;line-height:1.65;margin:22px 0 0}
.breadcrumbs{font-size:12px;color:#9d9da0;margin-bottom:18px}.breadcrumbs a{color:#d5d5d6}.breadcrumbs a:hover{color:var(--red-hot)}
.seo-content{padding:66px 0 72px;background:linear-gradient(180deg,#09090a,#050505)}
.seo-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:54px;align-items:start}
.seo-copy h2{font:700 clamp(32px,3vw,46px)/1 var(--cond);text-transform:uppercase;letter-spacing:.025em;margin:0 0 18px}
.seo-copy h3{font:700 27px/1.05 var(--cond);text-transform:uppercase;letter-spacing:.025em;margin:38px 0 12px}
.seo-copy p,.seo-copy li{font-size:15px;line-height:1.8;color:#c7c7c9}
.seo-copy ul{padding-left:20px}.seo-copy li::marker{color:var(--red-hot)}
.seo-highlight{border-left:3px solid var(--red-hot);background:#101012;padding:20px 22px;margin:28px 0;color:#dedee0;font-size:15px;line-height:1.7}
.seo-side{position:sticky;top:24px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,#151517,#09090a);padding:26px}
.seo-side span{display:block;color:var(--red-hot);font:700 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.seo-side h2{font:700 31px/1 var(--cond);text-transform:uppercase;margin:9px 0 14px}
.seo-side p{color:#b9b9bc;font-size:13px;line-height:1.65;margin:0 0 20px}
.seo-side dl{margin:22px 0}.seo-side dt{font:700 12px/1 var(--sans);letter-spacing:.07em;color:#888;text-transform:uppercase;margin-top:16px}.seo-side dd{margin:6px 0 0;color:#e6e6e7;font-size:13px;line-height:1.5}
.related-services{margin-top:52px;border-top:1px solid rgba(255,255,255,.12);padding-top:34px}.related-services h2{font:700 34px/1 var(--cond);text-transform:uppercase;margin:0 0 18px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-grid a{border:1px solid rgba(255,255,255,.14);background:#0f0f10;padding:18px 16px;font:700 17px/1.15 var(--cond);text-transform:uppercase;transition:.2s}.related-grid a:hover{border-color:var(--red-hot);transform:translateY(-2px)}
.seo-faq{padding:62px 0;background:#0b0b0c;border-top:1px solid rgba(255,255,255,.08)}.seo-faq h2{font:700 clamp(34px,3.3vw,48px)/1 var(--cond);text-transform:uppercase;margin:0 0 24px}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid rgba(255,255,255,.14);background:#101012;padding:19px 20px}.faq-item h3{font:700 21px/1.15 var(--cond);text-transform:uppercase;margin:0 0 8px}.faq-item p{font-size:14px;line-height:1.65;color:#bfc0c2;margin:0}
.seo-cta{padding:52px 0;background:radial-gradient(circle at 90% 50%,rgba(217,8,18,.17),transparent 28%),#070708;border-top:1px solid rgba(255,255,255,.1)}.seo-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.seo-cta h2{font:700 clamp(34px,3.8vw,54px)/.95 var(--cond);text-transform:uppercase;margin:0}.seo-cta p{color:#bdbdc0;margin:12px 0 0;max-width:690px;line-height:1.6}
@media(max-width:900px){.seo-layout{grid-template-columns:1fr;gap:30px}.seo-side{position:static}.related-grid{grid-template-columns:1fr 1fr}.seo-cta__inner{align-items:flex-start;flex-direction:column}.seo-hero{min-height:390px}.seo-hero__content{padding:56px 0 44px}}
@media(max-width:600px){.seo-hero{min-height:360px}.seo-hero h1{font-size:48px}.seo-hero p{font-size:14px}.seo-content{padding:48px 0}.related-grid{grid-template-columns:1fr}.seo-copy p,.seo-copy li{font-size:14px}.seo-side{padding:21px}.seo-faq{padding:48px 0}}

/* Formulario de contacto directo a WhatsApp */
.contact-form-section{
  position:relative;
  padding:72px 0;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(217,8,18,.055) 0,transparent 24%),
    radial-gradient(circle at 94% 12%,rgba(241,13,23,.10),transparent 28%),
    #09090a;
  border-top:1px solid rgba(255,255,255,.08);
}
.contact-form-section:before{
  content:"17";
  position:absolute;
  left:-22px;
  bottom:-90px;
  color:rgba(255,255,255,.025);
  font:800 330px/.8 var(--cond);
  pointer-events:none;
}
.contact-form-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(560px,1.18fr);
  gap:70px;
  align-items:center;
}
.contact-form-copy{max-width:540px}
.contact-form-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--red-hot);
  font:700 12px/1 var(--sans);
  letter-spacing:.22em;
}
.contact-form-kicker:before{content:"";width:42px;height:2px;background:var(--red-hot)}
.contact-form-copy h2{
  margin:16px 0 18px;
  max-width:530px;
  color:#f4f4f5;
  font:800 clamp(44px,4.5vw,72px)/.92 var(--cond);
  letter-spacing:-.015em;
  text-transform:uppercase;
}
.contact-form-copy>p{margin:0;color:#b9b9bc;font-size:15px;line-height:1.75;max-width:500px}
.contact-form-points{margin-top:32px;border-top:1px solid rgba(255,255,255,.14)}
.contact-form-points div{display:grid;grid-template-columns:54px 1fr;align-items:center;min-height:56px;border-bottom:1px solid rgba(255,255,255,.11)}
.contact-form-points b{font:800 21px/1 var(--cond);color:var(--red-hot);letter-spacing:.06em}
.contact-form-points span{font-size:12px;color:#c9c9cb;text-transform:uppercase;letter-spacing:.055em}
.contact-whatsapp-form{
  position:relative;
  padding:30px;
  background:linear-gradient(145deg,#171719,#0c0c0d 72%);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 22px 60px rgba(0,0,0,.38);
}
.contact-whatsapp-form:before{content:"";position:absolute;left:-1px;top:-1px;width:110px;height:3px;background:var(--red-hot)}
.contact-whatsapp-form label{display:block;color:#e7e7e8;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.contact-whatsapp-form label small{color:#77787b;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 16px}
.contact-whatsapp-form input,.contact-whatsapp-form select,.contact-whatsapp-form textarea{
  width:100%;
  margin-top:8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:2px;
  outline:none;
  background:#080809;
  color:#fff;
  padding:13px 14px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
  text-transform:none;
  letter-spacing:normal;
  font-size:13px;
}
.contact-whatsapp-form select{min-height:47px;color:#ddd}
.contact-whatsapp-form textarea{resize:vertical;min-height:122px;line-height:1.55}
.contact-whatsapp-form input::placeholder,.contact-whatsapp-form textarea::placeholder{color:#66676a}
.contact-whatsapp-form input:focus,.contact-whatsapp-form select:focus,.contact-whatsapp-form textarea:focus{border-color:var(--red-hot);box-shadow:0 0 0 3px rgba(241,13,23,.08);background:#0b0b0c}
.contact-form-message{margin-top:18px}
.contact-form-check{display:flex!important;align-items:center;gap:10px;margin:16px 0 19px;color:#aaa!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.contact-form-check input{width:17px;height:17px;margin:0;accent-color:var(--red-hot);flex:none}
.contact-form-submit{width:100%;clip-path:polygon(2% 0,100% 0,98% 100%,0 100%)}
.contact-form-submit span{font-size:14px;color:#fff}
.contact-form-note{text-align:center;color:#77787a;font-size:10px;line-height:1.4;margin:12px 0 0}

@media (max-width:1050px){
  .contact-form-layout{grid-template-columns:1fr;gap:38px}
  .contact-form-copy{max-width:720px}
  .contact-form-copy h2{max-width:760px}
  .contact-form-points{max-width:680px}
}
@media (max-width:700px){
  .contact-form-section{padding:52px 0}
  .contact-form-section:before{font-size:220px;bottom:-45px}
  .contact-form-layout{gap:28px}
  .contact-form-copy h2{font-size:43px;margin-top:13px}
  .contact-form-copy>p{font-size:14px;line-height:1.65}
  .contact-form-points{margin-top:24px}
  .contact-form-points div{grid-template-columns:44px 1fr;min-height:50px}
  .contact-form-points b{font-size:18px}
  .contact-form-points span{font-size:10.5px;line-height:1.35}
  .contact-whatsapp-form{padding:22px 18px}
  .contact-form-grid{grid-template-columns:1fr;gap:14px}
  .contact-form-message{margin-top:14px}
  .contact-form-submit{font-size:15px;padding-inline:14px}
}


/* Motor · Caja · Embrague */
.powertrain-section{
  position:relative;
  padding:78px 0 82px;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%,rgba(217,8,18,.10),transparent 28%),
    linear-gradient(180deg,#080809 0%,#0d0d0f 48%,#080809 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.powertrain-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background:
    linear-gradient(90deg,transparent 0 49.92%,rgba(255,255,255,.035) 50%,transparent 50.08%),
    repeating-linear-gradient(0deg,transparent 0 69px,rgba(255,255,255,.02) 70px);
}
.powertrain-section>.shell{position:relative;z-index:1}
.powertrain-head{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:34px;
  align-items:end;
  margin-bottom:34px;
  padding-bottom:26px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.powertrain-code{
  color:rgba(255,255,255,.17);
  font:800 30px/1 var(--cond);
  letter-spacing:.08em;
  white-space:nowrap;
  border-left:3px solid var(--red-hot);
  padding-left:16px;
}
.powertrain-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--red-hot);
  font:700 11px/1 var(--sans);
  letter-spacing:.21em;
}
.powertrain-head h2{
  max-width:980px;
  margin:0;
  color:#f5f5f5;
  font:800 clamp(40px,4vw,62px)/.91 var(--cond);
  letter-spacing:.005em;
  text-transform:uppercase;
}
.powertrain-head p{
  max-width:860px;
  margin:17px 0 0;
  color:#aeb0b3;
  font-size:14px;
  line-height:1.7;
}
.powertrain-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.powertrain-card{
  position:relative;
  min-width:0;
  background:linear-gradient(155deg,#171719,#0b0b0c 76%);
  border:1px solid rgba(255,255,255,.18);
  border-bottom:3px solid #252528;
  overflow:hidden;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.powertrain-card:hover{
  transform:translateY(-5px);
  border-color:rgba(241,13,23,.48);
  border-bottom-color:var(--red-hot);
  box-shadow:0 22px 48px rgba(0,0,0,.34);
}
.powertrain-card__media{
  position:relative;
  display:block;
  height:215px;
  overflow:hidden;
  background:#080808;
}
.powertrain-card__media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.03) 20%,rgba(0,0,0,.18) 55%,rgba(7,7,8,.92) 100%);
}
.powertrain-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.65) contrast(1.12) brightness(.76);
  transition:transform .45s ease,filter .45s ease;
}
.powertrain-card--clutch .powertrain-card__media img{object-position:center 58%}
.powertrain-card:hover .powertrain-card__media img{
  transform:scale(1.035);
  filter:saturate(.82) contrast(1.12) brightness(.82);
}
.powertrain-card__media>span{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  padding:7px 10px;
  border-left:3px solid var(--red-hot);
  background:rgba(4,4,5,.74);
  color:#d9d9db;
  font:700 11px/1 var(--cond);
  letter-spacing:.14em;
}
.powertrain-card__body{padding:22px 22px 24px}
.powertrain-card__title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}
.powertrain-card__title h3{
  margin:0;
  color:#f2f2f3;
  font:800 31px/.95 var(--cond);
  letter-spacing:.015em;
  text-transform:uppercase;
}
.powertrain-card__title b{
  color:rgba(255,255,255,.09);
  font:800 52px/.75 var(--cond);
  font-style:italic;
}
.powertrain-card ul{
  list-style:none;
  margin:0 0 22px;
  padding:0;
}
.powertrain-card li{
  position:relative;
  padding:9px 0 9px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#b9b9bc;
  font-size:12px;
  line-height:1.42;
}
.powertrain-card li:before{
  content:"";
  position:absolute;
  left:1px;
  top:15px;
  width:6px;
  height:6px;
  border:1px solid var(--red-hot);
  transform:rotate(45deg);
}
.powertrain-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#e7e7e8;
  font:700 13px/1 var(--cond);
  letter-spacing:.055em;
}
.powertrain-link span{
  color:var(--red-hot);
  font-size:23px;
  transition:transform .2s ease;
}
.powertrain-link:hover{color:#fff}
.powertrain-link:hover span{transform:translateX(4px)}
.powertrain-bottom{
  margin-top:22px;
  padding:18px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  border-top:1px solid rgba(255,255,255,.12);
}
.powertrain-bottom p{
  margin:0;
  max-width:710px;
  color:#929397;
  font-size:12px;
  line-height:1.55;
}
.powertrain-bottom p strong{color:#dedee0;font-weight:700}

@media (max-width:1000px){
  .powertrain-head{grid-template-columns:1fr;gap:14px;align-items:start}
  .powertrain-code{font-size:22px}
  .powertrain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .powertrain-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .powertrain-card:last-child .powertrain-card__media{height:100%;min-height:260px}
}
@media (max-width:700px){
  .powertrain-section{padding:54px 0 58px}
  .powertrain-head{margin-bottom:24px;padding-bottom:20px}
  .powertrain-head h2{font-size:39px}
  .powertrain-head p{font-size:13px}
  .powertrain-grid{grid-template-columns:1fr;gap:13px}
  .powertrain-card:last-child{grid-column:auto;display:block}
  .powertrain-card:last-child .powertrain-card__media{height:205px;min-height:0}
  .powertrain-card__media{height:205px}
  .powertrain-card__body{padding:20px 18px 21px}
  .powertrain-card__title h3{font-size:28px}
  .powertrain-card__title b{font-size:44px}
  .powertrain-bottom{align-items:stretch;flex-direction:column}
  .powertrain-bottom .btn{width:100%}
  .powertrain-bottom p{text-align:center}
}


@media (max-width:980px){
  .quick-wa-banner__inner{grid-template-columns:62px 1fr;gap:18px;padding:18px 20px}
  .quick-wa-banner__mark{width:58px;height:58px}
  .quick-wa-banner__mark svg{width:33px;height:33px}
  .quick-wa-banner__cta{grid-column:1/-1;width:100%;min-width:0}
  .quick-wa-banner__inner:after{right:30px;top:42%;font-size:92px}
}
@media (max-width:700px){
  .quick-wa-banner{padding:14px 0}
  .quick-wa-banner__inner{grid-template-columns:1fr;gap:14px;padding:20px 17px;border-left-width:3px}
  .quick-wa-banner__mark{width:54px;height:54px}
  .quick-wa-banner__copy h2{font-size:31px;max-width:460px}
  .quick-wa-banner__copy p{font-size:12.5px}
  .quick-wa-banner__cta{min-height:52px;padding-inline:18px;font-size:14px;gap:12px}
  .quick-wa-banner__inner:after{right:-10px;top:32%;font-size:78px}
}
@media (max-width:420px){
  .quick-wa-banner__copy h2{font-size:28px}
  .quick-wa-banner__cta span{max-width:230px;text-align:center}
}


/* Por qué Mecánica 17 */
.why17-section{
  position:relative;
  padding:72px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 20%,rgba(217,8,18,.10),transparent 30%),
    linear-gradient(180deg,#080809 0%,#111113 52%,#09090a 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.why17-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:repeating-linear-gradient(135deg,transparent 0 42px,rgba(255,255,255,.018) 43px 44px);
}
.why17-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);
  gap:0;
  align-items:stretch;
  min-height:560px;
}
.why17-visual{
  position:relative;
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-right:0;
  background:#0b0b0c;
}
.why17-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.72) contrast(1.1) brightness(.7);
  transition:transform .55s ease,filter .55s ease;
}
.why17-visual:hover img{transform:scale(1.025);filter:saturate(.86) contrast(1.1) brightness(.76)}
.why17-visual__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.22) 58%,rgba(0,0,0,.78) 100%),linear-gradient(0deg,rgba(0,0,0,.88),transparent 48%);
}
.why17-visual__code{
  position:absolute;
  left:22px;
  top:22px;
  padding:9px 12px;
  border-left:3px solid var(--red-hot);
  background:rgba(5,5,5,.72);
  color:#ededee;
  font:700 12px/1 var(--cond);
  letter-spacing:.18em;
  backdrop-filter:blur(6px);
}
.why17-visual__number{
  position:absolute;
  right:18px;
  bottom:-28px;
  color:rgba(255,255,255,.07);
  font:800 190px/.8 var(--cond);
  font-style:italic;
  user-select:none;
}
.why17-visual__caption{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  padding:15px 17px;
  border-left:3px solid var(--red-hot);
  background:linear-gradient(90deg,rgba(5,5,5,.88),rgba(5,5,5,.42));
  backdrop-filter:blur(5px);
}
.why17-visual__caption small{display:block;margin-bottom:6px;color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.17em}
.why17-visual__caption strong{display:block;color:#fff;font:700 18px/1.05 var(--cond);letter-spacing:.04em}
.why17-content{
  position:relative;
  padding:50px 50px 44px;
  border:1px solid rgba(255,255,255,.16);
  border-left:3px solid var(--red-dark);
  background:linear-gradient(150deg,#171719 0%,#0a0a0b 74%);
  box-shadow:0 26px 68px rgba(0,0,0,.28);
}
.why17-content:before{content:"";position:absolute;right:0;top:0;width:130px;height:1px;background:var(--red-hot)}
.why17-kicker{display:block;margin-bottom:12px;color:var(--red-hot);font:700 11px/1 var(--sans);letter-spacing:.2em}
.why17-content h2{max-width:720px;margin:0 0 17px;color:#f4f4f5;font:800 clamp(40px,3.2vw,54px)/.93 var(--cond);letter-spacing:.01em;text-transform:uppercase}
.why17-intro{max-width:720px;margin:0 0 26px;color:#bcbcc0;font-size:14px;line-height:1.72}
.why17-points{border-top:1px solid rgba(255,255,255,.13)}
.why17-points article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.why17-points article>span{padding-top:2px;color:var(--red-hot);font:800 17px/1 var(--cond);letter-spacing:.08em}
.why17-points h3{margin:0 0 5px;color:#efeff0;font:700 20px/1 var(--cond);letter-spacing:.035em;text-transform:uppercase}
.why17-points p{margin:0;max-width:680px;color:#8f8f93;font-size:11.5px;line-height:1.52}
.why17-cta{margin-top:28px;min-width:230px}
@media (max-width:1050px){
  .why17-layout{grid-template-columns:1fr 1.08fr;min-height:520px}
  .why17-visual{min-height:520px}
  .why17-content{padding:40px 34px 36px}
  .why17-content h2{font-size:42px}
}
@media (max-width:820px){
  .why17-section{padding:56px 0}
  .why17-layout{grid-template-columns:1fr;min-height:0}
  .why17-visual{min-height:360px;border-right:1px solid rgba(255,255,255,.16);border-bottom:0}
  .why17-content{border-left:1px solid rgba(255,255,255,.16);border-top:3px solid var(--red-dark);padding:38px 32px}
  .why17-visual__number{font-size:148px}
}
@media (max-width:560px){
  .why17-section{padding:46px 0}
  .why17-visual{min-height:285px}
  .why17-visual__code{left:15px;top:15px;font-size:10.5px}
  .why17-visual__caption{left:15px;right:15px;bottom:15px;padding:12px 13px}
  .why17-visual__caption strong{font-size:15px}
  .why17-visual__number{right:8px;bottom:-16px;font-size:108px}
  .why17-content{padding:30px 21px 28px}
  .why17-content h2{font-size:36px}
  .why17-intro{font-size:13px;margin-bottom:20px}
  .why17-points article{grid-template-columns:34px 1fr;gap:9px;padding:14px 0}
  .why17-points h3{font-size:18px}
  .why17-points p{font-size:11px}
  .why17-cta{width:100%;margin-top:22px}
}


/* Mantenciones preventivas */
.maintenance-section{
  position:relative;
  padding:76px 0;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 26%),
    radial-gradient(circle at 8% 14%,rgba(217,8,18,.11),transparent 29%),
    #080809;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.maintenance-section:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.19;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 49.85%,rgba(255,255,255,.04) 50%,transparent 50.15%);
  background-size:54px 100%;
}
.maintenance-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);
  align-items:stretch;
  min-height:610px;
}
.maintenance-visual{
  position:relative;
  min-height:610px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.17);
  border-right:0;
  background:#0b0b0c;
}
.maintenance-visual:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--red-hot),var(--red-dark) 62%,transparent);
}
.maintenance-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.68) contrast(1.08) brightness(.67);
  transition:transform .55s ease,filter .55s ease;
}
.maintenance-visual:hover img{transform:scale(1.025);filter:saturate(.82) contrast(1.08) brightness(.73)}
.maintenance-visual__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.2) 49%,rgba(0,0,0,.08) 100%),linear-gradient(90deg,transparent 48%,rgba(0,0,0,.45) 100%);
}
.maintenance-visual__code{
  position:absolute;
  left:23px;
  top:23px;
  z-index:2;
  padding:9px 12px;
  background:rgba(5,5,5,.72);
  border-left:3px solid var(--red-hot);
  color:#ececee;
  font:700 12px/1 var(--cond);
  letter-spacing:.17em;
  backdrop-filter:blur(6px);
}
.maintenance-visual__number{
  position:absolute;
  right:15px;
  bottom:-32px;
  z-index:1;
  color:rgba(255,255,255,.07);
  font:800 190px/.78 var(--cond);
  font-style:italic;
  user-select:none;
}
.maintenance-visual__caption{
  position:absolute;
  left:23px;
  right:23px;
  bottom:23px;
  z-index:3;
  max-width:470px;
  padding:16px 17px 15px;
  background:rgba(7,7,8,.78);
  border-left:3px solid var(--red-hot);
  backdrop-filter:blur(8px);
}
.maintenance-visual__caption small{display:block;margin-bottom:6px;color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.17em}
.maintenance-visual__caption strong{display:block;color:#fff;font:700 20px/1.02 var(--cond);letter-spacing:.04em}
.maintenance-content{
  position:relative;
  padding:44px 46px 40px;
  background:linear-gradient(150deg,#171719 0%,#0b0b0c 76%);
  border:1px solid rgba(255,255,255,.17);
  border-left:3px solid var(--red-dark);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.maintenance-content:before{content:"";position:absolute;right:0;top:0;width:125px;height:1px;background:var(--red-hot)}
.maintenance-kicker{display:block;margin-bottom:12px;color:var(--red-hot);font:700 11px/1 var(--sans);letter-spacing:.2em}
.maintenance-content h2{max-width:790px;margin:0 0 16px;color:#f3f3f4;font:800 clamp(40px,3.15vw,54px)/.93 var(--cond);letter-spacing:.005em;text-transform:uppercase}
.maintenance-intro{max-width:760px;margin:0 0 22px;color:#bcbcc0;font-size:13.5px;line-height:1.68}
.maintenance-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.12);margin-bottom:24px}
.maintenance-services div{min-height:53px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.1);padding:8px 6px 8px 0}
.maintenance-services div:nth-child(odd){border-right:1px solid rgba(255,255,255,.09);padding-right:14px}
.maintenance-services div:nth-child(even){padding-left:14px}
.maintenance-services div:last-child{grid-column:1/-1;border-right:0;padding-left:0}
.maintenance-services span{color:var(--red-hot);font:800 15px/1 var(--cond);letter-spacing:.08em}
.maintenance-services strong{color:#e8e8ea;font:700 15px/1.1 var(--cond);letter-spacing:.04em}
.maintenance-form{padding:19px 19px 17px;background:#070708;border:1px solid rgba(255,255,255,.15);border-top:2px solid var(--red-dark)}
.maintenance-form__head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.maintenance-form__head span{color:#f0f0f1;font:700 18px/1 var(--cond);letter-spacing:.05em}
.maintenance-form__head p{margin:0;color:#77787b;font-size:10.5px;line-height:1.4;text-align:right}
.maintenance-form__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.maintenance-form label{color:#9d9da0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.maintenance-form input{width:100%;height:42px;margin-top:6px;padding:0 11px;border:1px solid rgba(255,255,255,.16);outline:0;background:#111113;color:#fff;border-radius:2px;font-size:12px;text-transform:none;transition:border-color .2s ease,background .2s ease}
.maintenance-form input:focus{border-color:var(--red-hot);background:#151517}
.maintenance-form__actions{display:flex;align-items:center;gap:18px;margin-top:13px}
.maintenance-form__actions .btn{min-height:43px;font-size:14px}
.maintenance-form__actions>a{color:#9b9b9e;font:700 11px/1 var(--cond);letter-spacing:.06em;transition:color .2s ease}
.maintenance-form__actions>a span{margin-left:5px;color:var(--red-hot);font-size:18px}
.maintenance-form__actions>a:hover{color:#fff}

@media (max-width:1100px){
  .maintenance-layout{grid-template-columns:1fr 1.08fr;min-height:590px}
  .maintenance-visual{min-height:590px}
  .maintenance-content{padding:38px 32px 34px}
  .maintenance-content h2{font-size:42px}
  .maintenance-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .maintenance-section{padding:56px 0}
  .maintenance-layout{grid-template-columns:1fr;min-height:0}
  .maintenance-visual{min-height:370px;border-right:1px solid rgba(255,255,255,.17);border-bottom:0}
  .maintenance-content{border-left:1px solid rgba(255,255,255,.17);border-top:3px solid var(--red-dark);padding:36px 30px 32px}
  .maintenance-visual__number{font-size:148px}
}
@media (max-width:560px){
  .maintenance-section{padding:46px 0}
  .maintenance-visual{min-height:285px}
  .maintenance-visual__code{left:15px;top:15px;font-size:10px}
  .maintenance-visual__number{right:8px;bottom:-17px;font-size:108px}
  .maintenance-visual__caption{left:15px;right:15px;bottom:15px;padding:12px 13px}
  .maintenance-visual__caption strong{font-size:16px}
  .maintenance-content{padding:29px 20px 27px}
  .maintenance-content h2{font-size:35px}
  .maintenance-intro{font-size:12.5px;line-height:1.62}
  .maintenance-services{grid-template-columns:1fr}
  .maintenance-services div,.maintenance-services div:nth-child(odd),.maintenance-services div:nth-child(even),.maintenance-services div:last-child{grid-column:auto;border-right:0;padding:9px 0}
  .maintenance-form{padding:16px 14px 15px}
  .maintenance-form__head{align-items:flex-start;flex-direction:column;gap:5px}
  .maintenance-form__head p{text-align:left}
  .maintenance-form__grid{grid-template-columns:1fr}
  .maintenance-form__actions{align-items:stretch;flex-direction:column;gap:10px}
  .maintenance-form__actions .btn{width:100%}
  .maintenance-form__actions>a{text-align:center;line-height:1.3}
}

/* =====================================================
   SISTEMA VISUAL UNIFICADO / MECÁNICA 17
   Mantiene la composición existente, pero homologa
   superficies, bordes, radios, sombras, títulos y CTA.
   ===================================================== */

/* Ritmo vertical consistente en las secciones principales */
.section:not(.services),
.why17-section,
.maintenance-section,
.safety-section,
.powertrain-section,
.projects-section,
.contact-form-section,
.location-section{
  padding-top:var(--section-space);
  padding-bottom:var(--section-space);
}

/* Superficies técnicas compartidas */
.service-card,
.review-card,
.note-card,
.powertrain-card,
.safety-panel,
.contact-whatsapp-form,
.maintenance-form,
.quick-wa-banner__inner,
.hero-facts,
.contact-panel,
.location-grid,
.seo-side,
.related-grid a,
.faq-item{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
}

/* Composiciones imagen + contenido: un solo bloque visual */
.projects-layout,
.why17-layout,
.maintenance-layout{
  overflow:hidden;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  background:var(--surface-1);
}
.projects-visual,
.why17-visual,
.maintenance-visual{
  border:0 !important;
}
.projects-content,
.why17-content,
.maintenance-content{
  border:0 !important;
  border-left:3px solid var(--red-dark) !important;
  box-shadow:none;
  background:linear-gradient(150deg,var(--surface-2) 0%,var(--surface-1) 76%);
}

/* Cards: misma familia sin hacerlas idénticas */
.service-card,
.review-card,
.note-card,
.powertrain-card,
.safety-panel{
  background:linear-gradient(150deg,var(--surface-2),var(--surface-1) 78%);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.service-card:hover,
.review-card:hover,
.note-card:hover,
.powertrain-card:hover,
.safety-panel:hover{
  border-color:rgba(241,13,23,.52);
  box-shadow:var(--ui-shadow-hover);
}
.review-card,
.note-card{border-radius:var(--ui-radius)}
.note-card:before{opacity:.65}

/* Galería y pequeñas placas técnicas */
.gallery__item,
.symptom-list span,
.location-detail__icon,
.projects-visual__stamp,
.why17-visual__code,
.maintenance-visual__code,
.safety-panel__code,
.powertrain-card__media>span{
  border-color:var(--ui-border);
  border-radius:var(--ui-radius-sm);
}
.gallery__item{box-shadow:0 12px 28px rgba(0,0,0,.24)}

/* Jerarquía tipográfica consistente */
.section-title h2,
.projects-content h2,
.why17-content h2,
.maintenance-content h2,
.safety-head h2,
.powertrain-head h2,
.contact-form-copy h2,
.location-heading h2,
.contact-block__head h2,
.seo-faq h2,
.seo-cta h2{
  font-family:var(--cond);
  font-weight:800;
  letter-spacing:.012em;
  line-height:.94;
}
.projects-kicker,
.why17-kicker,
.maintenance-kicker,
.safety-kicker,
.powertrain-kicker,
.contact-form-kicker,
.location-kicker,
.final-cta__kicker,
.quick-wa-banner__eyebrow{
  color:var(--red-hot);
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:.20em;
  text-transform:uppercase;
}

/* Un solo lenguaje para botones y llamados a la acción */
.btn,
.quick-wa-banner__cta,
.contact-info a{
  min-height:48px;
  clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);
  border-radius:0;
  font-family:var(--cond);
  font-weight:700;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,filter .18s ease,box-shadow .18s ease;
}
.btn--red,
.quick-wa-banner__cta,
.contact-info a{
  background:linear-gradient(135deg,var(--red-hot),#a8060d);
  box-shadow:0 10px 26px rgba(217,8,18,.20);
}
.btn--outline,
.btn--outline-red{
  background:rgba(7,7,8,.76);
  border:1px solid rgba(255,255,255,.42);
  box-shadow:none;
}
.btn--outline-red{border-color:rgba(241,13,23,.72)}
.btn:hover,
.quick-wa-banner__cta:hover,
.contact-info a:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}

/* Formularios: mismos campos, foco y proporciones */
.quote-form input,
.quote-form select,
.quote-form textarea,
.contact-whatsapp-form input,
.contact-whatsapp-form select,
.contact-whatsapp-form textarea,
.maintenance-form input{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-sm);
  background:#09090a;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus,
.contact-whatsapp-form input:focus,
.contact-whatsapp-form select:focus,
.contact-whatsapp-form textarea:focus,
.maintenance-form input:focus{
  border-color:var(--red-hot);
  box-shadow:0 0 0 3px rgba(241,13,23,.08);
  background:#0c0c0e;
}

/* Bloques específicos que antes tenían una estética distinta */
.quick-wa-banner__inner{border-left:3px solid var(--red-hot)}
.contact-whatsapp-form{background:linear-gradient(150deg,var(--surface-2),var(--surface-1) 76%)}
.maintenance-form{border-top:2px solid var(--red-dark)}
.location-grid{overflow:hidden}
.location-card{background:linear-gradient(150deg,var(--surface-2),var(--surface-1) 76%)}
.contact-panel{overflow:hidden;background:rgba(8,8,9,.72)}
.reviews-grid,.note-cards,.powertrain-grid,.safety-grid{gap:18px}

/* Bordes y separadores con una intensidad coherente */
.trust-strip,
.featured,
.reviews-section,
.contact-block,
.footer,
.why17-section,
.maintenance-section,
.safety-section,
.powertrain-section,
.projects-section,
.contact-form-section,
.location-section{
  border-color:rgba(255,255,255,.09);
}
.trust-item,
.contact-info article,
.location-detail,
.powertrain-head,
.powertrain-bottom,
.projects-list,
.projects-list>a,
.projects-list>div,
.why17-points,
.why17-points article,
.maintenance-services,
.maintenance-services div,
.contact-form-points,
.contact-form-points div{
  border-color:rgba(255,255,255,.11);
}

/* Hover homogéneo para enlaces técnicos */
.powertrain-link,
.safety-link,
.projects-list>a,
.related-grid a{
  transition:color .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;
}
.related-grid a:hover{box-shadow:0 12px 28px rgba(0,0,0,.24)}

@media (max-width:820px){
  .section:not(.services),
  .why17-section,
  .maintenance-section,
  .safety-section,
  .powertrain-section,
  .projects-section,
  .contact-form-section,
  .location-section{
    padding-top:56px;
    padding-bottom:56px;
  }
  .projects-content,
  .why17-content,
  .maintenance-content{
    border-left:0 !important;
    border-top:3px solid var(--red-dark) !important;
  }
}

@media (max-width:560px){
  :root{--section-space:48px}
  .section:not(.services),
  .why17-section,
  .maintenance-section,
  .safety-section,
  .powertrain-section,
  .projects-section,
  .contact-form-section,
  .location-section{
    padding-top:48px;
    padding-bottom:48px;
  }
  .service-card,
  .review-card,
  .note-card,
  .powertrain-card,
  .safety-panel,
  .contact-whatsapp-form,
  .maintenance-form,
  .quick-wa-banner__inner,
  .contact-panel,
  .location-grid{
    box-shadow:0 12px 32px rgba(0,0,0,.28);
  }
}


/* ==========================================================
   PASADA 02 · TRANSICIONES ENTRE SECCIONES
   Separadores técnicos, cortes diagonales y cambios de plano.
   ========================================================== */
.section-bridge{
  --bridge-accent:var(--red-hot);
  position:relative;
  z-index:6;
  height:46px;
  margin:-1px 0;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#09090a 0%,#09090a 48%,#0d0d0f 52%,#0d0d0f 100%);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.section-bridge:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-4vw;
  top:0;
  width:43vw;
  height:100%;
  background:linear-gradient(90deg,rgba(241,13,23,.12),transparent 70%),#111113;
  clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%);
  border-right:1px solid rgba(241,13,23,.35);
}
.section-bridge:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:22px;
  height:1px;
  z-index:-1;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.13) 9%,rgba(255,255,255,.13) 74%,rgba(241,13,23,.72) 89%,transparent 100%);
}
.section-bridge__inner{height:100%;display:flex;align-items:center;gap:14px;position:relative}
.section-bridge__inner span{flex:none;min-width:126px;color:#d6d6d8;font:700 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.section-bridge__inner i{display:block;width:54px;height:4px;background:var(--bridge-accent);transform:skewX(-36deg);box-shadow:20px 0 0 rgba(241,13,23,.28),40px 0 0 rgba(241,13,23,.12)}
.section-bridge__inner b{margin-left:auto;color:rgba(255,255,255,.08);font:800 38px/.8 var(--cond);font-style:italic;letter-spacing:-.04em}
.section-bridge--reverse:before{left:auto;right:-4vw;transform:scaleX(-1)}
.section-bridge--reverse:after{background:linear-gradient(90deg,transparent 0%,rgba(241,13,23,.72) 11%,rgba(255,255,255,.13) 26%,rgba(255,255,255,.13) 91%,transparent 100%)}
.section-bridge--reverse .section-bridge__inner{flex-direction:row-reverse}
.section-bridge--reverse .section-bridge__inner b{margin-left:0;margin-right:auto}
.section-bridge--reverse .section-bridge__inner i{transform:skewX(36deg)}
.section-bridge--service{background:linear-gradient(180deg,#050505 0 48%,#080809 52% 100%)}
.section-bridge--workshop{background:linear-gradient(180deg,#0a0a0b 0 48%,#101012 52% 100%)}
.section-bridge--engineering{background:linear-gradient(180deg,#0a0a0b 0 48%,#080809 52% 100%)}
.section-bridge--projects{background:linear-gradient(180deg,#09090a 0 48%,#0b0b0d 52% 100%)}
.section-bridge--work{background:linear-gradient(180deg,#0a0a0b 0 48%,#060607 52% 100%)}
.section-bridge--contact{background:linear-gradient(180deg,#0b0b0c 0 48%,#0d0d0f 52% 100%)}
.section-bridge--location{background:linear-gradient(180deg,#0d0d0e 0 48%,#080809 52% 100%)}

/* Cambios de plano para que cada bloque entregue visualmente al siguiente. */
.services,.why17-section,.maintenance-section,.safety-section,.powertrain-section,.projects-section,.featured,.reviews-section,.notes-section,.contact-form-section,.contact-block,.location-section,.final-cta{position:relative}
.services{background:linear-gradient(180deg,#080809 0%,#050505 18%,#070708 100%)}
.featured{background:linear-gradient(180deg,#060607 0%,#050505 38%,#09090a 100%)}
.notes-section{background:radial-gradient(circle at 100% 100%,rgba(217,8,18,.10),transparent 25%),linear-gradient(180deg,#0b0b0c,#0e0e10)}
.contact-block{background:radial-gradient(circle at 88% 85%,rgba(217,8,18,.15),transparent 25%),linear-gradient(180deg,#0d0d0f,#09090a)}

/* Regla técnica corta que marca el arranque de los bloques principales. */
.why17-section>.shell:before,.maintenance-section>.shell:before,.safety-section>.shell:before,.powertrain-section>.shell:before,.projects-section>.shell:before,.contact-form-section>.shell:before,.location-section>.shell:before{
  content:"";position:absolute;left:0;top:-28px;width:92px;height:3px;background:linear-gradient(90deg,var(--red-hot) 0 58%,rgba(255,255,255,.32) 58% 74%,transparent 74%);transform:skewX(-28deg);pointer-events:none
}
.why17-section>.shell,.maintenance-section>.shell,.safety-section>.shell,.powertrain-section>.shell,.projects-section>.shell,.contact-form-section>.shell,.location-section>.shell{position:relative}

/* Bordes de acero discretos: no se usan separadores idénticos en cada bloque. */
.why17-section,.safety-section,.projects-section,.reviews-section,.contact-block{box-shadow:inset 0 -1px 0 rgba(255,255,255,.06),inset 0 -2px 0 rgba(0,0,0,.55)}
.maintenance-section,.powertrain-section,.featured,.notes-section,.contact-form-section,.location-section{box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 -1px 0 rgba(255,255,255,.055)}

/* El hero entrega la página al primer módulo técnico. */
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:7;background:linear-gradient(90deg,transparent 0 8%,var(--red-hot) 8% 24%,rgba(191,194,197,.32) 24% 61%,transparent 61%)}

/* Corte superior del CTA final para cerrar la secuencia de la página. */
.final-cta:before{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:8px;background:linear-gradient(105deg,var(--red-hot) 0 19%,rgba(191,194,197,.34) 19% 44%,transparent 44%);clip-path:polygon(0 0,100% 0,100% 2px,46% 2px,44% 8px,0 8px);pointer-events:none}

@media (max-width:820px){
  .section-bridge{height:40px}.section-bridge:after{top:19px}.section-bridge:before{width:58vw}
  .section-bridge__inner span{min-width:112px;font-size:9px;letter-spacing:.18em}.section-bridge__inner i{width:42px;height:3px}.section-bridge__inner b{font-size:31px}
  .why17-section>.shell:before,.maintenance-section>.shell:before,.safety-section>.shell:before,.powertrain-section>.shell:before,.projects-section>.shell:before,.contact-form-section>.shell:before,.location-section>.shell:before{top:-20px;width:72px}
}
@media (max-width:560px){
  .section-bridge{height:34px}.section-bridge:after{top:16px}.section-bridge:before{width:72vw}.section-bridge__inner{gap:9px}
  .section-bridge__inner span{min-width:0;font-size:8px;letter-spacing:.15em}.section-bridge__inner i{width:28px;height:3px;box-shadow:14px 0 0 rgba(241,13,23,.24)}.section-bridge__inner b{display:none}
  .hero:after{height:3px;background:linear-gradient(90deg,var(--red-hot) 0 34%,rgba(191,194,197,.24) 34% 78%,transparent 78%)}
}

/* ==========================================================
   PASADA 03 · RITMO Y DENSIDAD
   Comprime la página sin perder jerarquía ni legibilidad.
   ========================================================== */
:root{--section-space:56px}

/* Hero más contenido: mantiene protagonismo sin consumir casi una pantalla completa. */
.hero{min-height:620px;height:calc(100vh - 146px);max-height:720px}
.hero__content{padding-bottom:82px}
.hero__copy{margin:20px 0 22px;line-height:1.55;max-width:640px}
.hero-facts{min-height:76px;bottom:14px}
.hero-facts div{padding:12px 25px}

/* Servicios y llamadas rápidas más compactas. */
.services{padding:14px 0 20px}
.service-card{height:260px}
.service-card img{height:116px;flex-basis:116px}
.service-card__body{margin-top:-15px;padding:16px 12px 9px}
.service-card h3{font-size:20px;margin-bottom:8px}
.service-card p{font-size:11px;line-height:1.42}
.quick-wa-banner{padding:12px 0}
.quick-wa-banner__inner{min-height:100px;padding:14px 20px;gap:18px;grid-template-columns:62px minmax(0,1fr) auto}
.quick-wa-banner__mark{width:56px;height:56px}.quick-wa-banner__mark svg{width:32px;height:32px}
.quick-wa-banner__copy h2{font-size:clamp(25px,2vw,34px)}
.quick-wa-banner__copy p{margin-top:5px;font-size:12px;line-height:1.42}
.quick-wa-banner__cta{min-width:260px;min-height:48px;font-size:14px}
.trust-strip{padding:18px 0}.trust-item{min-height:68px;padding:0 25px;gap:14px}.trust-item svg{width:44px;height:44px}.trust-item b{font-size:16px}.trust-item span{font-size:10px;margin-top:3px}

/* Separadores técnicos: siguen marcando ritmo, con menos altura. */
.section-bridge{height:34px}.section-bridge:after{top:16px}.section-bridge__inner b{font-size:30px}.section-bridge__inner i{height:3px;width:46px}.section-bridge__inner span{font-size:9px}

/* Bloques editoriales: menos aire interno y alturas mínimas más razonables. */
.why17-layout,.why17-visual{min-height:500px}
.why17-content{padding:36px 40px 32px}
.why17-content h2{font-size:clamp(38px,2.9vw,49px);margin-bottom:12px}
.why17-intro{margin-bottom:18px;font-size:13px;line-height:1.58}
.why17-points article{padding:11px 0;grid-template-columns:36px 1fr;gap:10px}
.why17-points h3{font-size:18px;margin-bottom:3px}.why17-points p{font-size:10.5px;line-height:1.4}
.why17-cta{margin-top:20px;min-height:44px}

.maintenance-layout,.maintenance-visual{min-height:520px}
.maintenance-content{padding:32px 36px 30px}
.maintenance-content h2{font-size:clamp(37px,2.85vw,48px);margin-bottom:11px}
.maintenance-intro{margin-bottom:16px;font-size:12.5px;line-height:1.55}
.maintenance-services{margin-bottom:16px}.maintenance-services div{min-height:44px;padding-top:6px;padding-bottom:6px}.maintenance-services strong{font-size:14px}
.maintenance-form{padding:14px 15px 13px}.maintenance-form__head{margin-bottom:10px}.maintenance-form input{height:38px}.maintenance-form__actions{margin-top:10px}

.safety-head{margin-bottom:22px;padding-bottom:18px}
.safety-head h2{font-size:clamp(38px,3.1vw,52px)}
.safety-head>p{font-size:12.5px;line-height:1.55}
.safety-grid{gap:14px}.safety-panel{min-height:365px}.safety-panel__media{min-height:365px}.safety-panel__body{padding:22px 22px 20px}.safety-panel__title{margin-bottom:10px}.safety-panel__title h3{font-size:27px}.safety-panel__body>p{margin-bottom:14px;line-height:1.5}.symptom-list{margin-bottom:14px}.safety-bottom{margin-top:14px;padding:13px 17px}

.powertrain-head{grid-template-columns:160px minmax(0,1fr);gap:24px;margin-bottom:24px;padding-bottom:18px}
.powertrain-code{font-size:26px}.powertrain-head h2{font-size:clamp(38px,3.5vw,54px)}.powertrain-head p{margin-top:12px;font-size:12.5px;line-height:1.55}
.powertrain-card__media{height:180px}.powertrain-card__body{padding:17px 18px 18px}.powertrain-card__title{margin-bottom:10px}.powertrain-card__title h3{font-size:27px}.powertrain-card__title b{font-size:44px}.powertrain-card ul{margin-bottom:14px}.powertrain-card li{padding:7px 0 7px 16px;font-size:11px}.powertrain-card li:before{top:12px}.powertrain-bottom{margin-top:16px;padding-top:14px}

.projects-layout,.projects-visual{min-height:470px}
.projects-content{padding:34px 38px 30px}.projects-content h2{font-size:clamp(37px,2.9vw,48px);margin-bottom:12px}.projects-content>p{margin-bottom:18px;font-size:12.5px;line-height:1.55}
.projects-list>a,.projects-list>div{min-height:56px;padding:7px 2px}.projects-list strong{font-size:17px}.projects-list small{font-size:10px;margin-top:3px}.projects-actions{margin-top:19px}

/* Galería, opiniones y notas: suficiente respiración, sin bloques sobredimensionados. */
.featured{padding-top:48px!important;padding-bottom:44px}.section-title--line{margin-bottom:18px}.gallery{margin-bottom:16px}.gallery__item{height:165px}
.reviews-section{padding:26px 0 29px}.reviews-title{margin-bottom:13px}.review-card{min-height:140px;padding:14px 16px 13px}.review-card p{margin:7px 0 8px;font-size:11.5px;line-height:1.4}.review-card__stars{font-size:16px}
.notes-section{padding-top:32px!important;padding-bottom:44px!important}.note-cards{gap:14px}.note-card{min-height:160px;padding:18px}.note-card>span{margin-bottom:15px}.note-card h3{font-size:21px}.note-card p{font-size:11.5px;line-height:1.5}

/* Formulario/contacto/ubicación: compacta sin reducir áreas táctiles. */
.contact-form-layout{gap:48px}.contact-form-copy h2{font-size:clamp(41px,4vw,62px);margin:12px 0 13px}.contact-form-copy>p{font-size:13px;line-height:1.6}.contact-form-points{margin-top:20px}.contact-form-points div{min-height:46px}.contact-whatsapp-form{padding:22px}.contact-form-grid{gap:12px 14px}.contact-whatsapp-form input,.contact-whatsapp-form select,.contact-whatsapp-form textarea{margin-top:6px;padding:10px 12px}.contact-whatsapp-form select{min-height:42px}.contact-whatsapp-form textarea{min-height:96px}.contact-form-check{margin:12px 0 14px}.contact-form-note{margin-top:8px}
.contact-block{padding-top:30px}.contact-block__head{margin-bottom:18px}.contact-block__head h2{font-size:clamp(31px,2.8vw,42px)}.contact-info article{padding:19px 15px}.contact-logo{min-height:145px}.contact-logo img{width:205px;height:205px}
.location-heading{margin-bottom:22px}.location-heading h2{font-size:clamp(39px,3.4vw,54px)}.location-heading p{font-size:12.5px;line-height:1.55}.location-grid{grid-template-columns:minmax(0,1.4fr) minmax(330px,.6fr)}.location-map,.location-card{min-height:430px}.location-card{padding:27px 27px 24px}.location-card h3{margin-bottom:16px}.location-detail{padding:12px 0}.location-actions{margin-top:16px;gap:9px}
.final-cta{min-height:430px}.final-cta__content{padding:58px 0}.final-cta__content h2{font-size:clamp(45px,4.6vw,68px)}.final-cta__content p{margin:15px 0 21px;line-height:1.55}
.footer__grid{padding:27px 0;gap:28px}.footer__brand img{width:102px;height:102px}

/* Tablet: no heredar mínimos de escritorio excesivos. */
@media (max-width:1050px) and (min-width:821px){
  .why17-layout,.why17-visual{min-height:480px}.why17-content{padding:32px 28px 29px}
  .maintenance-layout,.maintenance-visual{min-height:500px}.maintenance-content{padding:30px 27px 28px}
}

/* Móvil conserva áreas táctiles, pero acorta espacios y medios visuales. */
@media (max-width:820px){
  :root{--section-space:46px}
  .section:not(.services),.why17-section,.maintenance-section,.safety-section,.powertrain-section,.projects-section,.contact-form-section,.location-section{padding-top:46px;padding-bottom:46px}
  .section-bridge{height:28px}.section-bridge:after{top:13px}.section-bridge__inner b{font-size:25px}
  .why17-layout,.maintenance-layout,.projects-layout{min-height:0}
  .why17-visual,.maintenance-visual{min-height:320px}.projects-visual{min-height:330px}
  .powertrain-card__media{height:185px}
  .location-map,.location-card{min-height:390px}
}
@media (max-width:560px){
  :root{--section-space:40px}
  .section:not(.services),.why17-section,.maintenance-section,.safety-section,.powertrain-section,.projects-section,.contact-form-section,.location-section{padding-top:40px;padding-bottom:40px}
  .hero{min-height:740px;max-height:none;height:auto}.hero__content{padding-top:365px;padding-bottom:185px}.hero__copy{margin:15px 0 16px}
  .services{padding:27px 0}.service-card{height:282px}.service-card img{height:132px;flex-basis:132px}
  .quick-wa-banner{padding:10px 0}.quick-wa-banner__inner{min-height:0;padding:16px 15px}.trust-strip{padding:5px 0}
  .section-bridge{height:24px}.section-bridge:after{top:11px}
  .why17-visual,.maintenance-visual{min-height:260px}.projects-visual{min-height:270px}
  .why17-content,.maintenance-content,.projects-content{padding:25px 18px 24px}.why17-content h2,.maintenance-content h2,.projects-content h2{font-size:34px}
  .safety-panel__media{min-height:220px}.safety-panel__body{padding:21px 18px 20px}
  .powertrain-head{margin-bottom:20px;padding-bottom:16px}.powertrain-card__media{height:180px}.powertrain-card__body{padding:17px 16px 18px}
  .featured{padding-top:40px!important;padding-bottom:38px}.gallery__item{height:140px}.gallery__item--wide{height:175px}
  .reviews-section{padding:24px 0 27px}.notes-section{padding-top:28px!important;padding-bottom:38px!important}
  .contact-form-section{padding-top:40px;padding-bottom:40px}.contact-whatsapp-form{padding:18px 16px}
  .contact-block{padding-top:27px}.location-map,.location-card{min-height:0}.location-map{height:330px}.location-card{padding:24px 18px 22px}
  .final-cta{min-height:390px}.final-cta__content{padding:145px 0 42px}
  .footer__grid{padding:24px 0}
}

/* Ajuste de tablet detectado en QA: títulos de línea no deben forzar ancho. */
@media (max-width:900px) and (min-width:701px){
  .section-title--line h2{font-size:34px;white-space:normal;text-align:center;line-height:.96}
  .section-title--line{gap:12px}
  .section-title--line:before,.section-title--line:after{min-width:32px}
}

/* =========================================================
   PASO 4 · MOTION SYSTEM
   Animaciones de scroll sutiles y escalonadas.
   Solo transform/opacity/clip-path para evitar layout shift.
   ========================================================= */
.motion-ready .reveal,
.motion-ready .motion-title,
.motion-ready .motion-copy,
.motion-ready .motion-media,
.motion-ready .motion-media-inner,
.motion-ready .motion-card,
.motion-ready .motion-bridge,
.motion-ready .motion-number{
  will-change:transform,opacity;
}

/* Base reveal un poco más refinado que el fade vertical genérico. */
.motion-ready .reveal{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .58s cubic-bezier(.2,.72,.2,1),
    transform .58s cubic-bezier(.2,.72,.2,1);
}
.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}

/* Hero: entra una sola vez con menos desplazamiento para sentirse inmediato. */
.motion-ready .motion-hero{
  opacity:0;
  transform:translate3d(-16px,10px,0);
  transition-duration:.68s;
}
.motion-ready .motion-hero.is-visible{opacity:1;transform:none}

/* Títulos: desplazamiento corto y líneas rojas que se dibujan. */
.motion-ready .motion-title{
  opacity:0;
  transform:translate3d(0,20px,0);
  transition:opacity .56s cubic-bezier(.2,.72,.2,1),transform .56s cubic-bezier(.2,.72,.2,1);
}
.motion-ready .motion-title.is-visible{opacity:1;transform:none}

.motion-ready .motion-title.section-title--center h2:before,
.motion-ready .motion-title.section-title--line:before{
  clip-path:inset(0 100% 0 0);
  transition:clip-path .72s cubic-bezier(.18,.78,.24,1) .12s;
}
.motion-ready .motion-title.section-title--center h2:after,
.motion-ready .motion-title.section-title--line:after{
  clip-path:inset(0 0 0 100%);
  transition:clip-path .72s cubic-bezier(.18,.78,.24,1) .12s;
}
.motion-ready .motion-title.is-visible.section-title--center h2:before,
.motion-ready .motion-title.is-visible.section-title--center h2:after,
.motion-ready .motion-title.is-visible.section-title--line:before,
.motion-ready .motion-title.is-visible.section-title--line:after{clip-path:inset(0)}

.motion-ready .reviews-title .reviews-title__line{
  opacity:0;
  transition:opacity .35s ease .08s,clip-path .72s cubic-bezier(.18,.78,.24,1) .08s;
}
.motion-ready .reviews-title .reviews-title__line:first-child{clip-path:inset(0 100% 0 0)}
.motion-ready .reviews-title .reviews-title__line:last-child{clip-path:inset(0 0 0 100%)}
.motion-ready .reviews-title.is-visible .reviews-title__line{opacity:1;clip-path:inset(0)}

/* Bloques de copy lateral. */
.motion-ready .motion-copy{
  opacity:0;
  transform:translate3d(-20px,0,0);
  transition:opacity .58s cubic-bezier(.2,.72,.2,1),transform .58s cubic-bezier(.2,.72,.2,1);
}
.motion-ready .motion-copy.is-visible{opacity:1;transform:none}

/* Medios grandes: entrada lateral mínima + micro escala. */
.motion-ready .motion-media{
  opacity:0;
  transform:translate3d(var(--motion-x,-20px),0,0) scale(1.012);
  transition:opacity .66s cubic-bezier(.2,.72,.2,1),transform .72s cubic-bezier(.2,.72,.2,1);
}
.motion-ready .motion-media.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}

.motion-ready .motion-media-inner{
  opacity:0;
  transform:translate3d(var(--motion-x,-14px),8px,0) scale(1.018);
  transition:
    opacity .55s cubic-bezier(.2,.72,.2,1) var(--motion-delay,0ms),
    transform .6s cubic-bezier(.2,.72,.2,1) var(--motion-delay,0ms);
}
.motion-ready .motion-media-inner.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}

/* Cards: stagger real por grupo, sin rebotes ni escalas exageradas. */
.motion-ready .motion-card{
  opacity:0;
  transform:translate3d(0,22px,0) scale(.988);
  transition:
    opacity .52s cubic-bezier(.2,.72,.2,1) var(--motion-delay,0ms),
    transform .58s cubic-bezier(.2,.72,.2,1) var(--motion-delay,0ms),
    border-color .24s ease,
    box-shadow .24s ease;
}
.motion-ready .motion-card.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}

/* Separadores técnicos: aparece el texto y la línea se extiende. */
.motion-ready .motion-bridge .section-bridge__inner>span,
.motion-ready .motion-bridge .section-bridge__inner>b{
  opacity:0;
  transform:translateY(6px);
  transition:opacity .42s ease,transform .48s cubic-bezier(.2,.72,.2,1);
}
.motion-ready .motion-bridge .section-bridge__inner>i{
  clip-path:inset(0 100% 0 0);
  transition:clip-path .72s cubic-bezier(.18,.78,.24,1) .1s;
}
.motion-ready .motion-bridge.section-bridge--reverse .section-bridge__inner>i{clip-path:inset(0 0 0 100%)}
.motion-ready .motion-bridge.is-visible .section-bridge__inner>span,
.motion-ready .motion-bridge.is-visible .section-bridge__inner>b{opacity:1;transform:none}
.motion-ready .motion-bridge.is-visible .section-bridge__inner>i{clip-path:inset(0)}

/* Números 17 / códigos visuales: revelado técnico, no contador. */
.motion-ready .motion-number{
  opacity:0;
  transform:scale(.86) translateY(8px);
  filter:blur(2px);
  transition:opacity .52s ease .1s,transform .62s cubic-bezier(.2,.72,.2,1) .1s,filter .5s ease .1s;
}
.motion-ready .motion-number.is-visible,
.motion-ready .motion-bridge.is-visible .motion-number{
  opacity:1;
  transform:scale(1) translateY(0);
  filter:blur(0);
}

/* Evita que delays largos se sientan lentos en pantallas pequeñas. */
@media (max-width:700px){
  .motion-ready .motion-title{transform:translate3d(0,14px,0)}
  .motion-ready .motion-copy{transform:translate3d(-12px,0,0)}
  .motion-ready .motion-media{transform:translate3d(calc(var(--motion-x,-20px) * .55),0,0) scale(1.008)}
  .motion-ready .motion-card{transform:translate3d(0,14px,0) scale(.994)}
  .motion-ready .motion-media-inner{transform:translate3d(0,10px,0) scale(1.008)}
}

@media (prefers-reduced-motion:reduce){
  .motion-title,.motion-copy,.motion-media,.motion-media-inner,.motion-card,.motion-bridge,.motion-number{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .section-title h2:before,.section-title h2:after,.section-title--line:before,.section-title--line:after,.reviews-title__line,.section-bridge__inner i{clip-path:none!important;transform:none!important;opacity:1!important}
}

/* Mantener las microinteracciones originales una vez completada la entrada. */
.motion-ready .service-card.motion-card.is-visible:hover{transform:translateY(-4px) scale(1)}
.motion-ready .powertrain-card.motion-card.is-visible:hover{transform:translateY(-5px) scale(1)}

/* =========================================================
   PASO 5 · MICROINTERACCIONES DE CTA
   Feedback visual consistente para botones, enlaces CTA y WhatsApp.
   Sin efectos pesados ni cambios de layout.
   ========================================================= */
.btn,
.quick-wa-banner__cta,
.contact-info a,
.floating-wa{
  -webkit-tap-highlight-color:transparent;
}

.btn,
.quick-wa-banner__cta,
.contact-info a{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform-origin:center;
  transition:
    transform .18s cubic-bezier(.2,.72,.2,1),
    filter .18s ease,
    box-shadow .22s ease,
    border-color .18s ease,
    background-position .42s cubic-bezier(.2,.72,.2,1);
}

/* Reserva visual para una flecha discreta sin mover el texto. */
.btn:not(.btn--outline-red),
.quick-wa-banner__cta,
.contact-info a{
  padding-right:42px;
}
.btn--big:not(.btn--outline-red){padding-right:46px}

.btn:not(.btn--outline-red)::after,
.quick-wa-banner__cta::after,
.contact-info a::after{
  content:"›";
  position:absolute;
  right:15px;
  top:50%;
  z-index:3;
  color:currentColor;
  font:800 25px/1 var(--cond);
  opacity:.68;
  transform:translate3d(-3px,-52%,0);
  transition:transform .18s ease,opacity .18s ease;
  pointer-events:none;
}

.btn:not(.btn--outline-red):hover::after,
.quick-wa-banner__cta:hover::after,
.contact-info a:hover::after{
  opacity:1;
  transform:translate3d(2px,-52%,0);
}

/* Botones rojos: brillo que cruza lateralmente + halo controlado. */
.btn--red,
.quick-wa-banner__cta,
.contact-info a{
  background-image:
    linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.17) 49%,transparent 60%,transparent 100%),
    linear-gradient(135deg,var(--red-hot),#a8060d);
  background-size:240% 100%,100% 100%;
  background-position:160% 0,0 0;
}
.btn--red:hover,
.quick-wa-banner__cta:hover,
.contact-info a:hover{
  background-position:-55% 0,0 0;
  box-shadow:0 12px 30px rgba(217,8,18,.30),0 0 0 1px rgba(241,13,23,.10);
  filter:brightness(1.06);
}

/* Botones outline: un tono rojo entra desde la derecha sin perder contraste. */
.btn--outline,
.btn--outline-red{
  background-image:linear-gradient(112deg,rgba(7,7,8,.82) 0%,rgba(7,7,8,.82) 48%,rgba(135,7,12,.35) 52%,rgba(217,8,18,.16) 100%);
  background-size:230% 100%;
  background-position:0% 0;
}
.btn--outline:hover,
.btn--outline-red:hover{
  background-position:100% 0;
  border-color:rgba(241,13,23,.86);
  box-shadow:0 10px 24px rgba(0,0,0,.24),0 0 0 1px rgba(241,13,23,.08);
  filter:none;
}

/* El CTA de Instagram ya trae una flecha real en un <span>. */
.btn--outline-red span{
  display:inline-block;
  transition:transform .18s cubic-bezier(.2,.72,.2,1),color .18s ease;
}
.btn--outline-red:hover span{transform:translateX(5px);color:#fff}

/* Respuesta física breve al presionar, también útil en pantallas táctiles. */
.btn:active,
.quick-wa-banner__cta:active,
.contact-info a:active{
  transform:translateY(0) scale(.975);
  box-shadow:0 5px 14px rgba(0,0,0,.32);
  filter:brightness(.96);
  transition-duration:.07s;
}

/* Focus visible real para navegación por teclado. */
.btn:focus-visible,
.quick-wa-banner__cta:focus-visible,
.contact-info a:focus-visible,
.floating-wa:focus-visible,
.service-card a:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
  box-shadow:0 0 0 3px #050505,0 0 0 6px var(--red-hot),0 12px 28px rgba(217,8,18,.24);
}

/* Flechas internas de servicios: micro desplazamiento más legible. */
.service-card a{
  transition:transform .18s cubic-bezier(.2,.72,.2,1),color .18s ease,text-shadow .18s ease;
}
.service-card a:hover{
  transform:translateX(5px);
  color:#fff;
  text-shadow:-4px 0 0 var(--red-hot);
}
.service-card a:active{transform:translateX(3px) scale(.94)}

/* WhatsApp flotante: feedback claro sin pulso permanente molesto. */
.floating-wa{
  transition:transform .18s cubic-bezier(.2,.72,.2,1),box-shadow .22s ease,filter .18s ease;
}
.floating-wa::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(76,204,91,0);
  border-radius:50%;
  transform:scale(.82);
  transition:transform .22s ease,border-color .22s ease,opacity .22s ease;
  pointer-events:none;
}
.floating-wa:hover{
  transform:translateY(-3px) scale(1.055);
  box-shadow:0 16px 38px rgba(0,0,0,.50),0 0 24px rgba(76,204,91,.22);
  filter:brightness(1.05);
}
.floating-wa:hover::before{
  transform:scale(1);
  border-color:rgba(76,204,91,.52);
}
.floating-wa:active{transform:translateY(0) scale(.94)}

@media (max-width:700px){
  .btn:not(.btn--outline-red),.quick-wa-banner__cta,.contact-info a{padding-right:38px}
  .btn--big:not(.btn--outline-red){padding-right:42px}
  .btn:not(.btn--outline-red)::after,.quick-wa-banner__cta::after,.contact-info a::after{right:12px;font-size:23px}
}

@media (hover:none){
  /* Evita estados pegados en touch; conserva :active como feedback. */
  .btn:hover,.quick-wa-banner__cta:hover,.contact-info a:hover{transform:none}
  .floating-wa:hover{transform:none;filter:none}
  .floating-wa:hover::before{transform:scale(.82);border-color:transparent}
}

@media (prefers-reduced-motion:reduce){
  .btn,.quick-wa-banner__cta,.contact-info a,.floating-wa,.service-card a,.btn--outline-red span{
    transition:none!important;
  }
  .btn--red,.quick-wa-banner__cta,.contact-info a,.btn--outline,.btn--outline-red{background-position:0 0!important}
  .btn:not(.btn--outline-red)::after,.quick-wa-banner__cta::after,.contact-info a::after{transform:translate3d(0,-52%,0)!important}
}

/* =========================================================
   PASO 7 · HEADER / LOGO FINAL
   Protagonismo controlado: visible, centrado y sin invadir top bar.
   ========================================================= */
.site-header{
  height:108px;
  overflow:visible;
}
.nav-wrap{
  position:relative;
  overflow:visible;
  padding-left:140px;
}
.brand{
  position:absolute;
  left:0;
  top:4px;
  width:124px;
  height:124px;
  margin:0;
  aspect-ratio:1 / 1;
  display:block;
  z-index:83;
  filter:drop-shadow(0 11px 18px rgba(0,0,0,.72));
  transform-origin:center;
  transition:transform .2s ease,filter .2s ease;
}
.brand:hover{
  transform:scale(1.02);
  filter:drop-shadow(0 13px 20px rgba(0,0,0,.78));
}
.brand img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media (max-width:1250px){
  .site-header{height:100px}
  .nav-wrap{padding-left:130px}
  .brand{left:0;top:4px;width:116px;height:116px}
}

@media (max-width:980px){
  .site-header{height:82px;overflow:visible}
  .nav-wrap{padding-left:108px}
  .brand{left:0;top:2px;width:96px;height:96px}
  .main-nav{top:116px}
}

@media (max-width:700px){
  .site-header{height:74px;overflow:visible}
  .nav-wrap{padding-left:98px}
  .brand{left:0;top:2px;width:86px;height:86px}
  .main-nav{top:104px}
}

@media (max-width:380px){
  .nav-wrap{padding-left:91px}
  .brand{width:80px;height:80px}
}

/* =========================================================
   PASO 6 · NAVBAR STICKY DINÁMICO
   - Se compacta suavemente al hacer scroll.
   - Gana contraste al abandonar el hero.
   - Marca la sección actual.
   - Mantiene un CTA compacto también en tablet/móvil.
   ========================================================= */
html{scroll-padding-top:104px}
[id]{scroll-margin-top:104px}

.site-header{
  -webkit-backdrop-filter:blur(10px) saturate(115%);
  backdrop-filter:blur(10px) saturate(115%);
  transition:height .28s cubic-bezier(.2,.72,.2,1),background .28s ease,border-color .28s ease,box-shadow .28s ease;
  will-change:height;
}
.nav-wrap{transition:padding-left .28s cubic-bezier(.2,.72,.2,1)}
.brand{
  transition:width .28s cubic-bezier(.2,.72,.2,1),height .28s cubic-bezier(.2,.72,.2,1),top .28s cubic-bezier(.2,.72,.2,1),transform .2s ease,filter .2s ease;
}
.main-nav a{transition:color .2s ease,padding .28s cubic-bezier(.2,.72,.2,1)}
.main-nav a:after{transition:right .22s ease,bottom .28s ease,opacity .2s ease}
.nav-cta{transition:min-height .28s ease,transform .18s cubic-bezier(.2,.72,.2,1),filter .18s ease,box-shadow .22s ease,background-position .42s cubic-bezier(.2,.72,.2,1)}

.site-header.has-scrolled{
  height:88px;
  background:rgba(6,6,7,.985);
  border-bottom-color:rgba(255,255,255,.13);
  box-shadow:0 12px 34px rgba(0,0,0,.48),0 1px 0 rgba(241,13,23,.16);
}
.site-header.has-scrolled .nav-wrap{padding-left:116px}
.site-header.has-scrolled .brand{
  width:100px;
  height:100px;
  top:2px;
  filter:drop-shadow(0 9px 14px rgba(0,0,0,.72));
}
.site-header.has-scrolled .main-nav a{padding-top:30px;padding-bottom:28px}
.site-header.has-scrolled .main-nav a:after{bottom:15px}
.site-header.has-scrolled .nav-cta{min-height:42px}

.site-header.is-past-hero{
  background:rgba(5,5,6,.995);
  border-bottom-color:rgba(241,13,23,.24);
  box-shadow:0 14px 38px rgba(0,0,0,.58),0 1px 0 rgba(241,13,23,.20);
}

.main-nav a.is-active{color:#fff;text-shadow:0 0 18px rgba(255,255,255,.09)}
.main-nav a.is-active:after{right:0;box-shadow:0 0 12px rgba(241,13,23,.35)}

/* Las páginas SEO conservan el mismo comportamiento sticky. */
.seo-page .site-header{position:sticky;top:0}

@media (max-width:1250px){
  .site-header.has-scrolled{height:82px}
  .site-header.has-scrolled .nav-wrap{padding-left:110px}
  .site-header.has-scrolled .brand{width:94px;height:94px;top:2px}
  .site-header.has-scrolled .main-nav a{padding-top:27px;padding-bottom:25px}
}

@media (max-width:980px){
  html{scroll-padding-top:78px}
  [id]{scroll-margin-top:78px}

  /* En tablet/móvil se conserva un CTA corto en vez de ocultarlo. */
  .nav-wrap{column-gap:8px}
  .nav-cta{
    display:inline-flex;
    order:2;
    margin-left:auto;
    min-width:112px;
    width:112px;
    min-height:40px;
    padding:0 28px 0 13px!important;
    font-size:0;
    clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);
  }
  .nav-cta::before{
    content:"COTIZAR";
    position:relative;
    z-index:2;
    font:700 14px/1 var(--cond);
    letter-spacing:.075em;
  }
  .nav-cta .btn-icon{display:none}
  .nav-toggle{order:3;margin-left:2px;flex:none}

  .site-header.has-scrolled{height:70px}
  .site-header.has-scrolled .nav-wrap{padding-left:94px}
  .site-header.has-scrolled .brand{width:80px;height:80px;top:1px}
  .site-header.has-scrolled .main-nav{top:70px}
}

@media (max-width:700px){
  html{scroll-padding-top:72px}
  [id]{scroll-margin-top:72px}
  .nav-cta{min-width:104px;width:104px;padding-left:11px!important;padding-right:24px!important}
  .nav-cta::before{font-size:13px}
  .site-header.has-scrolled{height:66px}
  .site-header.has-scrolled .nav-wrap{padding-left:88px}
  .site-header.has-scrolled .brand{width:74px;height:74px;top:1px}
  .site-header.has-scrolled .main-nav{top:66px}
}

@media (max-width:380px){
  .nav-cta{min-width:96px;width:96px;padding-left:9px!important;padding-right:20px!important}
  .nav-cta::before{font-size:12px;letter-spacing:.055em}
  .site-header.has-scrolled .nav-wrap{padding-left:82px}
  .site-header.has-scrolled .brand{width:70px;height:70px}
}

@media (prefers-reduced-motion:reduce){
  .site-header,.nav-wrap,.brand,.main-nav a,.main-nav a:after,.nav-cta{transition:none!important}
}


/* =========================================================
   PASO 8 · HERO PREMIUM
   Mejora composición, contraste y jerarquía sin cambiar las imágenes.
   ========================================================= */
.hero{
  isolation:isolate;
  min-height:620px;
  height:calc(100vh - 142px);
  max-height:760px;
  align-items:center;
  background:#050505;
}
.hero__media{z-index:-3;overflow:hidden}
.hero__media img{
  transform:scale(1.005);
  filter:saturate(.88) contrast(1.08) brightness(.86);
  object-position:center 48%;
}
.hero__shade{
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(3,3,4,.97) 0%,rgba(3,3,4,.91) 22%,rgba(3,3,4,.72) 38%,rgba(3,3,4,.32) 54%,rgba(3,3,4,.10) 72%,rgba(3,3,4,.07) 100%),
    linear-gradient(180deg,rgba(0,0,0,.13) 0%,rgba(0,0,0,.05) 48%,rgba(0,0,0,.68) 100%);
}
.hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 auto 0 0;
  width:min(58vw,920px);
  pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 48%,rgba(0,0,0,.38),transparent 66%),
    linear-gradient(112deg,rgba(217,8,18,.07),transparent 34%);
}
.hero__content{
  position:relative;
  z-index:3;
  padding-top:0;
  padding-bottom:102px;
  padding-left:30px;
}
.hero__content::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:3px;
  height:104px;
  background:linear-gradient(180deg,var(--red-hot) 0 58%,rgba(191,194,197,.58) 58% 72%,transparent 72%);
  box-shadow:0 0 18px rgba(241,13,23,.12);
}
.hero__content::after{
  content:"WORKSHOP / 17";
  position:absolute;
  left:31px;
  bottom:78px;
  color:rgba(255,255,255,.25);
  font:700 9px/1 var(--sans);
  letter-spacing:.24em;
  text-transform:uppercase;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
  color:#d9d9db;
  font-size:13px;
  letter-spacing:.17em;
  text-shadow:0 2px 12px rgba(0,0,0,.86);
}
.eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  flex:none;
  border:2px solid var(--red-hot);
  transform:rotate(45deg);
}
.hero h1{
  max-width:760px;
  line-height:.89;
  letter-spacing:-.018em;
  text-shadow:0 5px 22px rgba(0,0,0,.82),0 1px 1px rgba(0,0,0,.9);
}
.hero h1 span,.hero h1 strong{
  font-size:clamp(58px,5.25vw,88px);
}
.hero h1 strong{
  margin-top:11px;
  color:#ed0b15;
  text-shadow:0 5px 22px rgba(0,0,0,.86),0 0 22px rgba(217,8,18,.10);
}
.hero__copy{
  max-width:590px;
  margin:18px 0 21px;
  color:#d4d4d6;
  font-size:16px;
  line-height:1.52;
  text-wrap:balance;
}
.hero__actions{gap:12px}
.hero__actions .btn--big{
  min-height:50px;
  padding-inline:25px 42px;
  font-size:17px;
}
.hero-facts{
  width:min(1320px,calc(100% - 48px));
  min-height:72px;
  bottom:14px;
  padding:0 10px;
  border-radius:4px;
  border:1px solid rgba(191,194,197,.19);
  border-top-color:rgba(241,13,23,.32);
  background:linear-gradient(180deg,rgba(20,20,22,.94),rgba(7,7,8,.97));
  box-shadow:0 18px 38px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.03);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
.hero-facts div{
  min-width:0;
  padding:11px 24px 11px 34px;
  border-right:1px solid rgba(255,255,255,.12);
}
.hero-facts div::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:2px;
  opacity:0;
  background:linear-gradient(90deg,var(--red-hot),transparent 72%);
  transition:opacity .2s ease;
}
.hero-facts div:hover::after{opacity:.8}
.hero-facts div:before{left:14px;width:6px;height:6px;border-width:1px}
.hero-facts b{font-size:16px;letter-spacing:.06em}
.hero-facts span{font-size:9.5px;line-height:1.35;letter-spacing:.055em}

@media (max-width:1250px) and (min-width:981px){
  .hero{height:calc(100vh - 134px);min-height:600px;max-height:720px}
  .hero__content{padding-left:27px;padding-bottom:98px}
  .hero h1 span,.hero h1 strong{font-size:clamp(55px,5.6vw,76px)}
  .hero__copy{max-width:540px;font-size:15px}
  .hero-facts{width:calc(100% - 42px)}
  .hero-facts div{padding-inline:30px 18px}
}

@media (max-width:980px) and (min-width:701px){
  .hero{min-height:690px;height:auto;max-height:none;align-items:center}
  .hero__media img{object-position:center center}
  .hero__shade{
    background:
      linear-gradient(90deg,rgba(3,3,4,.94) 0%,rgba(3,3,4,.79) 36%,rgba(3,3,4,.27) 68%,rgba(3,3,4,.12) 100%),
      linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.68));
  }
  .hero__content{padding-top:12px;padding-bottom:176px;padding-left:26px}
  .hero h1{max-width:650px}.hero h1 span,.hero h1 strong{font-size:clamp(56px,8vw,72px)}
  .hero__copy{max-width:520px;font-size:15px}
  .hero-facts{width:calc(100% - 32px);bottom:12px;grid-template-columns:repeat(2,1fr);min-height:142px}
  .hero-facts div{padding:12px 20px 12px 33px}
  .hero-facts div:nth-child(2){border-right:0}
  .hero-facts div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.10)}
}

@media (max-width:700px){
  .hero{
    min-height:770px;
    height:auto;
    max-height:none;
    align-items:flex-start;
    background:#050505;
  }
  .hero__media img{
    object-position:center top;
    transform:none;
    filter:saturate(.94) contrast(1.05) brightness(.91);
  }
  .hero__shade{
    background:
      linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.04) 36%,rgba(0,0,0,.26) 48%,rgba(5,5,5,.82) 59%,#050505 78%,#050505 100%),
      linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,0) 58%);
  }
  .hero::before{display:none}
  .hero__content{
    width:min(100% - 28px,var(--max));
    padding-top:394px;
    padding-bottom:174px;
    padding-left:0;
  }
  .hero__content::before{
    left:0;
    top:390px;
    width:48px;
    height:2px;
    background:linear-gradient(90deg,var(--red-hot),rgba(191,194,197,.42),transparent);
  }
  .hero__content::after{display:none}
  .eyebrow{margin-bottom:9px;padding-top:11px;font-size:10px;letter-spacing:.125em;gap:7px}
  .eyebrow::before{width:5px;height:5px;border-width:1px}
  .hero h1{max-width:100%;line-height:.91}
  .hero h1 span,.hero h1 strong{font-size:clamp(43px,12.2vw,54px)}
  .hero h1 strong{margin-top:7px}
  .hero__copy{max-width:100%;margin:13px 0 15px;font-size:13.5px;line-height:1.48;text-wrap:pretty}
  .hero__actions{display:grid;grid-template-columns:1fr;gap:8px}
  .hero__actions .btn--big{width:100%;min-height:46px;font-size:15px;padding-inline:18px 38px}
  .hero-facts{
    width:calc(100% - 20px);
    min-height:144px;
    bottom:9px;
    padding:0 5px;
    grid-template-columns:repeat(2,1fr);
    border-radius:3px;
  }
  .hero-facts div{padding:10px 9px 10px 24px}
  .hero-facts div:before{left:7px;width:5px;height:5px}
  .hero-facts b{font-size:14px}
  .hero-facts span{font-size:8.5px;line-height:1.3;letter-spacing:.025em}
  .hero-facts div:nth-child(2){border-right:0}
  .hero-facts div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.10)}
}

@media (max-width:420px){
  .hero{min-height:748px}
  .hero__content{padding-top:374px;padding-bottom:170px}
  .hero__content::before{top:370px}
  .hero h1 span,.hero h1 strong{font-size:clamp(40px,12vw,48px)}
  .hero__copy{font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .hero__media img,.hero-facts div::after{transition:none!important;transform:none!important}
}

/* QA PASO 8 · correcciones por viewport tras revisión visual */
@media (min-width:981px){
  .hero h1{max-width:980px}
  .hero h1 span,.hero h1 strong{white-space:nowrap}
}

@media (max-width:700px){
  .hero__content{padding-top:452px;padding-bottom:168px}
  .hero__content::before{top:448px}
  .hero h1{letter-spacing:-.025em}
  .hero h1 span,.hero h1 strong{
    font-size:clamp(31px,9.8vw,40px);
    white-space:nowrap;
  }
  .hero h1 strong{margin-top:6px}
}

@media (max-width:420px){
  .hero__content{padding-top:438px;padding-bottom:166px}
  .hero__content::before{top:434px}
  .hero h1 span,.hero h1 strong{font-size:clamp(30px,9.7vw,38px)}
}


/* =========================================================
   PASO 15 · WHATSAPP FLOTANTE CONTEXTUAL
   En escritorio presenta una ayuda breve una sola vez por sesión.
   Después queda como icono compacto y el mensaje reaparece solo
   al hover/focus. En móvil se mantiene únicamente el botón.
   ========================================================= */
.floating-wa{
  font-size:0;
  overflow:visible;
  isolation:isolate;
}
.floating-wa__icon{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  position:relative;
  z-index:2;
}
.floating-wa__icon svg{
  width:100%;
  height:100%;
  display:block;
  fill:#fff;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
.floating-wa__hint{
  display:none;
  position:absolute;
  right:calc(100% + 13px);
  top:50%;
  width:max-content;
  max-width:220px;
  min-height:42px;
  padding:0 17px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  border-left:3px solid #31c956;
  border-radius:5px;
  background:linear-gradient(145deg,rgba(20,20,22,.98),rgba(7,7,8,.98));
  color:#f7f7f7;
  box-shadow:0 12px 30px rgba(0,0,0,.42);
  font:700 14px/1 var(--sans);
  letter-spacing:.01em;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  transform:translate3d(9px,-50%,0) scale(.98);
  transform-origin:right center;
  transition:opacity .22s ease,transform .22s cubic-bezier(.2,.72,.2,1),visibility .22s ease;
  pointer-events:none;
}
.floating-wa__hint::after{
  content:"";
  position:absolute;
  left:100%;
  top:50%;
  width:8px;
  height:8px;
  margin-left:-4px;
  background:#0d0d0e;
  border-top:1px solid rgba(255,255,255,.16);
  border-right:1px solid rgba(255,255,255,.16);
  transform:translateY(-50%) rotate(45deg);
}

@media (min-width:981px) and (hover:hover) and (pointer:fine){
  .floating-wa__hint{display:flex}
  .floating-wa.is-hint-visible .floating-wa__hint,
  .floating-wa:hover .floating-wa__hint,
  .floating-wa:focus-visible .floating-wa__hint{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,-50%,0) scale(1);
  }
}

@media (max-width:980px), (hover:none), (pointer:coarse){
  .floating-wa__hint{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  .floating-wa__hint{transition:none!important}
}


/* =========================================================
   PASO 12 · FORMULARIOS WHATSAPP / UX
   Selección múltiple, validación en línea y resumen previo.
   ========================================================= */
.smart-wa-form .field-wrap{display:flex;flex-direction:column;min-width:0}
.smart-wa-form .field-wrap>label,
.service-picker legend{font-size:11px;font-weight:700;color:#d7d7d9;letter-spacing:.055em;text-transform:uppercase}
.smart-wa-form .field-wrap>label small,
.service-picker legend span{font-weight:500;color:#77787b;text-transform:none;letter-spacing:0;margin-left:5px}
.smart-wa-form input,
.smart-wa-form textarea{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.smart-wa-form input::placeholder,
.smart-wa-form textarea::placeholder{color:#68696c;opacity:1}
.smart-wa-form .field-wrap.is-valid input,
.smart-wa-form .field-wrap.is-valid textarea{border-color:rgba(191,194,197,.34)}
.smart-wa-form .field-wrap.has-error input,
.smart-wa-form .field-wrap.has-error textarea{border-color:#f10d17!important;box-shadow:0 0 0 3px rgba(241,13,23,.08)!important}
.field-error{display:block;min-height:14px;margin:5px 0 0;color:#ff4a50;font-size:10px;line-height:1.35;font-weight:600;letter-spacing:.02em;text-transform:none}

.service-picker{margin:18px 0 0;padding:0;border:0;min-width:0}
.service-picker legend{display:block;width:100%;margin:0 0 9px;padding:0}
.service-picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.service-option{position:relative;display:block;cursor:pointer;min-width:0}
.service-option input{position:absolute;opacity:0;pointer-events:none}
.service-option span{
  min-height:38px;padding:9px 10px;display:flex;align-items:center;justify-content:center;
  text-align:center;background:#0b0b0c;border:1px solid rgba(255,255,255,.15);border-radius:3px;
  color:#bfc0c2;font:600 11px/1.2 var(--sans);transition:.18s ease;user-select:none;
}
.service-option:hover span{border-color:rgba(255,255,255,.34);color:#fff;background:#101012}
.service-option input:focus-visible+span{outline:2px solid #fff;outline-offset:2px;border-color:var(--red-hot)}
.service-option input:checked+span{color:#fff;border-color:var(--red-hot);background:linear-gradient(145deg,rgba(217,8,18,.22),rgba(14,14,15,.98));box-shadow:inset 3px 0 0 var(--red-hot),0 6px 16px rgba(0,0,0,.2)}
.service-option input:checked+span:before{content:"✓";margin-right:6px;color:var(--red-hot);font-weight:800}
.service-picker.has-error .service-option span{border-color:rgba(241,13,23,.4)}
.service-picker__error{margin-top:6px}

.smart-wa-form .btn:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.4);transform:none!important;box-shadow:none}
.smart-wa-form .btn:disabled:before,.smart-wa-form .btn:disabled:after{display:none!important}
.form-status{margin:8px 0 0;text-align:center;color:#858589;font-size:10.5px;line-height:1.4}

.form-review{padding:2px 0 0}
.form-review[hidden],.form-entry[hidden]{display:none!important}
.form-review__head{padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12)}
.form-review__head>span{color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.18em}
.form-review__head h3{margin:7px 0 6px;font:800 clamp(28px,3vw,38px)/.95 var(--cond);letter-spacing:.025em;text-transform:uppercase}
.form-review__head p{margin:0;color:#9d9da0;font-size:11.5px;line-height:1.5}
.form-review__list{display:grid;grid-template-columns:150px 1fr;margin:16px 0 18px;border-top:1px solid rgba(255,255,255,.08)}
.form-review__list dt,.form-review__list dd{margin:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.form-review__list dt{color:#77787b;font:700 10px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase}
.form-review__list dd{color:#eeeeef;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.form-review__actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px}
.form-review__actions .btn{width:100%;min-height:46px;font-size:14px}

.quote-modal{width:min(760px,calc(100% - 28px))}
.quote-form .field-wrap>label{font-size:12px;font-weight:700;color:#d6d6d7;letter-spacing:.03em;text-transform:none}
.quote-form .field-error{margin-top:4px}
.quote-form .service-picker{margin-top:2px}
.quote-form .service-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.quote-form .service-option span{min-height:36px;padding:8px 8px;font-size:10px}
.form-review--modal{padding:8px 0 4px}

@media(max-width:980px){
  .service-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .service-picker{margin-top:15px}
  .service-picker__grid,.quote-form .service-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .service-option span,.quote-form .service-option span{min-height:39px;padding:8px 7px;font-size:10px}
  .form-review__list{grid-template-columns:100px 1fr}
  .form-review__actions{grid-template-columns:1fr;gap:8px}
  .form-review__actions .btn{min-height:45px}
  .form-status{font-size:10px}
}
@media(max-width:380px){
  .service-picker__grid,.quote-form .service-picker__grid{grid-template-columns:1fr}
  .service-option span,.quote-form .service-option span{justify-content:flex-start;text-align:left;padding-inline:11px}
}

/* =========================================================
   PASO 19 · GALERÍA / LIGHTBOX
   Navegación, contador, captions, teclado y swipe móvil.
   ========================================================= */
.gallery__item:focus-visible{
  outline:2px solid var(--red-hot);
  outline-offset:3px;
  border-color:rgba(241,13,23,.72);
}

.gallery-modal{
  width:min(1160px,calc(100% - 32px));
  max-height:92vh;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:#070708;
  box-shadow:0 38px 110px rgba(0,0,0,.82),0 0 0 1px rgba(217,8,18,.08);
}
.gallery-modal::backdrop{
  background:rgba(0,0,0,.9);
  backdrop-filter:blur(7px);
}
.gallery-modal__close{
  position:absolute;
  top:12px;
  right:14px;
  z-index:8;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  background:rgba(5,5,5,.78);
  color:#fff;
  font-size:28px;
  line-height:1;
  backdrop-filter:blur(6px);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.gallery-modal__close:hover{background:var(--red-dark);border-color:var(--red-hot);transform:rotate(4deg)}
.gallery-modal__close:focus-visible,
.gallery-modal__nav:focus-visible{outline:2px solid #fff;outline-offset:2px}

.gallery-modal__viewer{
  position:relative;
  min-height:360px;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 72px;
  align-items:stretch;
  background:
    linear-gradient(90deg,rgba(217,8,18,.035),transparent 18%,transparent 82%,rgba(217,8,18,.035)),
    #050505;
}
.gallery-modal__stage{
  min-width:0;
  min-height:360px;
  height:min(72vh,760px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.gallery-modal__image{
  width:100%;
  height:100%;
  max-height:none!important;
  object-fit:contain;
  background:#050505;
  opacity:1;
  transform:scale(1);
  transition:opacity .2s ease,transform .28s cubic-bezier(.2,.72,.2,1);
  will-change:opacity,transform;
  user-select:none;
  -webkit-user-drag:none;
}
.gallery-modal__image.is-transitioning{opacity:.08;transform:scale(.988)}

.gallery-modal__nav{
  position:relative;
  z-index:4;
  width:100%;
  border:0;
  background:linear-gradient(90deg,rgba(11,11,12,.95),rgba(11,11,12,.26));
  color:rgba(255,255,255,.72);
  cursor:pointer;
  transition:color .18s ease,background .18s ease;
}
.gallery-modal__nav--next{background:linear-gradient(270deg,rgba(11,11,12,.95),rgba(11,11,12,.26))}
.gallery-modal__nav span{display:inline-block;font:300 58px/.8 var(--sans);transition:transform .18s ease}
.gallery-modal__nav:hover{color:#fff;background:linear-gradient(90deg,rgba(135,7,12,.7),rgba(11,11,12,.18))}
.gallery-modal__nav--next:hover{background:linear-gradient(270deg,rgba(135,7,12,.7),rgba(11,11,12,.18))}
.gallery-modal__nav--prev:hover span{transform:translateX(-4px)}
.gallery-modal__nav--next:hover span{transform:translateX(4px)}

.gallery-modal__footer{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:13px 24px 14px;
  border-top:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,#111113,#09090a);
}
.gallery-modal__meta{min-width:0;display:flex;align-items:center;gap:15px}
.gallery-modal__counter{
  flex:none;
  min-width:52px;
  color:var(--red-hot);
  font:800 12px/1 var(--sans);
  letter-spacing:.11em;
}
.gallery-modal__caption{
  margin:0;
  color:#e4e4e5;
  font:700 16px/1.2 var(--cond);
  letter-spacing:.04em;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gallery-modal__hint{
  flex:none;
  margin:0;
  color:#77787b;
  font:600 10px/1.3 var(--sans);
  letter-spacing:.055em;
  text-transform:uppercase;
}
.gallery-modal__hint--mobile{display:none}

@media(max-width:700px){
  .gallery-modal{width:calc(100% - 14px);max-height:94vh;border-radius:4px}
  .gallery-modal__close{top:9px;right:9px;width:40px;height:40px;background:rgba(5,5,5,.86)}
  .gallery-modal__viewer{min-height:300px;display:block}
  .gallery-modal__stage{height:min(72vh,620px);min-height:300px}
  .gallery-modal__nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:72px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:3px;
    background:rgba(5,5,5,.64);
    backdrop-filter:blur(5px);
  }
  .gallery-modal__nav--prev{left:8px}
  .gallery-modal__nav--next{right:8px}
  .gallery-modal__nav span{font-size:42px}
  .gallery-modal__footer{min-height:68px;padding:11px 14px 12px;gap:10px}
  .gallery-modal__meta{gap:10px;min-width:0}
  .gallery-modal__counter{min-width:42px;font-size:10px}
  .gallery-modal__caption{font-size:14px}
  .gallery-modal__hint--desktop{display:none}
  .gallery-modal__hint--mobile{display:block;font-size:8px;white-space:nowrap}
}

@media(max-width:420px){
  .gallery-modal__stage{height:min(68vh,560px)}
  .gallery-modal__footer{align-items:flex-start;flex-direction:column;gap:5px}
  .gallery-modal__caption{white-space:normal;line-height:1.12}
  .gallery-modal__hint--mobile{padding-left:52px}
}

@media(prefers-reduced-motion:reduce){
  .gallery-modal__image,.gallery-modal__nav span,.gallery-modal__close{transition:none!important}
}


/* =========================================================
   PÁGINA NOSOTROS · MECÁNICA 17
   Mantiene el lenguaje visual, microinteracciones, motion,
   navbar sticky, CTA y experiencia responsive del sitio.
   ========================================================= */
.about-page{background:#050505;color:#f7f7f7}
.about-page .site-header{position:sticky;top:0}
.about-hero{position:relative;min-height:590px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#050505;border-bottom:1px solid rgba(255,255,255,.09)}
.about-hero__media{position:absolute;inset:0;z-index:-3}
.about-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.78) contrast(1.08) brightness(.78);transform:scale(1.012)}
.about-hero__overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.82) 36%,rgba(0,0,0,.33) 70%,rgba(0,0,0,.13) 100%),linear-gradient(0deg,#050505 0%,rgba(5,5,5,.34) 32%,transparent 62%)}
.about-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--red-hot) 0 14%,rgba(191,194,197,.35) 14% 36%,transparent 36%);clip-path:polygon(0 0,100% 0,100% 2px,38% 2px,36% 7px,0 7px)}
.about-hero__content{position:relative;z-index:2;padding:82px 0 68px;max-width:970px}
.about-hero .breadcrumbs{margin-bottom:18px;color:#9a9a9d}.about-hero .breadcrumbs a{color:#d8d8da}.about-hero .breadcrumbs a:hover{color:var(--red-hot)}
.about-kicker,.about-label{display:block;color:var(--red-hot);font:800 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.about-hero h1{margin:10px 0 0;max-width:930px;font:800 clamp(50px,5.4vw,80px)/.91 var(--cond);letter-spacing:-.02em;text-transform:uppercase;text-shadow:0 4px 28px rgba(0,0,0,.74)}
.about-hero h1 strong{color:var(--red-hot);font-weight:800}
.about-hero__content>p:last-of-type{max-width:760px;margin:22px 0 0;color:#d7d7d9;font-size:16px;line-height:1.65;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.about-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}

.about-intro{position:relative;padding:74px 0 78px;background:linear-gradient(180deg,#080809,#0d0d0f)}
.about-intro__grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:64px;align-items:center}
.about-intro__visual{position:relative;min-height:610px;padding:0 34px 34px 0}
.about-photo-frame{position:relative;height:610px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#0b0b0c;box-shadow:0 28px 60px rgba(0,0,0,.38)}
.about-photo-frame:before{content:"";position:absolute;z-index:2;inset:0;border-left:3px solid var(--red-hot);pointer-events:none}
.about-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(.72) contrast(1.07) brightness(.76);transition:transform .45s cubic-bezier(.2,.72,.2,1),filter .3s ease}
.about-intro__visual:hover .about-photo-frame img{transform:scale(1.022);filter:saturate(.82) contrast(1.08) brightness(.8)}
.about-intro__number{position:absolute;right:0;bottom:-13px;color:rgba(241,13,23,.1);font:800 190px/.72 var(--cond);letter-spacing:-.08em;pointer-events:none}
.about-intro__tag{position:absolute;left:20px;bottom:8px;z-index:3;min-width:230px;padding:14px 18px;border-left:3px solid var(--red-hot);background:rgba(7,7,8,.94);box-shadow:0 10px 25px rgba(0,0,0,.42)}
.about-intro__tag span{display:block;color:#7f8083;font:700 9px/1 var(--sans);letter-spacing:.16em}.about-intro__tag b{display:block;margin-top:7px;font:800 21px/1 var(--cond);letter-spacing:.045em}
.about-intro__copy{max-width:720px}.about-intro__copy h2,.about-section-head h2,.about-capability__copy h2,.about-location__copy h2{margin:10px 0 0;font:800 clamp(42px,4vw,60px)/.94 var(--cond);letter-spacing:-.015em;text-transform:uppercase}
.about-lead{margin:22px 0 0;padding-left:18px;border-left:2px solid var(--red-hot);color:#c9c9cc;font-size:15px;line-height:1.72}
.about-principles{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.about-principles article{display:grid;grid-template-columns:42px 1fr;gap:12px;min-height:144px;padding:18px 18px 16px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(20,20,22,.86),rgba(10,10,11,.86));transition:background .2s ease,border-color .2s ease,transform .2s ease}
.about-principles article:hover{background:#151517;border-color:rgba(241,13,23,.36);transform:translateY(-2px)}
.about-principles article>span{color:var(--red-hot);font:800 18px/1 var(--cond);letter-spacing:.08em}.about-principles h3{margin:0;font:800 20px/1.05 var(--cond);text-transform:uppercase;letter-spacing:.02em}.about-principles p{margin:8px 0 0;color:#aeb0b3;font-size:11.5px;line-height:1.55}

.about-method{position:relative;padding:68px 0 74px;background:radial-gradient(circle at 86% 22%,rgba(217,8,18,.08),transparent 24%),#070708}
.about-section-head{max-width:870px}.about-section-head>p{max-width:720px;margin:19px 0 0;color:#bfc0c2;font-size:14px;line-height:1.7}
.about-method__track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.about-method__track:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,var(--red-hot) 0 15%,transparent 15% 100%)}
.about-method__track article{position:relative;min-height:182px;padding:23px 24px 21px;border-right:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(20,20,22,.46),rgba(7,7,8,.3));transition:background .2s ease}
.about-method__track article:last-child{border-right:0}.about-method__track article:hover{background:rgba(20,20,22,.72)}
.about-method__track span{display:block;color:rgba(241,13,23,.8);font:800 25px/1 var(--cond)}.about-method__track b{display:block;margin-top:27px;color:#f1f1f2;font:800 21px/1 var(--cond);letter-spacing:.05em}.about-method__track p{margin:10px 0 0;color:#9d9da0;font-size:11.5px;line-height:1.55}

.about-capability{position:relative;padding:76px 0 80px;background:linear-gradient(180deg,#0d0d0f,#060607)}
.about-capability__grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:58px;align-items:center}
.about-capability__copy>p{max-width:680px;margin:20px 0 0;color:#bfc0c2;font-size:14px;line-height:1.72}
.about-service-links{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}
.about-service-links a{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);color:#d1d1d3;background:#0c0c0d;font:700 12px/1.2 var(--sans);transition:background .18s ease,color .18s ease,border-color .18s ease}
.about-service-links a b{color:var(--red-hot);font:800 23px/1 var(--cond);transition:transform .18s ease}.about-service-links a:hover{background:#141416;color:#fff;border-color:rgba(241,13,23,.35)}.about-service-links a:hover b{transform:translateX(4px)}
.about-capability__visual{position:relative;min-height:540px;padding:30px 0 0 30px}
.about-capability__visual:before{content:"";position:absolute;left:0;top:0;width:68%;height:74%;border:1px solid rgba(241,13,23,.35);z-index:0}
.about-capability__visual img{position:relative;z-index:1;width:100%;height:510px;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.08) brightness(.78);border:1px solid rgba(255,255,255,.15);box-shadow:0 28px 60px rgba(0,0,0,.42)}
.about-capability__plate{position:absolute;z-index:2;right:22px;bottom:0;min-width:230px;padding:15px 17px;border-left:3px solid var(--red-hot);background:rgba(7,7,8,.96);box-shadow:0 16px 32px rgba(0,0,0,.46)}
.about-capability__plate small,.about-capability__plate span{display:block;color:#8f9093;font:700 9px/1 var(--sans);letter-spacing:.15em}.about-capability__plate strong{display:block;margin:5px 0 2px;color:var(--red-hot);font:800 58px/.8 var(--cond);letter-spacing:-.05em}

.about-location{position:relative;padding:72px 0 76px;background:#0a0a0b}
.about-location__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:0;border:1px solid rgba(255,255,255,.14);background:#0d0d0f}
.about-location__visual{min-height:440px;overflow:hidden}.about-location__visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.05) brightness(.77);transition:transform .45s cubic-bezier(.2,.72,.2,1)}.about-location__visual:hover img{transform:scale(1.02)}
.about-location__copy{padding:42px 42px 38px;border-left:1px solid rgba(255,255,255,.12)}.about-location__copy>p{margin:18px 0 0;color:#bfc0c2;font-size:13.5px;line-height:1.68}
.about-location__details{display:grid;grid-template-columns:1fr 1fr;margin:25px 0 0;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}.about-location__details>div{min-height:92px;padding:15px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.about-location__details dt{color:#77787b;font:800 9px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}.about-location__details dd{margin:8px 0 0;color:#ececed;font-size:12px;line-height:1.5}.about-location__details a:hover{color:var(--red-hot)}
.about-location__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}

@media(max-width:1100px){
  .about-intro__grid,.about-capability__grid{gap:38px}.about-intro__visual{min-height:520px}.about-photo-frame{height:520px}.about-intro__number{font-size:150px}
  .about-method__track article{padding-inline:18px}.about-location__copy{padding:34px 30px}
}
@media(max-width:900px){
  .about-hero{min-height:520px}.about-hero__content{padding:68px 0 54px}.about-hero h1{font-size:clamp(48px,8vw,68px)}
  .about-intro__grid,.about-capability__grid,.about-location__grid{grid-template-columns:1fr}
  .about-intro__visual{min-height:500px;padding-right:28px}.about-photo-frame{height:500px}.about-intro__copy{max-width:none}
  .about-method__track{grid-template-columns:1fr 1fr}.about-method__track article:nth-child(2){border-right:0}.about-method__track article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .about-capability__visual{order:-1;min-height:430px}.about-capability__visual img{height:420px}
  .about-location__visual{min-height:380px}.about-location__copy{border-left:0;border-top:1px solid rgba(255,255,255,.12)}
}
@media(max-width:700px){
  .about-hero{min-height:690px;align-items:flex-end}.about-hero__media img{object-position:center top;filter:saturate(.82) contrast(1.05) brightness(.86)}
  .about-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.16) 42%,rgba(5,5,5,.82) 63%,#050505 100%)}
  .about-hero__content{padding:338px 0 44px;max-width:none}.about-hero .breadcrumbs{margin-bottom:11px;font-size:10px}.about-kicker{font-size:9px;letter-spacing:.16em}.about-hero h1{font-size:clamp(35px,10.5vw,47px);line-height:.93}.about-hero h1 br{display:none}.about-hero__content>p:last-of-type{margin-top:15px;font-size:13px;line-height:1.55}.about-hero__actions{display:grid;grid-template-columns:1fr;margin-top:18px;gap:8px}.about-hero__actions .btn{width:100%;min-height:46px;font-size:15px}
  .about-intro,.about-method,.about-capability,.about-location{padding:48px 0 52px}.about-intro__grid{gap:29px}.about-intro__visual{min-height:385px;padding:0 18px 18px 0}.about-photo-frame{height:385px}.about-intro__number{font-size:112px;bottom:-8px}.about-intro__tag{left:10px;bottom:2px;min-width:190px;padding:12px 14px}.about-intro__tag b{font-size:18px}
  .about-intro__copy h2,.about-section-head h2,.about-capability__copy h2,.about-location__copy h2{font-size:36px}.about-lead{font-size:12.5px;line-height:1.62;margin-top:16px}.about-principles{grid-template-columns:1fr;margin-top:22px}.about-principles article{min-height:0;padding:15px 14px}.about-principles h3{font-size:18px}.about-principles p{font-size:11px}
  .about-method__track{grid-template-columns:1fr;margin-top:24px}.about-method__track article{min-height:0;padding:18px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important;display:grid;grid-template-columns:42px 1fr;column-gap:9px}.about-method__track article:last-child{border-bottom:0!important}.about-method__track span{grid-row:1/3;font-size:22px}.about-method__track b{margin-top:0;font-size:19px}.about-method__track p{margin-top:6px;font-size:11px}
  .about-capability__visual{min-height:320px;padding:18px 0 0 18px}.about-capability__visual img{height:300px}.about-capability__plate{right:8px;min-width:184px;padding:12px 13px}.about-capability__plate strong{font-size:48px}.about-service-links{grid-template-columns:1fr}.about-service-links a{min-height:48px}
  .about-location__visual{min-height:250px}.about-location__copy{padding:26px 19px 24px}.about-location__details{grid-template-columns:1fr 1fr}.about-location__details>div{min-height:82px;padding:12px}.about-location__actions{display:grid;grid-template-columns:1fr}.about-location__actions .btn{width:100%}
}
@media(max-width:420px){
  .about-hero{min-height:660px}.about-hero__content{padding-top:320px}.about-hero h1{font-size:34px}
  .about-location__details{grid-template-columns:1fr}.about-location__details>div{min-height:0}
}
@media(prefers-reduced-motion:reduce){
  .about-photo-frame img,.about-capability__visual img,.about-location__visual img,.about-service-links a b{transition:none!important;transform:none!important}
}

/* QA NOSOTROS · 320px */
@media(max-width:360px){
  .about-hero h1 strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:31px}
  .about-hero h1{max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:360px){
  .about-hero__media img{transform:none}
  .about-section-head h2{font-size:31px;overflow-wrap:anywhere}
}

/* QA navegación con enlace Nosotros: compactación en escritorio estrecho */
@media (min-width:981px) and (max-width:1100px){
  .main-nav{gap:15px}
  .main-nav a{font-size:14px}
  .nav-cta{
    min-width:132px;
    width:132px;
    margin-left:0;
    padding:0 24px 0 12px!important;
    font-size:0;
  }
  .nav-cta::before{
    content:"COTIZAR";
    position:relative;
    z-index:2;
    font:700 14px/1 var(--cond);
    letter-spacing:.07em;
  }
  .nav-cta .btn-icon{display:none}
}


/* Página Servicios */
.services__actions{display:flex;justify-content:center;margin-top:22px}
.services-directory-intro{position:relative;padding:74px 0 78px;background:linear-gradient(180deg,#080809,#0d0d0f)}
.services-directory-intro__grid{align-items:center}
.services-directory-intro__visual .about-photo-frame img{object-position:center 42%}
.services-directory-section{position:relative;padding:74px 0 78px;background:linear-gradient(180deg,#09090a,#0d0d0f)}
.services-directory-section--dark{background:linear-gradient(180deg,#0b0b0c,#080809)}
.services-directory-section--major{background:linear-gradient(180deg,#080809,#0c0c0d)}
.services-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;margin-top:34px}
.services-directory-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.services-directory-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.services-page-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100%;background:linear-gradient(180deg,#121214,#09090a);border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.02);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.services-page-card:hover{transform:translateY(-4px);border-color:rgba(241,13,23,.42);box-shadow:0 18px 36px rgba(0,0,0,.48),0 0 0 1px rgba(241,13,23,.08)}
.services-page-card img{width:100%;height:170px;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.08) brightness(.82);transition:transform .35s ease,filter .35s ease}
.services-page-card:hover img{transform:scale(1.035);filter:saturate(.94) contrast(1.1) brightness(.92)}
.services-page-card__body{display:flex;flex-direction:column;gap:10px;flex:1;padding:18px 18px 20px}
.services-page-card__kicker{color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.services-page-card h3{margin:0;font:800 28px/.94 var(--cond);letter-spacing:.01em;text-transform:uppercase;color:#f4f4f5}
.services-page-card p{margin:0;color:#b8babd;font-size:13px;line-height:1.62}
.services-page-card__link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid rgba(255,255,255,.1);font:700 12px/1.2 var(--sans);letter-spacing:.04em;color:#f0f0f1;transition:color .18s ease,border-color .18s ease}
.services-page-card__link b{color:var(--red-hot);font:800 24px/1 var(--cond);transition:transform .18s ease}
.services-page-card__link:hover{color:#fff;border-color:rgba(241,13,23,.34)}
.services-page-card__link:hover b{transform:translateX(4px)}
.services-major__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:38px;align-items:start}
.services-major__copy p{margin:16px 0 0;color:#c4c5c7;font-size:14px;line-height:1.7;max-width:620px}
.services-helper{position:relative;padding:74px 0 78px;background:linear-gradient(180deg,#0d0d0f,#080809)}
.services-helper__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:40px;align-items:start}
.services-helper__copy h2{margin:10px 0 0;font:800 clamp(42px,4vw,60px)/.94 var(--cond);letter-spacing:-.015em;text-transform:uppercase}
.services-helper__copy>p{max-width:760px;margin:18px 0 0;color:#c4c6c9;font-size:15px;line-height:1.68}
.services-helper__symptoms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.services-helper__symptoms article{padding:16px 16px 15px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(19,19,21,.92),rgba(10,10,11,.92));border-radius:12px;min-height:116px}
.services-helper__symptoms b{display:block;color:#f2f2f3;font:800 22px/1 var(--cond);letter-spacing:.01em;text-transform:uppercase}
.services-helper__symptoms span{display:block;margin-top:10px;color:#aeb0b3;font-size:12px;line-height:1.58}
.services-helper__cta{padding:26px 24px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:linear-gradient(180deg,rgba(18,18,20,.98),rgba(9,9,10,.98));box-shadow:0 16px 34px rgba(0,0,0,.34);position:sticky;top:126px}
.services-helper__eyebrow{display:block;color:var(--red-hot);font:700 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.services-helper__cta h3{margin:13px 0 0;font:800 36px/.95 var(--cond);letter-spacing:-.01em;text-transform:uppercase}
.services-helper__cta p{margin:14px 0 0;color:#c1c3c6;font-size:14px;line-height:1.65}
.services-helper__details{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.services-helper__details li{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08);color:#d0d0d2;font-size:13px;line-height:1.55}
.services-helper__details strong{color:#fff}
.services-helper__actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
@media (max-width:1320px){.services-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.services-directory-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}.services-major__grid{grid-template-columns:1fr}.services-helper__grid{grid-template-columns:1fr}.services-helper__cta{position:relative;top:auto}}
@media (max-width:980px){.services-directory-intro,.services-directory-section,.services-helper{padding:56px 0 60px}.services-directory-grid,.services-directory-grid--five,.services-directory-grid--three{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.services-page-card img{height:160px}.services-helper__symptoms{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.services__actions{margin-top:16px}.services-directory-intro,.services-directory-section,.services-helper{padding:48px 0 52px}.services-directory-grid,.services-directory-grid--five,.services-directory-grid--three,.services-helper__symptoms{grid-template-columns:1fr}.services-page-card__body{padding:16px 15px 17px}.services-page-card h3{font-size:24px}.services-page-card p{font-size:12px;line-height:1.58}.services-helper__copy h2{font-size:36px}.services-helper__copy>p{font-size:13px;line-height:1.58;margin-top:14px}.services-helper__cta{padding:20px 18px;border-radius:14px}.services-helper__cta h3{font-size:30px}.services-helper__details li{font-size:12px}.services-helper__actions .btn{width:100%}}


/* Página Contacto */
.contact-page-intro{position:relative;padding:66px 0 70px;background:linear-gradient(180deg,#080809,#0d0d0f)}
.contact-page-intro__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:start}
.contact-page-intro__copy h2{margin:10px 0 0;font:800 clamp(42px,4vw,60px)/.94 var(--cond);letter-spacing:-.015em;text-transform:uppercase}
.contact-page-intro__copy p{max-width:620px;margin:18px 0 0;color:#c4c5c7;font-size:14px;line-height:1.7}
.contact-page-intro__methods{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.contact-method-card{position:relative;min-height:145px;padding:18px 18px 16px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(20,20,22,.88),rgba(9,9,10,.9));transition:transform .2s ease,border-color .2s ease,background .2s ease}
.contact-method-card:hover{transform:translateY(-2px);border-color:rgba(241,13,23,.38);background:#141416}
.contact-method-card>span{color:var(--red-hot);font:800 16px/1 var(--cond);letter-spacing:.08em}
.contact-method-card strong{margin-top:18px;color:#f1f1f2;font:800 25px/1 var(--cond);text-transform:uppercase}
.contact-method-card small{margin-top:7px;color:#aeb0b3;font-size:11.5px;line-height:1.4}
.contact-method-card b{margin-top:auto;padding-top:14px;color:#fff;font:700 11px/1 var(--sans);letter-spacing:.05em}
.contact-page .contact-form-section{padding-top:66px;padding-bottom:70px}
.contact-page .contact-block{padding-top:54px;padding-bottom:8px}
.contact-page .contact-block__head{margin-bottom:22px}
.contact-page-process{padding-top:68px;padding-bottom:70px}
.contact-page .location-section{padding-top:66px;padding-bottom:70px}
.contact-page .contact-whatsapp-form{box-shadow:0 18px 44px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.025)}
@media (max-width:980px){.contact-page-intro__grid{grid-template-columns:1fr;gap:30px}.contact-page-intro,.contact-page-process{padding:54px 0 58px}.contact-page .contact-form-section,.contact-page .location-section{padding-top:54px;padding-bottom:58px}}
@media (max-width:700px){.contact-page-intro,.contact-page-process{padding:46px 0 50px}.contact-page-intro__copy h2{font-size:36px}.contact-page-intro__copy p{font-size:13px;line-height:1.58}.contact-page-intro__methods{grid-template-columns:1fr}.contact-method-card{min-height:118px;padding:15px}.contact-method-card strong{margin-top:12px;font-size:22px}.contact-page .contact-form-section,.contact-page .location-section{padding-top:44px;padding-bottom:48px}.contact-page .contact-block{padding-top:38px}}

/* =========================================================
   ALINEACIÓN GLOBAL DE HERO
   Todas las páginas internas usan el mismo punto de inicio
   visual del contenido que el hero del index general.
   ========================================================= */
.about-hero .breadcrumbs,
.seo-hero .breadcrumbs{
  display:none;
}

.about-kicker,
.seo-kicker{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:9px;
  margin:0 0 13px;
  color:#d9d9db;
  font:700 13px/1 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.86);
}
.about-kicker::before,
.seo-kicker::before{
  content:"";
  width:7px;
  height:7px;
  flex:none;
  border:2px solid var(--red-hot);
  transform:rotate(45deg);
}

@media (min-width:981px){
  .about-hero,
  .seo-hero{
    min-height:620px;
    height:calc(100vh - 142px);
    max-height:760px;
    display:flex;
    align-items:center;
  }

  .about-hero__content,
  .seo-hero__content{
    position:relative;
    z-index:3;
    width:min(var(--max),calc(100% - 48px));
    max-width:none;
    min-height:390px;
    margin-inline:auto;
    padding:0 0 102px 30px;
  }

  .about-hero__content::before,
  .seo-hero__content::before{
    content:"";
    position:absolute;
    left:0;
    top:3px;
    width:3px;
    height:104px;
    background:linear-gradient(180deg,var(--red-hot) 0 58%,rgba(191,194,197,.58) 58% 72%,transparent 72%);
    box-shadow:0 0 18px rgba(241,13,23,.12);
  }

  .about-hero h1,
  .seo-hero h1{
    margin-top:0;
  }
}

@media (max-width:1250px) and (min-width:981px){
  .about-hero,
  .seo-hero{
    min-height:600px;
    height:calc(100vh - 134px);
    max-height:720px;
  }
  .about-hero__content,
  .seo-hero__content{
    padding-left:27px;
    padding-bottom:98px;
  }
}

@media (max-width:980px) and (min-width:701px){
  .about-hero,
  .seo-hero{
    min-height:690px;
    height:auto;
    max-height:none;
    align-items:center;
  }
  .about-hero__content,
  .seo-hero__content{
    position:relative;
    width:min(var(--max),calc(100% - 48px));
    max-width:none;
    min-height:540px;
    margin-inline:auto;
    padding:12px 0 176px 26px;
  }
  .about-hero__content::before,
  .seo-hero__content::before{
    content:"";
    position:absolute;
    left:0;
    top:15px;
    width:3px;
    height:96px;
    background:linear-gradient(180deg,var(--red-hot) 0 58%,rgba(191,194,197,.58) 58% 72%,transparent 72%);
  }
}

@media (max-width:700px){
  .about-hero,
  .seo-hero{
    min-height:770px;
    height:auto;
    max-height:none;
    align-items:flex-start;
  }

  .about-hero__content,
  .seo-hero__content{
    position:relative;
    width:min(100% - 28px,var(--max));
    max-width:none;
    min-height:0;
    margin-inline:auto;
    padding:452px 0 44px;
  }

  .about-hero__content::before,
  .seo-hero__content::before{
    content:"";
    position:absolute;
    left:0;
    top:448px;
    width:48px;
    height:2px;
    background:linear-gradient(90deg,var(--red-hot),rgba(191,194,197,.42),transparent);
  }

  .about-kicker,
  .seo-kicker{
    gap:7px;
    margin-bottom:9px;
    padding-top:11px;
    font-size:10px;
    letter-spacing:.125em;
  }
  .about-kicker::before,
  .seo-kicker::before{
    width:5px;
    height:5px;
    border-width:1px;
  }

  .seo-hero h1,
  .about-hero h1{
    margin-top:0;
  }
}

@media (max-width:420px){
  .about-hero,
  .seo-hero{
    min-height:748px;
  }
  .about-hero__content,
  .seo-hero__content{
    padding-top:438px;
    padding-bottom:42px;
  }
  .about-hero__content::before,
  .seo-hero__content::before{
    top:434px;
  }
}

/* Ajuste final de posición: el inicio del texto replica el punto del hero principal,
   independientemente de cuánto texto tenga cada página interna. */
.about-kicker,
.seo-kicker{white-space:nowrap}

@media (min-width:1251px){
  .about-hero,
  .seo-hero{
    height:auto;
    min-height:620px;
    max-height:none;
    align-items:flex-start;
  }
  .about-hero__content,
  .seo-hero__content{
    min-height:0;
    margin-top:clamp(121px,calc(50vh - 265px),185px);
    padding-top:0;
    padding-bottom:62px;
  }
}

@media (min-width:1700px){
  .about-hero__content,
  .seo-hero__content{margin-top:173px}
}

@media (max-width:1250px) and (min-width:981px){
  .about-hero,
  .seo-hero{
    height:auto;
    min-height:600px;
    max-height:none;
    align-items:flex-start;
  }
  .about-hero__content,
  .seo-hero__content{
    min-height:0;
    margin-top:clamp(141px,calc(15vh + 26px),166px);
    padding-top:0;
    padding-bottom:58px;
  }
}

@media (max-width:980px) and (min-width:701px){
  .about-hero,
  .seo-hero{
    height:auto;
    min-height:690px;
    max-height:none;
    align-items:flex-start;
  }
  .about-hero__content,
  .seo-hero__content{
    min-height:0;
    margin-top:clamp(58px,calc(246px - 19vw),108px);
    padding-top:0;
    padding-bottom:58px;
  }
}

@media (max-width:700px){
  .about-hero,
  .seo-hero{
    height:auto;
    min-height:770px;
    max-height:none;
    align-items:flex-start;
  }
  .about-hero__content,
  .seo-hero__content{
    min-height:0;
    margin-top:452px;
    padding-top:0;
    padding-bottom:44px;
  }
  .about-hero__content::before,
  .seo-hero__content::before{top:-4px}
}

@media (max-width:420px){
  .about-hero,
  .seo-hero{min-height:748px}
  .about-hero__content,
  .seo-hero__content{
    margin-top:438px;
    padding-top:0;
    padding-bottom:42px;
  }
  .about-hero__content::before,
  .seo-hero__content::before{top:-4px}
}

/* Corrección fina de cascada y reveal para que el punto visible coincida con Inicio. */
.seo-hero .seo-kicker{
  margin:0 0 13px;
  color:#d9d9db;
  font:700 13px/1 var(--sans);
  letter-spacing:.17em;
  line-height:1;
}

@media (min-width:1251px){
  .about-hero__content{margin-top:clamp(107px,calc(50vh - 279px),171px)}
  .seo-hero__content{margin-top:clamp(121px,calc(50vh - 265px),185px)}
}
@media (min-width:1700px){
  .about-hero__content{margin-top:159px}
  .seo-hero__content{margin-top:173px}
}
@media (max-width:1250px) and (min-width:981px){
  .about-hero__content{margin-top:clamp(127px,calc(15vh + 12px),152px)}
  .seo-hero__content{margin-top:clamp(141px,calc(15vh + 26px),166px)}
}
@media (max-width:980px) and (min-width:701px){
  .about-hero__content{margin-top:clamp(44px,calc(232px - 19vw),94px)}
  .seo-hero__content{margin-top:clamp(58px,calc(246px - 19vw),108px)}
}
@media (max-width:700px){
  .seo-hero .seo-kicker{
    margin-bottom:9px;
    padding-top:11px;
    font-size:10px;
    letter-spacing:.125em;
    line-height:1;
  }
}

@media (max-width:700px){
  /* Las páginas SEO no llevan la clase .reveal en el hero; compensamos esos 14px
     para conservar exactamente el mismo inicio visible que el hero principal. */
  .seo-hero__content{margin-top:466px}
}
@media (max-width:420px){
  .seo-hero__content{margin-top:452px}
}
@media (max-width:360px){
  /* En 320–360 px el eyebrow del Inicio ocupa dos líneas. Reservamos el mismo
     espacio para que el H1 de las páginas internas comience en la misma altura. */
  .about-kicker,
  .seo-hero .seo-kicker{margin-bottom:23px}
}
