/* ══════════════════════════════════════════════════════════════════
   eDesign.com.pa · STYLES.CSS — home (ES + EN)
   Requiere brand.css cargado antes. Aquí NO se declaran
   tipografías ni colores de marca: viven en brand.css.
   ══════════════════════════════════════════════════════════════════ */

:root{ --max:1240px; }
body{ background:var(--deep); color:#fff; overflow-x:hidden; }

/* ══════════ HEADER ══════════ */
header{
  position:fixed;inset:0 0 auto 0;z-index:60;
  transition:background .35s var(--ease),border-color .35s var(--ease),backdrop-filter .35s;
  border-bottom:1px solid transparent;
}
header.stuck{
  background:rgba(8,21,37,.78);backdrop-filter:blur(14px) saturate(1.3);
  border-bottom-color:var(--line);
}
.hin{display:flex;align-items:center;justify-content:space-between;height:114px;gap:20px;}
.hlogo{height:80px;width:auto;transition:height .35s var(--ease);}
header.stuck .hlogo{height:65px;}
.nav{display:flex;align-items:center;gap:26px;}
.nlink{
  font-size:14px;font-weight:500;color:rgba(255,255,255,.78);
  position:relative;padding:4px 0;transition:color .2s;
}
.nlink span.n{
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--green);
  opacity:0;margin-right:5px;transition:opacity .25s;
}
.nlink:hover{color:#fff;}
.nlink:hover span.n{opacity:.9;}
.nlink::after{
  content:'';position:absolute;left:0;bottom:-3px;height:1.5px;width:0;
  background:var(--green);transition:width .3s var(--ease);
}
.nlink:hover::after{width:100%;}

.wa-top{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--green);color:#0B1B2D;font-weight:700;font-size:14px;
  padding:11px 20px 11px 16px;border-radius:999px;
  position:relative;transition:transform .25s var(--ease),box-shadow .25s;
  box-shadow:0 0 0 0 rgba(122,201,67,.45);
}
.wa-top:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(122,201,67,.75);}
.wa-top svg{width:17px;height:17px;}
.mtog{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);
  flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.mtog i{display:block;width:17px;height:1.6px;background:#fff;border-radius:2px;}

/* ══════════ HERO SHELL ══════════ */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:150px 0 0;overflow:hidden;}

/* background layers */
.bg{position:absolute;inset:0;z-index:0;pointer-events:none;}
.bg-base{background:
   radial-gradient(120% 90% at 78% 12%, #143451 0%, rgba(20,52,81,0) 60%),
   radial-gradient(90% 70% at 8% 90%, #10283f 0%, rgba(16,40,63,0) 65%),
   linear-gradient(180deg,#0B1D31 0%,#081525 100%);}
.bg-grid{
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(110% 85% at 60% 30%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(110% 85% at 60% 30%, #000 20%, transparent 78%);
}
/* radar sweep anchored to the panel side */
.bg-sweep{
  position:absolute;top:-16%;right:-14%;width:1000px;height:1000px;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(122,201,67,.16) 0deg, rgba(122,201,67,0) 42deg, rgba(122,201,67,0) 360deg);
  animation:sweep 11s linear infinite;
  mask-image:radial-gradient(circle, #000 32%, transparent 71%);
  -webkit-mask-image:radial-gradient(circle, #000 32%, transparent 71%);
  opacity:.75;
}
@keyframes sweep{to{transform:rotate(360deg);}}
.bg-rings{position:absolute;top:-16%;right:-14%;width:1000px;height:1000px;}
.bg-rings i{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid rgba(122,201,67,.10);}
.bg-rings i:nth-child(1){width:38%;height:38%;}
.bg-rings i:nth-child(2){width:60%;height:60%;}
.bg-rings i:nth-child(3){width:82%;height:82%;border-style:dashed;border-color:rgba(122,201,67,.08);}
/* cursor spotlight */
.bg-spot{
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,40%), rgba(122,201,67,.10), transparent 70%);
  transition:background .12s linear;
}
/* grain */
.bg-grain{opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");}

.hero-in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:64px;align-items:center;
  width:100%;padding-bottom:34px;}
.hero-in>*{min-width:0;}

/* ── entry switch ── */
.entries{display:flex;gap:7px;margin-bottom:24px;flex-wrap:wrap;}
.entry{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line-2);border-radius:999px;padding:6px 13px 6px 11px;
  font-size:11.8px;letter-spacing:.01em;color:rgba(255,255,255,.62);
  font-family:'JetBrains Mono',monospace;
  transition:color .25s,border-color .25s,background .25s;
}
.entry i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55;transition:.25s;}
.entry:hover{color:#fff;border-color:rgba(255,255,255,.3);}
.entry.on{color:#0B1B2D;background:var(--green);border-color:var(--green);font-weight:500;}
.entry.on i{background:#0B1B2D;opacity:1;box-shadow:0 0 0 3px rgba(11,27,45,.18);}

h1{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(34px,4.05vw,55px);line-height:1.05;letter-spacing:-.03em;
  max-width:15ch;
}
h1 .acc{color:var(--green);display:block;}
.lede{
  margin-top:20px;font-size:clamp(15.5px,1.22vw,17.5px);color:var(--txt);
  max-width:52ch;
}
.hero-ctas{display:flex;gap:13px;align-items:center;margin-top:30px;flex-wrap:wrap;}
.btn-p{
  display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#0B1B2D;
  font-weight:700;font-size:15px;padding:15px 26px;border-radius:999px;
  transition:transform .2s var(--ease),box-shadow .3s;will-change:transform;
  box-shadow:0 14px 40px -18px rgba(122,201,67,.9);
}
.btn-p:hover{box-shadow:0 20px 46px -16px rgba(122,201,67,.95);}
.btn-g{
  display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;
  border:1px solid var(--line-2);font-size:15px;font-weight:500;color:rgba(255,255,255,.85);
  transition:border-color .25s,background .25s,color .25s;
}
.btn-g:hover{border-color:rgba(122,201,67,.6);background:rgba(122,201,67,.08);color:#fff;}
.btn-g svg{width:16px;height:16px;stroke:var(--green);stroke-width:2;fill:none;}

.trust{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap;}
.trust .tnum{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.02em;line-height:1.1;display:block;}
.trust .tlbl{font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.35;display:block;max-width:20ch;margin-top:2px;}
.tsep{width:1px;height:34px;background:var(--line);}

/* ══════════ DIAGNOSTIC PANEL ══════════ */
.panel-shell{perspective:1400px;}
.panel{
  position:relative;border-radius:20px;overflow:hidden;
  background:linear-gradient(165deg, rgba(22,50,79,.92), rgba(11,29,49,.94));
  border:1px solid var(--line-2);
  box-shadow:0 50px 120px -40px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.07);
  transform:rotateY(-5deg) rotateX(2.5deg);
  transform-style:preserve-3d;
  transition:transform .5s var(--ease);
}
.panel::after{
  content:'';position:absolute;inset:0;pointer-events:none;border-radius:20px;
  background:linear-gradient(120deg, rgba(255,255,255,.10), transparent 38%);
}
.panel-shell:hover .panel{transform:rotateY(-1.5deg) rotateX(1deg) translateY(-4px);}

.p-top{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.03);}
.p-dots{display:flex;gap:6px;}
.p-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.16);}
.p-title{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(255,255,255,.45);}
.p-live{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;
  font-size:10.5px;color:var(--green);border:1px solid rgba(122,201,67,.32);border-radius:999px;padding:4px 10px;}
.p-live i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blip 1.6s infinite;}
@keyframes blip{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.8);}}

.p-form{display:flex;gap:8px;padding:18px 18px 14px;}
.p-input{
  flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--line-2);border-radius:12px;
  padding:0 13px;background:rgba(8,21,37,.6);transition:border-color .25s,box-shadow .25s;
}
.p-input:focus-within{border-color:rgba(122,201,67,.65);box-shadow:0 0 0 4px rgba(122,201,67,.12);}
.p-input span{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(255,255,255,.3);}
.p-input input{
  flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-size:14.5px;padding:13px 0;
}
.p-input input::placeholder{color:rgba(255,255,255,.3);}
.p-run{
  background:var(--green);color:#0B1B2D;font-weight:700;font-size:14px;border-radius:12px;padding:0 20px;
  transition:filter .2s,transform .2s var(--ease);white-space:nowrap;
}
.p-run:hover{filter:brightness(1.07);transform:translateY(-1px);}
.p-run:disabled{opacity:.5;cursor:default;transform:none;}

.p-scan{position:relative;padding:4px 18px 8px;}
.scanline{
  position:absolute;left:0;right:0;height:78px;pointer-events:none;opacity:0;
  background:linear-gradient(180deg, transparent, rgba(122,201,67,.12) 55%, rgba(122,201,67,.34));
  border-bottom:1px solid rgba(122,201,67,.55);
}
.scanline.go{animation:scanmove 2.6s var(--ease) forwards;}
@keyframes scanmove{0%{opacity:1;transform:translateY(-70px);}90%{opacity:1;}100%{opacity:0;transform:translateY(330px);}}

