/* MDTec — estilos del sitio (generado por _src/build.js, no editar a mano) */
/* ---- 00-tema.css ---- */
/* THEME — Grafito & Azul */
:root{
  --bg:#18191d;
  --bg2:#1d1e23;
  --glow:#2a2c35;
  --surface:rgba(255,255,255,.04);
  --card1:#26272d;
  --card2:#1f2025;
  --cell1:#2c2d33;
  --cell2:#222328;
  --cell-edge:rgba(255,255,255,.12);
  --cell-text:#eceef2;
  --cell-icon:#8fa9f0;
  --line:rgba(255,255,255,.09);
  --text:#eceef2;
  --muted:#a3a5ad;
  --soft:#c6c6cc;
  --accent:#8fa9f0;
  --a1:#3b63d1;
  --a2:#21408a;
  --on-a:#ffffff;
  --n1:#8a8b90;
  --n2:#4f5055;
  --pop:#2f6bff;
  --pop2:#25D366;
  --pop-tag:#6f9bff;
  --hero-grad:linear-gradient(95deg,#c6c6cc 0%,#7ea2ff 45%,#2f6bff 70%,#25D366 100%);
  --hero-span:transparent;
  --btn1a:#f2f3f5;
  --btn1b:#c6c6cc;
  --btn1t:#1b1c20;
  --input:#16171a;
  --tile:#f1f2f4;
  --hdr:rgba(24,25,29,.9);
  --menu:#232429;
  --hov:rgba(255,255,255,.06);
  --cta1:#e9eaee;
  --cta2:#b9babf;
  --cta-t:#1b1c20;
  --cta-i:#21408a;
  --shadow:#000000;
  --chip:rgba(255,255,255,.05);
  --term-bg:#111216;
  --term-ok:#36d399;
}

/* ---- 01-fuentes.css ---- */
/* Tipografías de marca MDTec — TheSans (familia institucional) + Constantia (slogan) */
@font-face{font-family:"TheSans";src:url("../fonts/TheSansExtraLight-Plain.otf") format("opentype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansLight-Plain.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansSemiLight-Plain.otf") format("opentype");font-weight:350;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSans-Plain.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSans-Italic.otf") format("opentype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansSemiBold-Plain.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansBold-Plain.otf") format("opentype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansExtraBold-Plain.otf") format("opentype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansExtraBold-Italic.otf") format("opentype");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"TheSans";src:url("../fonts/TheSansBlack-Plain.otf") format("opentype");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Constantia";src:url("../fonts/CONSTAN.TTF") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Constantia";src:url("../fonts/CONSTANI.TTF") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Constantia";src:url("../fonts/CONSTANB.TTF") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Constantia";src:url("../fonts/CONSTANZ.TTF") format("truetype");font-weight:700;font-style:italic;font-display:swap}

/* ---- 02-base.css ---- */
/* Base compartida por todas las maquetas: comportamiento, no estética */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Aparición al hacer scroll */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.08s}[data-reveal-delay="2"]{transition-delay:.16s}[data-reveal-delay="3"]{transition-delay:.24s}

/* Resaltado al llegar a un servicio desde "¿Qué estás necesitando?" */
@keyframes md-flash{0%,100%{box-shadow:0 0 0 0 transparent}30%{box-shadow:0 0 0 4px var(--flash,#3d6bff)}}
.is-flash{animation:md-flash 1.6s ease 2}

/* Cinta de logos infinita */
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:md-marquee var(--marquee-speed,45s) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes md-marquee{to{transform:translateX(-50%)}}

/* WhatsApp flotante: completo al cargar, se achica a los 6 segundos */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:12px;height:60px;padding:0 22px 0 8px;border-radius:999px;background:#25D366;color:#06341a;text-decoration:none;box-shadow:0 12px 32px -8px rgba(0,0,0,.45);max-width:340px;overflow:hidden;transition:max-width .6s cubic-bezier(.6,0,.2,1),padding .6s cubic-bezier(.6,0,.2,1),transform .25s}
.wa-float:hover{transform:translateY(-3px)}
.wa-float .wa-ic{width:44px;height:44px;border-radius:50%;background:#fff;color:#1faa53;display:grid;place-items:center;flex:none}
.wa-float .wa-ic svg{width:26px;height:26px;fill:currentColor;stroke:none}
.wa-float .wa-txt{font:600 15px/1.15 "TheSans",system-ui,sans-serif;white-space:nowrap;transition:opacity .3s}
.wa-float .wa-txt small{display:block;font-weight:400;font-size:12.5px;opacity:.8}
.wa-float.is-mini{max-width:60px;padding:0 8px}
.wa-float.is-mini .wa-txt{opacity:0}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(37,211,102,.6);animation:md-pulse 2.4s infinite}
@keyframes md-pulse{70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* Etiqueta flotante de navegación entre maquetas */
.mq-switch{position:fixed;left:16px;bottom:16px;z-index:95;display:flex;gap:4px;padding:5px;border-radius:999px;background:rgba(20,21,24,.82);backdrop-filter:blur(8px);font:600 12px/1 "TheSans",system-ui,sans-serif}
.mq-switch a{color:#cfd0d6;text-decoration:none;padding:7px 10px;border-radius:999px}
.mq-switch a:hover{background:rgba(255,255,255,.12);color:#fff}
.mq-switch a[aria-current]{background:#fff;color:#16171a}
@media (max-width:640px){.mq-switch{display:none}}

/* Formulario de contacto: estado enviado */
.form-ok{display:none}
form.is-sent .form-ok{display:block}
form.is-sent .form-fields{display:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1;transform:none}
}

/* ---- 03-panal.css ---- */
/* Familia "Panal Interactivo" (opción 6, 6A–6E).
   Toda la paleta sale de variables definidas en cada HTML (bloque THEME). */
:root{--hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);--green:#25D366;--max:1260px;--flash:var(--accent)}
body{background:radial-gradient(1200px 700px at 80% -10%,var(--glow),transparent 60%),var(--bg);color:var(--text);font:400 17px/1.6 "TheSans",system-ui,sans-serif}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
h1,h2,h3{margin:0;line-height:1.04;letter-spacing:-.025em}
.tag{display:inline-flex;align-items:center;gap:10px;font:700 12.5px "TheSans";letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.tag::before{content:"";width:12px;height:14px;background:currentColor;clip-path:var(--hex)}
.h2{font-size:clamp(34px,4.4vw,58px);font-weight:900}
.h2 span{font-weight:200;color:var(--soft)}
section{padding:110px 0;position:relative}
.alt{background:var(--bg2);border-block:1px solid var(--line)}
.btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;border-radius:14px;font:700 16px "TheSans";text-decoration:none;border:1px solid transparent;transition:.25s;cursor:pointer}
.btn .ic{font-size:18px;transition:.25s}
.btn:hover .ic{transform:translateX(4px)}
.btn-pri{background:linear-gradient(180deg,var(--btn1a),var(--btn1b));color:var(--btn1t);box-shadow:0 10px 30px -14px var(--shadow)}
.btn-pri:hover{filter:brightness(1.08)}
.btn-acc{background:linear-gradient(135deg,var(--a1),var(--a2));color:var(--on-a)}
.btn-acc:hover{filter:brightness(1.1)}
.btn-line{border-color:var(--line);color:var(--text);background:var(--surface)}
.btn-line:hover{border-color:var(--accent)}
.btn-wa{background:var(--green);color:#06341a}
.btn-wa:hover{filter:brightness(1.07)}

/* Barra superior */
.topbar{background:var(--n2);color:#eceef2;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;height:38px}
.topbar a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;margin-left:18px;opacity:.9}
.topbar a:hover{opacity:1}
.topbar .ic{font-size:15px}

/* Header */
.hdr{position:sticky;top:0;z-index:80;transition:.3s}
.hdr.is-scrolled{background:var(--hdr);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:24px;height:84px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .md-hex{width:48px;height:48px}
.brand b{font:900 22px/1 "TheSans"}
.brand small{display:block;font:italic 400 13px/1.2 "Constantia",Georgia,serif;color:var(--muted)}
.nav{display:flex;gap:2px;margin-left:auto}
.nav>a,.nav .has-sub>button{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:10px;background:none;border:0;color:var(--text);opacity:.88;text-decoration:none;font:600 15px "TheSans"}
.nav>a:hover,.nav .has-sub:hover>button{opacity:1;background:var(--hov)}
.has-sub{position:relative}
.has-sub .ic{font-size:13px}
.sub{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;padding:10px;border-radius:16px;background:var(--menu);border:1px solid var(--line);box-shadow:0 30px 60px -20px var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.sub::before{content:"";position:absolute;inset:-10px 0 auto;height:10px}
.has-sub:hover .sub,.has-sub.open .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:15px}
.sub a::before{content:"";width:8px;height:9px;background:var(--soft);clip-path:var(--hex)}
.sub a:hover{background:var(--hov);color:var(--text)}
.sub a:hover::before{background:var(--accent)}
.hdr .btn{height:46px;font-size:15px;padding:0 20px}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--text);font-size:22px;place-items:center}

/* Hero */
.hero{padding:60px 0 70px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(42px,5vw,74px);font-weight:900;letter-spacing:-.035em;margin:22px 0}
.hero h1 span{font-weight:200;color:var(--soft)}
.hero p{color:var(--muted);font-size:20px;max-width:540px;margin:0 0 32px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}
.chips span{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-size:14.5px;color:var(--muted)}
.chips b{color:var(--text)}
.flower{position:relative;width:min(520px,100%);aspect-ratio:1;margin:auto}
.flower .h{position:absolute;width:31%;aspect-ratio:1/1.1547;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--cell1),var(--cell2));color:var(--cell-icon);font-size:clamp(22px,3vw,36px);animation:pop .7s cubic-bezier(.3,1.5,.5,1) both;transition:transform .3s,background .3s,color .3s}
.flower .h:hover{transform:scale(1.06);background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a)}
.flower .h.c{background:linear-gradient(160deg,var(--n1),var(--n2));color:#fff;font:900 clamp(30px,4.4vw,56px) "TheSans";letter-spacing:-.03em}
.flower .h.c:hover{transform:none}
@keyframes pop{from{opacity:0;transform:scale(.4)}}
.flower .ring{position:absolute;inset:-6%;border-radius:50%;border:1px dashed var(--line);animation:spin 50s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Accesos rápidos (tomado de la opción 1) */
.quick{padding:0 0 30px}
.quick-in{display:grid;grid-template-columns:auto repeat(4,1fr);gap:12px;align-items:stretch;padding:14px;border-radius:24px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 30px 60px -40px var(--shadow)}
.quick-t{display:flex;flex-direction:column;justify-content:center;padding:6px 16px 6px 10px}
.quick-t b{font:800 19px "TheSans"}
.quick-t span{color:var(--muted);font-size:14px}
.quick a{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:.25s}
.quick a:hover{border-color:var(--accent);transform:translateY(-2px)}
.quick a i{flex:none;width:42px;height:48px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a);font-size:19px}
.quick a.wa i{background:var(--green);color:#fff}
.quick a b{display:block;font-size:15.5px;line-height:1.2}
.quick a small{color:var(--muted);font-size:13px}
.quick a>.ic{margin-left:auto;color:var(--muted);font-size:16px;flex:none}

/* Buscador + panal */
.finder{display:flex;align-items:center;gap:14px;margin-top:40px;padding:8px 8px 8px 22px;border-radius:20px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 30px 60px -40px var(--shadow);transition:border-color .2s,box-shadow .2s}
.finder:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}
.finder>.ic{font-size:24px;color:var(--accent)}
.finder input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:400 20px "TheSans";padding:12px 0}
.finder input::placeholder{color:var(--muted);opacity:.75}
.finder .count{font:600 13px "TheSans";color:var(--muted);white-space:nowrap}
.finder .clear{width:46px;height:46px;border-radius:14px;border:0;background:var(--hov);color:var(--text);font-size:18px;display:grid;place-items:center;visibility:hidden}
.finder.has .clear{visibility:visible}
.qchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.qchips button{display:flex;align-items:center;gap:7px;background:var(--chip);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 14px;font:600 13.5px "TheSans";transition:.2s}
.qchips button::before{content:"";width:8px;height:9px;background:var(--soft);clip-path:var(--hex)}
.qchips button:hover,.qchips button.on{border-color:var(--accent);color:var(--text)}
.qchips button.on::before{background:var(--accent)}
.comb-wrap{display:grid;grid-template-columns:1fr 380px;gap:50px;align-items:start;margin-top:40px}
.comb{position:relative;transition:height .45s ease}
.cell{position:absolute;width:var(--w);aspect-ratio:1/1.1547;clip-path:var(--hex);background:var(--cell-edge);padding:2px;text-decoration:none;outline:none;transition:left .5s cubic-bezier(.5,0,.2,1),top .5s cubic-bezier(.5,0,.2,1),transform .35s cubic-bezier(.3,1.4,.5,1),opacity .3s,background .3s}
.cell.out{opacity:0;transform:scale(.3);pointer-events:none}
.cell-in{width:100%;height:100%;clip-path:var(--hex);background:linear-gradient(170deg,var(--cell1),var(--cell2));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 16%;text-align:center;transition:background .3s}
.cell .ic{font-size:30px;color:var(--cell-icon);transition:.3s}
.cell b{font:700 14.5px/1.15 "TheSans";color:var(--cell-text)}
.cell mark{background:none;color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.cell:hover,.cell:focus-visible,.cell.on{transform:scale(1.08);z-index:2;background:var(--accent)}
.cell:hover .cell-in,.cell:focus-visible .cell-in,.cell.on .cell-in{background:linear-gradient(170deg,var(--a1),var(--a2))}
.cell:hover .ic,.cell.on .ic,.cell:hover b,.cell.on b{color:var(--on-a)}
.cell.cta{background:var(--cta2)}
.cell.cta .cell-in{background:linear-gradient(170deg,var(--cta1),var(--cta2))}
.cell.cta b{color:var(--cta-t)}
.cell.cta .ic{color:var(--cta-i)}
.cell.cta:hover .cell-in{background:linear-gradient(170deg,#2fe07a,#1aa952)}
.cell.cta:hover b,.cell.cta:hover .ic{color:#fff}
.comb-empty{display:none;margin:0 0 16px;padding:14px 18px;border-radius:14px;background:var(--surface);border:1px dashed var(--line);color:var(--muted)}
.comb-empty.on{display:block}
.comb-empty a{color:var(--accent);font-weight:700}
.info{position:sticky;top:110px;padding:32px;border-radius:24px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 40px 80px -40px var(--shadow);min-height:420px}
.info .big{width:74px;height:84px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--a1),var(--a2));font-size:32px;color:var(--on-a);margin-bottom:22px}
.info h3{font-size:26px;font-weight:800}
.info p{color:var(--muted);margin:10px 0 18px}
.info ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:8px}
.info li{display:flex;gap:10px;font-size:15.5px}
.info li::before{content:"";flex:none;width:10px;height:11px;margin-top:7px;background:var(--accent);clip-path:var(--hex)}
.info .btns{display:flex;gap:10px;flex-wrap:wrap}
.info .btns .btn{height:46px;font-size:15px;padding:0 18px}
.info .hint{font-size:13.5px;color:var(--muted);margin-top:18px}
.info.swap>*{animation:fadeUp .35s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}}

/* Cifras */
.hstats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hstat{display:flex;align-items:center;gap:20px;padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.hstat b{flex:none;width:96px;height:110px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--n1),var(--n2));color:#fff;font:900 34px "TheSans";letter-spacing:-.03em}
.hstat:nth-child(2) b{background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a)}
.hstat span{color:var(--muted);font-size:15.5px}

/* Servicios en acordeón */
.acc-wrap{display:grid;grid-template-columns:.8fr 1.5fr;gap:60px;align-items:start}
.acc-side{position:sticky;top:120px}
.acc-side p{color:var(--muted);margin:20px 0 28px}
.services{display:grid;gap:10px}
.svc{border-radius:18px;background:var(--surface);border:1px solid var(--line);scroll-margin-top:110px;overflow:hidden;transition:background .3s,border-color .3s}
.svc.open{background:linear-gradient(170deg,var(--card1),var(--card2));border-color:var(--accent)}
.svc-head{display:flex;align-items:center;gap:16px;padding:20px 22px 0;cursor:pointer}
.svc-ic{width:46px;height:52px;clip-path:var(--hex);display:grid;place-items:center;background:var(--cell1);font-size:21px;color:var(--cell-icon);flex:none;transition:.3s}
.svc.open .svc-ic{background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a)}
.svc-num{order:3;margin-left:auto;font:200 26px "TheSans";color:var(--soft)}
.svc h3{font-size:20px;font-weight:800;padding:0 22px 20px 84px;margin-top:-38px;cursor:pointer;position:relative}
.svc h3::after{content:"+";position:absolute;right:62px;top:-2px;font-weight:300;font-size:26px;color:var(--muted);transition:.3s}
.svc.open h3::after{transform:rotate(45deg);color:var(--text)}
.svc p,.svc ul,.svc .svc-cta{display:none}
.svc.open p,.svc.open ul{display:block}
.svc.open .svc-cta{display:inline-flex}
.svc p{color:var(--muted);margin:0 22px 14px 84px;font-size:15.5px}
.svc ul{list-style:none;margin:0 22px 18px 84px;padding:0;columns:2;column-gap:20px;font-size:15px}
.svc li{display:flex;gap:8px;padding:4px 0;break-inside:avoid}
.svc li .ic{color:var(--accent);margin-top:5px}
.svc-cta{align-items:center;gap:8px;margin:0 22px 22px 84px;padding:10px 16px;border-radius:12px;background:linear-gradient(135deg,var(--a1),var(--a2));color:var(--on-a);text-decoration:none;font-weight:700;font-size:14.5px}

/* Especialidades */
.spec{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}
.spec>div{position:relative;padding:34px;border-radius:24px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.spec>div::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:208px;clip-path:var(--hex);background:linear-gradient(160deg,color-mix(in srgb,var(--a1) 35%,transparent),transparent)}
.spec .ic.t{font-size:34px;color:var(--accent)}
.spec h3{font-size:26px;font-weight:800;margin:18px 0 8px}
.spec p{color:var(--muted);margin:0 0 18px}
.spec ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:8px;font-size:15.5px}
.spec li{display:block;padding-left:19px;position:relative}
.spec li .ic{display:none}
.spec li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:10px;background:var(--soft);clip-path:var(--hex)}
.spec li b+span{color:var(--muted)}
.spec li b+span::before{content:" · "}
.spec .btn{margin-top:auto;align-self:flex-start;height:46px}

