/* ==========================================================
   Concepto Automotriz · Monterrey
   Identidad: azul eléctrico + naranja + plata sobre azul noche
   ========================================================== */

@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/barlow-400.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/barlow-500.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/barlow-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:700;font-display:swap;src:url(../assets/fonts/barlow-condensed-700i.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-display:swap;src:url(../assets/fonts/barlow-condensed-800i.woff2) format('woff2')}

:root{
  --bg:#05080F;
  --bg-2:#080D18;
  --surface:#0C1422;
  --surface-2:#111B2D;
  --line:rgba(140,175,230,.14);
  --line-2:rgba(140,175,230,.28);
  --text:#EDF2F9;
  --muted:#A3B0C4;
  --dim:#76839A;
  --blue:#1E8FE6;
  --blue-hi:#5CB8FF;
  --blue-deep:#0C5CA8;
  --orange:#F08A2B;
  --orange-hi:#FFA94D;
  --danger:#FF8F7E;
  --ok:#3DDC97;
  --silver:linear-gradient(180deg,#fff 8%,#CBD3DE 55%,#8E99AB 100%);
  --azure:linear-gradient(180deg,#7CC9FF 0%,#1E8FE6 58%,#126FBF 100%);
  --brand:linear-gradient(90deg,var(--orange) 0%,var(--orange-hi) 35%,var(--blue) 70%,var(--blue-hi) 100%);
  --font-d:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --font-b:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.75,.2,1);
  --nav-h:76px;
  --wrap:1320px;
  --gut:clamp(20px,4vw,48px);
  interpolate-size:allow-keywords;
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.6 var(--font-b);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--orange);color:#0A0F18}
:focus-visible{outline:2px solid var(--blue-hi);outline-offset:3px;border-radius:4px}

.sprite{position:absolute;width:0;height:0;overflow:hidden}
.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 18px;background:var(--orange);color:#0A0F18;font-weight:600;border-radius:6px;transition:top .2s}
.skip:focus{top:16px}

/* ---------- Barra de progreso ---------- */
.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:120;pointer-events:none}
.progress span{display:block;height:100%;background:var(--brand);transform-origin:0 50%;transform:scaleX(var(--sp,0))}

/* ---------- Botones ---------- */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:54px;padding:0 1.7em;border:0;background:none;cursor:pointer;
  font:700 1.08rem/1 var(--font-d);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;color:#0A0F18;white-space:nowrap;transition:transform .25s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:6px;transform:skewX(-14deg);
  background:linear-gradient(180deg,var(--orange-hi),var(--orange));
  box-shadow:0 14px 34px -14px rgba(240,138,43,.85),inset 0 1px 0 rgba(255,255,255,.4);
  transition:filter .25s,box-shadow .25s,background .25s}
.btn .ic{transition:transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover::before{filter:brightness(1.08);box-shadow:0 18px 40px -12px rgba(240,138,43,.95),inset 0 1px 0 rgba(255,255,255,.5)}
.btn:hover .ic:last-child{transform:translateX(4px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--ghost{color:var(--text)}
.btn--ghost::before{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn--ghost:hover::before{background:rgba(92,184,255,.12);box-shadow:inset 0 0 0 1px var(--blue-hi);filter:none}
.btn--sm{min-height:44px;font-size:.98rem;padding:0 1.3em}
.btn--block{width:100%}

.link{display:inline-flex;align-items:center;gap:.5em;padding:6px 0;background:none;border:0;cursor:pointer;color:var(--blue-hi);font-weight:600;text-decoration:none;
  background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .35s var(--ease)}
.link:hover{background-size:100% 1px}
.link .ic{transition:transform .25s var(--ease)}
.link:hover .ic{transform:translateX(4px)}

/* ---------- Estado abierto/cerrado ---------- */
.status{display:inline-flex;align-items:center;gap:.6em;font-size:.86rem;font-weight:500;color:var(--muted);white-space:nowrap}
.status i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--dim);flex:none}
.status.is-open i{background:var(--ok)}
.status.is-open i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ok);animation:ping 2s var(--ease) infinite}
.status.is-closed i{background:var(--orange)}
.status--lg{font-size:.98rem;padding:.55em 1em;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);white-space:normal}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.1);opacity:0}}