.row{
  display:flex;align-items:center;gap:12px;padding:11.5px 4px;border-bottom:1px solid rgba(255,255,255,.055);
  opacity:0;transform:translateY(8px);
}
.row.in{opacity:1;transform:none;transition:opacity .45s var(--ease),transform .45s var(--ease);}
.row:last-child{border-bottom:none;}
.row .rl{font-size:14px;color:rgba(255,255,255,.8);flex:1;}
.pill{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.02em;
  border-radius:999px;padding:4px 10px;border:1px solid;white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
}
.pill i{width:5px;height:5px;border-radius:50%;background:currentColor;}
.pill.wait{color:rgba(255,255,255,.35);border-color:rgba(255,255,255,.14);}
.pill.wait i{animation:blip 1s infinite;}
.pill.ok{color:var(--green);border-color:rgba(122,201,67,.35);background:rgba(122,201,67,.09);}
.pill.warn{color:var(--amber);border-color:rgba(232,163,61,.35);background:rgba(232,163,61,.09);}
.pill.bad{color:var(--red);border-color:rgba(255,107,94,.38);background:rgba(255,107,94,.10);}

.p-foot{
  display:flex;align-items:center;gap:14px;justify-content:space-between;
  padding:16px 18px;border-top:1px solid var(--line);background:rgba(122,201,67,.06);
}
.p-verdict{font-size:13.5px;color:rgba(255,255,255,.72);max-width:34ch;}
.p-verdict b{color:#fff;font-weight:600;}
.p-cta{
  display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--green);
  border-bottom:1px solid rgba(122,201,67,.35);padding-bottom:2px;white-space:nowrap;transition:.25s;
}
.p-cta:hover{color:#fff;border-color:#fff;}
.p-note{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,.28);
  text-align:right;margin-top:10px;}

/* ══════════ MARQUEE ══════════ */
.marq{
  position:relative;z-index:2;border-top:1px solid var(--line);
  background:rgba(8,21,37,.5);overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marq-track{display:flex;gap:0;width:max-content;animation:marq 46s linear infinite;}
.marq-track span{
  font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(255,255,255,.38);
  padding:15px 0;display:flex;align-items:center;gap:26px;white-space:nowrap;
}
.marq-track span::after{content:'';width:5px;height:5px;border-radius:50%;background:rgba(122,201,67,.5);margin:0 26px;}
.marq-track span{padding:13px 0;}
@keyframes marq{to{transform:translateX(-50%);}}

.scroll-hint{
  position:absolute;bottom:76px;left:50%;transform:translateX(-50%);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(255,255,255,.3);
}
.scroll-hint b{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(122,201,67,.8),transparent);
  animation:drop 2.2s var(--ease) infinite;}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}
  51%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}

/* ── crossfade entre ángulos ── */
#hHead,#hLede,#hCta,#pTitle,#verdict,#rows{
  transition:opacity .38s var(--ease),transform .38s var(--ease);
}
.swapout{opacity:0!important;transform:translateY(10px);}
#hCta.swapout{transform:translateY(6px);}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:1080px){
  .hero-in{grid-template-columns:minmax(0,1fr);gap:44px;}
  .panel{transform:none;}
  h1{max-width:20ch;}
  .scroll-hint{display:none;}
  .bg-sweep,.bg-rings{right:-40%;top:-6%;}
}
@media(max-width:860px){
  .nav{
    position:fixed;inset:98px 0 auto 0;flex-direction:column;align-items:flex-start;gap:4px;
    background:rgba(8,21,37,.97);backdrop-filter:blur(16px);padding:18px 34px 26px;
    border-bottom:1px solid var(--line);
    clip-path:inset(0 0 100% 0);transition:clip-path .4s var(--ease);
  }
  .nav.open{clip-path:inset(0 0 0 0);}
  .nav .nlink{padding:12px 0;font-size:17px;width:100%;}
  .wa-top{margin-top:12px;}
  .mtog{display:flex;}
  .hin{height:98px;}
  .hlogo{height:64px;}
  header.stuck .hlogo{height:55px;}
  .hero{padding-top:128px;min-height:auto;}
  .wrap{padding:0 22px;}
  h1{font-size:clamp(30px,8.2vw,40px);max-width:none;}
  .lede{font-size:15.5px;margin-top:16px;}
  .hero-ctas{margin-top:26px;gap:10px;}
  .btn-p,.btn-g{flex:1;justify-content:center;padding:14px 14px;font-size:14px;white-space:nowrap;}
  .trust{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;}
  .tsep{display:none;}
  .trust .tnum{font-size:20px;}
  .trust .tlbl{font-size:12px;}
  .entries{margin-bottom:20px;}
  .hero-in{gap:34px;padding-bottom:26px;}
  .p-foot{flex-direction:column;align-items:flex-start;gap:10px;}
  .p-form{flex-wrap:wrap;}
  .p-run{width:100%;padding:13px 20px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .row{opacity:1;transform:none;}
}

/* ══════════ PILARES ══════════ */
section[id]{scroll-margin-top:120px;}
.pilares{
  position:relative;background:var(--off);color:var(--navy);
  padding:118px 0 124px;overflow:hidden;
}
.pilares::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(15,34,56,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,34,56,.045) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(90% 70% at 50% 0%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 0%,#000,transparent 75%);
}
.pilares .wrap{position:relative;z-index:1;}

.sec-head{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:end;margin-bottom:52px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--green-deep);margin-bottom:16px;
}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--green);}
.pilares h2{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(28px,3.2vw,43px);line-height:1.08;letter-spacing:-.028em;max-width:24ch;
}
.sec-lede{color:var(--slate);font-size:16.5px;max-width:44ch;padding-bottom:6px;}

.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}
.pc{
  position:relative;border-radius:20px;overflow:hidden;background:#fff;
  border:1px solid rgba(15,34,56,.09);
  display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .35s;
  box-shadow:0 2px 4px -2px rgba(15,34,56,.06);
}
.pc:hover{transform:translateY(-5px);border-color:rgba(122,201,67,.55);
  box-shadow:0 30px 60px -32px rgba(15,34,56,.42);}
.pc::after{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--green);
  transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);
}
.pc:hover::after{transform:scaleX(1);}