/* Nosotros */
.about{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about p{color:var(--muted)}
.about .slogan{font:italic 400 30px/1.25 "Constantia",Georgia,serif;margin:26px 0;color:var(--text)}
.about .slogan b{font-weight:700}
.honey-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}
.honey-list li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:15px}
.honey-list li .ic{display:none}
.honey-list li::before{content:"";flex:none;width:18px;height:20px;background:linear-gradient(160deg,var(--a1),var(--a2));clip-path:var(--hex)}
.team{margin-top:24px;display:flex;gap:18px;padding:24px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--a2) 35%,transparent),var(--surface));border:1px solid var(--line)}
.team .ic{font-size:34px;color:var(--accent)}
.team h4{margin:0 0 6px;font-size:19px}
.team p{margin:0;font-size:15.5px}

/* Logos */
.certs{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:44px}
.cert{width:150px;aspect-ratio:1/1.1547;clip-path:var(--hex);background:linear-gradient(170deg,var(--cell1),var(--cell2));color:var(--cell-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:.3s}
.cert:hover{background:linear-gradient(170deg,var(--a1),var(--a2));color:var(--on-a);transform:translateY(-6px)}
.cert-mark{font:900 21px "TheSans"}
.cert-tag{display:flex;align-items:center;gap:4px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.hexlogos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 14px;margin-top:44px;padding-bottom:30px}
.hexlogos .logo-tile{width:178px;aspect-ratio:1/1.1547;clip-path:var(--hex);background:var(--tile);display:grid;place-items:center;padding:0 30px;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.hexlogos .logo-tile:nth-child(odd){transform:translateY(30px)}
.hexlogos .logo-tile:hover{transform:scale(1.08)}
.hexlogos .logo-tile:nth-child(odd):hover{transform:translateY(30px) scale(1.08)}
.hexlogos img{max-height:74px;max-width:100%;width:auto;object-fit:contain}
.hexlogos.clients img{filter:grayscale(1);opacity:.8;transition:.3s}
.hexlogos.clients .logo-tile:hover img{filter:none;opacity:1}
.logo-tile.is-text span{font:800 15px/1.15 "TheSans";color:#2a2b30;text-align:center}

/* Recursos */
.res{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:40px}
.res a{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;min-height:180px;transition:.25s}
.res a:hover{border-color:var(--accent)}
.res .ic{font-size:28px;color:var(--accent);margin-bottom:auto}
.res b{font-size:17px}
.res span{color:var(--muted);font-size:14px}

/* Contacto */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:start}
.cinfo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.cinfo a,.cinfo div{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:.2s}
.cinfo a:hover{border-color:var(--accent)}
.cinfo .wide{grid-column:1/-1}
.cinfo i{flex:none;width:42px;height:48px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a);font-size:19px}
.cinfo i.g{background:var(--green);color:#fff}
.cinfo small{display:block;color:var(--muted);font-size:13px}
.cinfo span{line-height:1.35}
form{padding:34px;border-radius:24px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line)}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-fields .full{grid-column:1/-1}
label{display:grid;gap:6px;font-size:13.5px;font-weight:600;color:var(--muted)}
input,select,textarea{font:400 16px "TheSans";color:var(--text);background:var(--input);border:1px solid var(--line);border-radius:12px;padding:14px 16px;outline:none;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
select option{background:var(--menu);color:var(--text)}
select option:checked{background:var(--a1);color:var(--on-a)}
textarea{min-height:110px;resize:vertical}
form .btn{width:100%;justify-content:center;border:0}
.form-ok{text-align:center;padding:40px 0}
.form-ok .ic{font-size:54px;color:var(--accent)}

footer{border-top:1px solid var(--line);padding:60px 0 34px;color:var(--muted);font-size:15px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
footer h5{margin:0 0 14px;color:var(--text);font:800 13px "TheSans";letter-spacing:.14em;text-transform:uppercase}
footer a{display:block;text-decoration:none;padding:4px 0}
footer a:hover{color:var(--text)}
footer .recom a{display:inline;color:var(--accent)}
footer .off{margin-top:10px;font-size:14px}
footer .off b{color:var(--text);font-weight:700}
.fbottom{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;flex-wrap:wrap}

@media (max-width:1150px){
  .nav,.hdr .btn{display:none}.burger{display:grid}
  body.nav-open .nav{display:flex;flex-direction:column;position:fixed;inset:84px 0 0;background:var(--bg);padding:20px 28px;overflow:auto}
  body.nav-open .sub{position:static;opacity:1;visibility:visible;transform:none;display:none;box-shadow:none}
  body.nav-open .has-sub.open .sub{display:block}
  .hero .wrap,.comb-wrap,.acc-wrap,.about,.contact{grid-template-columns:1fr}
  .info,.acc-side{position:static}
  .quick-in{grid-template-columns:1fr 1fr}
  .quick-t{grid-column:1/-1}
  .hstats{grid-template-columns:1fr 1fr}
  .spec{grid-template-columns:1fr}
  .res{grid-template-columns:repeat(3,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .wrap{padding:0 16px}
  section{padding:76px 0}
  .topbar .wrap>span{display:none}
  .topbar a{margin:0 14px 0 0}
  .quick-in,.hstats,.honey-list,.form-fields,.res,.cinfo{grid-template-columns:1fr}
  .finder{padding-left:16px}
  .finder input{font-size:17px}
  .finder .count{display:none}
  .svc h3{padding-left:22px;margin-top:12px}
  .svc h3::after{right:22px}
  .svc-num{display:none}
  .svc p,.svc ul,.svc-cta{margin-left:22px}
  .svc ul{columns:1}
  .cert{width:120px}
  .hexlogos .logo-tile{width:140px;padding:0 22px}
  .hexlogos .logo-tile:nth-child(odd),.hexlogos .logo-tile:nth-child(odd):hover{transform:none}
  .fgrid{grid-template-columns:1fr}
  form{padding:22px}
}

/* ---- 04-venta.css ---- */
/* ===== Bloques de venta de la familia 6A–6E (se suma a panal.css) ===== */
/* Terminal que escribe (opción 3) */
.term{display:flex;align-items:center;gap:10px;max-width:560px;margin:0 0 26px;padding:13px 18px;border-radius:12px;background:var(--term-bg);border:1px solid var(--line);font:500 15px ui-monospace,"Cascadia Code",Consolas,monospace;color:var(--muted)}
.term b{color:var(--term-ok);font-weight:500}
.term #typed{color:var(--text)}
.term .caret{width:9px;height:18px;background:var(--accent);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* Accesos rápidos (opción 1) */
.quick-card{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:center;padding:22px;border-radius:24px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 40px 70px -45px var(--shadow)}
.quick-card h4{margin:0 0 4px;font:800 21px "TheSans"}
.quick-card p{margin:0;color:var(--muted);font-size:14.5px}
.quick-card .slogan{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font:italic 400 16px "Constantia",Georgia,serif;color:var(--soft)}
.quick-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick-list a{display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:15px;line-height:1.2;transition:.2s}
.quick-list a:first-child,.quick-list a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--a1) 14%,var(--surface))}
.quick-list a .ic{font-size:20px;color:var(--accent);flex:none}
.quick-list a .ic.go{margin-left:auto;color:var(--muted);font-size:15px}
.quick-list a.wa .ic:first-child{color:var(--green)}
.quick-list small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}

/* Prueba social temprana */
.proof{padding:50px 0 0}
.proof p{text-align:center;color:var(--muted);font:600 13px "TheSans";letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px}
.proof .logo-tile{width:170px;height:84px;margin-right:12px;flex:none;border-radius:14px;background:var(--tile);display:grid;place-items:center;padding:12px 16px}
.proof .logo-tile img{max-height:56px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;border-radius:4px}
.proof .logo-tile.is-text span{font-size:14px}

/* Dolores → solución */
.pains{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}
.pain{display:flex;flex-direction:column;padding:28px;border-radius:22px;background:var(--surface);border:1px solid var(--line);transition:.3s}
.pain:hover{border-color:var(--accent);transform:translateY(-4px)}
.pain .x{display:grid;place-items:center;width:44px;height:50px;clip-path:var(--hex);background:color-mix(in srgb,#e5484d 22%,var(--surface));color:#e5484d;font-size:20px}
.pain .q{font:800 20px/1.25 "TheSans";margin:16px 0 18px}
.pain .s{margin-top:auto;padding-top:16px;border-top:1px dashed var(--line);font-size:15px;color:var(--muted)}
.pain .s b{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}

/* Diagnóstico express (opción 4) */
.diag{display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;margin-top:50px;border-radius:28px;border:1px solid var(--line);box-shadow:0 50px 90px -50px var(--shadow)}
.diag-side{position:relative;padding:44px;background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a);display:flex;flex-direction:column;overflow:hidden}
.diag-side::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:254px;clip-path:var(--hex);background:rgba(255,255,255,.08)}
.diag-side h3{font-size:34px;font-weight:800}
.diag-side>p{opacity:.85;margin:10px 0 0}
.prog{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}
.prog li{display:flex;align-items:center;gap:14px;opacity:.6;font-weight:600}
.prog li span{width:34px;height:38px;clip-path:var(--hex);display:grid;place-items:center;background:rgba(255,255,255,.2);font-weight:800}
.prog li.on,.prog li.done{opacity:1}
.prog li.on span{background:#fff;color:#16171b}
.diag-side .note{margin-top:auto;padding-top:30px;font:italic 400 18px "Constantia",Georgia,serif;opacity:.85;position:relative;z-index:1}
.diag-main{padding:44px;background:linear-gradient(170deg,var(--card1),var(--card2))}
.fstep{display:none;animation:fadeUp .4s ease}
.fstep.on{display:block}
.fstep h4{margin:0 0 6px;font:800 26px "TheSans"}
.fstep>p{margin:0 0 22px;color:var(--muted)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opts.many{grid-template-columns:repeat(3,1fr)}
.opt{display:flex;align-items:center;gap:12px;padding:15px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface);text-align:left;font:600 15px/1.25 "TheSans";color:var(--text);transition:.2s;cursor:pointer}
.opt .ic{font-size:22px;color:var(--accent);flex:none}
.opt small{display:block;font-weight:400;color:var(--muted);font-size:13px}
.opt:hover{border-color:var(--accent)}
.opt[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--a1) 16%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}
.fnav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px}
.fnav .back{background:none;border:0;color:var(--muted);font:600 15px "TheSans";cursor:pointer}
.fnav .btn[disabled]{opacity:.35;pointer-events:none}
.summary{padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--a1) 16%,var(--surface));font-size:15px}
.result{display:grid;gap:8px;margin:16px 0 22px}
.result a{display:flex;align-items:center;gap:14px;padding:13px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:700}
.result a:hover{border-color:var(--accent)}
.result a .ic{font-size:21px;color:var(--accent)}
.result a .ic:last-child{margin-left:auto;color:var(--muted);font-size:15px}

