/* Layout: sitio oscuro de una columna ancha; bandas a todo lo ancho; una banda clara para el taller.
   Tipografía en tres papeles: títulos (--display), texto (--sans), etiquetas y datos (--mono = condensada). */
:root{
  --ink:#020617; --navy:#0f172a; --navy-2:#131d35; --panel:#0b1428;
  --line:rgba(148,163,184,.20); --line-strong:rgba(148,163,184,.36);
  --text:#f8fafc; --muted:#cbd5e1; --dim:#94a3b8;
  --orange:#ff8a1a; --orange-d:#f07a0a; --on-orange:#0b1220;
  --copper:#ff8a1a; --copper-d:#c2561a; --green:#22c55e; --green-d:#15803d; --ok:#22c55e;
  --paper:#f8fafc; --paper-2:#eef2f7; --body:#1e293b; --heading:#0b1220;
  /* Tipografía oficial · Industrial */
  --display:'Archivo','Arial Black','Segoe UI',system-ui,sans-serif;
  --sans:'Barlow','Segoe UI',system-ui,sans-serif;
  --mono:'Barlow Condensed','Arial Narrow','Segoe UI',system-ui,sans-serif;
  --h-stretch:125%; --h-weight:800; --h-case:none; --h-track:-.01em;
  --r:14px; --wrap:1180px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:768px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.mobile-menu{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--mono)}
/* Etiqueta de sección: verde (el 5 % de la paleta), condensada, sin corchetes */
.tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.tag::before{content:"";width:22px;height:3px;border-radius:2px;background:currentColor;flex:none}
h1,h2,h3{font-family:var(--display);font-stretch:var(--h-stretch);font-weight:var(--h-weight);text-transform:var(--h-case);letter-spacing:var(--h-track);margin:0;text-wrap:balance}
h2{font-size:clamp(30px,4.2vw,48px);line-height:1.05}
h3{font-size:21px;line-height:1.2;font-weight:700}
p{margin:0}
.lead{color:var(--muted);font-size:clamp(18px,1.7vw,21px);max-width:60ch}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:17px;border-radius:10px;padding:15px 24px;transition:.2s;border:1.5px solid transparent;cursor:pointer;font-family:var(--sans);white-space:nowrap}
.btn-primary{background:var(--orange);color:var(--on-orange);box-shadow:0 10px 30px -10px rgba(255,138,26,.6)}
.btn-primary:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-ghost{border-color:rgba(248,250,252,.55);color:var(--text)}
.btn-ghost:hover{border-color:var(--text);background:rgba(248,250,252,.06)}
.btn svg{width:18px;height:18px}
.btn:focus-visible,.burger:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