/* ---------- Navegación ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);transition:background .35s,box-shadow .35s,height .35s}
.nav.is-stuck{background:rgba(5,8,15,.82);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 1px 0 var(--line)}
.nav__in{height:100%;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto}
.brand img{width:104px}
.brand__txt{display:grid;font:700 1.02rem/1 var(--font-d);letter-spacing:.08em;text-transform:uppercase}
.brand__txt b{font-weight:700;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand__txt i{font-weight:800;font-style:italic;color:var(--blue-hi);margin-top:2px}
.nav__links{display:flex;gap:clamp(16px,2.2vw,34px)}
.nav__links a{position:relative;padding:12px 0;font-size:.95rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--orange);transform:scaleX(0) skewX(-30deg);transform-origin:0 50%;transition:transform .3s var(--ease)}
.nav__links a:hover,.nav__links a.is-active{color:var(--text)}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1) skewX(-30deg)}
.nav__right{display:flex;align-items:center;gap:20px}
.burger{display:none;position:relative;width:46px;height:46px;border:1px solid var(--line-2);border-radius:8px;background:rgba(255,255,255,.03);cursor:pointer}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--text);transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span:first-child{top:17px}.burger span:last-child{top:26px}
.burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:90;padding:calc(var(--nav-h) + 24px) var(--gut) 32px;background:rgba(5,8,15,.97);backdrop-filter:blur(18px);display:flex;flex-direction:column;justify-content:space-between;opacity:0;transition:opacity .3s}
.menu[hidden]{display:none}
.menu.is-open{opacity:1}
.menu nav{display:grid}
.menu a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font:800 italic 2.1rem/1.1 var(--font-d);text-transform:uppercase;text-decoration:none;opacity:0;transform:translateX(-24px);transition:opacity .4s var(--ease),transform .4s var(--ease),color .2s}
.menu a small{font:600 .8rem var(--font-b);color:var(--orange);font-style:normal}
.menu.is-open a{opacity:1;transform:none}
.menu.is-open a:nth-child(2){transition-delay:.05s}.menu.is-open a:nth-child(3){transition-delay:.1s}.menu.is-open a:nth-child(4){transition-delay:.15s}.menu.is-open a:nth-child(5){transition-delay:.2s}.menu.is-open a:nth-child(6){transition-delay:.25s}.menu.is-open a:nth-child(7){transition-delay:.3s}
.menu__foot{display:grid;gap:6px;color:var(--dim);font-size:.9rem}

/* ---------- Tipografía de sección ---------- */
.eyebrow{display:flex;align-items:center;gap:.8em;font:600 .95rem/1 var(--font-d);letter-spacing:.2em;text-transform:uppercase;color:var(--orange-hi)}
.eyebrow__bar{width:34px;height:8px;background:repeating-linear-gradient(90deg,var(--orange) 0 6px,transparent 6px 10px);transform:skewX(-30deg);flex:none}
.h2{margin-top:.35em;font:800 italic clamp(2.35rem,5.1vw,4.3rem)/.96 var(--font-d);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}
.h2--xl{font-size:clamp(2.8rem,6.4vw,5.6rem)}
.h2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .14em .12em 0;margin:-.08em -.14em -.12em 0}
.h2 .w>span{display:inline-block;padding-right:.12em;margin-right:-.12em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2 .w--em>span{background-image:var(--azure)}
.h2:not(.is-split){background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2:not(.is-split) em{font-style:inherit;background:var(--azure);-webkit-background-clip:text;background-clip:text}
.head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px clamp(32px,6vw,96px);align-items:end;margin-bottom:clamp(40px,5.5vw,72px)}
.head--center{grid-template-columns:1fr;justify-items:center;text-align:center}
.head--center .h2{max-width:16ch}
.head__lead{color:var(--muted);font-size:1.1rem;max-width:46ch}

.sec{position:relative;padding:clamp(80px,10vw,150px) 0;overflow-x:clip}
.sec--alt{background:var(--bg-2);border-block:1px solid var(--line);overflow:clip}
.sec__cta{margin-top:40px;text-align:center}
.slash{position:absolute;inset:0 -20% 0 62%;background:linear-gradient(180deg,rgba(30,143,230,.07),rgba(30,143,230,0) 70%);border-left:1px solid var(--line);transform:skewX(-14deg);pointer-events:none}

/* ---------- Animación de entrada ---------- */
.js [data-reveal]{opacity:0;transform:translate3d(0,34px,0);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.js [data-reveal="left"]{transform:translate3d(-48px,0,0)}
.js [data-reveal="right"]{transform:translate3d(48px,0,0)}
.js [data-reveal="scale"]{transform:scale(.93)}
.js [data-reveal].in{opacity:1;transform:none}
.js .h2.is-split .w>span{transform:translateY(115%) rotate(4deg);transform-origin:0 100%;transition:transform .85s var(--ease);transition-delay:calc(var(--w,0)*55ms)}
.js .h2.is-split.in .w>span{transform:none}

/* ==========================================================
   HERO
   ========================================================== */
.hero{position:relative;padding-top:calc(var(--nav-h) + clamp(28px,5vh,64px));overflow:hidden}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.hero__grid{position:absolute;inset:0;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;opacity:.55;
  -webkit-mask-image:radial-gradient(ellipse 75% 70% at 68% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 75% 70% at 68% 40%,#000 0%,transparent 75%)}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px)}
.hero__glow--b{width:52vw;height:52vw;max-width:820px;max-height:820px;right:-8%;top:-12%;background:radial-gradient(circle,rgba(30,143,230,.38),transparent 65%);animation:drift 14s ease-in-out infinite alternate}
.hero__glow--o{width:34vw;height:34vw;max-width:520px;max-height:520px;left:-10%;bottom:6%;background:radial-gradient(circle,rgba(240,138,43,.2),transparent 65%);animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate3d(4%,6%,0) scale(1.08)}}
.streaks{position:absolute;inset:0;overflow:hidden}
.streaks i{position:absolute;left:-30%;height:2px;width:26vw;border-radius:2px;background:linear-gradient(90deg,transparent,var(--orange));opacity:.0;animation:streak 5.5s linear infinite}
.streaks i:nth-child(1){top:22%;animation-delay:.2s}
.streaks i:nth-child(2){top:38%;width:18vw;animation-delay:2.1s;background:linear-gradient(90deg,transparent,var(--blue-hi))}
.streaks i:nth-child(3){top:57%;animation-delay:1.1s}
.streaks i:nth-child(4){top:71%;width:14vw;animation-delay:3.4s;background:linear-gradient(90deg,transparent,var(--blue-hi))}
.streaks i:nth-child(5){top:86%;width:22vw;animation-delay:4.2s}
@keyframes streak{0%{transform:translateX(0);opacity:0}8%{opacity:.55}60%{opacity:.55}100%{transform:translateX(170vw);opacity:0}}

.hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:clamp(28px,4vw,72px);align-items:center;min-height:min(74vh,720px)}
.hero__title{margin:.32em 0 .3em;font:800 italic clamp(3.5rem,7vw,6.5rem)/.9 var(--font-d);text-transform:uppercase;letter-spacing:.002em}
.hero__title .ln{display:block;overflow:hidden;padding:.05em .16em .1em 0;margin-bottom:-.1em}
.hero__title .ln>span{display:inline-block;padding-right:.12em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__title em{font-style:inherit;padding-right:.1em;background:var(--azure);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{max-width:44ch;font-size:clamp(1.08rem,1.35vw,1.25rem);color:var(--muted)}
.hero__cta{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:34px;padding-left:8px}
.hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:30px}

.js .hero__title .ln>span{transform:translateY(112%) rotate(3deg);transform-origin:0 100%}
.js .hero-el{opacity:0;transform:translateY(24px)}
.js.loaded .hero__title .ln>span{transform:none;transition:transform 1s var(--ease) calc(var(--d)*110ms + 120ms)}
.js.loaded .hero-el{opacity:1;transform:none;transition:opacity .9s var(--ease) calc(var(--d)*110ms + 120ms),transform .9s var(--ease) calc(var(--d)*110ms + 120ms)}

/* ---------- Escáner ---------- */
.scan{position:relative;padding:18px clamp(14px,2vw,26px) clamp(16px,2vw,24px);border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,rgba(14,23,40,.82),rgba(7,12,22,.72));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 40px 90px -50px rgba(30,143,230,.55),inset 0 1px 0 rgba(255,255,255,.05)}
.scan::before,.scan::after{content:"";position:absolute;width:26px;height:26px;border:2px solid var(--orange);pointer-events:none}
.scan::before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:14px 0 0 0}
.scan::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 14px 0;border-color:var(--blue-hi)}
.scan__head{display:flex;justify-content:space-between;gap:12px;font:600 .78rem/1 var(--font-d);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.scan__live{display:inline-flex;align-items:center;gap:.6em;color:var(--blue-hi)}
.scan__live i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:blink 1.2s steps(2,jump-none) infinite}
@keyframes blink{50%{opacity:.2}}
.scan__stage{position:relative;margin:6px 0 4px}