/* Comparativa */
.versus{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:50px}
.vs{padding:36px;border-radius:24px;border:1px solid var(--line)}
.vs h3{display:flex;align-items:center;gap:12px;font-size:24px;margin-bottom:22px}
.vs ul{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.vs li{display:flex;gap:12px;font-size:16.5px}
.vs li i{flex:none;width:24px;height:27px;clip-path:var(--hex);display:grid;place-items:center;font-size:13px;font-style:normal;font-weight:900}
.vs.bad{background:var(--surface)}
.vs.bad h3,.vs.bad li{color:var(--muted)}
.vs.bad li i{background:color-mix(in srgb,#e5484d 22%,var(--surface));color:#e5484d}
.vs.good{background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a);border-color:transparent;box-shadow:0 40px 70px -40px var(--shadow)}
.vs.good li i{background:rgba(255,255,255,.24);color:var(--on-a)}
.vs.good .md-hex{width:40px;height:40px}

/* Proceso */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px;counter-reset:s}
.step{position:relative;padding:30px 26px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:24px;right:24px;font:200 40px/1 "TheSans";color:var(--soft);opacity:.7}
.step i{display:grid;place-items:center;width:52px;height:60px;clip-path:var(--hex);background:linear-gradient(160deg,var(--a1),var(--a2));color:var(--on-a);font-size:24px}
.step h3{font-size:21px;margin:18px 0 8px}
.step p{margin:0;color:var(--muted);font-size:15px}

/* Preguntas frecuentes */
.faq{display:grid;grid-template-columns:.8fr 1.4fr;gap:60px;align-items:start}
.faq>*{min-width:0}
.faq details{border-bottom:1px solid var(--line);overflow:hidden}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font:700 19px "TheSans";cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:300;font-size:28px;line-height:.8;color:var(--accent);transition:.3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--muted);max-width:680px}