.pc{grid-column:span 5;}
.pc-lead{grid-column:span 7;grid-row:span 2;background:var(--navy);border-color:rgba(255,255,255,.1);color:#fff;}
.pc-lead:hover{box-shadow:0 34px 70px -30px rgba(15,34,56,.6);}

.pc-art{position:relative;padding:26px 26px 6px;}
.pc-lead .pc-art{padding:34px 30px 4px;flex:1;display:flex;align-items:center;}
.art-tag{
  position:absolute;top:18px;right:20px;z-index:2;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;
  color:var(--slate);opacity:.75;
}
.pc-lead .art-tag{color:rgba(255,255,255,.42);}
.ill{width:100%;height:auto;display:block;overflow:visible;}

.pc-body{padding:14px 26px 28px;}
.pc-lead .pc-body{padding:6px 30px 34px;}
.pc-body h3{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19.5px;
  letter-spacing:-.018em;line-height:1.2;margin-bottom:9px;
}
.pc-lead .pc-body h3{font-size:27px;max-width:22ch;}
.pc-body p{font-size:14.8px;color:var(--slate);max-width:46ch;}
.pc-lead .pc-body p{color:rgba(255,255,255,.66);font-size:15.5px;max-width:44ch;}

/* ── ilustración A: capas ── */
.ill-a .lay rect{fill:rgba(255,255,255,.045);stroke:rgba(255,255,255,.14);stroke-width:1;}
.ill-a .lay text{fill:rgba(255,255,255,.78);font-family:'IBM Plex Sans',sans-serif;font-size:14px;}
.ill-a .st{fill:rgba(255,255,255,.18);}
.ill-a .scanedge{stroke:#7AC943;stroke-width:1.5;opacity:.9;}
.pc-lead.on .ill-a .scanbar,.pc-lead.on .ill-a .scanedge{animation:aScan 5s var(--ease) infinite;}
.pc-lead.on .ill-a .st{animation:aDot 5s var(--ease) infinite;animation-delay:var(--d);}
.pc-lead.on .ill-a .lay rect{animation:aRow 5s var(--ease) infinite;animation-delay:var(--d);}
@keyframes aScan{
  0%{transform:translateY(0);opacity:0;}
  6%{opacity:1;}
  46%{transform:translateY(276px);opacity:1;}
  56%{transform:translateY(276px);opacity:0;}
  100%{transform:translateY(0);opacity:0;}
}
@keyframes aDot{0%,8%{fill:rgba(255,255,255,.18);}18%{fill:#FF6B5E;}40%{fill:#FF6B5E;}
  52%,100%{fill:#7AC943;}}
@keyframes aRow{0%,8%{fill:rgba(255,255,255,.045);}18%,40%{fill:rgba(255,107,94,.10);}
  52%,100%{fill:rgba(122,201,67,.09);}}

/* ── ilustración B: gates ── */
.ill-b .track{stroke:rgba(15,34,56,.14);stroke-width:2;}
.ill-b .track-done{stroke:var(--green);stroke-width:2;stroke-dasharray:272;stroke-dashoffset:272;}
.ill-b .gate circle{fill:#fff;stroke:rgba(15,34,56,.18);stroke-width:2;}
.ill-b .gate path{stroke:var(--green-deep);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:0;}
.ill-b .gate text{fill:var(--slate);font-family:'JetBrains Mono',monospace;font-size:9.5px;text-anchor:middle;}
.ill-b .cap{fill:rgba(15,34,56,.35);font-family:'JetBrains Mono',monospace;font-size:9.5px;}
.ill-b .token circle{fill:var(--green);}
.ill-b .token .halo{fill:rgba(122,201,67,.18);}
.ill-b .token{transform:translate(34px,86px);}
.pc.on .ill-b .track-done{animation:bTrack 5.4s var(--ease) infinite;}
.pc.on .ill-b .token{animation:bTok 5.4s var(--ease) infinite;}
.pc.on .ill-b .gate path{animation:bCheck 5.4s var(--ease) infinite;animation-delay:var(--d);}
.pc.on .ill-b .gate circle{animation:bRing 5.4s var(--ease) infinite;animation-delay:var(--d);}
@keyframes bTrack{0%{stroke-dashoffset:272;}12%{stroke-dashoffset:272;}
  30%{stroke-dashoffset:181;}52%{stroke-dashoffset:91;}74%{stroke-dashoffset:0;}92%{stroke-dashoffset:0;}100%{stroke-dashoffset:272;}}
@keyframes bTok{0%,12%{transform:translate(34px,86px);}30%{transform:translate(124px,86px);}
  38%{transform:translate(124px,86px);}52%{transform:translate(215px,86px);}
  60%{transform:translate(215px,86px);}74%,92%{transform:translate(306px,86px);}
  100%{transform:translate(34px,86px);}}
@keyframes bCheck{0%,4%{opacity:0;}14%,88%{opacity:1;}100%{opacity:0;}}
@keyframes bRing{0%,4%{stroke:rgba(15,34,56,.18);}14%,88%{stroke:var(--green);}100%{stroke:rgba(15,34,56,.18);}}

/* ── ilustración C: datos ── */
.ill-c .srcs rect{fill:#fff;stroke:rgba(15,34,56,.16);stroke-width:1;}
.ill-c .srcs text{fill:var(--slate);font-family:'JetBrains Mono',monospace;font-size:9px;text-anchor:middle;}
.ill-c .feed{stroke:rgba(15,34,56,.16);stroke-width:1.5;fill:none;stroke-dasharray:4 5;}
.ill-c .hub{fill:var(--navy);}
.ill-c .curve{stroke:var(--green);stroke-width:2.5;fill:none;stroke-linecap:round;
  stroke-dasharray:230;stroke-dashoffset:230;}
.ill-c .head{fill:var(--navy);stroke:var(--green);stroke-width:2.5;opacity:0;}
.ill-c .cap{fill:rgba(15,34,56,.35);font-family:'JetBrains Mono',monospace;font-size:9.5px;}
.pc.on .ill-c .feed{animation:cFeed 4.6s linear infinite;}
.pc.on .ill-c .srcs g rect{animation:cSrc 4.6s var(--ease) infinite;animation-delay:var(--d);}
.pc.on .ill-c .curve{animation:cDraw 4.6s var(--ease) infinite;}
.pc.on .ill-c .head{animation:cHead 4.6s var(--ease) infinite;}
.pc.on .ill-c .hub{animation:cHub 4.6s var(--ease) infinite;}
@keyframes cFeed{to{stroke-dashoffset:-36;}}
@keyframes cSrc{0%,10%{stroke:rgba(15,34,56,.16);}22%,44%{stroke:var(--green);}100%{stroke:rgba(15,34,56,.16);}}
@keyframes cHub{0%,30%{fill:var(--navy);}42%{fill:var(--green);}70%,100%{fill:var(--navy);}}
@keyframes cDraw{0%,34%{stroke-dashoffset:230;}78%,92%{stroke-dashoffset:0;}100%{stroke-dashoffset:230;}}
@keyframes cHead{0%,72%{opacity:0;}80%,92%{opacity:1;}100%{opacity:0;}}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(22px);}
.reveal.seen{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);}

@media(max-width:1080px){
  .sec-head{grid-template-columns:1fr;gap:18px;align-items:start;}
  .pilares h2{max-width:24ch;}
  .pc,.pc-lead{grid-column:span 12;grid-row:auto;}
  .pilares{padding:86px 0 92px;}
}
@media(max-width:860px){
  .pc-lead .pc-body h3{font-size:22px;}
  .pc-art,.pc-lead .pc-art{padding:22px 20px 4px;}
  .pc-body,.pc-lead .pc-body{padding:12px 20px 26px;}
  .sec-lede{font-size:15.5px;}
}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;}
}


/* ══════════ POR QUÉ ELEGIRNOS ══════════ */
.why{position:relative;background:var(--navy);color:#fff;padding:118px 0 124px;overflow:hidden;}
.why-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(70% 60% at 18% 0%, rgba(122,201,67,.09), transparent 62%),
    radial-gradient(60% 60% at 92% 88%, rgba(30,73,113,.55), transparent 65%);
}
.why .wrap{position:relative;z-index:1;}
.sec-head-d h2{
  font-family:'Space Grotesk',sans-serif;font-weight:700;color:#fff;
  font-size:clamp(28px,3.2vw,43px);line-height:1.08;letter-spacing:-.028em;max-width:20ch;
}
.eyebrow.lt{color:var(--green);}
.sec-lede.lt{color:rgba(255,255,255,.6);}
.art-tag.lt{position:static;color:rgba(255,255,255,.38);}

.why-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}
.wc{
  border-radius:20px;border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  padding:28px 28px 26px;position:relative;overflow:hidden;
  transition:border-color .35s,background .35s,transform .45s var(--ease);
}
.wc:hover{border-color:rgba(122,201,67,.45);transform:translateY(-4px);}
.wc-count{grid-column:span 7;grid-row:span 3;display:flex;flex-direction:column;}
.wc-diff{grid-column:span 5;}

.wc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;}
.bignum{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(46px,5.4vw,74px);
  line-height:.95;letter-spacing:-.035em;display:block;
}
.bignum-lbl{display:block;color:rgba(255,255,255,.55);font-size:14.5px;margin-top:8px;}

.field{
  display:grid;grid-template-columns:repeat(40,1fr);gap:22%;
  gap:clamp(3px,.95%,8px);flex:1;align-content:center;margin:4px 0 22px;
}
.field span{
  aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.085);
  transition:background .55s var(--ease),transform .55s var(--ease);
  transform:scale(.8);
}
.field.go span{background:rgba(122,201,67,var(--o,.7));transform:scale(1);}
.wc-foot{color:rgba(255,255,255,.6);font-size:14.5px;max-width:56ch;margin-top:auto;}

.wc-diff h3{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.015em;
  margin-bottom:16px;
}
.vs{display:flex;flex-direction:column;gap:11px;}
.vs span{display:flex;gap:11px;font-size:14.6px;line-height:1.45;align-items:flex-start;}
.vs i{
  font-style:normal;flex:none;width:20px;height:20px;border-radius:6px;
  display:grid;place-items:center;font-size:11px;margin-top:1px;
  transition:background .45s var(--ease),color .45s var(--ease);
}
.vs-no{color:rgba(255,255,255,.34);}
.vs-no i{background:rgba(255,255,255,.08);color:rgba(255,255,255,.4);}
.vs-no{position:relative;}
.vs-no b,.vs-no{transition:color .5s var(--ease);}
.vs-yes{color:rgba(255,255,255,.9);}
.vs-yes i{background:rgba(122,201,67,.14);color:var(--green);}

/* tachado que se dibuja al entrar en pantalla */
.vs-no b{
  font-weight:400;position:relative;display:inline;
  background-image:linear-gradient(rgba(255,255,255,.38),rgba(255,255,255,.38));
  background-repeat:no-repeat;background-position:0 58%;background-size:0% 1px;
  transition:background-size .75s var(--ease) .3s;
}
.wc.seen .vs-no b{background-size:100% 1px;}
.wc.seen .vs-yes i{background:rgba(122,201,67,.2);box-shadow:0 0 0 4px rgba(122,201,67,.08);}