.car{width:100%;height:auto;overflow:visible}
.car *{fill:none;stroke-linecap:round;stroke-linejoin:round}
.car__floor path{stroke:rgba(140,175,230,.3);stroke-width:1.2}
.car__floor .car__dash{stroke-dasharray:3 9;stroke:rgba(140,175,230,.22)}
.car__floor .car__dim{stroke:rgba(240,138,43,.45)}
.car__speed path{stroke:var(--orange);stroke-width:3.2;stroke-dasharray:26 60;animation:speed 1.1s linear infinite}
.car__speed path:nth-child(2){stroke:var(--blue-hi);animation-duration:.85s}
@keyframes speed{from{stroke-dashoffset:0}to{stroke-dashoffset:-86}}
.car__body{stroke:url(#g-body);stroke-width:3.6;filter:drop-shadow(0 0 7px rgba(30,143,230,.55))}
.car__detail *{stroke:rgba(160,198,245,.55);stroke-width:1.5}
.car__lamp--front{fill:#CDEBFF;stroke:none;filter:drop-shadow(0 0 7px #5CB8FF)}
.car__lamp--rear{fill:var(--orange-hi);stroke:none;filter:drop-shadow(0 0 6px var(--orange))}
.car__rays path{stroke:var(--blue-hi);stroke-width:1.6;stroke-dasharray:5 7;opacity:.55;animation:speed 1.6s linear infinite reverse}
.wheel__tire{stroke:#D3DBE6;stroke-width:3.2;fill:#060A13}
.wheel__rim{stroke:rgba(160,198,245,.7);stroke-width:1.5}
.wheel__disc{stroke:rgba(240,138,43,.75);stroke-width:1.4;stroke-dasharray:3 6}
.wheel__spin{stroke:rgba(214,224,238,.85);stroke-width:3.2;transform-origin:0 0;animation:spin 5s linear infinite}
.wheel__hub{fill:#060A13;stroke:#D3DBE6;stroke-width:2}
@keyframes spin{to{transform:rotate(360deg)}}
.car__scanline{stroke:#9AD4FF;stroke-width:2;filter:drop-shadow(0 0 6px #5CB8FF);animation:sweep 4.8s cubic-bezier(.45,0,.55,1) infinite}
.car__beam{animation:sweep 4.8s cubic-bezier(.45,0,.55,1) infinite}
@keyframes sweep{0%{transform:translateX(30px);opacity:0}8%{opacity:1}78%{transform:translateX(970px);opacity:1}88%,100%{transform:translateX(970px);opacity:0}}
.js .car .draw{stroke-dasharray:1;stroke-dashoffset:1}
.js.loaded .car .draw{animation:draw 2s var(--ease) .55s forwards}
.js.loaded .car__detail .draw{animation-duration:1.4s;animation-delay:1.5s}
.js.loaded .wheel .draw{animation-duration:1.2s;animation-delay:1.1s}
@keyframes draw{to{stroke-dashoffset:0}}
.js .car__fill,.js .car__lamp,.js .car__rays,.js .wheel__spin,.js .wheel__disc,.js .wheel__hub,.js .car__scanline,.js .car__beam,.js .spot{visibility:hidden}
.js.ready .car__fill,.js.ready .car__lamp,.js.ready .car__rays,.js.ready .wheel__spin,.js.ready .wheel__disc,.js.ready .wheel__hub,.js.ready .car__scanline,.js.ready .car__beam,.js.ready .spot{visibility:visible}
.js.ready .car__fill,.js.ready .car__lamp,.js.ready .wheel__disc,.js.ready .wheel__hub{animation:fadein .8s both}
.js.ready .wheel__spin{animation:spin 5s linear infinite,fadein .8s both}
@keyframes fadein{from{opacity:0}}

.spot{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:40px;height:40px;margin:-20px 0 0 -20px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.spot i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--blue-hi);box-shadow:0 0 0 4px rgba(92,184,255,.18);transition:transform .3s var(--ease),background .3s,box-shadow .3s}
.spot::after{content:"";position:absolute;inset:8px;border-radius:50%;border:1.5px solid var(--orange);opacity:0;transform:scale(.5)}
.spot:hover i{transform:scale(1.3)}
.spot.is-on i{background:var(--orange-hi);transform:scale(1.35);box-shadow:0 0 0 5px rgba(240,138,43,.25),0 0 18px var(--orange)}
.spot.is-on::after{animation:ring 1.8s var(--ease) infinite}
@keyframes ring{0%{opacity:.9;transform:scale(.5)}100%{opacity:0;transform:scale(1.7)}}

.scan__tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}
.scan__tabs button{position:relative;min-height:44px;padding:0 6px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.02);cursor:pointer;
  font:600 .95rem/1 var(--font-d);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .25s,border-color .25s,background .25s}
.scan__tabs button:hover{color:var(--text);border-color:var(--line-2)}
.scan__tabs button[aria-selected="true"]{color:#0A0F18;background:linear-gradient(180deg,var(--orange-hi),var(--orange));border-color:transparent}
.scan__panel{margin-top:12px;padding:16px 18px;border-radius:8px;background:rgba(5,8,15,.6);border:1px solid var(--line);min-height:9.6rem}
.scan__panel-in{transition:opacity .25s,transform .25s var(--ease)}
.scan__panel-in.is-out{opacity:0;transform:translateY(8px)}
.scan__code{font:600 .82rem/1.3 var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.scan__code span{color:var(--orange-hi)}
.scan__code b{display:block;margin-top:6px;font:700 1.25rem/1.15 var(--font-d);letter-spacing:.04em;color:var(--text)}
.scan__text{margin-top:8px;font-size:.98rem;line-height:1.5;color:var(--muted)}
.scan__sign{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:10px;font-size:.9rem;color:var(--text)}
.scan__sign span:first-child{font:600 .76rem/1.7 var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--orange-hi)}

/* ---------- Cifras ---------- */
.stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,6vw,76px);border-top:1px solid var(--line)}
.stats>div{display:flex;align-items:center;gap:16px;padding:26px clamp(12px,2vw,28px) 30px;border-left:1px solid var(--line)}
.stats>div:first-child{border-left:0;padding-left:0}
.stats dt{font:800 italic clamp(2.6rem,4.4vw,3.8rem)/1 var(--font-d);padding-right:.08em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stats dt small{font-size:.5em;margin-left:.06em}
.stats .stats__mty{background-image:var(--azure)}
.stats dd{font-size:.92rem;line-height:1.35;color:var(--muted)}

/* ---------- Cinta ---------- */
.tape{position:relative;z-index:1;overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(240,138,43,.08),rgba(30,143,230,.08));padding:18px 0}
.tape__track{display:flex;align-items:center;gap:34px;width:max-content;animation:tape 38s linear infinite}
.tape span{font:800 italic clamp(1.7rem,3vw,2.6rem)/1 var(--font-d);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;color:var(--text)}
.tape span.o{color:transparent;-webkit-text-stroke:1px rgba(203,211,222,.7)}
.tape b{width:12px;height:1.7rem;background:var(--orange);transform:skewX(-20deg);flex:none}
@keyframes tape{to{transform:translateX(-50%)}}

/* ==========================================================
   SERVICIOS
   ========================================================== */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card{--mx:50%;--my:0%;position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(30,143,230,.16),transparent 62%),linear-gradient(180deg,var(--surface),var(--bg-2));
  transition:border-color .35s,translate .45s var(--ease),box-shadow .45s}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.card:hover{border-color:var(--line-2);translate:0 -6px;box-shadow:0 30px 60px -40px rgba(30,143,230,.7)}
.card:hover::after,.card:target::after{transform:scaleX(1)}
.card:target{border-color:var(--orange)}
.card__n{position:absolute;right:20px;top:14px;font:800 italic 3.4rem/1 var(--font-d);color:transparent;-webkit-text-stroke:1px rgba(140,175,230,.26);transition:-webkit-text-stroke-color .35s}
.card:hover .card__n{-webkit-text-stroke-color:rgba(240,138,43,.75)}
.card__ic{position:relative;isolation:isolate;display:grid;place-items:center;width:58px;height:54px;margin-bottom:26px;color:var(--blue-hi);font-size:1.35rem;transition:color .3s}
.card__ic::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:8px;transform:skewX(-12deg);background:rgba(30,143,230,.12);box-shadow:inset 0 0 0 1px rgba(92,184,255,.35);transition:background .3s,box-shadow .3s}
.card:hover .card__ic{color:#0A0F18}
.card:hover .card__ic::before{background:linear-gradient(180deg,var(--orange-hi),var(--orange));box-shadow:0 10px 24px -10px var(--orange)}
.card h3{font:700 1.65rem/1.05 var(--font-d);text-transform:uppercase;letter-spacing:.02em}
.card p{margin-top:10px;font-size:.98rem;line-height:1.55;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:22px}
.tags li{padding:.28em .7em;border:1px solid var(--line);border-radius:999px;font-size:.78rem;font-weight:500;color:var(--muted)}
.card--hi{border-color:rgba(92,184,255,.4)}
.card--hi .card__ic{color:var(--orange-hi)}

/* ==========================================================
   TRABAJOS
   ========================================================== */
.sec--jobs{border-top:1px solid var(--line)}
.job{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:18px}
.shot{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);cursor:zoom-in;aspect-ratio:4/3;text-align:left}
.shot img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s var(--ease)}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,15,.82),rgba(5,8,15,0) 42%);pointer-events:none;transition:opacity .3s}
.shot:hover img{scale:1.05}
.shot__cap{position:absolute;left:16px;right:16px;bottom:13px;z-index:1;display:flex;align-items:baseline;gap:10px;font:700 1.08rem/1.15 var(--font-d);letter-spacing:.05em;text-transform:uppercase;color:var(--text)}
.shot__cap b{font:800 italic 1rem/1 var(--font-d);color:var(--orange-hi)}
.shot--main{grid-row:1/span 2;height:100%;min-height:100%}
.shot--main .shot__cap{left:22px;bottom:18px;font-size:1.35rem}
.job__thumbs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.job__info{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,36px);border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--surface),var(--bg-2))}
.job__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.job__tags span{padding:.35em .8em;border-radius:999px;font:600 .86rem/1 var(--font-d);letter-spacing:.14em;text-transform:uppercase;background:rgba(240,138,43,.14);color:var(--orange-hi)}
.job__tags span+span{background:rgba(92,184,255,.12);color:var(--blue-hi)}
.job__info h3{font:800 italic clamp(1.9rem,2.7vw,2.5rem)/1 var(--font-d);text-transform:uppercase}
.job__info>p{margin-top:12px;color:var(--muted)}
.job__info blockquote{margin:20px 0 0;padding:4px 0 4px 18px;border-left:3px solid var(--orange);font-size:1.08rem;font-weight:500;line-height:1.45}
.job__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:auto;padding:26px 0 0 8px}
.js [data-reveal="clip"]{transform:none;transition:opacity .5s var(--ease);transition-delay:calc(var(--i,0)*130ms)}
.js [data-reveal="clip"] img{scale:1.2;clip-path:inset(0 100% 0 0);transition:clip-path 1.15s var(--ease),scale 1.4s var(--ease);transition-delay:calc(var(--i,0)*130ms)}
.js [data-reveal="clip"].in img{scale:1;clip-path:inset(0)}
.js [data-reveal="clip"].in:hover img{scale:1.05;transition-delay:0s}
.js [data-reveal="clip"] .shot__cap{opacity:0;translate:0 10px;transition:opacity .6s var(--ease),translate .6s var(--ease);transition-delay:calc(var(--i,0)*130ms + .7s)}
.js [data-reveal="clip"].in .shot__cap{opacity:1;translate:0 0}

