/* Akhar Technology · sitio público */
:root{
  --orange:#ff6a00; --orange2:#ff8a1f; --amber:#ffb020; --blue:#1d6bff; --navy:#0b3f8a; --cyan:#13b8d6; --violet:#7c5cff; --green:#1fa463; --ok:#1fa463;
  --bg:#f3f6fc; --bg-alt:#e8eef9; --card:#ffffff; --ink:#0a1226; --muted:#4a5878; --line:rgba(10,30,70,.13); --glass:rgba(255,255,255,.78);
  --field:#f6f8fd; --grid:rgba(30,70,150,.10);
  --shadow:0 10px 30px rgba(10,30,70,.10); --shadow-lg:0 24px 60px rgba(10,30,70,.22);
  --grad:linear-gradient(110deg,#ff9a1f 0%,#ff6a00 50%,#ff4500 100%);
  --grad-btn:linear-gradient(110deg,#ff9a1f 0%,#ff6a00 52%,#f04a00 100%);
  --grad-text:linear-gradient(100deg,#ff8a1f,#ff5a00 45%,#ff3d2e 75%,#ff8a1f);
  --grad-blue:linear-gradient(110deg,#13b8d6,#1d6bff 60%,#7c5cff);
  --head:'Space Grotesk','Inter',system-ui,sans-serif; --body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:20px; --hh:74px;
}
html[data-tema="oscuro"]{
  --bg:#060912; --bg-alt:#0a1020; --card:rgba(255,255,255,.045); --ink:#eef3ff; --muted:#9fb0d0; --line:rgba(140,170,255,.17); --glass:rgba(14,22,44,.66);
  --field:rgba(255,255,255,.05); --grid:rgba(120,170,255,.14); --cyan:#22d3ee;
  --shadow:0 10px 30px rgba(0,0,0,.45); --shadow-lg:0 24px 70px rgba(0,0,0,.62);
  --grad-text:linear-gradient(100deg,#ffb04a,#ff7a1a 45%,#ff5a3a 75%,#ffb04a);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;overflow-x:hidden;transition:background .3s,color .3s}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--head);line-height:1.1;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.5rem,5.8vw,4.7rem);letter-spacing:-.035em}
h2{font-size:clamp(1.85rem,3.7vw,2.85rem)}
h3{font-size:1.3rem;letter-spacing:-.01em}
p{margin:0 0 1em}
.wrap{width:min(1200px,100% - 2rem);margin-inline:auto}
.grad{background:var(--grad-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:-220% 0}}
.ico{flex:none;vertical-align:-.2em}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 12px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}
::selection{background:var(--orange);color:#fff}
.progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--orange),var(--amber),var(--cyan));box-shadow:0 0 12px rgba(255,106,0,.7)}

/* ---------- Cabecera ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--orange),var(--cyan),transparent);opacity:.65}
.top-in{display:flex;align-items:center;gap:1rem;min-height:var(--hh)}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.nav{display:flex;gap:.2rem;margin-left:auto}
.nav a{position:relative;padding:.55rem 1rem;border-radius:999px;text-decoration:none;font-weight:600;font-size:.98rem;color:var(--muted);transition:color .2s,background .2s}
.nav a:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}
.nav a[aria-current="page"]{color:#fff;background:var(--grad-btn);box-shadow:0 6px 18px rgba(255,106,0,.35)}
.top-tools{display:flex;align-items:center;gap:.5rem;margin-left:.4rem}
.share-wrap{position:relative}
.share-btn,.theme-btn,.burger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);background:var(--glass);color:var(--ink);cursor:pointer;font:inherit;font-weight:700;border-radius:999px;height:42px;transition:transform .2s,box-shadow .2s,border-color .2s}
.share-btn{padding:0 1rem;font-size:.9rem}
.share-btn:hover,.theme-btn:hover,.burger:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 8px 20px rgba(255,106,0,.25)}
.theme-btn,.burger{width:42px}
.theme-btn .i-sun{display:none;color:#ffc24a}
.theme-btn .i-moon{color:var(--navy)}
html[data-tema="oscuro"] .theme-btn .i-sun{display:block}
html[data-tema="oscuro"] .theme-btn .i-moon{display:none}
.cta-top{display:inline-flex;align-items:center;gap:.5rem;height:42px;padding:0 1.15rem;border-radius:999px;background:var(--grad-btn);color:#fff;font-weight:700;font-size:.92rem;text-decoration:none;white-space:nowrap;box-shadow:0 8px 22px rgba(255,106,0,.38);transition:transform .2s,box-shadow .2s}
.cta-top:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,106,0,.5)}
.burger{display:none}
.burger .i-close{display:none}
.burger[aria-expanded="true"] .i-open{display:none}
.burger[aria-expanded="true"] .i-close{display:block}

.tip{position:absolute;right:0;top:calc(100% + 14px);width:min(300px,86vw);background:var(--ink);color:var(--bg);padding:.8rem 1rem;border-radius:14px;font-size:.88rem;line-height:1.45;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none;z-index:70}
.tip::before{content:"";position:absolute;right:20px;top:-6px;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);border-radius:3px}
.share-wrap:hover .tip,.share-btn:focus-visible+.tip,.share-wrap.tip-on .tip{opacity:1;visibility:visible;transform:none}
.share-wrap.menu-on .tip{opacity:0;visibility:hidden}
.share-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(330px,calc(100vw - 24px));background:var(--bg-alt);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:1rem;z-index:80}
.share-menu[hidden]{display:none}
.share-title{margin:0;font:700 1.1rem var(--head)}
.share-sub{margin:.15rem 0 .8rem;font-size:.86rem;color:var(--muted)}
.share-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.share-grid .wide{grid-column:1/-1}
.share-grid a,.share-grid button{display:flex;align-items:center;gap:.55rem;width:100%;min-height:44px;padding:.5rem .75rem;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-weight:600;font-size:.9rem;text-decoration:none;cursor:pointer;text-align:left;transition:border-color .2s,background .2s}
.share-grid a:hover,.share-grid button:hover{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--card))}
.share-aviso{margin:.7rem 0 0;font-weight:700;font-size:.86rem;color:var(--ok)}
.share-aviso:empty{display:none}
.share-manual{width:100%;margin-top:.5rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit;font-size:.82rem}

/* ---------- Botones ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.95rem 1.6rem;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s;font-size:1rem}
.btn-primary{background:var(--grad-btn);color:#fff;box-shadow:0 12px 30px rgba(255,106,0,.38)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(255,106,0,.5)}
.btn-primary:hover::after{transform:translateX(120%)}
.btn-ghost{background:var(--glass);color:var(--ink);border-color:var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 10px 26px rgba(34,211,238,.2)}
.btn-light{background:#fff;color:#c24300}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.28)}
.btn-outline-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline-light:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.5rem}
.cta-row.center{justify-content:center}

/* ---------- Fondos con efectos ---------- */
.hero,.page-hero{position:relative;overflow:hidden;isolation:isolate}
.hero{padding:clamp(2.2rem,5vw,4.5rem) 0 clamp(3.2rem,6vw,5.5rem)}
.page-hero{padding:clamp(2.2rem,5vw,4.2rem) 0 clamp(1.8rem,4vw,3rem)}
.page-hero.compact{padding-bottom:1rem}
.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.fx-net{position:absolute;inset:0;width:100%;height:100%}
.aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;animation:flota 17s ease-in-out infinite}
.a1{width:520px;height:520px;background:var(--orange);left:-170px;top:-130px;opacity:.26}
.a2{width:580px;height:580px;background:var(--blue);right:-190px;top:2%;opacity:.3;animation-delay:-6s}
.a3{width:440px;height:440px;background:var(--violet);left:34%;bottom:-240px;opacity:.22;animation-delay:-10s}
html:not([data-tema="oscuro"]) .aurora{opacity:.16}
@keyframes flota{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-34px)}}
.fx-grid{position:absolute;left:-15%;right:-15%;bottom:0;height:56%;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:60px 60px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 5%,transparent 88%);mask-image:linear-gradient(to top,#000 5%,transparent 88%);animation:grid-move 9s linear infinite}
@keyframes grid-move{to{background-position:0 60px,0 0}}

/* ---------- Hero ---------- */
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:2rem;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.42rem .95rem;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-weight:700;font-size:.82rem;letter-spacing:.01em;color:var(--ink);box-shadow:var(--shadow);margin-bottom:1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.kicker .ico{color:var(--orange)}
.pulse{width:9px;height:9px;border-radius:50%;background:#2ee59d;box-shadow:0 0 0 0 rgba(46,229,157,.6);animation:pulso 2s infinite}
@keyframes pulso{70%{box-shadow:0 0 0 10px rgba(46,229,157,0)}100%{box-shadow:0 0 0 0 rgba(46,229,157,0)}}
.lead{font-size:clamp(1.02rem,1.5vw,1.2rem);color:var(--muted);max-width:58ch}
.typed{font-weight:600;color:var(--muted);margin:1rem 0 0;font-size:1.05rem}
.typed b{color:var(--ink);font-family:var(--head)}
.caret{display:inline-block;width:2px;height:1.15em;background:var(--orange);margin-left:3px;vertical-align:-.2em;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;padding:0;margin:1.7rem 0 0;font-weight:600;font-size:.92rem;color:var(--muted)}
.trust .ico{color:var(--cyan)}
.scroll-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:grid;place-items:center;width:26px;height:42px;text-decoration:none}
.scroll-hint span{width:24px;height:38px;border:2px solid var(--line);border-radius:14px;display:grid;justify-items:center;padding-top:6px}
.scroll-hint i{width:4px;height:8px;border-radius:2px;background:var(--orange);animation:rueda 1.8s infinite}
@keyframes rueda{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}

/* escenario: teléfono + tarjetas flotantes */
.stage{position:relative;height:clamp(500px,50vw,640px);display:grid;place-items:center;perspective:1100px;--rx:0deg;--ry:0deg}
.stage-rings i{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);border:1px dashed rgba(34,211,238,.32);animation:ak-spin 46s linear infinite}
.stage-rings i:nth-child(1){width:min(430px,86%);aspect-ratio:1}
.stage-rings i:nth-child(2){width:min(580px,118%);aspect-ratio:1;border-color:rgba(255,106,0,.32);animation-direction:reverse;animation-duration:62s}
.stage-rings i:nth-child(3){width:min(300px,60%);aspect-ratio:1;border-style:solid;border-color:rgba(124,92,255,.22);animation-duration:30s}
.phone{position:relative;width:min(262px,60vw);aspect-ratio:9/18.4;border-radius:38px;background:#04060d;padding:8px;box-shadow:0 0 0 1.5px rgba(160,190,255,.3),0 34px 80px rgba(0,0,0,.55),0 0 90px rgba(255,106,0,.22);transform:rotateY(calc(-13deg + var(--ry))) rotateX(calc(5deg + var(--rx))) rotateZ(2deg);transition:transform .25s ease-out;animation:phone-float 7s ease-in-out infinite}
@keyframes phone-float{50%{translate:0 -14px}}
.phone-notch{position:absolute;z-index:5;left:50%;top:15px;width:70px;height:18px;border-radius:12px;background:#04060d;transform:translateX(-50%)}
.phone-screen{position:relative;height:100%;border-radius:31px;overflow:hidden;background:#0a1226;color:#eef3ff}
.app-top{position:absolute;z-index:3;left:10px;right:10px;top:38px;display:grid;gap:7px}
.app-search{display:flex;align-items:center;gap:6px;background:rgba(8,14,32,.92);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:8px 10px;font-size:11px;color:#c6d4f2;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.app-search .ico{color:var(--orange)}
.app-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.app-modes span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:10px;font-size:9.5px;font-weight:600;color:#9fb0d0;background:rgba(8,14,32,.88);border:1px solid transparent;animation:modo 8s infinite}
.app-modes .m2{animation-delay:2s}.app-modes .m3{animation-delay:4s}.app-modes .m4{animation-delay:6s}
@keyframes modo{0%,22%{color:#fff;border-color:var(--orange);background:rgba(255,106,0,.28)}26%,100%{color:#9fb0d0;border-color:transparent;background:rgba(8,14,32,.88)}}
.map{position:absolute;left:0;top:0;width:100%;height:66%}
.map-bg{fill:#0d1a38}
.map-blocks rect{fill:#122248}
.map-park{fill:rgba(34,197,94,.2)}
.map-river{fill:rgba(29,107,255,.28)}
.map-roads path{fill:none;stroke:#1d3162;stroke-width:9;stroke-linecap:round}
.route-under{fill:none;stroke:rgba(255,106,0,.25);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.route{fill:none;stroke:var(--orange);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 9;animation:ruta 1.1s linear infinite}
@keyframes ruta{to{stroke-dashoffset:-16}}
.pin-a circle{fill:#22d3ee}
.pin-a .pulse-c,.pin-b .pulse-c{fill:rgba(34,211,238,.35);transform-box:fill-box;transform-origin:center;animation:ondas 2s ease-out infinite}
.pin-b path,.pin-b circle:not(.pulse-c){fill:var(--orange)}
.pin-b circle:not(.pulse-c){fill:#fff}
.pin-b .pulse-c{fill:rgba(255,106,0,.35)}
@keyframes ondas{0%{transform:scale(.6);opacity:1}100%{transform:scale(3);opacity:0}}
.car circle{fill:var(--orange);stroke:#fff;stroke-width:2}
.bike circle{fill:#13b8d6;stroke:#fff;stroke-width:1.6}
.truck circle{fill:#4f7dff;stroke:#fff;stroke-width:1.6}
.sheet{position:absolute;left:0;right:0;bottom:0;height:39%;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#111d3d,#0a1226);border-top:1px solid rgba(255,255,255,.12);padding:12px 14px;display:grid;gap:9px;align-content:start;z-index:2}
.sheet-row{display:flex;align-items:center;gap:9px}
.drv{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--grad-btn);font-weight:800;font-size:.9rem;color:#fff}
.sheet-who{flex:1;line-height:1.25}
.sheet-who b{display:block;font-size:12.5px}
.sheet-who small{font-size:10px;color:#9fb0d0}
.rate{font-size:11px;font-weight:700;color:#ffc24a}
.eta{display:grid;gap:6px}
.eta div{display:flex;align-items:baseline;gap:6px}
.eta b{font:700 1.15rem var(--head);color:#fff}
.eta span{font-size:10.5px;color:#9fb0d0}
.eta-bar{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.eta-bar u{display:block;height:100%;width:45%;border-radius:3px;background:var(--grad-blue);animation:eta 9s linear infinite}
@keyframes eta{0%{width:6%}100%{width:96%}}
.sheet-btn{display:block;text-align:center;padding:9px;border-radius:12px;background:var(--grad-btn);font-weight:700;font-size:12px;color:#fff;box-shadow:0 8px 20px rgba(255,106,0,.4)}
.fl{position:absolute;z-index:4;display:flex;align-items:center;gap:.65rem;padding:.6rem .9rem .6rem .6rem;border-radius:18px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg);transform:translate3d(var(--dx,0px),var(--dy,0px),0);transition:transform .25s ease-out;animation:fl-float 6s ease-in-out infinite}
.fl b{display:block;font-size:.84rem;line-height:1.2}
.fl small{display:block;color:var(--muted);font-size:.74rem;font-weight:500}
.fl-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#000));box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 50%,transparent)}
.fl-1{left:-3%;top:13%}.fl-2{right:-4%;top:27%;animation-delay:-1.5s}.fl-3{left:0;bottom:25%;animation-delay:-3s}.fl-4{right:-1%;bottom:9%;animation-delay:-4.5s}
@keyframes fl-float{50%{translate:0 -12px}}

/* ---------- Franja y cifras ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--orange) 8%,transparent),transparent);padding:.95rem 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:2.6rem;width:max-content;animation:marq 42s linear infinite}
.marquee span{display:inline-flex;align-items:center;gap:.6rem;font:600 1rem var(--head);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);white-space:nowrap}
.marquee .ico{color:var(--orange)}
@keyframes marq{to{transform:translateX(-50%)}}
.stats{padding:clamp(2rem,5vw,3.4rem) 0 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stat{position:relative;overflow:hidden;text-align:center;padding:1.4rem 1rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.stat::before{content:"";position:absolute;inset:auto 20% 0;height:2px;background:var(--grad-btn);opacity:.8}
.stat b{display:block;font:700 clamp(2.2rem,4vw,3.2rem) var(--head);line-height:1.1;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat em{font-style:normal}
.stat>span{color:var(--muted);font-size:.9rem;font-weight:500;line-height:1.35;display:block;margin-top:.2rem}

/* ---------- Secciones y tarjetas ---------- */
.sec{padding:clamp(3rem,7vw,5.5rem) 0}
.sec-alt{background:var(--bg-alt)}
.sec-head{text-align:center;max-width:740px;margin:0 auto 2.6rem}
.sec-head p:last-child{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.3rem}
.cards.three{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
[data-spot]{--mx:50%;--my:50%;position:relative;transform-style:preserve-3d}
[data-spot]::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx) var(--my),color-mix(in srgb,var(--accent,var(--orange)) 22%,transparent),transparent 58%);opacity:0;transition:opacity .3s}
[data-spot]:hover::before{opacity:1}
[data-spot]:hover{border-color:color-mix(in srgb,var(--accent,var(--orange)) 55%,var(--line))}
.svc{display:flex;flex-direction:column;text-decoration:none;overflow:hidden;transition:transform .2s ease-out,box-shadow .25s,border-color .25s}
.svc::after{content:"";position:absolute;inset:auto -30% -50% auto;width:70%;aspect-ratio:1;border-radius:50%;background:var(--accent);opacity:.12;transition:transform .5s,opacity .3s;pointer-events:none}
.svc:hover{box-shadow:var(--shadow-lg)}
.svc:hover::after{transform:scale(1.5);opacity:.2}
.svc p{color:var(--muted);flex:1}
.more{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--accent,var(--orange));text-decoration:none}
.more .ico{transition:transform .2s}.svc:hover .more .ico,.more:hover .ico{transform:translateX(4px)}
.c-orange{--accent:var(--orange)}.c-blue{--accent:var(--blue)}.c-cyan{--accent:var(--cyan)}.c-violet{--accent:var(--violet)}.c-green{--accent:var(--green)}
.svc-ico{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--accent,var(--orange)),color-mix(in srgb,var(--accent,var(--orange)) 52%,#000));color:#fff;margin-bottom:1rem;box-shadow:0 10px 22px color-mix(in srgb,var(--accent,var(--orange)) 42%,transparent),inset 0 1px 0 rgba(255,255,255,.35)}
.svc-ico.big{width:104px;height:104px;border-radius:30px;margin:0}
.val{text-align:center}.val .svc-ico{margin-inline:auto}.val p{color:var(--muted);margin:0}
.cards.five{grid-template-columns:repeat(6,minmax(0,1fr))}
.cards.five>*{grid-column:span 2}
.cards.five>*:nth-child(4){grid-column:2/span 2}
.ticks{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.5rem}
.ticks li{display:flex;gap:.6rem;align-items:flex-start;font-weight:500}
.ticks .ico{color:var(--accent,var(--cyan));margin-top:.3em}
.note{display:flex;gap:.6rem;align-items:flex-start;max-width:780px;margin:1.8rem auto 0;padding:1rem 1.2rem;border-radius:16px;background:var(--card);border:1px dashed var(--line);color:var(--muted);font-weight:500}
.note .ico{color:var(--orange);margin-top:.2em}

/* vehículos */
.veh{border-radius:28px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:1.2rem;position:relative;overflow:hidden}
.veh::before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at 85% 0%,rgba(255,106,0,.13),transparent 60%),radial-gradient(500px circle at 0% 100%,rgba(29,107,255,.13),transparent 60%);pointer-events:none}
.veh-tabs{position:relative;display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .2rem .9rem;scrollbar-width:thin;justify-content:center;flex-wrap:wrap}
.veh-tabs button{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--muted);font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;transition:all .2s;white-space:nowrap}
.veh-tabs button:hover{color:var(--ink);border-color:var(--orange)}
.veh-tabs button.on{background:var(--grad-btn);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(255,106,0,.4)}
.veh-stage{position:relative;min-height:290px;padding:1rem .5rem .5rem}
.veh-road{position:absolute;left:0;right:0;bottom:30px;height:36px;pointer-events:none}
.road-line{position:absolute;left:0;right:0;top:16px;height:3px;background:repeating-linear-gradient(90deg,var(--line) 0 22px,transparent 22px 44px);animation:road 1s linear infinite}
.road-glow{position:absolute;left:10%;right:10%;top:0;height:36px;background:radial-gradient(closest-side,rgba(255,106,0,.22),transparent);filter:blur(8px)}
@keyframes road{to{background-position:44px 0}}
.veh-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:center;position:relative}
.veh-panel[hidden]{display:none}
.veh-panel.on{animation:veh-in .5s ease}
@keyframes veh-in{from{opacity:0;transform:translateX(24px)}}
.veh-art{position:relative;display:grid;place-items:center;height:230px}
.veh-badge{position:relative;z-index:1;display:grid;place-items:center;width:150px;height:150px;border-radius:44px;background:linear-gradient(135deg,var(--orange2),var(--orange) 55%,#ff3d00);color:#fff;box-shadow:0 26px 60px rgba(255,106,0,.5),inset 0 2px 0 rgba(255,255,255,.4);animation:veh-bob 3s ease-in-out infinite}
@keyframes veh-bob{50%{transform:translateY(-12px) rotate(-2deg)}}
.veh-pulse{position:absolute;width:190px;height:190px;border-radius:50%;border:2px solid rgba(255,106,0,.5);animation:ondas2 2.4s ease-out infinite}
@keyframes ondas2{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.veh-use{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--orange);margin-bottom:.3rem}
.veh-info h3{font-size:clamp(1.8rem,3vw,2.4rem)}
.veh-info p:not(.veh-use){color:var(--muted)}
.veh-chips{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem}
.vchip{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}
.vchip:hover{transform:translateY(-4px);border-color:var(--orange)}
.vchip .ico{color:var(--orange);width:30px;height:30px}
.vchip b{display:block;font-family:var(--head)}.vchip small{color:var(--muted)}

/* Akhi */
.akhi-sec{position:relative;overflow:hidden}
.akhi-sec::before{content:"";position:absolute;right:-10%;top:10%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(34,211,238,.16),transparent 70%);pointer-events:none}
.akhi-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center}
.akhi-art{position:relative;padding:7.5rem 0 1rem}
.akhi-body.ak-hero{--w:min(440px,88%)}
.akhi-bubble{position:absolute;z-index:3;left:4%;top:.2rem;width:min(270px,92%);padding:.85rem 1.05rem;border-radius:20px 20px 4px 20px;background:var(--bg-alt);border:1px solid var(--line);box-shadow:var(--shadow-lg);font-weight:600;font-size:.94rem;line-height:1.45;animation:fl-float 6s ease-in-out infinite}
.akhi-bubble::after{content:"";position:absolute;right:44px;bottom:-8px;width:14px;height:14px;background:var(--bg-alt);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg);border-radius:0 0 4px 0}
.akhi-mini{display:grid;grid-template-columns:.7fr 1.3fr;gap:2.5rem;align-items:center}
.akhi-body.ak-mini{--w:min(310px,80%)}

/* tres piezas */
.trio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.trio-card{text-align:center;padding:1.3rem 1.3rem 1.8rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s ease-out,box-shadow .25s}
.trio-card:hover{box-shadow:var(--shadow-lg)}
.trio-card .svc-ico{margin:-1.8rem auto .8rem;position:relative;z-index:2}
.trio-card p{color:var(--muted);margin:0}
.mock{height:215px;border-radius:16px;margin-bottom:1.6rem;background:linear-gradient(160deg,color-mix(in srgb,var(--blue) 14%,var(--bg-alt)),var(--bg-alt));border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;position:relative}
.mk-phone{position:relative;width:118px;height:190px;border-radius:20px;background:#0a1226;border:3px solid #1d2a4f;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.4);color:#fff;top:12px}
.mk-map{position:absolute;inset:0 0 38% 0;background:#0d1a38;overflow:hidden}
.mk-map u{position:absolute;display:block;background:#1d3162;border-radius:3px}
.mk-map u:nth-child(1){left:0;right:0;top:34%;height:7px}.mk-map u:nth-child(2){top:0;bottom:0;left:38%;width:7px}.mk-map u:nth-child(3){left:38%;top:34%;width:44%;height:5px;background:var(--orange);animation:mk-run 3s linear infinite}
@keyframes mk-run{0%{width:0}100%{width:44%}}
.mk-sheet{position:absolute;left:0;right:0;bottom:0;height:42%;background:#101b3a;padding:9px;display:grid;gap:6px;align-content:start}
.mk-sheet b{display:block;height:7px;width:70%;border-radius:4px;background:rgba(255,255,255,.7)}.mk-sheet b.s{width:45%;background:rgba(255,255,255,.3)}
.mk-sheet span{display:block;text-align:center;font-size:9px;font-weight:700;padding:6px;border-radius:9px;background:var(--grad-btn)}
.mk-req{position:absolute;left:8px;right:8px;top:22px;padding:10px;border-radius:14px;background:#101b3a;border:1px solid rgba(255,255,255,.12);display:grid;gap:3px;text-align:left;animation:mk-pop 3.2s ease-in-out infinite}
@keyframes mk-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.mk-req small{font-size:8px;color:#22d3ee;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.mk-req b{font:700 12px var(--head)}
.mk-row{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:5px}
.mk-row span{font-size:8px;font-weight:700;text-align:center;padding:5px 2px;border-radius:7px}.mk-row .no{background:rgba(255,255,255,.1)}.mk-row .yes{background:var(--grad-btn)}
.mk-earn{position:absolute;left:8px;right:8px;bottom:12px;padding:10px;border-radius:14px;background:linear-gradient(135deg,#17306b,#0f1f47);text-align:left}
.mk-earn small{font-size:8px;color:#9fb0d0}.mk-earn b{display:block;font:700 15px var(--head)}
.mk-win{position:relative;width:88%;height:164px;border-radius:12px;background:#0a1226;border:2px solid #1d2a4f;overflow:hidden;top:8px;box-shadow:0 16px 36px rgba(0,0,0,.4)}
.mk-bar{display:flex;gap:4px;padding:6px 8px;background:#101b3a}.mk-bar u{width:7px;height:7px;border-radius:50%;background:#ff5f56}.mk-bar u:nth-child(2){background:#ffbd2e}.mk-bar u:nth-child(3){background:#27c93f}
.mk-dash{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;padding:10px;height:calc(100% - 20px)}
.mk-chart{display:flex;align-items:flex-end;gap:5px;padding:8px;border-radius:9px;background:#101b3a}
.mk-chart u{flex:1;border-radius:3px 3px 0 0;background:var(--grad-btn);animation:mk-bar 3s ease-in-out infinite}.mk-chart u:nth-child(2n){background:var(--grad-blue);animation-delay:-1s}
@keyframes mk-bar{50%{transform:scaleY(.78);transform-origin:bottom}}
.mk-live{position:relative;border-radius:9px;background:#0d1a38;overflow:hidden}
.mk-live u{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,106,0,.7);animation:mk-dot 2.4s infinite}
.mk-live u:nth-child(1){left:20%;top:25%}.mk-live u:nth-child(2){left:62%;top:40%;background:#22d3ee;animation-delay:-.6s}.mk-live u:nth-child(3){left:35%;top:68%;animation-delay:-1.2s}.mk-live u:nth-child(4){left:78%;top:72%;background:#7c5cff;animation-delay:-1.8s}
@keyframes mk-dot{70%{box-shadow:0 0 0 9px rgba(255,106,0,0)}100%{box-shadow:0 0 0 0 rgba(255,106,0,0)}}

/* pasos */
.steps{list-style:none;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;padding:1.6rem 0 0;margin:0}
.steps::before{content:"";position:absolute;top:1.6rem;left:12%;right:12%;height:2px;background:linear-gradient(90deg,var(--orange),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform 1.6s ease;opacity:.7}
.steps.on::before{transform:scaleX(1)}
.step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:2.4rem 1.3rem 1.5rem;box-shadow:var(--shadow);text-align:center}
.step small{display:block;color:var(--orange);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.3rem}
.num{position:absolute;top:-26px;left:50%;transform:translateX(-50%);width:54px;height:54px;border-radius:50%;background:var(--grad-btn);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(255,106,0,.45),0 0 0 6px var(--bg)}
.sec-alt .num{box-shadow:0 10px 24px rgba(255,106,0,.45),0 0 0 6px var(--bg-alt)}
.step p{color:var(--muted);margin:0;font-size:.95rem}
.timeline{list-style:none;position:relative;max-width:860px;margin:0 auto;padding:0}
.timeline::before{content:"";position:absolute;left:21px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--orange),var(--cyan));opacity:.5;transform:scaleY(0);transform-origin:top;transition:transform 1.8s ease}
.timeline.on::before{transform:scaleY(1)}
.tl-item{position:relative;padding:0 0 1.4rem 70px}
.tl-dot{position:absolute;left:0;top:6px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--grad-btn);color:#fff;box-shadow:0 8px 20px rgba(255,106,0,.45),0 0 0 6px var(--bg-alt)}
.tl-card{padding:1.2rem 1.4rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.tl-card small{color:var(--orange);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em}
.tl-card h3{margin:.15rem 0 .4rem}.tl-card p{margin:0 0 .5rem;color:var(--muted)}.tl-card .tl-more{margin:0;font-size:.93rem;padding-top:.6rem;border-top:1px dashed var(--line)}

/* FAQ */
.faq-wrap{max-width:840px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:.8rem;box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s}
.faq details[open]{border-color:color-mix(in srgb,var(--orange) 55%,var(--line))}
.faq summary{padding:1.05rem 1.3rem;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--orange);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.3rem 1.2rem;margin:0;color:var(--muted)}

/* banda final */
.cta-band{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#ff7a00 0%,#ff4d00 45%,#0b3f8a 120%);color:#fff;text-align:center;padding:clamp(3rem,6vw,4.8rem) 0}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
.cta-fx i{position:absolute;z-index:-1;border-radius:50%;background:rgba(255,255,255,.18);filter:blur(40px);animation:flota 12s ease-in-out infinite}
.cta-fx i:nth-child(1){width:340px;height:340px;left:-80px;top:-120px}.cta-fx i:nth-child(2){width:300px;height:300px;right:-60px;bottom:-140px;background:rgba(29,107,255,.5);animation-delay:-5s}.cta-fx i:nth-child(3){width:180px;height:180px;left:45%;top:-70px;animation-delay:-8s}
.cta-band h2{color:#fff}.cta-band p{opacity:.95;font-size:1.1rem;max-width:620px;margin-inline:auto}

/* ---------- Cabeceras de páginas internas ---------- */
.page-hero-in{display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem;align-items:center}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
.page-art{position:relative;width:min(300px,72vw);aspect-ratio:1;display:grid;place-items:center;margin-inline:auto}
.pa-ring{position:absolute;inset:6%;border-radius:50%;border:1.5px dashed rgba(34,211,238,.4);animation:spin 40s linear infinite}
.pa-ring.r2{inset:-4%;border-color:rgba(255,106,0,.38);animation-direction:reverse;animation-duration:56s}
.pa-core{position:relative;z-index:1;display:grid;place-items:center;width:44%;aspect-ratio:1;border-radius:32%;background:linear-gradient(135deg,var(--orange2),var(--orange) 55%,#ff3d00);color:#fff;box-shadow:0 24px 56px rgba(255,106,0,.5),inset 0 2px 0 rgba(255,255,255,.4);animation:pa-float 5s ease-in-out infinite}
.pa-core .ico{width:46%;height:46%}
@keyframes pa-float{50%{transform:translateY(-12px) rotate(-3deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
.pa-o{--rad:min(128px,24vw);position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:16px;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cyan);box-shadow:var(--shadow);animation:orbit 20s linear infinite}
.pa-o.o1{--a:0deg}.pa-o.o2{--a:90deg}.pa-o.o3{--a:180deg}.pa-o.o4{--a:270deg}
@keyframes orbit{from{transform:rotate(var(--a)) translateX(var(--rad)) rotate(calc(var(--a) * -1))}to{transform:rotate(calc(var(--a) + 360deg)) translateX(var(--rad)) rotate(calc((var(--a) + 360deg) * -1))}}

/* soluciones */
.svc-row{position:relative;display:grid;grid-template-columns:230px 1fr;gap:2.2rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow);scroll-margin-top:calc(var(--hh) + 16px);overflow:hidden}
.svc-row.flip{grid-template-columns:1fr 230px}.svc-row.flip .svc-side{order:2}
.svc-side{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:28px;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 22%,transparent),transparent 80%)}
.svc-orbit{position:absolute;inset:4%;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--accent) 55%,transparent);animation:spin 30s linear infinite}
.svc-n{font:700 3.2rem var(--head);line-height:1;margin:0;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--accent) 60%,transparent)}
.svc-body p:not(.svc-n){color:var(--muted)}

/* nosotros */
.about{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.about-logo{display:grid;place-items:center;gap:1.4rem;background:radial-gradient(500px circle at 50% 0%,rgba(255,106,0,.14),transparent 60%),var(--card);border:1px solid var(--line);border-radius:32px;padding:3rem 1.5rem;box-shadow:var(--shadow-lg)}
.about-claim{margin:0;font:600 1.15rem var(--head);color:var(--muted)}.about-claim b{color:var(--orange)}
.about-text p{color:var(--muted)}

/* contacto */
.contact-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:1.6rem;align-items:start}
.form h2{margin-bottom:1rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.f{display:block;font-weight:600;font-size:.9rem;margin-bottom:1rem}
.f input,.f select,.f textarea{display:block;width:100%;margin-top:.35rem;padding:.8rem 1rem;border-radius:14px;border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit;font-weight:500;transition:border-color .2s,box-shadow .2s}
.f select option{background:var(--bg-alt);color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.18)}
.f .err,.err{display:block;color:#ff5d5d;font-weight:600;font-size:.82rem;margin-top:.3rem}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.f-note{font-size:.85rem;color:var(--muted)}
.f-note a{color:var(--orange)}
.f-status{margin:1rem 0 0;font-weight:700}
.f-status.ok{color:var(--ok)}.f-status.bad{color:#ff5d5d}
.side{display:grid;gap:1.2rem}
.info-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}
.info-list li{display:flex;gap:.9rem;align-items:flex-start}
.info-list .ico{color:var(--orange);margin-top:.2em}
.info-list b{display:block}
.info-list a{color:var(--cyan);font-weight:600;word-break:break-all}
.info-list small,.foot-contact small{display:block;color:var(--muted);font-size:.84rem;font-weight:500}
.talk{background:radial-gradient(400px circle at 100% 0%,rgba(255,106,0,.16),transparent 60%),var(--card)}
.talk-top{display:flex;align-items:center;gap:.9rem;margin-bottom:.8rem}
.talk-top .akhi{width:62px;height:62px;flex:none;border:2px solid var(--orange);box-shadow:0 0 22px rgba(255,106,0,.45)}
.talk-top h3{margin:0}.talk-top small{color:var(--muted)}
.dept-pick{border:0;padding:0;margin:0 0 1.3rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.dept-pick legend{font-weight:700;margin-bottom:.55rem;padding:0;grid-column:1/-1;float:left;width:100%}
.dept{position:relative;display:block;cursor:pointer}
.dept input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.dept-box{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start;height:100%;padding:.9rem 1rem;border:1.5px solid var(--line);border-radius:14px;background:var(--field);transition:border-color .2s,box-shadow .2s,background .2s}
.dept-box .ico{color:var(--orange);margin-bottom:.2rem}
.dept-box b{font-family:var(--head);font-size:1.15rem}
.dept-box small{color:var(--muted);font-size:.82rem;line-height:1.25;font-weight:500}
.dept:hover .dept-box{border-color:var(--cyan)}
.dept input:checked+.dept-box{border-color:var(--orange);box-shadow:0 0 0 4px rgba(255,106,0,.16);background:color-mix(in srgb,var(--orange) 10%,var(--field))}
.dept input:focus-visible+.dept-box{outline:3px solid var(--cyan);outline-offset:2px}
.prose{max-width:780px}.prose p{color:var(--muted)}.prose h2{font-size:1.4rem;margin-top:1.8rem}.prose a{color:var(--orange)}

/* ---------- Pie ---------- */
.foot{position:relative;background:var(--bg-alt);border-top:1px solid var(--line);overflow:hidden}
.foot-glow{position:absolute;left:10%;right:10%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--orange),var(--cyan),transparent)}
.foot-grid{position:relative;display:grid;grid-template-columns:1.4fr .8fr 1.2fr 1fr;gap:2rem;padding:3rem 0 2rem}
.foot h3{font-size:1rem;margin-bottom:.9rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.foot a{text-decoration:none}.foot a:hover{color:var(--orange)}
.foot-brand .logo-akhar{margin-bottom:1rem}
.foot-brand p,.foot-note{color:var(--muted);font-size:.93rem}
.foot-contact li{display:flex;gap:.55rem;align-items:flex-start;font-size:.93rem}
.foot-contact .ico{color:var(--orange);margin-top:.25em}
.foot-contact li span{display:block}
.social{display:flex!important;gap:.6rem;flex-wrap:wrap}
.social a{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--card);border:1px solid var(--line);transition:transform .2s,background .2s,color .2s}
.social a:hover{transform:translateY(-4px) rotate(-6deg);background:var(--grad-btn);color:#fff;border-color:transparent}
.foot-bottom{border-top:1px solid var(--line);padding:1rem 0;font-size:.86rem;color:var(--muted)}
.foot-bottom .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}
.foot-admin{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.foot-admin:hover{color:var(--ink)}

/* ---------- Botones flotantes y asistente ---------- */
.jump{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:flex;flex-direction:column;gap:.55rem}
.jump-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--ink);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:transform .2s,opacity .25s,visibility .25s,border-color .2s}
.jump-btn:hover{transform:translateY(-3px) scale(1.07);border-color:var(--orange);color:var(--orange)}
.jump-btn.off{opacity:0;visibility:hidden;pointer-events:none}

.chat{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem}
.chat-launch{position:relative;width:78px;height:78px;border-radius:50%;border:2px solid var(--orange);background:#0b1530;padding:0;cursor:pointer;box-shadow:0 14px 34px rgba(255,106,0,.45),0 0 0 0 rgba(255,106,0,.5);transition:transform .2s;animation:late 2.8s ease-in-out infinite}
.chat-launch .akhi{border-radius:50%}
.chat-launch:hover{transform:scale(1.08)}
.chat-dot{position:absolute;right:2px;top:2px;width:17px;height:17px;border-radius:50%;background:#2ee59d;border:3px solid var(--bg)}
@keyframes late{60%{box-shadow:0 14px 34px rgba(255,106,0,.45),0 0 0 18px rgba(255,106,0,0)}100%{box-shadow:0 14px 34px rgba(255,106,0,.45),0 0 0 0 rgba(255,106,0,0)}}
.chat-hint{position:relative;max-width:262px;background:var(--bg-alt);color:var(--ink);border:1px solid var(--line);border-radius:18px 18px 4px 18px;padding:.9rem 1rem;box-shadow:var(--shadow-lg);font-weight:600;font-size:.93rem;animation:entra .4s ease}
.chat-hint[hidden]{display:none}
.chat-hint p{margin:0 0 .5rem;padding-right:.8rem}
.hint-close{position:absolute;right:6px;top:6px;border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:50%}
.hint-voice{display:inline-flex;align-items:center;gap:.4rem;border:0;border-radius:999px;background:var(--grad-btn);color:#fff;font:inherit;font-weight:700;font-size:.82rem;padding:.45rem .9rem;cursor:pointer}
@keyframes entra{from{opacity:0;transform:translateY(10px) scale(.96)}}
.chat-panel{width:min(392px,calc(100vw - 24px));height:min(610px,calc(100dvh - 110px));display:flex;flex-direction:column;background:var(--bg-alt);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow-lg),0 0 60px rgba(255,106,0,.12);overflow:hidden;animation:entra .3s ease}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:.7rem;padding:.8rem 1rem;background:linear-gradient(110deg,#0f1c40,#0a1226);color:#fff;border-bottom:2px solid var(--orange)}
.chat-head .akhi{width:46px;height:46px;flex:none;border:2px solid var(--orange);box-shadow:0 0 18px rgba(255,106,0,.5)}
.chat-head div{flex:1;display:flex;flex-direction:column;line-height:1.2}
.chat-head strong{font-family:var(--head);font-size:1.1rem}
.chat-head span{font-size:.78rem;opacity:.85}
.chat-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;transition:background .2s}
.chat-ico:hover{background:rgba(255,255,255,.28)}
.chat-ico .i-off{display:none}
.chat-ico[aria-pressed="false"] .i-on{display:none}.chat-ico[aria-pressed="false"] .i-off{display:block}
.chat-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;background:var(--bg)}
.msg{max-width:84%;padding:.65rem .95rem;border-radius:18px;font-size:.95rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;animation:entra .25s ease}
.msg.bot{align-self:flex-start;background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}
html:not([data-tema="oscuro"]) .msg.bot{background:#fff}
.msg.user{align-self:flex-end;background:var(--grad-btn);color:#fff;border-bottom-right-radius:4px;box-shadow:0 6px 16px rgba(255,106,0,.3)}
.msg.typing{display:flex;gap:4px;padding:.8rem 1rem}
.msg.typing i{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:punto 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes punto{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
.chat-vozrow{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.35rem .9rem;background:var(--bg);border-top:1px solid var(--line);font-size:.8rem}
.chat-vozrow[hidden]{display:none}
.chat-vozrow label{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;color:var(--muted)}
.chat-vozrow select{flex:1;min-width:0;padding:.3rem .5rem;border-radius:8px;border:1px solid var(--line);background:var(--bg-alt);color:var(--ink);font:inherit;font-size:.8rem}
.chat-vozrow p{flex-basis:100%;margin:0;color:#ff8a7a;font-weight:600}
.chat-vozrow p:empty{display:none}
.chat-chips{display:flex;gap:.45rem;overflow-x:auto;padding:.5rem .8rem;background:var(--bg);scrollbar-width:thin}
.chat-chips:empty{display:none}
.chat-chips button,.chat-chips a{flex:none;padding:.45rem .9rem;border-radius:999px;border:1.5px solid var(--orange);background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:.84rem;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.chat-chips button:hover,.chat-chips a:hover{background:var(--orange);color:#fff}
.chat-form{display:flex;gap:.45rem;align-items:center;padding:.7rem .8rem;border-top:1px solid var(--line);background:var(--bg-alt)}
.chat-form input{flex:1;min-width:0;padding:.7rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--field);color:var(--ink);font:inherit}
.chat-form input:focus{outline:none;border-color:var(--orange)}
.chat-form .mic{background:var(--card);color:var(--orange);border:1px solid var(--line)}
.chat-form .mic[hidden]{display:none}
.chat-form .mic.on{background:var(--orange);color:#fff;animation:late 1.2s infinite}
.chat-send{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:var(--grad-btn);color:#fff;cursor:pointer;flex:none;box-shadow:0 6px 16px rgba(255,106,0,.4)}
.chat-foot{margin:0;padding:.35rem .9rem .6rem;font-size:.72rem;color:var(--muted);background:var(--bg-alt);text-align:center}
.chat-foot a{color:var(--orange)}

/* ---------- Animaciones de entrada ---------- */
.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .reveal:not(.in){opacity:0;transform:translateY(28px)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){.share-label{display:none}.share-btn{width:42px;padding:0}.cta-top span{display:none}.cta-top{width:42px;padding:0;justify-content:center}}
@media (max-width:1020px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.6rem}.steps::before{display:none}
}
@media (max-width:900px){
  .burger{display:inline-flex}
  .share-wrap{position:static}
  .share-menu{position:fixed;left:12px;right:12px;top:calc(var(--hh) + 8px);width:auto;max-width:380px;margin-inline:auto;max-height:calc(100dvh - var(--hh) - 24px);overflow-y:auto}
  .nav{position:fixed;left:0;right:0;top:var(--hh);flex-direction:column;background:var(--bg-alt);padding:.8rem 1rem 1.2rem;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);transform:translateY(-130%);transition:transform .3s;margin:0;max-height:calc(100dvh - var(--hh));overflow:auto;z-index:-1}
  .nav.open{transform:none}
  .nav a{padding:.9rem 1rem;font-size:1.05rem}
  .top-tools{margin-left:auto}
  .hero-grid,.page-hero-in,.about,.contact-grid,.akhi-grid,.akhi-mini{grid-template-columns:1fr}
  .stage{order:2;height:560px}
  .page-art{order:-1;width:min(230px,60vw);margin-bottom:.5rem}.pa-o{--rad:min(98px,26vw);width:44px;height:44px;margin:-22px 0 0 -22px}
  .akhi-art{order:-1}
  .trio-grid{grid-template-columns:1fr}
  .svc-row,.svc-row.flip{grid-template-columns:1fr;padding:1.4rem}
  .svc-row .svc-side,.svc-row.flip .svc-side{order:0;aspect-ratio:auto;height:140px;width:140px;justify-self:start}
  .svc-ico.big{width:84px;height:84px}
  .veh-panel{grid-template-columns:1fr;gap:.5rem}
  .veh-art{height:190px}.veh-badge{width:124px;height:124px}.veh-pulse{width:160px;height:160px}
  .f-row{grid-template-columns:1fr}
  .dept-pick{grid-template-columns:1fr}
  .tip{position:fixed;left:12px;right:12px;top:calc(var(--hh) + 8px);width:auto;max-width:340px;margin-inline:auto}
  .tip::before{display:none}
  .cards.five{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.five>*,.cards.five>*:nth-child(4){grid-column:auto}.cards.five>*:last-child{grid-column:1/-1}
}
@media (max-width:620px){
  body{font-size:16px}
  .cards.five,.cards.four{grid-template-columns:1fr}.cards.five>*:last-child{grid-column:auto}
  .steps{grid-template-columns:1fr}
  .stats-grid{gap:.7rem}.stat{padding:1.1rem .6rem}
  .foot-grid{grid-template-columns:1fr}
  .foot-bottom .wrap{flex-direction:column}
  .stage{height:520px}
  .fl{padding:.45rem .7rem .45rem .45rem}.fl b{font-size:.76rem}.fl small{font-size:.68rem}.fl-ico{width:32px;height:32px;border-radius:10px}
  .fl-1{left:-4%;top:9%}.fl-2{right:-5%;top:22%}.fl-3{left:-3%;bottom:20%}.fl-4{right:-4%;bottom:6%}
  .akhi-art{padding-top:1.5rem}
  .akhi-bubble{position:relative;left:auto;top:auto;width:auto;max-width:100%;margin:0 auto 1.1rem}
  .veh-tabs{justify-content:flex-start;flex-wrap:nowrap}
  .chat{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
  .chat-panel{width:min(350px,calc(100vw - 20px));height:min(520px,calc(100dvh - 120px));border-radius:22px}
  .chat-launch[aria-expanded="true"]{display:none}
  .chat-launch{width:64px;height:64px}
  .chat-head{padding:.55rem .75rem;gap:.55rem}.chat-head .akhi{width:38px;height:38px}
  .chat-ico{width:34px;height:34px}
  .chat-form input{font-size:16px}
  .chat-hint{max-width:215px;font-size:.88rem}
  .cta-row .btn{width:100%}
}
@media (max-width:480px){
  .top-in{gap:.4rem}
  .lk-brand{--lw:150px}
  .top-tools{gap:.3rem}
  .share-btn,.theme-btn,.burger,.cta-top{height:38px}
  .share-btn,.theme-btn,.burger,.cta-top{width:38px;padding:0}
}
@media (max-width:360px){.cta-top{display:none}.lk-brand{--lw:130px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
  .marquee-track{animation:none}
}

/* ---------- Proyectos propios: TaxiYape y EmiCarg ---------- */
.madeby{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;padding:.5rem 1rem .5rem .9rem;border-radius:999px;background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-decoration:none;font-weight:600;font-size:.9rem;color:var(--muted);box-shadow:var(--shadow);transition:transform .2s,border-color .2s,box-shadow .2s}
.madeby:hover{transform:translateY(-2px);border-color:var(--orange);box-shadow:0 10px 26px rgba(255,106,0,.25)}
.madeby b{font:700 1.02rem var(--head);letter-spacing:-.01em}
.madeby .mb-t{color:#14b8a6}.madeby .mb-e{color:#f97316}
.madeby i{font-style:normal;color:var(--muted)}
.madeby .ico{color:var(--orange);transition:transform .2s}.madeby:hover .ico{transform:translateX(4px)}
.projects{position:relative;overflow:hidden}
.proj{--accent:var(--pa);position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,4vw,3rem);align-items:center;margin-bottom:1.8rem;padding:clamp(1.2rem,3vw,2.2rem);border-radius:32px;background:radial-gradient(640px circle at 0% 0%,color-mix(in srgb,var(--pa) 16%,transparent),transparent 60%),var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden;scroll-margin-top:calc(var(--hh) + 16px)}
.proj::after{content:"";position:absolute;right:-12%;bottom:-30%;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pb) 20%,transparent),transparent 70%);pointer-events:none}
.proj.flip{grid-template-columns:.85fr 1.15fr}.proj.flip .proj-media{order:2}
.proj>*{position:relative;z-index:1}
.proj-media{position:relative;padding:0 0 2.4rem}
.browser{--ry:-6deg;border-radius:16px;background:#0b1226;border:1px solid rgba(160,190,255,.22);box-shadow:0 34px 80px rgba(0,0,0,.5);overflow:hidden;transform:perspective(1500px) rotateY(var(--ry)) rotateX(2deg);transition:transform .6s ease}
.proj.flip .browser{--ry:6deg}
.proj:hover .browser{transform:perspective(1500px) rotateY(0) rotateX(0)}
.browser-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#111b38}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:#ff5f56}.browser-bar i:nth-child(2){background:#ffbd2e}.browser-bar i:nth-child(3){background:#27c93f}
.browser-url{display:flex;align-items:center;gap:6px;flex:1;margin-left:10px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.78rem;color:#b8c6e6;overflow:hidden;white-space:nowrap}
.browser-view{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#0a1226;cursor:pointer}
.shot{display:block;width:100%;height:auto;transform:translateY(0);transition:transform 1.4s ease}
.browser-view:hover .shot,.browser-view:focus-visible .shot,.proj.peek .shot{transform:translateY(var(--scroll,0px));transition:transform var(--dur,9s) cubic-bezier(.45,.05,.35,1)}
.visit-hint{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:999px;background:rgba(6,9,18,.85);border:1.5px solid var(--pa);color:#fff;font-weight:700;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 26px rgba(0,0,0,.45);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.browser-view:hover .visit-hint,.browser-view:focus-visible .visit-hint{opacity:1;transform:none}
.phone-shot{position:absolute;right:-1%;bottom:0;z-index:3;width:26%;aspect-ratio:9/19;padding:5px;border-radius:24px;background:#04060d;box-shadow:0 0 0 1.5px rgba(160,190,255,.32),0 26px 56px rgba(0,0,0,.55);transform:rotate(4deg);animation:fl-float 7s ease-in-out infinite}
.phone-shot img{display:block;width:100%;height:100%;border-radius:19px;object-fit:cover;object-position:top}
.proj.flip .phone-shot{right:auto;left:-1%;transform:rotate(-4deg);animation-delay:-3s}
.proj-tag{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .3rem;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--pa)}
.proj h3{margin:.1rem 0 .3rem;font-size:clamp(2.1rem,3.8vw,3rem);letter-spacing:-.03em;background:linear-gradient(100deg,var(--pa),var(--pb));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.proj-status{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 .9rem;font-size:.84rem;font-weight:600;color:var(--muted)}
.proj-status .ico{color:var(--pa)}
.proj-status .pulse{background:#fbbf24;animation:pulso-ambar 2s infinite}
@keyframes pulso-ambar{70%{box-shadow:0 0 0 10px rgba(251,191,36,0)}100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}}
.proj-tagline{margin:0 0 .6rem;font:600 1.2rem var(--head);color:var(--ink)}
.proj-info>p:not(.proj-tag):not(.proj-status):not(.proj-tagline):not(.proj-by){color:var(--muted)}
.proj-tech{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 .6rem}
.proj-tech li{padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--ink);border:1px solid color-mix(in srgb,var(--pa) 50%,var(--line));background:color-mix(in srgb,var(--pa) 10%,transparent)}
.proj-btn{background:linear-gradient(110deg,var(--pa),color-mix(in srgb,var(--pa) 55%,#000));box-shadow:0 12px 30px color-mix(in srgb,var(--pa) 45%,transparent)}
.proj-btn:hover{box-shadow:0 18px 40px color-mix(in srgb,var(--pa) 55%,transparent)}
.proj-by{margin:1rem 0 0;font-size:.84rem;color:var(--muted)}
.svc-case{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-.4rem 0 1.2rem;font-size:.92rem;color:var(--muted)}
.svc-case a{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .8rem;border-radius:999px;border:1px solid var(--accent,var(--orange));color:var(--ink);font-weight:700;text-decoration:none;transition:background .2s,color .2s}
.svc-case a:hover{background:var(--accent,var(--orange));color:#fff}
.inline-link{color:var(--orange);font-weight:700}
@media (max-width:900px){
  .proj,.proj.flip{grid-template-columns:1fr}.proj.flip .proj-media{order:0}
  .browser,.proj.flip .browser{--ry:0deg;transform:none}
  .phone-shot,.proj.flip .phone-shot{right:2%;left:auto;width:30%}
  .visit-hint{left:12px;right:auto;opacity:1;transform:none}
}
@media (max-width:520px){.madeby{flex-wrap:wrap;justify-content:center}.proj{padding:1rem;border-radius:24px}.phone-shot{width:34%}}
@media (prefers-reduced-motion:reduce){.phone-shot{animation:none}.shot{transition:none!important}}

/* ---------- El cambio que impulsan ---------- */
.impact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}
.impact-card{position:relative;display:flex;flex-direction:column;padding:1.6rem;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease-out,box-shadow .25s,border-color .25s}
.impact-card::after{content:"";position:absolute;inset:auto -30% -50% auto;width:70%;aspect-ratio:1;border-radius:50%;background:var(--accent);opacity:.1;pointer-events:none;transition:transform .5s,opacity .3s}
.impact-card:hover{box-shadow:var(--shadow-lg)}.impact-card:hover::after{transform:scale(1.5);opacity:.18}
.impact-card h3{font-size:1.2rem}
.impact-card p{flex:1;color:var(--muted)}
.impact-card .more{align-self:flex-start;margin-top:.2rem}
@media (max-width:1020px){.impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.impact-grid{grid-template-columns:1fr}}