@media(max-width:1080px){
  .why{padding:86px 0 92px;}
  .wc-count,.wc-diff{grid-column:span 12;grid-row:auto;}
  .field{margin-bottom:20px;}
}
@media(max-width:860px){
  .wc{padding:22px 20px;}
  .wc-head{display:block;}
  .art-tag.lt{display:block;margin-top:12px;}
  .bignum-lbl{margin-top:6px;}
  .vs span{font-size:14px;}
}


/* ══════════ SERVICIOS ANCLA (franja) ══════════ */
.anclas{margin-top:66px;padding-top:34px;border-top:1px solid rgba(15,34,56,.11);}
.anclas-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:22px;}
.anclas-head h3{
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:19px;
  letter-spacing:-.015em;color:var(--navy);
}
.anclas-head p{font-size:14.5px;color:var(--slate);}

.anclas-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.anc{
  position:relative;display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(15,34,56,.1);border-radius:14px;
  padding:18px 17px 15px;min-height:172px;
  transition:transform .35s var(--ease),border-color .3s,box-shadow .35s var(--ease);
}
.anc:hover{transform:translateY(-3px);border-color:rgba(122,201,67,.6);
  box-shadow:0 16px 32px -22px rgba(15,34,56,.45);}
.anc-ic{width:22px;height:22px;fill:none;stroke:var(--green-deep);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px;}
.anc-sint{font-size:14px;line-height:1.42;color:var(--navy);font-weight:500;margin-bottom:16px;}
.anc-svc{
  margin-top:auto;display:flex;align-items:center;gap:7px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.02em;
  color:var(--slate);text-transform:uppercase;
}
.anc-svc svg{width:14px;height:14px;fill:none;stroke:var(--green-deep);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:translateX(-5px);
  transition:opacity .3s,transform .35s var(--ease);}
.anc:hover .anc-svc{color:var(--navy);}
.anc:hover .anc-svc svg{opacity:1;transform:none;}
.anc-freq{
  position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:5px;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.03em;
  color:var(--green-deep);
}
.anc-freq i{width:5px;height:5px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(122,201,67,.55);animation:freqp 2.6s ease infinite;}
@keyframes freqp{0%{box-shadow:0 0 0 0 rgba(122,201,67,.5);}70%{box-shadow:0 0 0 7px rgba(122,201,67,0);}100%{box-shadow:0 0 0 0 rgba(122,201,67,0);}}

@media(max-width:1080px){
  .anclas-grid{grid-template-columns:repeat(2,1fr);}
  .anclas{margin-top:44px;}
}
@media(max-width:560px){
  .anclas-grid{grid-template-columns:1fr;}
  .anc{min-height:0;}
}


/* ══════════ SOBRE eDESIGN ══════════ */
.about{position:relative;background:#fff;color:var(--navy);padding:118px 0 126px;overflow:hidden;}
.about::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 45% at 12% 6%, rgba(122,201,67,.07), transparent 60%);
}
.about-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start;}
.about-left{position:sticky;top:150px;}

.mark{position:relative;width:96px;height:96px;margin-bottom:28px;display:grid;place-items:center;}
.mark img{width:76px;height:76px;border-radius:50%;position:relative;z-index:2;}
.mark-ring{
  position:absolute;inset:0;border-radius:50%;border:1px solid rgba(122,201,67,.45);
  animation:markPulse 3.6s var(--ease) infinite;
}
.mark-ring.r2{animation-delay:1.8s;}
@keyframes markPulse{0%{transform:scale(.82);opacity:0;}25%{opacity:.9;}100%{transform:scale(1.35);opacity:0;}}

.about h2{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(28px,3.1vw,42px);line-height:1.08;letter-spacing:-.028em;max-width:15ch;margin-bottom:20px;
}
.about-p{color:var(--slate);font-size:15.8px;max-width:52ch;margin-bottom:14px;}

.shift{display:flex;align-items:center;gap:16px;margin:28px 0 30px;flex-wrap:wrap;}
.shift-a,.shift-b{display:flex;flex-direction:column;gap:3px;}
.shift-yr{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--slate);}
.shift-lbl{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15.5px;letter-spacing:-.01em;}
.shift-a .shift-lbl{color:rgba(15,34,56,.4);}
.shift-b .shift-lbl{color:var(--navy);}
.shift-b .shift-yr{color:var(--green-deep);}
.shift-arrow{width:52px;height:20px;fill:none;stroke:var(--green);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}
.shift-arrow path{stroke-dasharray:70;stroke-dashoffset:70;}
.about.seen .shift-arrow path{animation:shiftDraw 1.1s var(--ease) .3s forwards;}
@keyframes shiftDraw{to{stroke-dashoffset:0;}}

.about-cta{
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;color:var(--navy);
  border-bottom:1.5px solid var(--green);padding-bottom:4px;transition:gap .3s var(--ease),color .3s;
}
.about-cta svg{width:17px;height:17px;fill:none;stroke:var(--green-deep);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}
.about-cta:hover{gap:14px;color:var(--green-deep);}

/* ── timeline ── */
.tl{position:relative;padding-left:44px;}
.tl-rail{position:absolute;left:11px;top:8px;bottom:14px;width:2px;background:rgba(15,34,56,.1);border-radius:2px;}
.tl-fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(180deg,var(--green),var(--green-deep));border-radius:2px;}

.tlx{position:relative;padding-bottom:44px;opacity:.42;transform:translateY(10px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);}
.tlx.live{opacity:1;transform:none;}
.tlx:last-child{padding-bottom:0;}
.tl-dot{
  position:absolute;left:-44px;top:4px;width:24px;height:24px;border-radius:50%;
  background:#fff;border:2px solid rgba(15,34,56,.16);
  display:grid;place-items:center;transition:border-color .5s,box-shadow .5s;
}
.tl-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:rgba(15,34,56,.18);transition:background .5s;}
.tlx.live .tl-dot{border-color:var(--green);box-shadow:0 0 0 5px rgba(122,201,67,.12);}
.tlx.live .tl-dot::after{background:var(--green);}

.tl-yr{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;
  font-size:12.5px;color:var(--green-deep);margin-bottom:7px;}
.tl-yr em{
  font-style:normal;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--slate);border:1px solid rgba(15,34,56,.16);border-radius:999px;padding:2px 8px;
}
.tlx h3{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;
  letter-spacing:-.016em;margin-bottom:7px;}
.tlx p{color:var(--slate);font-size:14.8px;max-width:50ch;}

.tl-turn h3{color:var(--navy);}
.tl-turn .tl-yr em{border-color:rgba(122,201,67,.5);color:var(--green-deep);}
.tl-now{padding-top:4px;}
.tl-now .tl-dot-icon{
  left:-52px;top:-4px;width:40px;height:40px;border:none;background:none;box-shadow:none;
  padding:0;overflow:visible;
}
.tl-now .tl-dot-icon::after{display:none;}
.tl-now .tl-dot-icon img{width:40px;height:40px;border-radius:50%;
  box-shadow:0 0 0 0 rgba(122,201,67,.5);}
.tlx.live .tl-dot-icon img{animation:iconPop .8s var(--ease) both, iconGlow 3.2s ease 1s infinite;}
@keyframes iconPop{0%{transform:scale(.5);opacity:0;}100%{transform:scale(1);opacity:1;}}
@keyframes iconGlow{0%{box-shadow:0 0 0 0 rgba(122,201,67,.45);}70%{box-shadow:0 0 0 14px rgba(122,201,67,0);}100%{box-shadow:0 0 0 0 rgba(122,201,67,0);}}
.tl-now h3{font-size:21px;}
.tl-now p{color:rgba(15,34,56,.7);}

@media(max-width:1080px){
  .about{padding:86px 0 92px;}
  .about-grid{grid-template-columns:1fr;gap:46px;}
  .about-left{position:static;}
  .about h2{max-width:22ch;}
}
@media(max-width:560px){
  .tl{padding-left:36px;}
  .tl-rail{left:9px;}
  .tl-dot{left:-36px;width:20px;height:20px;}
  .tl-now .tl-dot-icon{left:-42px;width:32px;height:32px;}
  .tl-now .tl-dot-icon img{width:32px;height:32px;}
  .mark{width:78px;height:78px;}
  .mark img{width:62px;height:62px;}
}
@media(prefers-reduced-motion:reduce){
  .tlx{opacity:1;transform:none;}
}