/* draft ribbon */
.draft{background:repeating-linear-gradient(135deg,#1e293b 0 12px,#172033 12px 24px);color:var(--muted);font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding-block:5px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(2,6,23,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand svg.logo{height:42px;width:42px;flex:none}
.brand b{display:block;font-family:var(--display);font-stretch:var(--h-stretch);font-weight:800;font-size:18px;letter-spacing:.03em;white-space:nowrap;line-height:1.1}
.brand span{display:block;font-family:var(--mono);font-weight:600;font-size:13px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
/* Accesos a secciones: blanco → naranja al pasar el cursor, con línea que se dibuja; la sección visible queda marcada */
.navlink{position:relative;display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:600;font-size:16.5px;white-space:nowrap;transition:color .18s}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;border-radius:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.navlink:hover,.navlink.active{color:var(--orange)}
.navlink:hover::after,.navlink.active::after{transform:scaleX(1)}
.navlink svg{width:13px;height:13px;opacity:.8}
.links{display:none;gap:26px;align-items:center}
.nav-cta{display:flex;gap:10px;align-items:center}
.nav-cta .btn{padding:10px 18px;font-size:16px}
.nav-cta .btn-ghost{display:none}
/* Celular y tableta: tira deslizable debajo de la barra */
.secnav{border-top:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.secnav::-webkit-scrollbar{display:none}
.secnav .row-in{display:flex;gap:24px;padding-top:11px;padding-bottom:13px;width:max-content;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:48px}
.secnav .navlink{font-size:16px}
.secnav .navlink::after{bottom:-6px}
@media(max-width:520px){.brand span{display:none}.brand b{font-size:16px}.nav-cta .btn{padding:9px 14px;font-size:15px}}
@media(min-width:1100px){.links{display:flex}.secnav{display:none}.brand span{display:none}}
@media(min-width:1320px){.nav-cta .btn-ghost{display:inline-flex}.brand span{display:block}}
section[id],#rastreo{scroll-margin-top:96px}
@media(max-width:1099px){section[id],#rastreo{scroll-margin-top:136px}}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 500px at 85% 20%,rgba(255,138,26,.10),transparent 60%),
  linear-gradient(rgba(148,163,184,.10) 1px,transparent 1px) 0 0/32px 32px,
  linear-gradient(90deg,rgba(148,163,184,.10) 1px,transparent 1px) 0 0/32px 32px;
  mask-image:linear-gradient(180deg,#000 40%,transparent 100%)}
.hero-grid{position:relative;display:grid;gap:40px;padding-top:28px;padding-bottom:64px;align-items:center}
@media(min-width:1000px){.hero-grid{grid-template-columns:1.15fr .85fr;padding-top:40px;padding-bottom:88px}}
.hero h1{font-size:clamp(34px,5.2vw,62px);line-height:1.02;margin:14px 0 22px}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.track-mini{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;color:var(--muted);font-size:17px}
.track-mini form{display:flex;gap:8px;flex:1 1 260px;max-width:400px}
.track-mini input{flex:1;min-width:0;background:rgba(15,23,42,.9);border:1px solid var(--line-strong);border-radius:8px;padding:11px 12px;color:var(--text);font-family:var(--sans);font-size:16px}
.track-mini input::placeholder,.track-big input::placeholder,.cform input::placeholder,.cform textarea::placeholder{color:#7d8aa0}
.track-mini input:focus{outline:2px solid var(--orange);outline-offset:1px}
.track-mini button{background:transparent;border:1px solid rgba(248,250,252,.55);color:var(--text);border-radius:8px;padding:0 16px;font-family:var(--sans);font-weight:700;font-size:16px;cursor:pointer}
.track-mini button:hover{background:rgba(248,250,252,.06)}

/* HMI card (pantalla de equipo: aquí sí van datos técnicos) */
.hmi{background:linear-gradient(180deg,#0c1529,#08101f);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums}
.hmi-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);color:var(--dim);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;gap:8px}
.live{display:inline-flex;align-items:center;gap:6px;color:var(--ok)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.hmi-body{padding:6px 18px 16px}
.row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row small{color:var(--dim);font-size:13.5px;grid-column:1/-1;letter-spacing:.02em}
.row .k{color:var(--muted);font-weight:500;font-size:17px}
.row .v{color:var(--text);font-weight:700;text-align:right;font-size:22px;line-height:1.1}
.row.inj{background:linear-gradient(90deg,rgba(255,138,26,.10),transparent);margin:0 -18px;padding:12px 18px;border-left:3px solid var(--orange)}
.row.inj .v{color:var(--orange)}
.badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;padding:1px 8px;border-radius:5px;background:var(--orange);color:var(--on-orange);margin-left:8px;vertical-align:2px}
.spark{display:block;width:100%;height:56px;margin-top:6px}
.hmi-foot{display:flex;justify-content:space-between;gap:8px;padding:10px 18px;border-top:1px solid var(--line);color:var(--dim);font-size:13.5px;font-weight:600;letter-spacing:.04em}
.hmi-foot b{color:var(--ok);font-weight:700}

/* capabilities strip */
.caps{border-bottom:1px solid var(--line);background:var(--navy)}
.caps .wrap{display:flex;flex-wrap:wrap;gap:10px;padding-top:22px;padding-bottom:22px;align-items:center}
.caps .lbl{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--green);margin-right:8px;letter-spacing:.12em;text-transform:uppercase}
.chip{font-family:var(--mono);font-weight:600;font-size:16px;letter-spacing:.03em;padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text);background:rgba(2,6,23,.4)}

/* sections */
section{padding:96px 0}
@media(max-width:700px){section{padding:68px 0}}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:44px}
.sec-head .tag{display:flex;margin-bottom:16px}

/* projects */
.projects{display:grid;gap:20px}
@media(min-width:900px){.projects{grid-template-columns:repeat(6,1fr)}.p-a{grid-column:span 4}.p-b{grid-column:span 2}.p-c,.p-d,.p-e{grid-column:span 2}}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}
.pcard:hover{border-color:rgba(255,138,26,.55);transform:translateY(-2px)}
.pvis{position:relative;aspect-ratio:16/8;background:
  linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px) 0 0/24px 24px,
  linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px) 0 0/24px 24px,#081022;border-bottom:1px solid var(--line);display:grid;place-items:center;padding:16px;max-width:100%}
.p-b .pvis,.p-c .pvis,.p-d .pvis,.p-e .pvis{aspect-ratio:16/9}
.pvis svg{width:100%;height:100%;max-height:220px}
.photo-note{position:absolute;right:10px;bottom:8px;font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.04em;color:var(--dim);border:1px dashed var(--line-strong);padding:1px 8px;border-radius:5px;background:rgba(2,6,23,.7)}
.pbody{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.pmeta{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}
.pmeta .sect{color:var(--muted)}
.pmeta .state{color:var(--ok);border:1px solid rgba(34,197,94,.5);padding:0 8px;border-radius:5px}
.pmeta .state.dev{color:#fbbf24;border-color:rgba(251,191,36,.5)}
.pbody p{color:var(--muted);font-size:17px}
.pbody .ps{display:grid;gap:10px;font-size:17px;color:var(--muted)}
.pbody .ps b{color:var(--orange);font-weight:700;font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:2px}
.pchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.pchips span{font-family:var(--mono);font-weight:600;font-size:14.5px;letter-spacing:.03em;color:var(--muted);border:1px solid var(--line-strong);border-radius:6px;padding:2px 9px}
.p-a h3{font-size:clamp(23px,2.5vw,30px)}

/* sectors */
.sectors{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(min-width:700px){.sectors{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.sectors{grid-template-columns:repeat(4,1fr)}}
.sector{background:var(--ink);padding:30px 26px;display:flex;flex-direction:column;gap:12px}
.sector .num{font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.1em;color:var(--dim)}
.sector svg{width:36px;height:36px;color:var(--green)}
.sector p{color:var(--muted);font-size:17px}
.sector .prio{font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-top:auto}

/* process */
.process{display:grid;gap:18px}
@media(min-width:900px){.process{grid-template-columns:repeat(5,1fr);gap:0}}
.step{position:relative;padding:24px 20px 24px 0}
@media(min-width:900px){.step{padding:30px 24px 0 0}.step::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),rgba(255,138,26,.2))}.step::after{content:"";position:absolute;top:-5px;left:0;width:13px;height:13px;border-radius:50%;background:var(--ink);border:3px solid var(--orange)}}
@media(max-width:899px){.step{padding:0 0 0 28px;border-left:3px solid rgba(255,138,26,.45)}.step::after{content:"";position:absolute;top:4px;left:-8px;width:13px;height:13px;border-radius:50%;background:var(--ink);border:3px solid var(--orange)}}
.step .n{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.1em;color:var(--orange);display:block;margin-bottom:8px}
.step h3{font-size:20px;margin-bottom:6px}
.step p{color:var(--muted);font-size:17px}

/* light: workshop */
.light{background:var(--paper);color:var(--body)}
.light h2,.light h3{color:var(--heading)}
.light .tag{color:var(--green-d)}
.light .lead{color:#334155}
.shop-grid{display:grid;gap:20px}
@media(min-width:900px){.shop-grid{grid-template-columns:1fr 1fr .9fr}}
.scard{background:#fff;border:1px solid #d6dde6;border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.scard.hot{border:2px solid var(--orange);box-shadow:0 20px 40px -24px rgba(255,138,26,.45)}
.scard .hdr{display:flex;justify-content:space-between;align-items:center;gap:10px}
.scard .hdr svg{width:38px;height:38px;color:var(--heading)}
.scard.hot .hdr svg{color:var(--orange)}
.scard .pill{font-family:var(--mono);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:2px 10px;border-radius:6px;background:var(--orange);color:var(--on-orange);white-space:nowrap}
.scard .pill.cool{background:#e2e8f0;color:#1e293b}
.scard ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:17px;color:var(--body)}
.scard li{display:flex;gap:10px;align-items:flex-start}
.scard li::before{content:"";flex:none;width:7px;height:7px;margin-top:10px;border-radius:1px;background:var(--orange)}
.brands{display:flex;flex-wrap:wrap;gap:6px}
.brands span{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.03em;color:#0f172a;background:var(--paper-2);border:1px solid #d6dde6;border-radius:6px;padding:2px 10px}
.scard.no{background:transparent;border:1.5px dashed #94a3b8;box-shadow:none}
.scard.no li::before{background:#64748b;width:10px;height:2px;margin-top:13px}
.scard.no li{color:#334155}
.fee{margin-top:auto;padding-top:14px;border-top:1px solid #d6dde6;font-size:16px;color:#1e293b}
.fee b{font-family:var(--display);font-stretch:var(--h-stretch);font-weight:800;color:var(--heading)}
.track-big{margin-top:28px;display:grid;gap:16px;align-items:center;background:var(--navy);color:var(--text);border-radius:var(--r);padding:26px}
@media(min-width:900px){.track-big{grid-template-columns:1fr 1.2fr;padding:30px 34px}}
.track-big p{color:var(--muted);font-size:17px}
.track-big form{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:560px){.track-big form{grid-template-columns:1.3fr .8fr auto}}
.track-big input{background:var(--ink);border:1px solid var(--line-strong);border-radius:8px;padding:13px;color:var(--text);font-family:var(--sans);font-size:16px;min-width:0}
.track-big input:focus{outline:2px solid var(--orange);outline-offset:1px}

/* numbers */
.numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:900px){.numbers{grid-template-columns:repeat(4,1fr)}}
.numbers div{background:var(--ink);padding:40px 20px;text-align:center}
.numbers b{display:block;font-family:var(--display);font-stretch:var(--h-stretch);font-size:clamp(38px,4.8vw,60px);font-weight:800;line-height:1.05;color:var(--text);font-variant-numeric:tabular-nums}
.numbers b span{color:var(--orange)}
.numbers small{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* testimonials */
.quotes{display:grid;gap:20px}
@media(min-width:900px){.quotes{grid-template-columns:repeat(3,1fr)}}
blockquote{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:20px}
blockquote p{font-size:18px;line-height:1.55;color:var(--text)}
blockquote p::before{content:"“";display:block;font-family:var(--display);font-weight:900;font-size:56px;line-height:.7;color:var(--orange);margin-bottom:6px}
.who{display:flex;align-items:center;gap:12px;margin-top:auto}
.who i{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-weight:700;font-size:16px;color:var(--text);border:1.5px solid var(--line-strong);background:var(--navy-2)}
.who b{display:block;font-size:17px}
.who small{color:var(--dim);font-size:15px}

/* contact */
.contact{background:linear-gradient(180deg,var(--navy),var(--ink));border-top:1px solid var(--line)}
.contact-grid{display:grid;gap:40px}
@media(min-width:1000px){.contact-grid{grid-template-columns:.85fr 1.15fr;gap:64px}}
.cinfo{display:flex;flex-direction:column;gap:22px;min-width:0}
.cinfo ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:14px}
.cinfo li{display:flex;gap:12px;align-items:center;color:var(--text);font-size:18px;font-weight:500}
.cinfo li svg{width:22px;height:22px;color:var(--green);flex:none}
.cinfo li a:hover{color:var(--orange)}
.wa{background:#16a34a;color:#fff}
.wa:hover{background:#15803d}
.cform{background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;padding:24px;display:grid;gap:16px;min-width:0}
@media(min-width:640px){.cform{padding:32px;grid-template-columns:1fr 1fr}}
.cform .full{grid-column:1/-1}
.cform label{display:grid;gap:6px;font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cform input,.cform select,.cform textarea{width:100%;background:var(--ink);border:1px solid var(--line-strong);border-radius:9px;padding:13px;color:var(--text);font-family:var(--sans);font-size:17px;text-transform:none;letter-spacing:0;font-weight:400}
.cform textarea{min-height:120px;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--orange);outline-offset:1px}
.drop{border:1.5px dashed var(--line-strong);border-radius:9px;padding:14px;text-align:center;color:var(--muted);font-family:var(--sans);font-weight:500;font-size:16px;text-transform:none;letter-spacing:0}
.cform .send{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.cform .send small{color:var(--dim);font-size:15px}
.ok-msg{display:none;color:var(--ok);font-weight:600;font-size:16px}

/* footer */
footer{border-top:1px solid var(--line);padding:52px 0 32px;color:var(--muted);font-size:16.5px}
.fgrid{display:grid;gap:32px}
@media(min-width:900px){.fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
footer h4{font-family:var(--mono);font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 14px;font-weight:700}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a:hover{color:var(--orange)}
.fbottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:15px;color:var(--dim)}

/* diagram svg text */
.dg text{font-family:var(--mono);font-weight:600;font-size:13px;fill:#e2e8f0}
.dg .sub{fill:#94a3b8;font-size:11px;font-weight:500}
.dg .box{fill:#0d1a33;stroke:rgba(148,163,184,.55);stroke-width:1}
.dg .box.hl{stroke:var(--orange);fill:rgba(255,138,26,.10)}
.dg .wire{stroke:var(--orange);stroke-width:1.8;fill:none}
.dg .wire.dash{stroke-dasharray:4 4}
.dg .flow{stroke-dasharray:6 10;animation:flow 1.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-32}}
.dg .lbl{fill:var(--green);font-size:11px;font-weight:700}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Páginas internas (rastreo, legales, 404) ===== */
.page{padding:64px 0 96px}
.narrow{max-width:820px}
.page-title{font-family:var(--display);font-stretch:var(--h-stretch);font-weight:800;font-size:clamp(32px,4.4vw,48px);line-height:1.05;margin:16px 0 18px;text-wrap:balance}
.page .lead{margin-bottom:28px}
.notice{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r);padding:28px;display:grid;gap:14px}
.notice h2{font-size:24px}
.notice p{color:var(--muted)}
.mono-line{font-family:var(--mono);font-weight:600;letter-spacing:.04em;font-size:18px}
.mono-line b{color:var(--orange)}
.small{color:var(--dim);font-size:15px}
.prose h2{font-size:22px;margin:36px 0 10px}
.prose p,.prose li{color:var(--muted);font-size:17.5px}
.prose ul{padding-left:22px;display:grid;gap:8px;margin:8px 0}
.prose b{color:var(--text)}

/* ===== Formulario ===== */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-ok{color:var(--ok);font-weight:600;font-size:17px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.4);border-radius:9px;padding:12px 14px;text-transform:none;letter-spacing:0;font-family:var(--sans)}
.form-err{color:#fca5a5;font-weight:600;font-size:16px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);border-radius:9px;padding:10px 14px;font-family:var(--sans)}
.field-err{color:#fca5a5;font-family:var(--sans);font-weight:500;font-size:14.5px;text-transform:none;letter-spacing:0}
.cform [aria-invalid="true"]{border-color:#f87171}