/* CTA final */
.cta-band{position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:64px;border-radius:32px;background:linear-gradient(130deg,var(--a2),var(--a1));color:var(--on-a);box-shadow:0 60px 100px -60px var(--shadow)}
.cta-band::before,.cta-band::after{content:"";position:absolute;clip-path:var(--hex);background:rgba(255,255,255,.08)}
.cta-band::before{width:300px;height:346px;right:-60px;top:-90px}
.cta-band::after{width:160px;height:185px;right:260px;bottom:-110px}
.cta-band h2{font-size:clamp(32px,3.8vw,52px);font-weight:900;position:relative;z-index:1}
.cta-band p{opacity:.88;margin:14px 0 0;font-size:18px;position:relative;z-index:1}
.cta-band .acts{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}
.cta-band .acts .btn{justify-content:center}
.cta-band .btn-light{background:#fff;color:#16171b}
.cta-band .ghost{border-color:rgba(255,255,255,.45);color:var(--on-a)}
.cta-band .ghost:hover{background:rgba(255,255,255,.14)}

/* Barra fija para celular */
.mbar{display:none}

@media (max-width:1150px){
  .quick-card{grid-template-columns:1fr}
  .quick-list,.pains,.steps{grid-template-columns:1fr 1fr}
  .diag,.versus,.faq,.cta-band{grid-template-columns:1fr}
  .opts.many{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .quick-list,.pains,.steps,.opts,.opts.many{grid-template-columns:1fr}
  .diag-side,.diag-main,.vs{padding:26px 20px}
  .cta-band{padding:40px 22px}
  .term{font-size:13px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:89;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--hdr);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:12px;font-weight:700;text-decoration:none}
  .mbar .call{background:var(--surface);border:1px solid var(--line);color:var(--text)}
  .mbar .wa{background:var(--green);color:#06341a}
  .wa-float{display:none}
  footer{padding-bottom:100px}
}

/* ---- 05-interactivo.css ---- */
/* ===== Interactividad extra de la familia 6 =====
   Color fuerte: --pop / --pop2 (definidos en 6A). Si un tema no los define, usa sus propios acentos. */
.hero h1 span{background:var(--hero-grad,none);-webkit-background-clip:text;background-clip:text;color:var(--hero-span,var(--soft))}

/* Flor del hero: etiquetas, pulso, imán y leyenda */
.flower{--mx:50%;--my:50%}
.flower::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(240px circle at var(--mx) var(--my),color-mix(in srgb,var(--pop,var(--a1)) 38%,transparent),transparent 65%);pointer-events:none}
.flower .h{cursor:pointer;translate:var(--tx,0px) var(--ty,0px);transition:translate .25s ease-out,transform .4s cubic-bezier(.3,1.4,.5,1),background .3s,color .3s;text-decoration:none}
.flower .h .ic{transition:transform .35s}
.flower .h .lb{position:absolute;left:13%;right:13%;bottom:20%;font:800 clamp(10px,1.05vw,13.5px)/1.1 "TheSans";letter-spacing:0;text-align:center;opacity:0;transform:translateY(8px);transition:.3s;color:#fff}
.flower .h.on,.flower .h:not(.c):hover{background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;transform:scale(1.08);z-index:3}
.flower .h.on .ic,.flower .h:not(.c):hover .ic{transform:translateY(-12px)}
.flower .h.on .lb,.flower .h:not(.c):hover .lb{opacity:1;transform:none}
.flower .h.c{z-index:2}
.flower .h.c:hover{transform:scale(1.04)}
.flower .pulse{position:absolute;left:34.5%;top:32.1%;width:31%;aspect-ratio:1/1.1547;clip-path:var(--hex);background:var(--pop,var(--a1));opacity:0;pointer-events:none;animation:hexpulse 3.2s ease-out infinite}
.flower .pulse.p2{animation-delay:1.6s;background:var(--pop2,var(--accent))}
@keyframes hexpulse{0%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(2.6)}}
.flower .hint{position:absolute;top:-3%;left:50%;transform:translateX(-50%);font:700 11.5px "TheSans";letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.fcap{position:absolute;left:50%;bottom:-15%;transform:translateX(-50%);width:min(390px,94%);padding:13px 16px;border-radius:16px;background:color-mix(in srgb,var(--card1) 90%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--pop,var(--accent)) 50%,var(--line));box-shadow:0 20px 50px -20px var(--shadow);display:flex;align-items:center;gap:14px;z-index:5;text-decoration:none}
.fcap i{flex:none;width:40px;height:46px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;font-size:19px}
.fcap b{display:block;font:800 16px/1.2 "TheSans"}
.fcap small{display:block;color:var(--muted);font-size:13px;line-height:1.35}
.fcap .go{margin-left:auto;flex:none;color:var(--pop,var(--accent));font-size:18px}
.fcap.swap>*{animation:fadeUp .3s ease both}

/* Brillo que sigue al cursor en tarjetas */
.spot{position:relative;isolation:isolate;overflow:hidden}
.spot::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(220px circle at var(--sx,50%) var(--sy,50%),color-mix(in srgb,var(--pop,var(--a1)) 22%,transparent),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none}
.spot:hover::before{opacity:1}

/* Línea de energía en tarjetas clave */
.info,.finder,.quick-card{position:relative}
.info::after,.finder::after,.quick-card::after{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--pop,var(--accent)),var(--pop2,var(--accent)),transparent);background-size:200% 100%;animation:energy 4s linear infinite;pointer-events:none}
@keyframes energy{to{background-position:-200% 0}}