/* ══════════ TESTIMONIOS ══════════ */
.tst{position:relative;background:var(--deep);color:#fff;padding:118px 0 124px;overflow:hidden;}
.tst-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(72% 58% at 84% 2%, rgba(30,73,113,.55), transparent 62%),
    radial-gradient(58% 55% at 4% 98%, rgba(122,201,67,.075), transparent 66%);
}
.tst-net{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(85% 62% at 50% 0%,#000,transparent 74%);
  -webkit-mask-image:radial-gradient(85% 62% at 50% 0%,#000,transparent 74%);
}
.tst .wrap{position:relative;z-index:1;}

.tst-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;}

.tc{
  position:relative;overflow:hidden;border-radius:20px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  padding:28px 28px 24px;display:flex;flex-direction:column;
  transition:transform .45s var(--ease),border-color .35s,box-shadow .45s var(--ease);
}
.tc:hover{transform:translateY(-4px);border-color:rgba(122,201,67,.45);
  box-shadow:0 32px 64px -34px rgba(0,0,0,.85);}
.tc::after{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--green);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease);z-index:3;
}
.tc:hover::after{transform:scaleX(1);}

.tc-lead{
  grid-column:span 7;grid-row:span 2;padding:34px 34px 30px;
  background:linear-gradient(165deg,rgba(22,50,79,.95),rgba(11,29,49,.96));
  border-color:rgba(255,255,255,.13);
}
.tc-sm{grid-column:span 5;}
.tc-wide{grid-column:span 12;flex-direction:row;align-items:center;gap:36px;padding:30px 34px;}

/* ── chip de servicio ── */
.tsvc{
  align-self:flex-start;display:inline-block;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.03em;line-height:1.5;
  text-transform:uppercase;color:var(--green);
  border:1px solid rgba(122,201,67,.3);background:rgba(122,201,67,.08);
  border-radius:999px;padding:5px 12px;white-space:nowrap;
}
.tsvc em{font-style:normal;text-transform:none;letter-spacing:.01em;color:rgba(255,255,255,.45);}

/* ── comilla decorativa ── */
.tq-mark{
  position:absolute;top:2px;right:22px;z-index:0;pointer-events:none;
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:96px;line-height:1;
  color:var(--green);opacity:0;transform:translateY(-14px);
  transition:opacity .9s var(--ease) .2s,transform .9s var(--ease) .2s;
}
.tc.seen .tq-mark{opacity:.16;transform:none;}
.tc-lead .tq-mark{font-size:132px;right:28px;top:-4px;}
.tc-wide .tq-mark{font-size:80px;top:0;right:20px;}

/* ── cita ── */
.tq-note{
  position:relative;z-index:1;display:flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.03em;
  color:rgba(255,255,255,.38);margin-bottom:24px;
}
.tq-note{align-items:flex-start;}
.tq-note i{width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.75;flex:none;margin-top:6px;}
.tp-txt{display:flex;flex-direction:column;min-width:0;}
.tq{position:relative;z-index:1;margin:22px 0 24px;font-size:16.2px;line-height:1.6;
  color:rgba(255,255,255,.85);max-width:44ch;}
.tc-lead .tq{
  font-family:'Space Grotesk',sans-serif;font-weight:500;
  font-size:clamp(20px,1.85vw,25.5px);line-height:1.34;letter-spacing:-.018em;
  color:#fff;max-width:24ch;margin:28px 0 30px;
}
.tc-wide .tq{
  margin:0;max-width:none;
  font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:19.5px;
  line-height:1.42;letter-spacing:-.014em;color:#fff;
}

/* ── persona ── */
.tp{display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);position:relative;z-index:1;}
.tc-wide .tp{margin-top:0;padding-top:0;border-top:none;}
.tp-mono{
  width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14px;letter-spacing:-.01em;
  color:var(--green);background:rgba(122,201,67,.1);border:1px solid rgba(122,201,67,.32);
}
.tc-lead .tp-mono{width:48px;height:48px;font-size:16px;}
.tp-name{font-weight:600;font-size:15px;line-height:1.25;}
.tc-lead .tp-name{font-size:16px;}
.tp-role{font-size:12.8px;color:rgba(255,255,255,.5);line-height:1.3;margin-top:1px;}

/* ── barrido de auditoría en la tarjeta principal ── */
.tc-scan{
  position:absolute;left:0;right:0;top:0;height:130px;pointer-events:none;opacity:0;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(122,201,67,.10) 60%,rgba(122,201,67,.20));
  border-bottom:1px solid rgba(122,201,67,.5);
}
.tc-lead.seen .tc-scan{animation:tScan 2.6s var(--ease) .2s 1;}
@keyframes tScan{
  0%{opacity:0;transform:translateY(-140px);}
  10%{opacity:1;}
  86%{opacity:1;}
  100%{opacity:0;transform:translateY(620px);}
}

/* ── tarjeta ancha ── */
.tw-l{flex:none;width:268px;display:flex;flex-direction:column;gap:15px;}
.tw-sep{flex:none;width:1px;align-self:stretch;background:rgba(255,255,255,.1);}

/* ── nota borrador (visible solo en revisión) ── */
.tflag{
  position:absolute;left:0;bottom:0;z-index:4;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.03em;
  color:var(--amber);background:rgba(232,163,61,.12);border-top:1px solid rgba(232,163,61,.3);
  border-right:1px solid rgba(232,163,61,.3);border-top-right-radius:8px;padding:5px 11px;
}

/* ── reveal propio de esta sección ── */
.rv{opacity:0;transform:translateY(24px);}
.rv.seen{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);}

@media(max-width:1080px){
  .tst{padding:86px 0 92px;}
  .tc-lead,.tc-sm,.tc-wide{grid-column:span 12;grid-row:auto;}
  .tc-wide{flex-direction:column;align-items:flex-start;gap:22px;}
  .tw-l{width:100%;}
  .tw-sep{width:100%;height:1px;align-self:auto;}
}
@media(max-width:860px){
  .tc,.tc-lead,.tc-wide{padding:22px 20px;}
  .tq{font-size:15.4px;}
  .tc-lead .tq{font-size:20px;max-width:none;margin:24px 0 26px;}
  .tc-wide .tq{font-size:17.5px;}
  .tq-mark,.tc-lead .tq-mark,.tc-wide .tq-mark{font-size:72px;top:0;right:16px;}
  .tsvc{font-size:10px;white-space:normal;}
}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;}
  .tq-mark{opacity:.16;transform:none;}
}


/* ══════════ CONTACTO ══════════ */
.ctc{position:relative;background:var(--off);color:var(--navy);padding:118px 0 124px;overflow:hidden;}
.ctc::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(15,34,56,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,34,56,.045) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(90% 70% at 50% 0%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(90% 70% at 50% 0%,#000,transparent 75%);
}
.ctc::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(55% 45% at 88% 12%, rgba(122,201,67,.10), transparent 62%);
}
.ctc .wrap{position:relative;z-index:1;}

.ctc-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:64px;align-items:center;}
.ctc-grid>*{min-width:0;}

.ctc h2{
  font-family:'Space Grotesk',sans-serif;font-weight:700;
  font-size:clamp(28px,3.2vw,43px);line-height:1.08;letter-spacing:-.028em;
  max-width:17ch;margin-bottom:18px;
}
.ctc h2 .acc{color:var(--green-deep);}
.ctc-lede{color:var(--slate);font-size:16.4px;max-width:46ch;margin-bottom:32px;}

/* ── botón principal WhatsApp ── */
.wa-big{
  display:inline-flex;align-items:center;gap:15px;
  background:var(--green);color:#0B1B2D;border-radius:18px;
  padding:15px 28px 15px 17px;
  box-shadow:0 18px 44px -20px rgba(122,201,67,.95);
  transition:transform .25s var(--ease),box-shadow .3s;
}
.wa-big:hover{transform:translateY(-3px);box-shadow:0 26px 54px -18px rgba(122,201,67,1);}
.wa-ic{
  position:relative;width:46px;height:46px;border-radius:50%;flex:none;
  background:rgba(11,27,45,.12);display:grid;place-items:center;
}
.wa-ic svg{width:24px;height:24px;fill:#0B1B2D;position:relative;z-index:1;}
.wa-ic::after{
  content:'';position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(11,27,45,.28);animation:waPulse 2.8s ease infinite;
}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(11,27,45,.3);}70%{box-shadow:0 0 0 14px rgba(11,27,45,0);}100%{box-shadow:0 0 0 0 rgba(11,27,45,0);}}
.wa-t{display:flex;flex-direction:column;gap:2px;}
.wa-t b{font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.2;}
.wa-t span{font-family:'JetBrains Mono',monospace;font-size:12px;color:rgba(11,27,45,.68);}