.lb{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(16px,4vw,56px);border:0;background:rgba(3,5,10,.94);color:var(--text)}
.lb[open]{display:grid;place-items:center;animation:fadein .3s both}
.lb::backdrop{background:rgba(3,5,10,.6)}
.lb figure{display:grid;gap:14px;justify-items:center;max-width:100%;max-height:100%}
.lb img{max-width:100%;max-height:calc(100dvh - 150px);width:auto;border-radius:12px;box-shadow:0 40px 100px -30px #000;animation:pop .45s var(--ease) both}
.lb figcaption{font:700 1.15rem/1.2 var(--font-d);letter-spacing:.08em;text-transform:uppercase;text-align:center}
.lb__btn{position:absolute;z-index:1;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:rgba(12,20,34,.85);cursor:pointer;font-size:1.2rem;transition:background .25s,border-color .25s}
.lb__btn:hover{background:var(--orange);border-color:transparent;color:#0A0F18}
.lb__x{right:clamp(12px,3vw,32px);top:clamp(12px,3vw,32px)}
.lb__x .ic{rotate:45deg}
.lb__prev{left:clamp(12px,3vw,32px);top:50%;margin-top:-26px}
.lb__prev .ic{rotate:180deg}
.lb__next{right:clamp(12px,3vw,32px);top:50%;margin-top:-26px}

/* ==========================================================
   EL TALLER
   ========================================================== */
.why{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,110px);align-items:start}
.why__head{position:sticky;top:calc(var(--nav-h) + 40px)}
.why__head .head__lead{margin-top:22px}
.why__logo{width:min(100%,360px);margin-top:44px;filter:drop-shadow(0 30px 50px rgba(30,143,230,.3))}
.why__list li{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,40px);padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--line)}
.why__list li:first-child{border-top:1px solid var(--line)}
.why__n{font:800 italic clamp(2.6rem,4vw,3.6rem)/1 var(--font-d);padding-right:.1em;color:transparent;-webkit-text-stroke:1px var(--blue-hi);transition:color .35s,-webkit-text-stroke-color .35s}
.why__list li>div{transition:translate .45s var(--ease)}
.why__list li:hover .why__n{color:var(--orange);-webkit-text-stroke-color:var(--orange)}
.why__list li:hover>div{translate:8px 0}
.why__list h3{font:700 clamp(1.6rem,2.4vw,2.1rem)/1.05 var(--font-d);text-transform:uppercase;letter-spacing:.02em}
.why__list p{margin-top:8px;max-width:52ch;color:var(--muted)}