/* Panal y botones con el color fuerte */
.cell:hover,.cell:focus-visible,.cell.on{background:var(--pop,var(--accent))}
.cell:hover .cell-in,.cell:focus-visible .cell-in,.cell.on .cell-in{background:linear-gradient(170deg,var(--pop,var(--a1)),var(--a2))}
.hstat b{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.hstat:hover b{transform:rotate(30deg) scale(1.05)}
.btn-acc{background-image:linear-gradient(110deg,var(--pop,var(--a1)),var(--a2) 55%,var(--pop,var(--a1)));background-size:200% 100%;transition:background-position .5s,filter .25s}
.btn-acc:hover{background-position:100% 0}
.tag{color:var(--pop-tag,var(--accent))}

@media (max-width:680px){
  .flower{margin-bottom:70px}
  .fcap{bottom:-22%}
  .flower .h .lb{font-size:10px;bottom:17%}
}
@media (prefers-reduced-motion:reduce){.flower .pulse{display:none}}
.flower .h{animation-fill-mode:backwards}
.hero .flower{margin-bottom:60px}


/* ===== Ajustes finos para celulares ===== */
body.nav-open{overflow:hidden}
body.nav-open .nav{top:var(--hb,84px)!important}
@media (max-width:1150px){
  body.nav-open .nav>a,body.nav-open .nav .has-sub>button{font-size:17px;padding:15px 12px;width:100%;border-bottom:1px solid var(--line);border-radius:0}
  body.nav-open .sub a{padding:13px 14px;font-size:16px}
}
@media (max-width:680px){
  section{padding:64px 0}
  .h2{font-size:clamp(28px,8vw,40px)}
  .hero{padding:34px 0 50px}
  .hero h1{font-size:clamp(34px,10vw,46px);margin:16px 0}
  .hero p{font-size:17.5px}
  .hero .ctas .btn{flex:1 1 100%;justify-content:center}
  .topbar .wrap{height:auto;justify-content:center}
  .topbar a{min-height:40px;margin:0 8px}
  .topbar a[data-href=tickets]{display:none}
  .qchips button{min-height:44px;padding:8px 16px}
  .flower .h .lb{font-size:11px;bottom:16%}
  .flower .hint{display:none}
  .finder .clear{width:44px;height:44px}
  .hexlogos{gap:8px 6px}
  .hexlogos .logo-tile{width:calc((100% - 12px)/3);max-width:150px;padding:0 14px}
  .hexlogos .logo-tile:nth-child(odd),.hexlogos .logo-tile:nth-child(odd):hover{transform:none}
  .hexlogos .logo-tile img{max-height:54px}
  .hexlogos .logo-tile.is-text span{font-size:12px}
  .certs{gap:8px}
  .cert{width:calc((100% - 16px)/3);max-width:130px}
  .cert-mark{font-size:16px}
  .cert-tag{font-size:9.5px;letter-spacing:.04em}
  .faq summary{font-size:17px;padding:18px 0}
  .info{padding:24px 20px;min-height:0}
  .info .btns .btn{flex:1 1 auto;justify-content:center}
  .diag-main .fnav .btn{flex:1;justify-content:center}
  .cta-band h2{font-size:30px}
  .res a{min-height:0;flex-direction:row;align-items:center;gap:14px}
  .res .ic{margin:0}
  .res a span{margin-left:auto;text-align:right}
  .fgrid>div:first-child .recom a,.faq a{display:inline-block;padding:8px 0}
}
@media (max-width:380px){
  .wrap{padding:0 14px}
  .quick-list a{padding:13px 12px}
  .cinfo a,.cinfo div{padding:14px 12px}
}

/* Celular: carruseles deslizables, logos legibles y bloques compactos */
@media (max-width:680px){
  .hexlogos .logo-tile img{width:80%;max-width:none;height:56px;object-fit:contain}
  .pains,.steps,.spec{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:-16px;margin-right:-16px;padding:4px 16px 14px;scroll-padding:0 16px;scrollbar-width:none}
  .pains::-webkit-scrollbar,.steps::-webkit-scrollbar,.spec::-webkit-scrollbar{display:none}
  .pains>*,.steps>*,.spec>*{scroll-snap-align:start}
  .swipe{display:flex;align-items:center;gap:8px;margin-top:6px;font:600 13px 'TheSans';color:var(--muted)}
  .swipe i{display:flex;gap:5px}
  .swipe i b{width:7px;height:8px;clip-path:var(--hex);background:var(--line)}
  .swipe i b.on{background:var(--pop,var(--accent))}
  .hstats{grid-template-columns:1fr 1fr;gap:10px}
  .hstat{flex-direction:column;text-align:center;gap:10px;padding:18px 12px}
  .hstat b{width:70px;height:80px;font-size:25px}
  .hstat span{font-size:14px}
  .diag-side{padding:22px 20px}
  .diag-side h3{font-size:26px}
  .diag-side>p,.diag-side .note{display:none}
  .prog{display:flex;justify-content:space-between;margin-top:16px;gap:6px}
  .prog li{flex-direction:column;gap:6px;font-size:11.5px;text-align:center;flex:1}
  .honey-list li{padding:11px 14px}
  .info .hint{display:none}
}
@media (min-width:681px){.swipe{display:none}}
@media (max-width:380px){.pains,.steps,.spec{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;scroll-padding:0 14px}}
@media (max-width:680px){.fgrid{grid-template-columns:1fr 1fr;gap:28px 18px}.fgrid>div:first-child,.fgrid>div:last-child{grid-column:1/-1}footer a{padding:8px 0}}
@media (max-width:680px){body.nav-open .nav{padding-bottom:110px!important}}

/* Anillo de puntos verdes alrededor del panal del hero */
.flower .ring{border:2px dotted var(--green);opacity:.75;box-shadow:0 0 30px -10px var(--green)}

/* ---- 06-plataforma.css ---- */
/* ===== Plataforma de gestión para clientes + links externos ===== */
.plat{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.plat>*{min-width:0}
.plat-lead{color:var(--muted);font-size:18px;margin:20px 0 26px}
.plat-mods{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pmod{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:left;color:var(--text);font:inherit;cursor:pointer;transition:.2s}
.pmod i{flex:none;width:38px;height:44px;clip-path:var(--hex);display:grid;place-items:center;background:var(--cell1);color:var(--cell-icon);font-size:18px;transition:.25s}
.pmod b{display:block;font-size:15px;line-height:1.2}
.pmod small{display:block;color:var(--muted);font-size:12.5px;line-height:1.3}
.pmod:hover,.pmod.on{border-color:var(--pop,var(--accent));background:color-mix(in srgb,var(--pop,var(--a1)) 12%,var(--surface))}
.pmod.on i,.pmod:hover i{background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff}

.plat-ui{position:relative;border-radius:22px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 60px 100px -50px var(--shadow);overflow:hidden}
.plat-ui::after{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--pop,var(--accent)),var(--pop2,var(--accent)),transparent);background-size:200% 100%;animation:energy 4s linear infinite}
.pu-top{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);font:500 12.5px ui-monospace,Consolas,monospace;color:var(--muted)}
.pu-top>i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.pu-top span{margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pu-top em{margin-left:auto;font-style:normal;display:flex;align-items:center;gap:7px;white-space:nowrap}
.plat .led{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);flex:none;display:inline-block}
.plat .led.w8{background:#fbbf24;box-shadow:0 0 10px #fbbf24}
.pu-body{display:grid;grid-template-columns:60px 1fr}
.pu-side{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 0;border-right:1px solid var(--line)}
.pu-side button{width:40px;height:40px;border-radius:12px;border:0;background:none;color:var(--muted);font-size:18px;display:grid;place-items:center;cursor:pointer;transition:.2s}
.pu-side button:hover{background:var(--hov);color:var(--text)}
.pu-side button.on{background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff}
.pu-main{padding:18px;display:grid;gap:12px;min-width:0}
.pu-head{display:flex;align-items:center;gap:12px}
.pu-ic{flex:none;width:42px;height:48px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;font-size:20px}
.pu-head b{display:block;font-size:18px}
.pu-head small{color:var(--muted);font-size:13px}
.pu-head.swap>*{animation:fadeUp .3s ease both}
.pu-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pu-kpis>div{padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);min-width:0}
.pu-kpis small{display:block;color:var(--muted);font-size:11.5px;line-height:1.2}
.pu-kpis b{display:block;font:900 26px/1.1 "TheSans";margin:6px 0 8px}
.pu-kpis b span{font-size:14px;color:var(--muted);font-weight:600}
.pu-kpis i{display:block;height:4px;border-radius:4px;background:var(--line);position:relative;overflow:hidden}
.pu-kpis i::after{content:"";position:absolute;inset:0;width:var(--v);background:linear-gradient(90deg,var(--pop,var(--a1)),var(--pop2,var(--accent)));border-radius:4px;animation:bar 1.6s ease both}
@keyframes bar{from{width:0}}
.pu-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}
.pu-map,.pu-list{position:relative;padding:12px;border-radius:12px;background:var(--surface);border:1px solid var(--line);min-width:0}
.pu-map small,.pu-list small{display:block;color:var(--muted);font-size:11.5px;margin-bottom:8px}
.pu-map{min-height:150px;overflow:hidden}
.pu-map svg{position:absolute;inset:30px 0 0;width:100%;height:calc(100% - 30px)}
.pu-map .rd{fill:none;stroke:var(--line);stroke-width:5;stroke-linecap:round}
.pin{position:absolute;width:14px;height:16px;clip-path:var(--hex);background:var(--pop,var(--a1))}
.pin.p2{background:var(--pop2,var(--accent))}
.pin.p3{background:var(--soft)}
.pin::after{content:"";position:absolute;inset:0}
.pin{animation:pinb 2.4s ease-in-out infinite}
.pin.p2{animation-delay:.8s}.pin.p3{animation-delay:1.6s}
@keyframes pinb{50%{transform:translateY(-5px) scale(1.15)}}
.pu-list div{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;background:var(--hov);font-size:13px;margin-top:6px;min-width:0}
.pu-list div em{margin-left:auto;font-style:normal;font-size:11.5px;color:var(--green);white-space:nowrap}
.pu-list div em.w8{color:#fbbf24}
.pu-note{padding:0 18px 14px;color:var(--muted);font-size:12px}

/* Bloque "incluido" en el Diagnóstico express */
.diag-plat{display:flex;gap:12px;align-items:center;margin-top:22px;padding:14px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:inherit;text-decoration:none;font-size:13.5px;line-height:1.35;position:relative;z-index:1;transition:.2s}
.diag-plat:hover{background:rgba(255,255,255,.2)}
.diag-plat .ic{font-size:24px;flex:none}
.diag-plat b{display:block;font-size:15px}
.incl{display:flex;gap:14px;margin:0 0 20px;padding:16px;border-radius:16px;border:1px dashed color-mix(in srgb,var(--pop,var(--accent)) 60%,var(--line));background:color-mix(in srgb,var(--pop,var(--a1)) 8%,var(--surface))}
.incl>i{flex:none;width:42px;height:48px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;font-size:20px}
.incl b{display:block;font-size:15.5px}
.incl small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.incl-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.incl-mods span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:12.5px}
.incl-mods .ic{color:var(--pop,var(--accent))}