/* ── canales secundarios ── */
.chs{margin-top:34px;}
.ch{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-top:1px solid rgba(15,34,56,.1);}
.ch:last-child{border-bottom:1px solid rgba(15,34,56,.1);}
.ch>svg{width:20px;height:20px;flex:none;margin-top:3px;fill:none;stroke:var(--green-deep);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ch-txt{display:flex;flex-direction:column;gap:2px;min-width:0;}
.ch-l{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.04em;
  text-transform:uppercase;color:var(--slate);}
.ch-v{font-size:15.2px;font-weight:500;color:var(--navy);word-break:break-word;}
.ch-v a{border-bottom:1px solid rgba(122,201,67,.5);padding-bottom:1px;transition:color .25s,border-color .25s;}
.ch-v a:hover{color:var(--green-deep);border-color:var(--green-deep);}
.ch-v .dot{color:rgba(15,34,56,.28);margin:0 7px;}

/* ── panel de conversación ── */
.chat{
  position:relative;border-radius:22px;overflow:hidden;
  background:linear-gradient(165deg,#16324F 0%,#0B1D31 100%);
  border:1px solid rgba(15,34,56,.14);
  box-shadow:0 52px 110px -46px rgba(15,34,56,.7), inset 0 1px 0 rgba(255,255,255,.07);
}
.chat-top{display:flex;align-items:center;gap:12px;padding:15px 18px;
  border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);}
.chat-av{width:38px;height:38px;border-radius:50%;flex:none;}
.chat-id{display:flex;flex-direction:column;gap:2px;}
.chat-name{color:#fff;font-weight:600;font-size:14.5px;line-height:1.2;}
.chat-st{display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono',monospace;
  font-size:10.5px;color:var(--green);}
.chat-st i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:blip 1.8s infinite;}
.chat-wa{margin-left:auto;width:26px;height:26px;fill:rgba(255,255,255,.3);}

.chat-body{
  position:relative;padding:24px 18px 14px;min-height:322px;
  display:flex;flex-direction:column;gap:11px;justify-content:flex-end;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:36px 36px;
}
.bub{
  max-width:80%;padding:12px 15px;font-size:14.6px;line-height:1.48;
  border-radius:16px;opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.bub.show{opacity:1;transform:none;}
.bub-out{align-self:flex-end;background:var(--green);color:#0B1B2D;font-weight:500;
  border-bottom-right-radius:5px;}
.bub-in{align-self:flex-start;background:rgba(255,255,255,.075);color:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:5px;}
.bub-meta{display:block;margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:9.5px;
  letter-spacing:.02em;text-align:right;}
.bub-out .bub-meta{color:rgba(11,27,45,.5);}
.caret{display:inline-block;width:2px;height:1em;background:currentColor;vertical-align:-2px;
  margin-left:2px;animation:cBlink .9s steps(1) infinite;}
@keyframes cBlink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.dots{display:inline-flex;gap:4px;align-items:center;padding:2px 0;}
.dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);
  animation:dotJump 1.25s var(--ease) infinite;}
.dots span:nth-child(2){animation-delay:.16s;}
.dots span:nth-child(3){animation-delay:.32s;}
@keyframes dotJump{0%,60%,100%{transform:translateY(0);opacity:.45;}30%{transform:translateY(-4px);opacity:1;}}

.chat-foot{display:flex;align-items:center;gap:11px;padding:14px 16px;
  border-top:1px solid rgba(255,255,255,.09);background:rgba(8,21,37,.55);
  transition:background .3s;}
.chat-foot:hover{background:rgba(8,21,37,.75);}
.chat-fake{flex:1;border:1px solid rgba(255,255,255,.14);border-radius:999px;
  padding:11px 17px;font-size:13.6px;color:rgba(255,255,255,.42);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .3s,color .3s;}
.chat-foot:hover .chat-fake{border-color:rgba(122,201,67,.5);color:rgba(255,255,255,.7);}
.chat-send{width:44px;height:44px;border-radius:50%;flex:none;background:var(--green);
  display:grid;place-items:center;transition:transform .25s var(--ease);}
.chat-foot:hover .chat-send{transform:scale(1.07);}
.chat-send svg{width:19px;height:19px;fill:none;stroke:#0B1B2D;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;}
.chat-note{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(15,34,56,.34);
  text-align:right;margin-top:11px;}

/* ── qué pasa después ── */
.steps{margin-top:66px;padding-top:34px;border-top:1px solid rgba(15,34,56,.11);}
.steps-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:22px;}
.steps-head h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:19px;
  letter-spacing:-.015em;color:var(--navy);}
.steps-head p{font-size:14.5px;color:var(--slate);}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.stp{position:relative;background:#fff;border:1px solid rgba(15,34,56,.1);border-radius:16px;
  padding:22px 22px 20px;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s var(--ease);}
.stp:hover{transform:translateY(-3px);border-color:rgba(122,201,67,.55);
  box-shadow:0 20px 40px -26px rgba(15,34,56,.45);}
.stp-n{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.05em;
  color:var(--green-deep);display:block;margin-bottom:12px;}
.stp h4{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;
  letter-spacing:-.016em;margin-bottom:7px;}
.stp p{font-size:14.4px;color:var(--slate);}

@media(max-width:1080px){
  .ctc{padding:86px 0 92px;}
  .ctc-grid{grid-template-columns:1fr;gap:44px;}
  .ctc h2{max-width:22ch;}
  .steps-grid{grid-template-columns:1fr;}
  .steps{margin-top:44px;}
}
@media(max-width:860px){
  .wa-big{width:100%;padding:14px 20px 14px 14px;}
  .chat-body{min-height:262px;}
  .bub{max-width:88%;font-size:14px;}
  .ctc-lede{font-size:15.5px;}
}
@media(prefers-reduced-motion:reduce){
  .bub{opacity:1;transform:none;}
  .caret{display:none;}
}


/* ══════════ FOOTER ══════════ */
.ft{position:relative;background:var(--deep);color:#fff;padding:82px 0 0;overflow:hidden;}
.ft-glow{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 55% at 12% 0%, rgba(30,73,113,.5), transparent 62%),
    radial-gradient(50% 50% at 92% 8%, rgba(122,201,67,.07), transparent 64%);
}
/* línea de escaneo — firma de auditoría */
.ft-scan{position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.09);overflow:hidden;}
.ft-scan::after{
  content:'';position:absolute;top:0;left:-38%;width:38%;height:100%;
  background:linear-gradient(90deg,transparent,var(--green),transparent);
  animation:ftSweep 7s linear infinite;
}
@keyframes ftSweep{to{left:100%;}}
.ft .wrap{position:relative;z-index:1;}

.ft-grid{display:grid;grid-template-columns:1.75fr 1fr 1.2fr 1fr;gap:48px;padding-bottom:60px;}
.ft-grid>*{min-width:0;}

/* ── columna de marca ── */
.ft-logo{width:60px;height:60px;margin-bottom:20px;border-radius:50%;}
.ft-claim{color:rgba(255,255,255,.6);font-size:15px;max-width:36ch;margin-bottom:26px;}

.ft-wa{
  display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#0B1B2D;
  font-weight:700;font-size:14.5px;padding:12px 22px 12px 17px;border-radius:999px;
  transition:transform .25s var(--ease),box-shadow .3s;
  box-shadow:0 12px 34px -18px rgba(122,201,67,.9);
}
.ft-wa:hover{transform:translateY(-2px);box-shadow:0 18px 40px -16px rgba(122,201,67,1);}
.ft-wa svg{width:17px;height:17px;fill:currentColor;}

.ft-meta{margin-top:24px;display:flex;flex-direction:column;gap:9px;}
.ft-meta span,.ft-meta a{display:flex;align-items:center;gap:10px;font-size:14.4px;color:rgba(255,255,255,.62);}
.ft-meta a{transition:color .25s;}
.ft-meta a:hover{color:var(--green);}
.ft-meta svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--green);stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;opacity:.85;}

.ft-soc{display:flex;gap:10px;margin-top:24px;}
.ft-soc a{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line-2);transition:border-color .3s,background .3s,transform .3s var(--ease);
}
.ft-soc a:hover{border-color:rgba(122,201,67,.6);background:rgba(122,201,67,.1);transform:translateY(-3px);}
.ft-soc svg{width:17px;height:17px;fill:rgba(255,255,255,.75);transition:fill .3s;}
.ft-soc a:hover svg{fill:var(--green);}