/* ==========================================================
   PROCESO
   ========================================================== */
.steps{--p:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,3vw,44px)}
.steps__rail{position:absolute;left:0;right:0;top:27px;height:2px;background:var(--line)}
.steps__rail span{display:block;height:100%;background:var(--brand);transform-origin:0 50%;transform:scaleX(var(--p));box-shadow:0 0 14px rgba(240,138,43,.7)}
.step{position:relative}
.step__dot{position:relative;display:grid;place-items:center;width:56px;height:56px;margin-bottom:26px;border-radius:50%;background:var(--bg);border:2px solid var(--line-2);font:800 italic 1.5rem/1 var(--font-d);color:var(--dim);transition:background .4s,border-color .4s,color .4s,box-shadow .4s,scale .4s var(--ease)}
.step.is-on .step__dot{background:var(--orange);border-color:var(--orange-hi);color:#0A0F18;box-shadow:0 0 0 7px rgba(240,138,43,.14),0 0 30px rgba(240,138,43,.55);scale:1.06}
.step h3{font:700 1.7rem/1.05 var(--font-d);text-transform:uppercase;letter-spacing:.02em}
.step p{margin-top:10px;color:var(--muted);font-size:1rem}

/* ==========================================================
   SEÑALES DE ALERTA
   ========================================================== */
.alerts{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,110px);align-items:start}
.alerts__head{position:sticky;top:calc(var(--nav-h) + 40px)}
.alerts__head .head__lead{margin-top:22px}
.dash{display:flex;gap:12px;margin-top:38px}
.dash span{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--line);border-radius:10px;background:rgba(5,8,15,.6);font-size:1.5rem;color:rgba(140,175,230,.28)}
.dash.in span{animation:ignite 3.4s var(--ease) both}
.dash.in span:nth-child(2){animation-delay:.12s}.dash.in span:nth-child(3){animation-delay:.24s}.dash.in span:nth-child(4){animation-delay:.36s}.dash.in span:nth-child(5){animation-delay:.48s}
.dash.in span:first-child{animation:ignite-stay 3.4s var(--ease) both,warn 1.6s ease-in-out 3.6s infinite}
@keyframes ignite{0%{color:rgba(140,175,230,.28)}12%,62%{color:var(--orange-hi);border-color:rgba(240,138,43,.6);box-shadow:0 0 26px -6px var(--orange)}100%{color:rgba(140,175,230,.28)}}
@keyframes ignite-stay{0%{color:rgba(140,175,230,.28)}12%,100%{color:var(--orange-hi);border-color:rgba(240,138,43,.6);box-shadow:0 0 26px -6px var(--orange)}}
@keyframes warn{50%{opacity:.45}}