/* Links externos en listas (ej. Nundina) */
li a.ext{color:inherit;text-decoration:none}
li a.ext b{text-decoration:underline;text-decoration-color:var(--pop,var(--accent));text-decoration-thickness:2px;text-underline-offset:3px}
li a.ext b::after{content:" ↗";font-weight:400;color:var(--pop,var(--accent))}
li a.ext:hover b{color:var(--pop,var(--accent))}
a.logo-tile{cursor:pointer}

@media (max-width:1150px){.plat{grid-template-columns:1fr}}
@media (max-width:680px){
  .plat-lead{font-size:16.5px}
  .plat-mods{grid-template-columns:1fr 1fr;gap:8px}
  .pmod{padding:10px;gap:9px}
  .pmod i{width:32px;height:37px;font-size:15px}
  .pmod b{font-size:13.5px}
  .pmod small{display:none}
  .pu-body{grid-template-columns:1fr}
  .pu-side{flex-direction:row;justify-content:space-between;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}
  .pu-side button{width:36px;height:36px;flex:none}
  .pu-main{padding:12px}
  .pu-kpis{gap:6px}
  .pu-kpis b{font-size:21px}
  .pu-kpis small{font-size:10.5px}
  .pu-grid{grid-template-columns:1fr}
  .pu-top span{display:none}
  .plat .ctas .btn{flex:1 1 100%;justify-content:center}
  .incl{flex-direction:column}
}