/* ── columnas de enlaces ── */
.ft-h{
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--green);margin-bottom:18px;display:block;
}
.ft-l{display:flex;flex-direction:column;gap:11px;}
.ft-l a{
  font-size:14.4px;color:rgba(255,255,255,.62);line-height:1.4;
  transition:color .25s,transform .3s var(--ease);width:fit-content;max-width:100%;
}
.ft-l a:hover{color:#fff;transform:translateX(4px);}

/* ── barra inferior ── */
.ft-bar{
  border-top:1px solid var(--line);padding:22px 0 26px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  /* la esquina inferior derecha queda libre para los botones flotantes */
  padding-right:88px;
}
@media(max-width:860px){ .ft-bar{padding-right:0;} }
.ft-cr{font-size:13.2px;color:rgba(255,255,255,.42);}
.ft-cr b{color:rgba(255,255,255,.62);font-weight:500;}
.ft-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.ft-sig{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;
  color:rgba(255,255,255,.24);}
.ft-top{
  display:inline-flex;align-items:center;gap:8px;font-size:13.2px;color:rgba(255,255,255,.62);
  border:1px solid var(--line-2);border-radius:999px;padding:8px 16px;
  transition:border-color .3s,color .3s,background .3s;
}
.ft-top:hover{color:#fff;border-color:rgba(122,201,67,.55);background:rgba(122,201,67,.08);}
.ft-top svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}

@media(max-width:1080px){
  .ft{padding-top:64px;}
  .ft-grid{grid-template-columns:1fr 1fr;gap:40px 32px;padding-bottom:44px;}
  .ft-brand{grid-column:1 / -1;}
}
@media(max-width:560px){
  .ft-grid{grid-template-columns:1fr;gap:34px;}
  .ft-bar{flex-direction:column;align-items:flex-start;gap:14px;}
  .ft-right{width:100%;justify-content:space-between;}
  .ft-wa{width:100%;justify-content:center;}
}


/* ══════════ ENLACES LEGALES DEL FOOTER ══════════ */
.ft-left{display:flex;flex-direction:column;gap:10px;}
.ft-legal{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.ft-legal a,.ft-legal button{
  font-size:13.2px;color:rgba(255,255,255,.62);transition:color .25s;
  border-bottom:1px solid transparent;padding:0;
}
.ft-legal a:hover,.ft-legal button:hover{color:var(--green);border-bottom-color:rgba(122,201,67,.5);}
.ft-legal i{font-style:normal;color:rgba(255,255,255,.2);}

/* ══════════ BANNER DE COOKIES ══════════ */
.ck{
  position:fixed;left:0;right:0;bottom:0;z-index:90;padding:0 20px 20px;
  pointer-events:none;
}
.ck.on{pointer-events:auto;}
.ck-card{
  max-width:var(--max);margin:0 auto;position:relative;overflow:hidden;
  background:rgba(11,29,49,.97);backdrop-filter:blur(16px) saturate(1.2);
  border:1px solid var(--line-2);border-radius:20px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  padding:24px 26px;
  transform:translateY(140%);opacity:0;
  transition:transform .6s var(--ease),opacity .45s var(--ease);
}
.ck.on .ck-card{transform:none;opacity:1;}
.ck-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--green),transparent);
  opacity:.7;
}
.ck-row{display:flex;align-items:center;gap:30px;}
.ck-txt{flex:1;min-width:0;}
.ck-h{
  display:flex;align-items:center;gap:9px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--green);margin-bottom:9px;
}
.ck-h i{width:7px;height:7px;border-radius:50%;background:var(--green);}
.ck-txt p{font-size:14.6px;color:rgba(255,255,255,.72);max-width:74ch;line-height:1.55;}
.ck-txt a{color:var(--green);border-bottom:1px solid rgba(122,201,67,.45);transition:color .25s;}
.ck-txt a:hover{color:#fff;border-color:#fff;}

.ck-btns{display:flex;align-items:center;gap:10px;flex:none;flex-wrap:wrap;}
.ck-b{
  font-size:14px;font-weight:600;border-radius:999px;padding:12px 22px;white-space:nowrap;
  transition:transform .22s var(--ease),background .25s,border-color .25s,color .25s,box-shadow .3s;
}
.ck-ok{background:var(--green);color:#0B1B2D;font-weight:700;box-shadow:0 12px 32px -16px rgba(122,201,67,.9);}
.ck-ok:hover{transform:translateY(-2px);box-shadow:0 18px 38px -14px rgba(122,201,67,1);}
.ck-no{border:1px solid var(--line-2);color:rgba(255,255,255,.85);}
.ck-no:hover{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);}
.ck-cfg{color:rgba(255,255,255,.6);padding:12px 6px;font-weight:500;
  border-bottom:1px solid transparent;border-radius:0;}
.ck-cfg:hover{color:#fff;border-bottom-color:rgba(122,201,67,.6);}

/* ── panel de preferencias ── */
.ck-panel{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .5s var(--ease),opacity .35s var(--ease),margin .5s var(--ease);
  opacity:0;margin-top:0;
}
.ck-panel>div{overflow:hidden;min-height:0;}
.ck.open .ck-panel{grid-template-rows:1fr;opacity:1;margin-top:22px;}
.ck-cats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  padding-top:20px;border-top:1px solid var(--line);
}
.ck-cat{
  border:1px solid var(--line-2);border-radius:14px;padding:16px 17px;
  background:rgba(255,255,255,.03);transition:border-color .3s;
}
.ck-cat:hover{border-color:rgba(122,201,67,.35);}
.ck-cat-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;}
.ck-cat b{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;}
.ck-cat p{font-size:13.2px;color:rgba(255,255,255,.55);line-height:1.45;}

.sw{position:relative;width:42px;height:24px;border-radius:999px;flex:none;
  background:rgba(255,255,255,.14);transition:background .3s var(--ease);cursor:pointer;}
.sw::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:transform .3s var(--ease);}
.sw[aria-checked="true"]{background:var(--green);}
.sw[aria-checked="true"]::after{transform:translateX(18px);background:#0B1B2D;}
.sw[aria-disabled="true"]{background:rgba(122,201,67,.35);cursor:default;}
.sw[aria-disabled="true"]::after{transform:translateX(18px);}

.ck-save{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}

@media(max-width:1080px){
  .ck-row{flex-direction:column;align-items:flex-start;gap:20px;}
  .ck-btns{width:100%;}
  .ck-cats{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .ck{padding:0 12px 12px;}
  .ck-card{padding:20px 18px;border-radius:16px;}
  .ck-btns{flex-direction:column;align-items:stretch;}
  .ck-b{width:100%;text-align:center;}
  .ck-save{flex-direction:column;}
}
@media(prefers-reduced-motion:reduce){
  .ck-card{transition:none;}
}


/* ══════════ BOTONES FLOTANTES ══════════ */
.fabs{
  /* separación amplia: al final de la página quedan a la altura
     donde empieza la franja de copyright */
  --lift:0px;
  position:fixed;right:24px;bottom:120px;z-index:80;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  transform:translateY(calc(-1 * var(--lift)));
  transition:opacity .35s var(--ease),transform .3s var(--ease);
}
body.ck-visible .fabs{opacity:0;pointer-events:none;transform:translateY(16px);}

.fab{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  opacity:0;transform:translateY(14px) scale(.85);pointer-events:none;
  transition:opacity .4s var(--ease),transform .4s var(--ease),background .25s,box-shadow .3s;
}
.fab.on{opacity:1;transform:none;pointer-events:auto;}

/* subir al inicio */
.fab-top{
  background:rgba(11,29,49,.85);backdrop-filter:blur(10px);
  border:1px solid var(--line-2);
  box-shadow:0 14px 34px -16px rgba(0,0,0,.7);
}
.fab-top:hover{background:rgba(11,29,49,.97);border-color:rgba(122,201,67,.6);transform:translateY(-3px);}
.fab-top svg{width:20px;height:20px;fill:none;stroke:var(--green);stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;}

/* whatsapp */
.fab-wa{
  width:58px;height:58px;background:var(--green);
  box-shadow:0 16px 38px -14px rgba(122,201,67,.95);
}
.fab-wa:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 22px 46px -12px rgba(122,201,67,1);}
.fab-wa svg{width:29px;height:29px;fill:#0B1B2D;position:relative;z-index:1;}
.fab-wa::after{
  content:'';position:absolute;width:58px;height:58px;border-radius:50%;
  box-shadow:0 0 0 0 rgba(122,201,67,.55);animation:fabPulse 2.8s ease infinite;
}
@keyframes fabPulse{
  0%{box-shadow:0 0 0 0 rgba(122,201,67,.5);}
  70%{box-shadow:0 0 0 16px rgba(122,201,67,0);}
  100%{box-shadow:0 0 0 0 rgba(122,201,67,0);}
}

@media(max-width:860px){
  .fabs{right:16px;bottom:200px;gap:10px;}
  .fab{width:46px;height:46px;}
  .fab-wa{width:54px;height:54px;}
  .fab-wa::after{width:54px;height:54px;}
  .fab-top svg{width:18px;height:18px;}
}
@media(prefers-reduced-motion:reduce){
  .fab-wa::after{animation:none;}
}


/* ══════════ LIGHTBOX LEGAL ══════════ */
.lb{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:32px 20px;opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
}
.lb.on{opacity:1;pointer-events:auto;}
.lb-veil{position:absolute;inset:0;background:rgba(4,11,20,.72);backdrop-filter:blur(6px);}

.lb-card{
  position:relative;z-index:1;width:100%;max-width:920px;max-height:100%;
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;color:var(--navy);border-radius:22px;
  box-shadow:0 60px 130px -40px rgba(0,0,0,.8);
  transform:translateY(26px) scale(.985);
  transition:transform .45s var(--ease);
}
.lb.on .lb-card{transform:none;}

.lb-top{
  flex:none;display:flex;align-items:center;gap:20px;padding:22px 26px;
  background:var(--deep);color:#fff;position:relative;overflow:hidden;
}
.lb-top::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--green),transparent);opacity:.6;
}
.lb-t{min-width:0;}
.lb-eye{
  display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;
  font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin-bottom:5px;
}
.lb-eye i{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;}
.lb-top h2{
  font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:22px;
  letter-spacing:-.02em;line-height:1.15;color:#fff;
}
.lb-x{
  margin-left:auto;flex:none;width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line-2);display:grid;place-items:center;
  transition:border-color .25s,background .25s,transform .25s var(--ease);
}
.lb-x:hover{border-color:rgba(122,201,67,.6);background:rgba(122,201,67,.1);transform:rotate(90deg);}
.lb-x svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;}