.acc details{border-bottom:1px solid var(--line)}
.acc details:first-child{border-top:1px solid var(--line)}
.acc summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font:700 clamp(1.3rem,2vw,1.65rem)/1.15 var(--font-d);text-transform:uppercase;letter-spacing:.02em;transition:color .25s}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--blue-hi)}
.acc summary .ic{width:38px;height:38px;padding:9px;border:1px solid var(--line-2);border-radius:50%;color:var(--orange-hi);transition:rotate .4s var(--ease),background .3s,color .3s}
.acc details[open] summary .ic{rotate:135deg;background:var(--orange);color:#0A0F18;border-color:transparent}
.acc details>div{padding:0 58px 26px 0;color:var(--muted)}
.acc details>div .link{margin-top:10px}
.acc details::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--ease),content-visibility .45s allow-discrete}
.acc details[open]::details-content{block-size:auto}

/* ==========================================================
   HORARIO Y UBICACIÓN
   ========================================================== */
.loc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px}
.loc__info{padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--surface),var(--bg-2))}
.loc__status{margin-bottom:22px}
.hours{width:100%;border-collapse:collapse;font-size:1.02rem}
.hours th,.hours td{padding:13px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.hours th{position:relative;font:600 1.12rem/1 var(--font-d);letter-spacing:.08em;text-transform:uppercase;color:var(--text);white-space:nowrap}
.hours td{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.hours .is-closed td{color:var(--dim)}
.hours tr.is-today th{color:var(--orange-hi);padding-left:16px}
.hours tr.is-today th::before{content:"";position:absolute;left:0;top:50%;width:8px;height:18px;margin-top:-9px;background:var(--orange);transform:skewX(-20deg)}
.hours tr.is-today th::after{content:"Hoy";margin-left:10px;padding:.2em .6em;border-radius:999px;background:rgba(240,138,43,.16);font:600 .72rem var(--font-b);letter-spacing:.04em;text-transform:none;color:var(--orange-hi);vertical-align:middle}
.hours tr.is-today td{color:var(--text);font-weight:500}
.loc__addr{display:flex;gap:12px;margin:26px 0 28px;font-style:normal;color:var(--text)}
.loc__addr .ic{margin-top:3px;color:var(--orange-hi)}
.loc__addr{margin-bottom:10px}
.loc__tel{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:26px}
.loc__tel>.ic{color:var(--orange-hi)}
.loc__tel>a:first-of-type{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
.loc__tel>a:first-of-type:hover{color:var(--blue-hi)}
.loc__info .btn{margin-left:8px}

.map{position:relative;min-height:480px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0A1322;isolation:isolate}
.map__fallback{position:absolute;inset:0}
.map__fallback svg{width:100%;height:100%}
.map__roads path{fill:none;stroke:rgba(140,175,230,.16);stroke-width:14}
.map__main{fill:none;stroke:rgba(92,184,255,.34);stroke-width:22}
.map__fallback text{font:600 13px var(--font-d);letter-spacing:.3em;fill:rgba(237,242,249,.6)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;filter:invert(.92) hue-rotate(180deg) saturate(.75) contrast(.92) brightness(.95);opacity:0;transition:opacity .8s}
.map iframe.is-loaded{opacity:1}
.map__pin{position:absolute;left:50%;top:46%;z-index:0;display:grid;place-items:center;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--orange);color:#0A0F18;font-size:1.3rem;box-shadow:0 12px 30px -8px var(--orange)}
.map__pin i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--orange);animation:ring 2.2s var(--ease) infinite}
.map__link{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding:18px;text-decoration:none;background:linear-gradient(0deg,rgba(5,8,15,.75),transparent 45%);transition:background .3s}
.map__link:hover{background:linear-gradient(0deg,rgba(5,8,15,.85),rgba(30,143,230,.08))}
.map__link:focus-visible{outline-offset:-4px}
.map__chip{display:grid;gap:2px;padding:14px 18px;border:1px solid var(--line-2);border-radius:12px;background:rgba(8,13,24,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:translate .35s var(--ease),border-color .3s}
.map__link:hover .map__chip{translate:0 -4px;border-color:var(--orange)}
.map__chip b{font:700 1.3rem/1.1 var(--font-d);letter-spacing:.04em;text-transform:uppercase}
.map__chip>span{font-size:.92rem;color:var(--muted)}
.map__chip em{display:inline-flex;align-items:center;gap:.4em;margin-top:6px;font-style:normal;font-weight:600;font-size:.92rem;color:var(--orange-hi)}

/* ==========================================================
   CITA
   ========================================================== */
.sec--cta{overflow:clip;border-top:1px solid var(--line);background:var(--bg-2)}
.cta__bg{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(50% 60% at 12% 20%,rgba(240,138,43,.16),transparent 70%),radial-gradient(55% 70% at 92% 80%,rgba(30,143,230,.26),transparent 70%)}
.cta__bg::after{content:"";position:absolute;inset:0 38% 0 -10%;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent);border-right:1px solid var(--line);transform:skewX(-14deg)}
.cta{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,96px);align-items:center}
.cta .head__lead{margin-top:22px}
.cta__list{display:grid;gap:12px;margin-top:30px}
.cta__list li{display:flex;align-items:center;gap:12px;font-weight:500}
.cta__list .ic{padding:4px;width:26px;height:26px;border-radius:50%;background:rgba(61,220,151,.14);color:var(--ok);stroke-width:2.4}
.social{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.social a{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 20px 10px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);text-decoration:none;font:700 1.1rem/1.1 var(--font-d);letter-spacing:.06em;text-transform:uppercase;transition:border-color .3s,background .3s,translate .35s var(--ease)}
.social a:hover{border-color:var(--blue-hi);background:rgba(92,184,255,.1);translate:0 -3px}
.social .ic{font-size:1.25rem;color:var(--blue-hi)}
.social .social__wa{border-color:rgba(37,211,102,.45)}
.social .social__wa .ic{color:#3FE07F}
.social .social__wa:hover{border-color:#25D366;background:rgba(37,211,102,.12)}
.social small{display:block;margin-top:3px;font:400 .82rem var(--font-b);letter-spacing:0;text-transform:none;color:var(--muted)}

.form-card{position:relative;padding:clamp(24px,3.2vw,44px);border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(180deg,rgba(17,27,45,.94),rgba(8,13,24,.94));box-shadow:0 50px 100px -50px rgba(30,143,230,.6)}
.form-card::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:3px;background:var(--brand);border-radius:0 0 3px 3px}
.form{display:grid;gap:18px}
.form__title{font:800 italic 1.9rem/1 var(--font-d);text-transform:uppercase;letter-spacing:.02em}
.field{display:grid;gap:7px;min-width:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{font:600 .9rem/1.2 var(--font-d);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.field label span{letter-spacing:.04em;text-transform:none;font-family:var(--font-b);font-weight:400;color:var(--dim)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--line-2);border-radius:8px;background:rgba(5,8,15,.6);font-size:1rem;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{resize:vertical;min-height:92px;line-height:1.5}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3B0C4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}
.field select option{background:#0C1422;color:var(--text)}
.field ::placeholder{color:var(--dim)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(140,175,230,.5)}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue-hi);box-shadow:0 0 0 3px rgba(92,184,255,.22);background-color:rgba(5,8,15,.85)}
.field.has-err input,.field.has-err select{border-color:var(--danger)}
.field__err{font-size:.88rem;color:var(--danger)}
.form__hint{font-size:.86rem;color:var(--dim);text-align:center}

.form-done{display:grid;gap:14px;justify-items:start}
.form-done[hidden]{display:none}
.form-done:focus{outline:0}
.form-done__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(61,220,151,.14);color:var(--ok);font-size:1.5rem;animation:pop .6s var(--ease) both}
.form-done__ic .ic{stroke-width:2.4}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.form-done h3{font:800 italic 2.1rem/1 var(--font-d);text-transform:uppercase}
.form-done p{color:var(--muted)}
.form-done pre{width:100%;margin:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:rgba(5,8,15,.7);font:400 .92rem/1.55 var(--font-b);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}
.form-done__row{display:flex;flex-wrap:wrap;gap:16px 24px;padding-left:8px;margin-top:4px}