/* ---- 07-paginas.css ---- */
/* ===== Sitio multipágina: encabezados internos, menú activo, mapas y navegación entre páginas ===== */

/* Página actual en el menú */
.nav>a[aria-current="page"],.nav .has-sub.cur>button{opacity:1;color:var(--text);background:var(--hov);box-shadow:inset 0 -2px 0 var(--pop,var(--accent))}

/* Encabezado de páginas internas */
.page-hero{position:relative;overflow:hidden;padding:56px 0 64px;border-bottom:1px solid var(--line)}
.page-hero .wrap{display:grid;grid-template-columns:1.4fr .8fr;gap:40px;align-items:center}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);margin-bottom:18px}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.crumbs span[aria-current]{color:var(--text);font-weight:600}
.page-hero h1{font-size:clamp(36px,4.6vw,64px);font-weight:900;letter-spacing:-.035em;margin:14px 0}
.page-hero h1 span{font-weight:200;color:var(--hero-span,var(--soft));background:var(--hero-grad,none);-webkit-background-clip:text;background-clip:text}
.page-hero p.lead{color:var(--muted);font-size:19px;max-width:620px;margin:0 0 28px}
.page-hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.ph-art{position:relative;aspect-ratio:1/1.3;max-width:320px;width:100%;margin-left:auto}
.ph-art i{position:absolute;width:44%;top:0;aspect-ratio:1/1.1547;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--cell1),var(--cell2));color:var(--cell-icon);font-size:clamp(26px,3vw,40px);animation:pop .7s cubic-bezier(.3,1.5,.5,1) both}
.ph-art i:nth-child(1){left:28%;top:0;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff}
.ph-art i:nth-child(2){left:5%;top:39%;animation-delay:.1s}
.ph-art i:nth-child(3){left:51%;top:39%;animation-delay:.2s;background:linear-gradient(160deg,var(--n1),var(--n2));color:#fff}
.ph-art i:nth-child(4){left:28%;top:78%;animation-delay:.3s}
.ph-art::before{content:"";position:absolute;left:-12%;right:-12%;top:7%;aspect-ratio:1;border-radius:50%;border:2px dotted var(--green);opacity:.55;animation:spin 50s linear infinite}

/* Barra de saltos dentro de una página */
.jump{position:sticky;top:84px;z-index:40;background:var(--hdr);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.jump .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.jump .wrap::-webkit-scrollbar{display:none}
.jump a{flex:none;display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-weight:600;font-size:14px;color:var(--muted);transition:.2s}
.jump a:hover,.jump a.on{color:var(--text);border-color:var(--pop,var(--accent))}
.jump a .ic{color:var(--pop,var(--accent))}
section[id],article[id]{scroll-margin-top:150px}

/* Adelanto de la plataforma en el inicio */
.teaser{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:44px;border-radius:28px;background:linear-gradient(170deg,var(--card1),var(--card2));border:1px solid var(--line);box-shadow:0 50px 90px -60px var(--shadow);position:relative;overflow:hidden}
.teaser::after{content:"";position:absolute;right:-70px;bottom:-80px;width:260px;height:300px;clip-path:var(--hex);background:linear-gradient(160deg,color-mix(in srgb,var(--pop,var(--a1)) 28%,transparent),transparent)}
.teaser h2{font-size:clamp(28px,3.2vw,42px);font-weight:900;margin:14px 0 12px}
.teaser h2 span{font-weight:200;color:var(--soft)}
.teaser p{color:var(--muted);margin:0 0 22px}
.teaser .chips-mods{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.teaser .chips-mods span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);font-size:14.5px;font-weight:600}
.teaser .chips-mods .ic{color:var(--pop,var(--accent));font-size:18px}

/* Tarjetas "Seguí explorando" entre páginas */
.next-pages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.np{position:relative;display:flex;flex-direction:column;gap:8px;padding:28px;border-radius:22px;background:var(--surface);border:1px solid var(--line);text-decoration:none;transition:.3s;overflow:hidden}
.np:hover{border-color:var(--pop,var(--accent));transform:translateY(-4px)}
.np i{width:50px;height:58px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;font-size:22px;margin-bottom:8px}
.np b{font-size:21px}
.np span{color:var(--muted);font-size:15px}
.np em{margin-top:auto;padding-top:12px;font-style:normal;font-weight:700;color:var(--pop,var(--accent));display:flex;align-items:center;gap:6px}

/* Mapas de oficinas */
.offices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.office{border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.office iframe{display:block;width:100%;height:280px;border:0;filter:grayscale(.35) contrast(1.05)}
.office div{display:flex;align-items:center;gap:14px;padding:18px 20px}
.office div i{flex:none;width:42px;height:48px;clip-path:var(--hex);display:grid;place-items:center;background:linear-gradient(160deg,var(--pop,var(--a1)),var(--a2));color:#fff;font-size:19px}
.office b{display:block;font-size:17px}
.office small{color:var(--muted);font-size:14px}
.office a.btn{margin-left:auto;height:42px;font-size:14px;padding:0 14px}

.sec-intro{max-width:760px}
.sec-intro p{color:var(--muted);font-size:18px;margin:14px 0 0}

@media (max-width:1150px){
  .page-hero .wrap,.teaser{grid-template-columns:1fr}
  .ph-art{display:none}
  .next-pages{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .page-hero{padding:34px 0 44px}
  .page-hero h1{font-size:clamp(32px,9vw,44px)}
  .page-hero p.lead{font-size:17px}
  .page-hero .ctas .btn{flex:1 1 100%;justify-content:center}
  .jump{top:84px}
  .teaser{padding:26px 20px}
  .next-pages,.offices{grid-template-columns:1fr}
  .office iframe{height:220px}
  .office div{flex-wrap:wrap}
  .office a.btn{margin-left:0;width:100%;justify-content:center}
}