.lb-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:34px 40px 40px;
  -webkit-overflow-scrolling:touch;}
.lb-load{display:flex;align-items:center;gap:11px;padding:26px 0;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.04em;color:var(--slate);}
.lb-load i{width:8px;height:8px;border-radius:50%;background:var(--green);animation:blip 1.2s infinite;}

.lb-foot{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 26px;border-top:1px solid rgba(15,34,56,.1);background:var(--off);
}
.lb-sig{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;color:rgba(15,34,56,.34);}
.lb-full{
  display:inline-flex;align-items:center;gap:8px;font-size:13.4px;font-weight:600;color:var(--navy);
  border:1px solid rgba(15,34,56,.16);border-radius:999px;padding:9px 17px;
  transition:border-color .25s,background .25s,color .25s;
}
.lb-full:hover{border-color:rgba(122,201,67,.65);background:rgba(122,201,67,.1);color:var(--green-deep);}
.lb-full svg{width:14px;height:14px;fill:none;stroke:var(--green-deep);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}

body.lb-open{overflow:hidden;}

/* ── tipografía del documento inyectado ── */
.lb-doc .intro{font-size:16.4px;color:var(--slate);max-width:none;margin-bottom:6px;}
.lb-doc .sec{padding-top:34px;}
.lb-doc .sec:first-child{padding-top:0;}
.lb-doc .sec-n{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.05em;
  color:var(--green-deep);display:block;margin-bottom:8px;}
.lb-doc .sec h2{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:20.5px;
  letter-spacing:-.02em;line-height:1.22;margin-bottom:12px;color:var(--navy);}
.lb-doc .sec h3{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;
  letter-spacing:-.012em;margin:20px 0 7px;}
.lb-doc .sec p{font-size:15.2px;color:#3C4A5A;max-width:none;margin-bottom:11px;line-height:1.62;}
.lb-doc .sec ul{list-style:none;margin:6px 0 13px;}
.lb-doc .sec ul li{position:relative;padding-left:22px;font-size:15px;color:#3C4A5A;
  margin-bottom:9px;line-height:1.6;}
.lb-doc .sec ul li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;
  border-radius:50%;background:var(--green);}
.lb-doc .sec a{color:var(--green-deep);border-bottom:1px solid rgba(122,201,67,.5);}
.lb-doc .sec a:hover{color:var(--navy);border-color:var(--navy);}
.lb-doc .sec b{font-weight:600;color:var(--navy);}
.lb-doc .ph{font-family:'JetBrains Mono',monospace;font-size:.9em;color:#9A6A16;
  background:rgba(232,163,61,.14);border-radius:5px;padding:1px 6px;}
.lb-doc .box{background:var(--off);border:1px solid rgba(15,34,56,.1);border-radius:14px;
  padding:20px 22px;margin:16px 0;}
.lb-doc .box p:last-child{margin-bottom:0;}
.lb-doc .draft{background:rgba(232,163,61,.1);border-left:3px solid var(--amber);
  border-radius:0 12px 12px 0;padding:16px 20px;margin-bottom:26px;}
.lb-doc .draft b{display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:.05em;text-transform:uppercase;color:#9A6A16;margin-bottom:6px;}
.lb-doc .draft p{font-size:14px;color:#6E4E12;margin:0;}
.lb-doc .rule{display:none;}

@media(max-width:700px){
  .lb{padding:0;}
  .lb-card{max-width:none;height:100%;border-radius:0;}
  .lb-top{padding:18px 20px;}
  .lb-top h2{font-size:19px;}
  .lb-body{padding:26px 20px 32px;}
  .lb-foot{padding:14px 20px;}
  .lb-sig{display:none;}
  .lb-full{width:100%;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .lb,.lb-card{transition:none;}
  .lb-x:hover{transform:none;}
}


.nlink{white-space:nowrap;}



/* ══════════ BARRA DE UTILIDAD ══════════ */
.topbar{
  position:relative;z-index:2;overflow:hidden;
  background:transparent;border:none;
  height:34px;opacity:1;
  transition:height .35s var(--ease),opacity .3s var(--ease);
}
header.stuck .topbar{height:0;opacity:0;}

.tb-in{
  max-width:var(--max);margin:0 auto;padding:0 34px;height:34px;
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
}

/* aviso temporal, a la izquierda del selector */
.tb-msg{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.05em;
  color:var(--green);opacity:0;transform:translateX(6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
  white-space:nowrap;pointer-events:none;
}
.tb-msg.on{opacity:.85;transform:none;}

/* botón de idioma */
.lang-en{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.09em;
  padding:4px 9px;border-radius:6px;line-height:1;
  color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.12);
  transition:color .22s,background .22s,border-color .22s;
}
.lang-en:hover{color:var(--green);border-color:rgba(122,201,67,.45);background:rgba(122,201,67,.08);}

@media(max-width:860px){
  .topbar,.tb-in{height:32px;}
  .tb-in{padding:0 22px;}
}
@media(max-width:520px){
  .tb-msg{font-size:9.5px;letter-spacing:.03em;}
}

/* ── el menú móvil se ancla al alto real del header ── */
@media(max-width:860px){
  .nav{position:absolute;inset:auto;top:100%;left:0;right:0;}
}
/* ── el hero deja espacio para la barra de utilidad ── */
.hero{padding-top:182px;}
@media(max-width:860px){ .hero{padding-top:150px;} }

/* ── idioma en el footer ── */
.ft-lang{position:relative;display:inline-flex;align-items:center;gap:10px;}
.ft-lang-l{
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.05em;
  text-transform:uppercase;color:rgba(255,255,255,.34);
}
.ft-lang .lang-en{color:rgba(255,255,255,.62);border-color:var(--line-2);}
.ft-lang .lang-en:hover{color:var(--green);border-color:rgba(122,201,67,.55);}
.ft-msg{
  position:absolute;right:100%;margin-right:14px;white-space:nowrap;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.04em;
  color:var(--green);opacity:0;transform:translateX(6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
  pointer-events:none;
}
.ft-msg.on{opacity:.85;transform:none;}
.ft-lang .lang-en{padding:4px 9px;}

/* ── aviso de idioma detectado ── */
.det{
  position:fixed;top:132px;right:24px;z-index:75;width:330px;max-width:calc(100vw - 32px);
  background:rgba(11,29,49,.97);backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid var(--line-2);border-radius:16px;padding:18px 20px 16px;
  box-shadow:0 30px 70px -28px rgba(0,0,0,.85);
  opacity:0;transform:translateY(-12px);pointer-events:none;
  transition:opacity .45s var(--ease),transform .45s var(--ease);
}
.det.on{opacity:1;transform:none;pointer-events:auto;}
.det::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,transparent,var(--green),transparent);opacity:.7;
}
.det-h{
  display:flex;align-items:center;gap:8px;margin-bottom:8px;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--green);
}
.det-h i{width:6px;height:6px;border-radius:50%;background:var(--green);}
.det p{font-size:14.2px;color:rgba(255,255,255,.8);line-height:1.5;margin-bottom:14px;}
.det-a{display:flex;align-items:center;gap:10px;}
.det-go{
  display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#0B1B2D;
  font-weight:700;font-size:13.4px;padding:9px 16px;border-radius:999px;
  transition:transform .2s var(--ease);
}
.det-go:hover{transform:translateY(-2px);}
.det-no{
  font-size:13.2px;color:rgba(255,255,255,.5);padding:9px 4px;
  border-bottom:1px solid transparent;transition:color .25s,border-color .25s;
}
.det-no:hover{color:#fff;border-bottom-color:rgba(255,255,255,.35);}

@media(max-width:860px){
  .det{top:104px;right:16px;left:16px;width:auto;}
}
@media(prefers-reduced-motion:reduce){ .det{transition:none;} }


/* ── retardos de animación (sin estilos en línea, para CSP estricta) ── */
.d0{--d:0s;}
.d03{--d:.3s;}
.d045{--d:.45s;}
.d06{--d:.6s;}
.d09{--d:.9s;}
.d10{--d:1s;}
.d135{--d:1.35s;}
.d20{--d:2s;}
.d30{--d:3s;}
.nopad{padding:0;}