/* ==========================================================
   FOOTER
   ========================================================== */
.foot{position:relative;padding-top:clamp(56px,7vw,96px);border-top:1px solid var(--line);background:var(--bg);overflow:hidden}
.foot__in{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:40px clamp(24px,4vw,64px)}
.foot__brand img{width:220px}
.foot__brand p{margin-top:18px;max-width:30ch;color:var(--muted)}
.foot__col h2{margin-bottom:16px;font:600 .9rem/1 var(--font-d);letter-spacing:.2em;text-transform:uppercase;color:var(--orange-hi)}
.foot__col p{color:var(--muted);font-size:.98rem}
.foot__col p+p{margin-top:14px}
.foot__col ul{display:grid;gap:2px}
.foot__col a{display:inline-block;padding:5px 0;color:var(--muted);text-decoration:none;font-size:.98rem;transition:color .2s,translate .3s var(--ease)}
.foot__col a:hover{color:var(--text);translate:4px 0}
.foot__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,64px);position:relative;padding-block:22px;font-size:.9rem;color:var(--dim)}
.foot__bar::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:var(--line)}
.foot__bar a{display:inline-flex;align-items:center;gap:.4em;padding:4px 0;color:var(--muted);text-decoration:none}
.foot__bar a:hover{color:var(--text)}
.foot__word{margin:8px 0 -.05em;text-align:center;white-space:nowrap;font:800 italic min(10.6vw,168px)/.86 var(--font-d);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(140,175,230,.22);user-select:none}

/* ---------- WhatsApp ---------- */
.ic--fill{fill:currentColor;stroke:none}
.wa-link{display:inline-flex;align-items:center;gap:.55em;min-height:44px;font-weight:600;color:#3FE07F;text-decoration:none;transition:color .2s}
.wa-link:hover{color:#7CF0A8;text-decoration:underline;text-underline-offset:4px}
.fab{position:fixed;right:clamp(16px,2.2vw,28px);bottom:clamp(16px,2.2vw,28px);z-index:80;display:inline-flex;align-items:center;height:60px;border-radius:999px;
  background:#25D366;color:#04170B;text-decoration:none;font:700 1.05rem/1 var(--font-d);letter-spacing:.07em;text-transform:uppercase;
  box-shadow:0 16px 36px -10px rgba(37,211,102,.75),inset 0 1px 0 rgba(255,255,255,.35);transition:translate .35s var(--ease),box-shadow .3s;animation:fab-in .7s var(--ease) 2.4s both}
.fab::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #25D366;animation:fab-ring 2.6s var(--ease) 3.2s infinite;pointer-events:none}
.fab .ic{width:60px;height:60px;padding:15px}
.fab span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease),padding .5s var(--ease)}
.fab:hover,.fab:focus-visible{translate:0 -3px;box-shadow:0 22px 44px -10px rgba(37,211,102,.9),inset 0 1px 0 rgba(255,255,255,.35)}
@media (hover:hover){.fab:hover span,.fab:focus-visible span{max-width:260px;padding-right:24px}}
@keyframes fab-in{from{opacity:0;translate:0 40px}}
@keyframes fab-ring{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.45)}}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1180px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav__right .status{display:none}
}
@media (max-width:1020px){
  .hero__in{grid-template-columns:1fr;min-height:0;gap:44px}
  .hero__title{font-size:clamp(3.4rem,11.5vw,6.4rem)}
  .head{grid-template-columns:1fr}
  .why,.alerts,.cta,.loc,.job{grid-template-columns:1fr}
  .job{grid-template-rows:auto}
  .shot--main{grid-row:auto;height:auto;min-height:0}
  .job__thumbs{order:2}
  .job__info{order:3}
  .why__head,.alerts__head{position:static}
  .why__logo{display:none}
  .foot__in{grid-template-columns:1fr 1fr}
  .slash{inset:0 -40% 0 50%}
}
@media (max-width:860px){
  :root{--nav-h:66px}
  .nav__links,.nav__right .btn{display:none}
  .burger{display:block}
  .stats{grid-template-columns:1fr 1fr}
  .stats>div{padding:20px 14px 22px}
  .stats>div:nth-child(odd){border-left:0;padding-left:0}
  .stats>div:nth-child(n+3){border-top:1px solid var(--line)}
  .steps{grid-template-columns:1fr;gap:34px;padding-left:0}
  .steps__rail{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .steps__rail span{transform-origin:50% 0;transform:scaleY(var(--p))}
  .step{display:grid;grid-template-columns:56px 1fr;column-gap:20px}
  .step__dot{grid-row:span 2;margin:0}
  .step h3{align-self:end}
  .spot{pointer-events:none}
  .map{min-height:400px}
}
@media (max-width:600px){
  body{font-size:1rem}
  .brand img{width:84px}
  .brand__txt{font-size:.92rem}
  .cards{grid-template-columns:1fr}
  .scan__tabs{grid-template-columns:repeat(3,1fr)}
  .scan__head span:first-child{letter-spacing:.12em}
  .scan__panel{min-height:11.6rem}
  .hero__cta .btn{flex:1 1 auto}
  .field-row{grid-template-columns:1fr}
  .foot__in{grid-template-columns:1fr}
  .acc details>div{padding-right:0}
  .shot__cap,.shot--main .shot__cap{left:12px;right:12px;bottom:10px;font-size:.92rem}
  .job__thumbs{gap:12px}
  .lb__prev,.lb__next{top:auto;bottom:16px;margin:0}
  .stats dd br{display:none}
  .stats>div{flex-direction:column;align-items:flex-start;gap:6px}
  .social a{flex:1 1 100%}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-reveal],.js .hero-el,.js .hero__title .ln>span,.js .h2.is-split .w>span{opacity:1;transform:none}
  .js [data-reveal="clip"] img{scale:1;clip-path:none}
  .js [data-reveal="clip"] .shot__cap{opacity:1;translate:0 0}
  .js .car .draw{stroke-dashoffset:0}
  .js .car *,.js .spot{visibility:visible}
  .car__scanline,.car__beam,.streaks{display:none}
}
