/* ═══════════════════════════════════════════════════════════════════
   CELDEXIA POS · GRUPO CELDEXIA SAS · 2026
   Mismo sistema visual de celdexia.co · sin separadores duros
═══════════════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
*{scrollbar-width:thin;scrollbar-color:rgba(15,44,77,.25) transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-thumb{background:rgba(15,44,77,.25);border-radius:8px}
*::-webkit-scrollbar-track{background:transparent}

:root{
  /* ─── Paleta oficial Grupo Celdexia SAS ─── */
  --navy:#0F2C4D;--navy-2:#173453;--navy-3:#1E3D63;--navy-soft:#E6EBF2;
  --green:#27B585;--green-deep:#1F9D72;--green-darker:#178A60;--green-soft:#E5F7F0;--green-soft-2:#D1F0E3;--green-mid:#34D399;
  --indigo:#1E63E9;--indigo-soft:#E8F0FF;--purple:#5E4FB8;--purple-soft:#EBE8F7;
  --amber:#D97706;--amber-soft:#FEF3E2;--red:#DC2626;--red-soft:#FDECEC;
  --bg:#FAF8F2;--bg-2:#F2EFE6;--surface:#FFFFFF;
  --ink:#0F2C4D;--ink-2:#3D5070;--muted:#6B7A92;
  --line:rgba(15,44,77,.09);--line-2:rgba(15,44,77,.15);
  --shadow-sm:0 1px 2px rgba(15,44,77,.04),0 1px 3px rgba(15,44,77,.06);
  --shadow-md:0 4px 12px rgba(15,44,77,.06),0 2px 4px rgba(15,44,77,.05);
  --shadow-lg:0 18px 48px rgba(15,44,77,.10),0 4px 16px rgba(15,44,77,.06);
  --shadow-xl:0 32px 80px rgba(15,44,77,.14),0 8px 24px rgba(15,44,77,.08);
  --r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;
  --tap:44px;--site-max:1320px;
  --font-display:'Poppins',system-ui,sans-serif;--font-body:'Poppins',system-ui,sans-serif;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-size:93.75%;scroll-padding-top:84px}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.12;letter-spacing:-.025em;color:var(--navy)}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
.site-wrapper{max-width:var(--site-max);margin:0 auto;background:var(--bg);position:relative;overflow-x:hidden}
section{max-width:100%;overflow-x:clip;position:relative}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem;width:100%}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:2000;border-radius:0 0 10px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid rgba(39,181,133,.55);outline-offset:2px}

/* ─── Etiqueta superior ─── */
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:1rem}
.eyebrow::before{content:'';width:24px;height:2px;background:var(--green);border-radius:2px}
.sec-head{text-align:center;max-width:720px;margin:0 auto 2.6rem}
.sec-head h2{font-size:clamp(1.8rem,3.6vw,2.55rem);font-weight:800;margin-bottom:1rem}
.sec-head p{font-size:1rem;color:var(--ink-2);line-height:1.7}
.grad{color:var(--green)}

/* ═══ BOTONES (idénticos a celdexia.co) ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:.92rem;letter-spacing:-.01em;padding:.95rem 1.7rem;border-radius:var(--r-md);text-decoration:none;cursor:pointer;border:none;min-height:var(--tap);transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s,background .22s,color .22s,border-color .22s;white-space:nowrap;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}
.btn svg{width:18px;height:18px;flex-shrink:0}
.btn-primary{background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%);color:#fff;box-shadow:0 8px 20px rgba(39,181,133,.32),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px rgba(39,181,133,.42),inset 0 1px 0 rgba(255,255,255,.22);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--navy);background:rgba(15,44,77,.04);transform:translateY(-2px)}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.32)}
.btn-ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.10);color:#fff;transform:translateY(-2px)}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--green);transform:translateY(-2px);box-shadow:0 12px 28px rgba(39,181,133,.34);color:#fff}
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{background:#1FBA58;transform:translateY(-2px);color:#fff}
.btn-block{width:100%}

/* ═══ NAVBAR ═══ */
nav{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--site-max);z-index:1000;background:rgba(250,251,253,.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;padding:0 2rem;height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background .3s,border-color .3s,box-shadow .3s}
nav.scrolled{background:rgba(255,255,255,.92);border-bottom-color:var(--line);box-shadow:0 1px 0 var(--line),0 6px 24px rgba(15,44,77,.05)}
.nav-logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy);flex-shrink:0}
.nav-logo svg{flex-shrink:0}
.nav-logo-text{font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.025em;line-height:1.05;white-space:nowrap}
.nav-logo-text small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.18em;color:var(--muted);margin-top:1px}
.nav-logo-text .accent{color:var(--green)}
.nav-links{display:flex;align-items:center;gap:.15rem;list-style:none;flex-wrap:nowrap}
.nav-links>li{display:flex;align-items:center}
.nav-links>li>a{text-decoration:none;font-size:.84rem;font-weight:600;padding:.55rem .9rem;border-radius:10px;transition:all .2s;color:var(--navy);white-space:nowrap}
.nav-links>li>a:hover{background:rgba(15,44,77,.05);color:var(--green)}
.nav-cta{background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%)!important;color:#fff!important;padding:.6rem 1.2rem!important;border-radius:10px!important;font-weight:700!important;box-shadow:0 6px 16px rgba(39,181,133,.32)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(39,181,133,.42)}
.burger{display:none;flex-direction:column;cursor:pointer;gap:5px;padding:.6rem;min-width:var(--tap);min-height:var(--tap);justify-content:center;align-items:center;background:none;border:none;flex-shrink:0}
.burger span{width:22px;height:2px;background:var(--navy);transition:all .3s;display:block;border-radius:2px}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ═══ FRANJA DE LANZAMIENTO ═══ */
.promo-bar{position:fixed;top:72px;left:50%;transform:translateX(-50%);width:100%;max-width:var(--site-max);z-index:999;background:linear-gradient(90deg,#E5F7F0 0%,#EEF4FB 100%);border-bottom:1px solid rgba(39,181,133,.2);color:var(--navy);font-size:.8rem;font-weight:500;text-align:center;padding:.5rem 1rem;display:flex;align-items:center;justify-content:center;gap:.7rem;flex-wrap:wrap}
.promo-bar b{color:var(--green-darker);font-weight:700}
.promo-bar a{color:var(--navy);font-weight:700;text-decoration:none;border-bottom:1.5px solid rgba(39,181,133,.6)}
.promo-bar a:hover{border-color:var(--navy)}
.promo-bar .cd{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid rgba(39,181,133,.35);border-radius:100px;padding:.12rem .65rem;font-variant-numeric:tabular-nums}
.promo-bar .cd b{color:var(--navy)}
.hp-cd{flex-basis:100%;font-size:.84rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.hp-cd b{color:var(--green-darker)}
.cdown{margin-top:1.3rem;padding:1rem 1.1rem;border-radius:var(--r-md);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.cd-l{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.cd-box{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.6rem 0 .8rem}
.cd-box div{background:rgba(15,44,77,.55);border:1px solid rgba(255,255,255,.12);border-radius:10px;text-align:center;padding:.5rem .2rem}
.cd-box b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.cd-box small{font-size:.64rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em}
.etapas{list-style:none;display:grid;gap:.25rem;font-size:.8rem;color:rgba(255,255,255,.62)}
.etapas li{display:flex;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-radius:8px}
.etapas li span:last-child{white-space:nowrap}
.etapas li.on{background:rgba(39,181,133,.2);color:#fff;font-weight:600}
.etapas li.pasada{text-decoration:line-through;opacity:.5}
.sin-promo .promo-bar,.sin-promo .hp-old,.sin-promo .hp-tag,.sin-promo .hp-cd,.sin-promo .price-old,.sin-promo .price-save,.sin-promo .ribbon,.sin-promo .cdown{display:none}

/* ═══ ANIMACIÓN DE ENTRADA ═══ */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.fade-up.vis{opacity:1;transform:translateY(0)}

/* ═══ HERO ═══ */
#hero{position:relative;padding:150px 0 70px;background:radial-gradient(ellipse 60% 50% at 75% 30%,rgba(39,181,133,.09) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 10% 80%,rgba(15,44,77,.05) 0%,transparent 60%),var(--bg);overflow:hidden}
#hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(15,44,77,.06) 1px,transparent 0);background-size:32px 32px;mask-image:radial-gradient(ellipse at top right,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at top right,#000 20%,transparent 70%);pointer-events:none}
.hero-in{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:.92fr 1.08fr;gap:3.2rem;align-items:center;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:.55rem;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid var(--line-2);color:var(--navy);font-size:.78rem;font-weight:600;padding:.5rem 1rem;border-radius:100px;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}
.hero-badge .dot{width:8px;height:8px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(39,181,133,.18);animation:pulse 2s ease infinite}
.hero-badge b{color:var(--green-deep)}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.85);opacity:.7}}
.hero-h1{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.06;margin-bottom:1.3rem}
.hero-h1 .grad{display:inline-block;position:relative}
.hero-h1 .grad::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--green);border-radius:3px;opacity:.35}
.hero-sub{font-size:1.05rem;color:var(--ink-2);line-height:1.7;margin-bottom:1.6rem;max-width:540px}
.hero-price{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.hp-old{font-size:1rem;color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(220,38,38,.6);font-weight:600}
.hp-new{font-family:var(--font-display);font-size:2.1rem;font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1}
.hp-new small{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:.3rem}
.hp-tag{background:var(--green-soft);color:var(--green-darker);font-size:.74rem;font-weight:800;padding:.35rem .7rem;border-radius:100px;border:1px solid var(--green-soft-2);letter-spacing:.02em}
.hero-btns{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:2.2rem}
.hero-trust{display:flex;gap:2.2rem;flex-wrap:wrap;padding-top:1.8rem;border-top:1px solid var(--line)}
.trust-item .num{font-family:var(--font-display);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1}
.trust-item .lab{font-size:.74rem;color:var(--muted);font-weight:500;margin-top:.35rem}
.hero-visual{position:relative}
.frame{background:#fff;border-radius:16px;box-shadow:var(--shadow-xl);border:1px solid var(--line);overflow:hidden;position:relative}
.frame-bar{height:30px;background:linear-gradient(180deg,#F6F7FA,#EEF1F5);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 12px}
.frame-bar i{width:10px;height:10px;border-radius:50%;background:#E3E7EE;display:block}
.frame-bar i:nth-child(1){background:#F87171}.frame-bar i:nth-child(2){background:#FBBF24}.frame-bar i:nth-child(3){background:#34D399}
.frame-bar span{margin-left:10px;font-size:.68rem;color:var(--muted);font-weight:600;letter-spacing:.02em}
.frame img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top left}
.hv-chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .95rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.65rem;z-index:3}
.hv-chip .ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}
.hv-chip .ico svg{width:18px;height:18px}
.hv-chip .l{font-size:.6rem;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.hv-chip .v{font-size:.84rem;font-weight:700;color:var(--navy)}
.hv-chip.tl{top:-18px;left:-22px}.hv-chip.tl .ico{background:var(--green-soft);color:var(--green-deep)}
.hv-chip.br{bottom:-20px;right:-18px}.hv-chip.br .ico{background:var(--indigo-soft);color:var(--indigo)}
.hv-chip.ml{bottom:22%;left:-34px}.hv-chip.ml .ico{background:var(--amber-soft);color:var(--amber)}

/* ═══ PARA QUIÉN ═══ */
#negocios{padding:20px 0 40px}
.neg-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.neg{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:.55rem 1rem;font-size:.84rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow-sm)}
.neg svg{width:16px;height:16px;color:var(--green-deep)}
.neg-t{text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}

/* ═══ AHORRO / COMPARATIVO ═══ */
#ahorro{padding:60px 0}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;max-width:980px;margin:0 auto}
.cmp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:2rem;position:relative;overflow:hidden}
.cmp-card h3{font-size:1.1rem;font-weight:800;margin-bottom:.3rem}
.cmp-card .sub{font-size:.84rem;color:var(--muted);margin-bottom:1.4rem}
.cmp-card.bad{background:linear-gradient(180deg,#fff 0%,#FBFAF6 100%)}
.cmp-card.good{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-color:transparent;box-shadow:var(--shadow-xl)}
.cmp-card.good::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(39,181,133,.25) 0%,transparent 45%);pointer-events:none}
.cmp-card.good>*{position:relative}
.cmp-card.good h3{color:#fff}.cmp-card.good .sub{color:rgba(255,255,255,.7)}
.cmp-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 0;border-bottom:1px dashed var(--line-2);font-size:.9rem}
.cmp-card.good .cmp-row{border-color:rgba(255,255,255,.14)}
.cmp-row b{font-weight:700;white-space:nowrap}
.cmp-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.2rem;gap:1rem}
.cmp-total span{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.cmp-card.good .cmp-total span{color:var(--green-mid)}
.cmp-total b{font-family:var(--font-display);font-size:1.9rem;font-weight:800;letter-spacing:-.03em}
.cmp-card.bad .cmp-total b{color:var(--red)}
.cmp-card.good .cmp-total b{color:#fff}
.cmp-note{text-align:center;font-size:.76rem;color:var(--muted);margin-top:1.2rem;max-width:760px;margin-left:auto;margin-right:auto}
.ahorro-pill{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;background:rgba(39,181,133,.16);border:1px solid rgba(52,211,153,.4);color:var(--green-mid);border-radius:100px;padding:.45rem .9rem;font-size:.8rem;font-weight:700}

/* ═══ RECORRIDO POR EL SISTEMA (pestañas con capturas) ═══ */
#sistema{padding:60px 0}
.tour{display:grid;grid-template-columns:330px 1fr;gap:2rem;align-items:start}
.tour-tabs{display:flex;flex-direction:column;gap:.3rem;position:sticky;top:112px}
.tt{display:flex;gap:.85rem;align-items:flex-start;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--r-md);padding:.62rem 1rem;cursor:pointer;transition:all .25s;color:var(--navy);width:100%}
.tt:hover{background:var(--surface);border-color:var(--line)}
.tt.on{background:var(--surface);border-color:var(--green);box-shadow:var(--shadow-md)}
.tt-i{width:38px;height:38px;min-width:38px;border-radius:10px;background:var(--navy-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:all .25s}
.tt-i svg{width:19px;height:19px}
.tt.on .tt-i{background:var(--green);color:#fff}
.tt b{display:block;font-size:.92rem;font-weight:700;line-height:1.3}
.tt small{display:block;font-size:.76rem;color:var(--muted);line-height:1.45;margin-top:.15rem}
.tour-panel{display:none}
.tour-panel.on{display:block;animation:aparecer .45s ease}
@keyframes aparecer{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tour-panel .frame{cursor:zoom-in}
.tour-txt{display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;margin-top:1.4rem;align-items:start}
.tour-txt h3{font-size:1.25rem;font-weight:800;margin-bottom:.5rem}
.tour-txt p{font-size:.92rem;color:var(--ink-2);line-height:1.7}
.checks{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.checks li{display:flex;gap:.6rem;font-size:.88rem;color:var(--ink-2);line-height:1.5}
.checks li::before{content:'';width:18px;height:18px;min-width:18px;margin-top:2px;border-radius:50%;background:var(--green-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F9D72' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.checks.light li{color:rgba(255,255,255,.82)}
.checks.light li::before{background-color:rgba(39,181,133,.22)}

/* ═══ FUNCIONES ═══ */
#funciones{padding:60px 0}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;transition:transform .3s,box-shadow .3s,border-color .3s}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-2)}
.fcard .fi{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--green-soft) 0%,#fff 100%);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--green-deep);margin-bottom:1rem}
.fcard .fi svg{width:21px;height:21px}
.fcard h4{font-size:.98rem;font-weight:700;margin-bottom:.35rem}
.fcard p{font-size:.84rem;color:var(--muted);line-height:1.6}

/* ═══ SIN INTERNET / SEGURIDAD ═══ */
#local{padding:60px 0}
.local-card{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);border-radius:var(--r-xl);padding:3rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}
.local-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 85%,rgba(39,181,133,.2) 0%,transparent 45%),radial-gradient(circle at 90% 10%,rgba(52,211,153,.12) 0%,transparent 40%);pointer-events:none}
.local-card>*{position:relative}
.local-card .eyebrow{color:var(--green-mid)}.local-card .eyebrow::before{background:var(--green-mid)}
.local-card h2{color:#fff;font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:800;margin-bottom:1rem}
.local-card p{color:rgba(255,255,255,.76);font-size:.98rem;line-height:1.75;margin-bottom:1.2rem}
.lstats{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.lstat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:1.2rem}
.lstat b{display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.lstat span{font-size:.8rem;color:rgba(255,255,255,.68);line-height:1.5;display:block;margin-top:.2rem}

/* ═══ PRECIOS ═══ */
#precios{padding:70px 0 50px}
.lic{display:grid;grid-template-columns:1.05fr .95fr;gap:0;max-width:1040px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.lic-l{padding:2.6rem;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;position:relative;overflow:hidden}
.lic-l::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(39,181,133,.28) 0%,transparent 45%);pointer-events:none}
.lic-l>*{position:relative}
.ribbon{display:inline-flex;align-items:center;gap:.45rem;background:var(--green);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .8rem;border-radius:100px;margin-bottom:1.2rem}
.lic-l h3{color:#fff;font-size:1.5rem;font-weight:800;margin-bottom:.4rem}
.lic-l .lsub{color:rgba(255,255,255,.72);font-size:.9rem;margin-bottom:1.6rem}
.price-old{font-size:1.05rem;color:rgba(255,255,255,.55);text-decoration:line-through;text-decoration-color:rgba(248,113,113,.8);text-decoration-thickness:2px;font-weight:600}
.price-new{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.4rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin:.3rem 0 .4rem}
.price-new sup{font-size:.45em;vertical-align:.9em;margin-right:.1em;font-weight:700}
.price-per{font-size:.86rem;color:rgba(255,255,255,.75)}
.price-save{display:inline-block;margin-top:1rem;background:rgba(39,181,133,.18);border:1px solid rgba(52,211,153,.45);color:var(--green-mid);font-weight:700;font-size:.82rem;padding:.4rem .85rem;border-radius:100px}
.lic-l .btn{margin-top:1.8rem}
.lic-l .mini{font-size:.74rem;color:rgba(255,255,255,.55);margin-top:.8rem}
.lic-r{padding:2.6rem}
.lic-r h4{font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.lic-r .checks{gap:.62rem}
.fe-head{text-align:center;max-width:720px;margin:3.6rem auto 1.8rem}
.fe-head h3{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;margin-bottom:.6rem}
.fe-head p{font-size:.95rem;color:var(--ink-2)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1040px;margin:0 auto}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.9rem;display:flex;flex-direction:column;position:relative;transition:transform .3s,box-shadow .3s}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.plan.pop{border:2px solid var(--green);box-shadow:var(--shadow-lg)}
.plan .pop-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .8rem;border-radius:100px;white-space:nowrap}
.plan h4{font-size:1.05rem;font-weight:800}
.plan .docs{font-size:.86rem;color:var(--muted);margin:.2rem 0 1.1rem}
.plan .docs b{color:var(--navy)}
.plan .pp{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.plan .pp small{font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:0}
.plan .unit{font-size:.78rem;color:var(--green-deep);font-weight:600;margin:.4rem 0 1.2rem}
.plan .checks{margin-bottom:1.4rem;flex:1}
.plan .checks li{font-size:.84rem}
.cert{max-width:1040px;margin:1.2rem auto 0;display:flex;align-items:center;gap:1.2rem;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:1.2rem 1.4rem}
.cert .ci{width:46px;height:46px;min-width:46px;border-radius:12px;background:var(--amber-soft);color:var(--amber);display:flex;align-items:center;justify-content:center}
.cert .ci svg{width:22px;height:22px}
.cert b{font-size:.95rem}
.cert p{font-size:.84rem;color:var(--muted);line-height:1.55}
.cert .cp{margin-left:auto;text-align:right;white-space:nowrap}
.cert .cp b{font-family:var(--font-display);font-size:1.35rem;font-weight:800;display:block}
.cert .cp span{font-size:.74rem;color:var(--muted)}
.sum{max-width:1040px;margin:1.2rem auto 0;background:var(--green-soft);border:1px solid var(--green-soft-2);border-radius:var(--r-lg);padding:1.1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:var(--ink-2)}
.sum b{color:var(--navy)}
.sum .st{font-family:var(--font-display);font-size:1.3rem;font-weight:800;color:var(--green-darker)}
.legal-note{max-width:1040px;margin:1rem auto 0;font-size:.75rem;color:var(--muted);text-align:center;line-height:1.6}

/* ═══ CÓMO COMPRAR ═══ */
#comprar{padding:60px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:paso}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;position:relative}
.step::before{counter-increment:paso;content:counter(paso,decimal-leading-zero);font-family:var(--font-display);font-size:2.2rem;font-weight:800;letter-spacing:-.04em;color:var(--green);opacity:.9;display:block;line-height:1;margin-bottom:.8rem}
.step h4{font-size:.98rem;font-weight:700;margin-bottom:.35rem}
.step p{font-size:.84rem;color:var(--muted);line-height:1.6}

/* ═══ FAQ ═══ */
#faq{padding:60px 0}
.faq-list{max-width:820px;margin:0 auto;padding:0 1.5rem;display:flex;flex-direction:column;gap:.65rem}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.faq-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-sm)}
.faq-item.open{border-color:var(--green);box-shadow:var(--shadow-md)}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:1.1rem 1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:600;font-size:.95rem;color:var(--navy);line-height:1.4;min-height:var(--tap)}
.faq-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--green);font-size:1.5rem;font-weight:400;transition:transform .25s}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-a{max-height:600px}
.faq-a-inner{padding:0 1.3rem 1.2rem;font-size:.9rem;color:var(--ink-2);line-height:1.7}

/* ═══ CTA ═══ */
#cta{padding:60px 1.5rem;text-align:center}
.cta-card{max-width:880px;margin:0 auto;padding:3rem 2rem;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);border-radius:var(--r-xl);position:relative;overflow:hidden;box-shadow:var(--shadow-xl)}
.cta-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(39,181,133,.22) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(52,211,153,.16) 0%,transparent 50%);pointer-events:none}
.cta-card>*{position:relative;z-index:1}
.cta-card .eyebrow{color:var(--green-mid);justify-content:center}
.cta-card .eyebrow::before{background:var(--green-mid)}
.cta-card h2{font-size:clamp(1.9rem,4.2vw,2.8rem);font-weight:800;letter-spacing:-.03em;color:#fff;margin-bottom:1rem;line-height:1.1}
.cta-card h2 .grad{color:var(--green-mid)}
.cta-card p{font-size:1.02rem;color:rgba(255,255,255,.78);max-width:560px;margin:0 auto 2.2rem;line-height:1.7}
.cta-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ═══ CONTACTO ═══ */
#contacto{padding:60px 0}
.ct-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}
.ct-h h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:800;margin-bottom:1rem}
.ct-h>p{font-size:.98rem;color:var(--ink-2);line-height:1.7;margin-bottom:1.8rem}
.chs{display:flex;flex-direction:column;gap:.8rem}
.ch{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);text-decoration:none;color:var(--navy);transition:all .25s;min-height:var(--tap)}
a.ch:hover{border-color:var(--green);background:var(--green-soft);transform:translateY(-2px)}
.ch-i{width:42px;height:42px;min-width:42px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.ch-i svg{width:20px;height:20px}
.ch-i.wa{background:rgba(37,211,102,.14);color:#1FBA58}
.ch-i.em{background:var(--green-soft);color:var(--green-deep)}
.ch-i.lo{background:rgba(245,158,11,.14);color:#D97706}
.ch-i.ca{background:var(--indigo-soft);color:var(--indigo)}
.ch-l{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600}
.ch-v{font-size:.92rem;font-weight:700}
.cf{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:2rem;box-shadow:var(--shadow-sm)}
.cf h3{font-size:1.15rem;font-weight:800;margin-bottom:1.3rem}
.fg{margin-bottom:.95rem}
.fg label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.4rem;color:var(--navy)}
.fg input,.fg select,.fg textarea{width:100%;padding:.85rem 1rem;border:1.5px solid var(--line-2);border-radius:var(--r-md);font-size:.92rem;font-family:var(--font-body);background:#fff;color:var(--navy);outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;min-height:var(--tap)}
.fg select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2C4D' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 1rem center/16px no-repeat;padding-right:2.6rem}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(39,181,133,.14)}
.fg textarea{resize:vertical;min-height:96px}
.fg.err input,.fg.err select{border-color:var(--red)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.consent{display:flex;gap:.65rem;align-items:flex-start;font-size:.8rem;color:var(--ink-2);margin:.4rem 0 1.1rem;line-height:1.5}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--green);flex-shrink:0}
.consent a{color:var(--green-deep);font-weight:600}
.consent.err{color:var(--red)}
.form-note{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.76rem;color:var(--muted);margin-top:.7rem;font-weight:500}

/* ═══ FOOTER ═══ */
footer{background:var(--navy);color:#fff;padding:4.5rem 1.5rem 1.5rem;position:relative;overflow:hidden}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(52,211,153,.5),transparent)}
.ft{max-width:1200px;margin:0 auto;position:relative}
.ft-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.ft-logo{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem}
.ft-name{font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.ft-name .accent{color:var(--green-mid)}
.ft-name small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.18em;color:rgba(255,255,255,.5);margin-top:2px}
.ft-tagline{font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.7;max-width:340px;margin-bottom:1.3rem;font-weight:500}
.ft-tagline strong{color:#fff;font-weight:700}
.ft-cta{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;color:var(--green-mid);text-decoration:none;padding:.6rem 1rem;border:1.5px solid rgba(52,211,153,.35);border-radius:var(--r-md);background:rgba(39,181,133,.1);transition:all .25s}
.ft-cta:hover{background:rgba(39,181,133,.2);border-color:var(--green-mid);color:#fff;transform:translateY(-2px)}
.ft-social{display:flex;gap:.6rem;margin-top:1.4rem}
.ft-social a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;transition:all .25s}
.ft-social a:hover{background:var(--green);border-color:var(--green);transform:translateY(-2px)}
.ft-social svg{width:18px;height:18px;fill:#fff}
.ft-legal{display:flex;flex-direction:column;gap:.35rem;margin-top:1.3rem}
.ft-legal a,.ft-legal button{font-size:.78rem;color:rgba(255,255,255,.6);text-decoration:none;background:none;border:none;padding:0;cursor:pointer;text-align:left;font-family:inherit}
.ft-legal a:hover,.ft-legal button:hover{color:#fff}
.ft-col h5{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55);margin-bottom:1.1rem}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.ft-col ul li a,.ft-col ul li button{font-size:.85rem;color:rgba(255,255,255,.72);text-decoration:none;transition:color .2s;background:none;border:none;font-family:var(--font-body);cursor:pointer;padding:.15rem 0;text-align:left}
.ft-col ul li a:hover,.ft-col ul li button:hover{color:#fff}
.ft-bot{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.ft-bot p{font-size:.78rem;color:rgba(255,255,255,.5)}
.ft-bot p strong{color:rgba(255,255,255,.75);font-weight:600}

/* ═══ WHATSAPP FLOTANTE ═══ */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:900;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(37,211,102,.4);transition:transform .25s}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* ═══ VISOR DE CAPTURAS ═══ */
#visor{position:fixed;inset:0;z-index:9000;background:rgba(10,24,42,.88);display:none;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out}
#visor.open{display:flex}
#visor img{max-width:min(1500px,100%);max-height:100%;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5);background:#fff}
#visor button{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:.5rem .9rem;font-weight:700;cursor:pointer}

/* ═══ DOCUMENTOS LEGALES (pantalla completa, igual a celdexia.co) ═══ */
.doc-legal{position:fixed;inset:0;z-index:10000;background:var(--bg);display:none;flex-direction:column;opacity:0;transition:opacity .28s ease}
.doc-legal.open{display:flex}
.doc-legal.show{opacity:1}
body.priv-lock{overflow:hidden}
.pv-head{flex:0 0 auto;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;box-shadow:0 6px 20px rgba(15,44,77,.22);position:relative;z-index:3}
.pv-brand{display:flex;align-items:center;gap:.7rem;min-width:0}
.pv-t strong{display:block;font-size:1rem;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.pv-t small{display:block;font-size:.63rem;letter-spacing:.11em;opacity:.72;font-weight:600;margin-top:.15rem}
.pv-close{flex-shrink:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:10px;padding:.55rem 1rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;min-height:40px;transition:background .2s}
.pv-close:hover{background:rgba(255,255,255,.22)}
.pv-body{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
.pv-in{max-width:860px;margin:0 auto;padding:2.6rem 1.5rem 3rem}
.pv-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);margin-bottom:.9rem}
.pv-eyebrow::before{content:'';width:26px;height:2px;background:var(--green);border-radius:2px}
.pv-h1{font-size:clamp(1.6rem,3.6vw,2.3rem)!important;font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1.12;margin:0 0 .7rem!important;border-top:0!important;padding-top:0!important}
.pv-upd{display:inline-block;font-size:.76rem;font-weight:700;color:var(--navy);background:var(--navy-soft);border-radius:100px;padding:.35rem .9rem;margin-bottom:1.6rem}
.pv-in h2{font-size:1.06rem;font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:2rem 0 .7rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.pv-in p{font-size:.95rem;line-height:1.75;color:var(--ink-2);margin-bottom:.9rem}
.pv-in ul{margin:0 0 1rem;list-style:none}
.pv-in ul li{position:relative;padding-left:1.35rem;margin-bottom:.5rem;font-size:.93rem;line-height:1.7;color:var(--ink-2)}
.pv-in ul li::before{content:'';position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--green)}
.pv-in a{color:var(--green-deep);font-weight:600}
.pv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem 1.3rem;margin-bottom:1rem}
.pv-card ul{margin:0}
.pv-table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.86rem;background:var(--surface);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line)}
.pv-table th{background:var(--navy);color:#fff;text-align:left;padding:.7rem .9rem;font-weight:700;font-size:.8rem}
.pv-table td{padding:.7rem .9rem;border-top:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.pv-note{font-size:.8rem!important;color:var(--muted)!important;margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line)}

/* ═══ RESPONSIVE ═══ */
@media (max-width:1100px){
  .nav-links>li>a{padding:.5rem .6rem;font-size:.8rem}
  .fgrid{grid-template-columns:repeat(3,1fr)}
  .tour{grid-template-columns:270px 1fr}
}
@media (max-width:960px){
  .burger{display:flex}
  .nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:.2rem;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);padding:1rem 1.2rem 1.4rem;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(15,44,77,.12);transform:translateY(-12px);opacity:0;pointer-events:none;transition:all .28s ease;max-height:calc(100vh - 72px);overflow-y:auto}
  .nav-links.open{transform:none;opacity:1;pointer-events:auto}
  .nav-links>li>a{display:block;width:100%;padding:.85rem 1rem;font-size:.95rem}
  .nav-links>li{display:block}
  .nav-cta{text-align:center;margin-top:.4rem}
  .hero-in{grid-template-columns:1fr;gap:3rem}
  .hero-visual{max-width:720px;margin:0 auto;width:100%}
  .tour{grid-template-columns:1fr}
  .tour-tabs{position:static;flex-direction:row;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}
  .tt{min-width:220px;scroll-snap-align:start}
  .tt small{display:none}
  .tour-txt{grid-template-columns:1fr}
  .local-card{grid-template-columns:1fr;padding:2.2rem}
  .lic{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr;max-width:520px}
  .steps{grid-template-columns:1fr 1fr}
  .ct-wrap{grid-template-columns:1fr;gap:2.5rem}
  .ft-top{grid-template-columns:1fr 1fr;gap:2rem}
  .ft-brand{grid-column:1/-1}
  .cmp{grid-template-columns:1fr}
}
@media (max-width:640px){
  nav{padding:0 1rem}
  .nav-logo-text small{display:none}
  .promo-bar{font-size:.72rem;padding:.45rem .8rem;gap:.4rem}
  #hero{padding:132px 0 50px}
  .hero-trust{gap:1.4rem}
  .hv-chip{transform:scale(.86)}
  .hv-chip.tl{left:-6px;top:-24px}.hv-chip.br{right:-6px}.hv-chip.ml{display:none}
  .fgrid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .lic-l,.lic-r{padding:1.8rem}
  .cert{flex-wrap:wrap}.cert .cp{margin-left:0;text-align:left}
  .frow{grid-template-columns:1fr}
  .cf{padding:1.4rem}
  .ft-top{grid-template-columns:1fr}
  .lstats{grid-template-columns:1fr}
  .cmp-card{padding:1.5rem}
  .btn{white-space:normal;text-align:center}
}
@media (max-width:420px){
  .fgrid{grid-template-columns:1fr}
  .hero-btns .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .fade-up{opacity:1;transform:none}
}

/* ═══ ENCABEZADO PREMIUM · ocupa una pantalla y la imagen siempre queda visible ═══ */
#hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:clamp(122px,16vh,150px) 0 clamp(48px,7vh,80px);
  background:radial-gradient(ellipse 50% 60% at 82% 36%,rgba(39,181,133,.16) 0%,transparent 64%),radial-gradient(ellipse 42% 50% at 4% 90%,rgba(30,99,233,.08) 0%,transparent 62%),
  radial-gradient(ellipse 40% 36% at 30% 0%,rgba(52,211,153,.10) 0%,transparent 70%),linear-gradient(180deg,#FFFFFF 0%,#F7FAF8 55%,var(--bg) 100%)}
#hero::before{background-image:radial-gradient(circle at 1px 1px,rgba(15,44,77,.07) 1px,transparent 0);mask-image:radial-gradient(ellipse at 72% 32%,#000 12%,transparent 68%);-webkit-mask-image:radial-gradient(ellipse at 72% 32%,#000 12%,transparent 68%)}
#hero::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:90px;background:linear-gradient(180deg,rgba(250,248,242,0),var(--bg));pointer-events:none;z-index:1}
#hero .hero-in{width:100%;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);column-gap:clamp(2rem,4.5vw,4.5rem);row-gap:0;align-items:center}
/* En PC el texto va a la izquierda y la imagen con los datos de confianza a la derecha: todo cabe en una pantalla */
@media (min-width:961px){
  #hero .hero-in>div:first-child{display:contents}
  #hero .hero-badge,#hero .hero-h1,#hero .hero-sub,#hero .hero-price,#hero .hero-btns{grid-column:1}
  #hero .hero-badge{justify-self:start}
  #hero .hero-btns{margin-bottom:0}
  #hero .hero-visual{grid-column:2;grid-row:1 / 5;align-self:center}
  #hero .hero-trust{grid-column:2;grid-row:5;justify-self:center;border-top:0;padding-top:0;margin-top:clamp(1.4rem,3vh,2rem);flex-wrap:nowrap;gap:clamp(1rem,2.4vw,2.4rem)}
  #hero .trust-item{text-align:center}
}
#hero .hero-badge{background:rgba(255,255,255,.85);border-color:rgba(39,181,133,.28);color:var(--navy);box-shadow:0 6px 18px -8px rgba(15,44,77,.18);margin-bottom:clamp(.9rem,2.4vh,1.5rem)}
#hero .hero-badge b{color:var(--green-deep)}
#hero .hero-h1{color:var(--navy);font-size:clamp(2.05rem,min(4.3vw,6.6vh),3.55rem);line-height:1.04;margin-bottom:clamp(.8rem,2.2vh,1.3rem)}
#hero .hero-h1 .grad{display:inline;background:linear-gradient(90deg,#178A60 0%,#27B585 50%,#1E9E8C 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
#hero .hero-h1 .grad::after{display:none}
#hero .hero-sub{color:var(--ink-2);font-size:clamp(.95rem,min(1.15vw,2vh),1.06rem);line-height:1.62;margin-bottom:clamp(1rem,2.6vh,1.6rem)}
#hero .hero-sub strong{color:var(--navy)}
#hero .hero-price{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(229,247,240,.75));border:1px solid rgba(39,181,133,.22);border-radius:18px;padding:clamp(.75rem,1.6vh,1rem) 1.15rem;
  gap:.35rem 1rem;margin-bottom:clamp(1rem,2.6vh,1.6rem);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -22px rgba(15,44,77,.28),inset 0 1px 0 #fff}
#hero .hp-new{font-size:clamp(1.8rem,min(2.6vw,4.4vh),2.3rem)}
#hero .hp-cd{color:var(--muted);font-size:.78rem;line-height:1.45}
#hero .hp-cd b{color:var(--green-darker)}
#hero .hero-btns{margin-bottom:clamp(1.2rem,3vh,2.2rem)}
#hero .hero-btns .btn-primary{box-shadow:0 14px 34px -8px rgba(39,181,133,.6),inset 0 1px 0 rgba(255,255,255,.2)}
#hero .hero-trust{padding-top:clamp(1rem,2.6vh,1.7rem);gap:clamp(1.2rem,3vw,2.8rem)}
#hero .trust-item .num{font-size:clamp(1.3rem,min(1.9vw,3.2vh),1.65rem)}
/* Imagen: tamaño limitado por la altura de la pantalla, marco con perspectiva y halo */
#hero .hero-visual{width:min(100%,calc((100svh - 300px) * 1.6));justify-self:center;perspective:1800px}
#hero .hero-visual::before{content:'';position:absolute;inset:6% 4% -2%;background:radial-gradient(closest-side,rgba(39,181,133,.28),transparent);filter:blur(50px);z-index:-1;pointer-events:none}
#hero .hero-visual .frame{border:1px solid rgba(15,44,77,.1);border-radius:18px;transform:rotateY(-10deg) rotateX(5deg) rotateZ(.6deg);transform-origin:60% 50%;
  box-shadow:0 46px 90px -30px rgba(15,44,77,.42),0 20px 40px -24px rgba(15,44,77,.22),0 0 80px -20px rgba(39,181,133,.35);transition:transform .9s cubic-bezier(.2,.8,.2,1);animation:heroFlota 7s ease-in-out infinite alternate}
#hero .hero-visual:hover .frame{transform:rotateY(-3deg) rotateX(2deg) rotateZ(0)}
#hero .hv-chip{border:1px solid var(--line);box-shadow:0 18px 40px -14px rgba(15,44,77,.3);animation:heroFlota 6s ease-in-out infinite alternate}
#hero .hv-chip.ml{animation-delay:-2s}#hero .hv-chip.br{animation-delay:-4s}
@keyframes heroFlota{from{translate:0 0}to{translate:0 -10px}}
/* Pantallas bajas (portátiles de 768 px): todo cabe sin desplazarse */
@media (min-width:961px) and (max-height:820px){#hero .hero-sub{line-height:1.5}#hero .hero-trust .trust-item .lab{margin-top:.2rem}}
/* Tableta */
@media (max-width:960px){
  #hero{min-height:auto}
  #hero .hero-in{grid-template-columns:minmax(0,1fr);row-gap:3.2rem}
  #hero .hero-btns{margin-bottom:1.6rem}
  #hero .hero-visual{width:100%;max-width:720px}
  #hero .hero-visual .frame{transform:rotateX(4deg);transform-origin:50% 100%}
}
/* Celular: el titular y enseguida la imagen; botones a todo el ancho */
@media (max-width:720px){
  #hero{padding:136px 0 56px}
  #hero .hero-in{display:flex;flex-direction:column;gap:0;padding:0 1.15rem}
  #hero .hero-in>div:first-child{display:contents}
  #hero .hero-badge{order:1;align-self:flex-start;font-size:.7rem;padding:.42rem .85rem;margin-bottom:1rem}
  #hero .hero-h1{order:2;font-size:clamp(2.05rem,9vw,2.6rem);line-height:1.05;margin-bottom:1.3rem}
  #hero .hero-visual{order:3;margin:0 0 2rem;perspective:none}
  #hero .hero-visual .frame{transform:none;animation:none;border-radius:14px}
  #hero .hero-visual .frame-bar{height:24px}
  #hero .hero-sub{order:4;font-size:.98rem}
  #hero .hero-price{order:5;width:100%}
  #hero .hero-btns{order:6;flex-direction:column;width:100%;gap:.7rem}
  #hero .hero-btns .btn{width:100%;justify-content:center;padding-top:1rem;padding-bottom:1rem}
  #hero .hero-btns .btn-ghost{background:rgba(255,255,255,.8)}
  #hero .hero-trust{order:7;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;text-align:center;width:100%}
  #hero .trust-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem .4rem;box-shadow:0 8px 20px -14px rgba(15,44,77,.25)}
  #hero .trust-item .lab{font-size:.66rem;line-height:1.3}
  #hero .hv-chip{transform:scale(.78);animation:none}
  #hero .hv-chip.tl{top:auto;bottom:-22px;left:-8px;transform-origin:left bottom}
  #hero .hv-chip.br,#hero .hv-chip.ml{display:none}
  .promo-bar{flex-wrap:nowrap;justify-content:space-between;text-align:left}
  .promo-bar>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .promo-bar>a{display:none}
  .promo-bar{padding:.5rem 1rem;gap:.6rem}
  .promo-bar .cd{flex:none;white-space:nowrap;font-size:0;gap:0;padding:.14rem .6rem}
  .promo-bar .cd b{font-size:.72rem}
}
@media (prefers-reduced-motion:reduce){#hero .hero-visual .frame,#hero .hv-chip{animation:none}}
@media print{nav,.promo-bar,.wa-float,#contacto form{display:none}#hero{padding-top:20px}}
.link-terminos{background:none;border:none;color:var(--green-deep);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.enlace-verde{color:var(--green-deep);font-weight:600}
.nota-marcas{display:block;margin-top:.6rem;color:var(--muted)}
.ch.ch-fija{cursor:default}
/* Enlace al demo interactivo (demo.html) */
.nav-demo{position:relative}
.nav-demo::after{content:"NUEVO";position:absolute;top:-9px;right:-14px;font-size:9px;font-weight:700;letter-spacing:.06em;background:var(--green);color:#fff;border-radius:6px;padding:1px 5px}
.lnk-demo{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ═══ Facturación electrónica DIAN: peaje de transmisión y calculadora del paquete ═══ */
#facturacion{padding:5.5rem 0;background:linear-gradient(180deg,var(--bg) 0%,var(--surface) 55%,var(--bg) 100%)}
.fe-ruta{display:grid;grid-template-columns:1fr 44px 1.08fr 44px 1fr;align-items:stretch;gap:.4rem;max-width:1080px;margin:0 auto}
.fe-paso{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:1.7rem 1.5rem 1.5rem;box-shadow:var(--shadow-md);text-align:left}
.fe-paso h3{font-size:1.06rem;font-weight:800;margin:.9rem 0 .35rem}
.fe-paso p{font-size:.88rem;color:var(--ink-2);line-height:1.6}
.fe-paso p b{color:var(--navy)}
.fe-paso-peaje{border:2px solid #F5C77E;background:linear-gradient(180deg,#FFFBF2 0%,var(--surface) 70%);box-shadow:0 18px 40px -18px rgba(217,119,6,.35)}
.fe-paso-peaje::after{content:"PEAJE";position:absolute;top:-12px;right:18px;background:var(--amber);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.14em;padding:.28rem .7rem;border-radius:100px}
.fe-num{position:absolute;top:1.1rem;right:1.2rem;font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--navy-soft)}
.fe-paso-peaje .fe-num{color:#FBE3BC}
.fe-ico{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center}
.fe-ico svg{width:24px;height:24px}
.fe-ico-verde{background:var(--green-soft);color:var(--green-darker)}
.fe-ico-ambar{background:var(--amber-soft);color:var(--amber)}
.fe-ico-azul{background:var(--indigo-soft);color:var(--indigo)}
.fe-flecha{display:flex;align-items:center;justify-content:center}
.fe-flecha svg{width:40px;height:12px;color:#A9B4C6}
.fe-claro{max-width:820px;margin:1.6rem auto 0;text-align:center;font-size:.92rem;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:1rem 1.3rem;line-height:1.65}
.fe-claro b{color:var(--navy)}
.fe-tarifas{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:1080px;margin:2.4rem auto 0}
.fe-tarifa{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.1rem;transition:border-color .25s,box-shadow .25s,transform .25s}
.fe-tarifa span{font-size:.8rem;color:var(--muted);font-weight:600}
.fe-tarifa b{font-family:var(--font-display);font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1.2}
.fe-tarifa small{font-size:.74rem;color:var(--muted)}
.fe-tarifa.on{border-color:var(--green);box-shadow:0 0 0 3px rgba(39,181,133,.15),var(--shadow-md);transform:translateY(-2px)}
.fe-tarifa.on b{color:var(--green-darker)}
.fe-calc{display:grid;grid-template-columns:1.15fr 1fr;max-width:1080px;margin:2.4rem auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden}
.fe-calc-l{padding:2rem 2rem 1.6rem;min-width:0}
.fe-calc-tit h3{font-size:1.35rem;font-weight:800;margin-bottom:.3rem}
.fe-calc-tit p{font-size:.9rem;color:var(--ink-2)}
.fe-calc-tit p b{color:var(--navy)}
.fe-campos{display:grid;gap:.15rem;margin-top:1.2rem}
.fe-campo{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.fe-campo:last-child{border-bottom:0}
.fe-campo label{display:flex;flex-direction:column;gap:.1rem;cursor:pointer;min-width:0}
.fe-campo label b{font-size:.93rem;color:var(--navy)}
.fe-campo label small{font-size:.78rem;color:var(--muted);line-height:1.45}
.fe-campo label small b{font-size:inherit;color:var(--amber)}
.fe-num-in{display:flex;align-items:center;border:1.5px solid var(--line-2);border-radius:12px;overflow:hidden;background:var(--surface);flex:none;transition:border-color .2s,box-shadow .2s}
.fe-num-in:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(39,181,133,.15)}
.fe-num-in button{width:40px;height:44px;border:0;background:var(--bg);color:var(--navy);font-size:1.25rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--font-display)}
.fe-num-in button:hover{background:var(--green-soft);color:var(--green-darker)}
.fe-num-in input,.fe-num-in output{width:76px;height:44px;border:0;text-align:center;font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--navy);background:transparent;outline:0;display:flex;align-items:center;justify-content:center;padding:0}
.fe-detalle{margin-top:1rem;border-top:1px solid var(--line);padding-top:.9rem}
.fe-detalle summary{cursor:pointer;font-size:.86rem;font-weight:700;color:var(--green-darker);list-style:none;display:flex;align-items:center;gap:.5rem}
.fe-detalle summary::-webkit-details-marker{display:none}
.fe-detalle summary::before{content:"+";display:inline-flex;width:20px;height:20px;border-radius:6px;background:var(--green-soft);align-items:center;justify-content:center;font-weight:800}
.fe-detalle[open] summary::before{content:"−"}
.fe-tabla{width:100%;border-collapse:collapse;margin-top:.8rem;font-size:.85rem}
.fe-tabla th{text-align:right;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.45rem .3rem;border-bottom:1px solid var(--line)}
.fe-tabla th:first-child,.fe-tabla td:first-child{text-align:left}
.fe-tabla td{text-align:right;padding:.45rem .3rem;border-bottom:1px solid var(--line);color:var(--ink-2)}
.fe-tabla tfoot td{font-weight:800;color:var(--navy);border-bottom:0;padding-top:.6rem}
.fe-calc-r{background:radial-gradient(120% 80% at 100% 0%,#1E3D63 0%,var(--navy) 60%);color:#fff;padding:2rem 1.9rem 1.7rem;display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.fe-necesidad{display:flex;flex-direction:column}
.fe-necesidad span,.fe-elegir-t{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:#A9BBD6;font-weight:700}
.fe-necesidad b{font-family:var(--font-display);font-size:1.5rem;font-weight:800}
.fe-necesidad small{color:#A9BBD6;font-size:.82rem}
.fe-sugerido{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:1.1rem 1.2rem}
.fe-sello{display:inline-block;background:var(--green);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .7rem;border-radius:100px}
.fe-paquete{display:flex;align-items:baseline;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}
.fe-paquete b{font-family:var(--font-display);font-size:2.5rem;font-weight:800;line-height:1.1;color:#fff}
.fe-paquete span{color:#C9D5E8;font-size:.9rem}
.fe-motivo{font-size:.84rem;color:#C9D5E8;margin-top:.35rem;line-height:1.55}
.fe-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}
.fe-chips button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.04);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.86rem;padding:.45rem .8rem;border-radius:100px;cursor:pointer;min-height:38px;transition:background .2s,border-color .2s}
.fe-chips button:hover{background:rgba(255,255,255,.1)}
.fe-chips button.on{background:var(--green);border-color:var(--green)}
.fe-perso{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.75rem;padding:.55rem .55rem .55rem .9rem;border:1px solid rgba(255,255,255,.14);border-radius:14px}
.fe-perso.on{border-color:var(--green);background:rgba(39,181,133,.12)}
.fe-perso>span{font-size:.86rem;font-weight:600}
.fe-perso small{display:block;color:#A9BBD6;font-weight:500;font-size:.74rem}
.fe-num-mini{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.05)}
.fe-num-mini button{background:rgba(255,255,255,.06);color:#fff;height:38px;width:36px}
.fe-num-mini button:hover{background:rgba(39,181,133,.3);color:#fff}
.fe-num-mini output{color:#fff;height:38px;width:84px}
.fe-aviso{margin-top:.6rem;font-size:.82rem;background:rgba(217,119,6,.18);border:1px solid rgba(245,199,126,.45);color:#FDE3B8;border-radius:12px;padding:.55rem .8rem}
.fe-aviso[hidden]{display:none}
.fe-cuenta{border-top:1px solid rgba(255,255,255,.14);padding-top:1rem;display:grid;gap:.4rem}
.fe-linea{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;color:#C9D5E8}
.fe-linea b{color:#fff;white-space:nowrap}
.fe-linea small{display:block;font-size:.72rem;color:#8EA3C2}
.fe-total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.35rem;padding-top:.7rem;border-top:1px dashed rgba(255,255,255,.2)}
.fe-total span{font-weight:700}
.fe-total b{font-family:var(--font-display);font-size:2rem;font-weight:800;color:var(--green-mid);white-space:nowrap}
.fe-mensual{font-size:.82rem;color:#A9BBD6;text-align:right}
.fe-mensual b{color:#fff}
.fe-calc-r .btn{width:100%;white-space:normal;text-align:center}
.fe-nota{font-size:.75rem;color:#8EA3C2;text-align:center;line-height:1.5}
@media (max-width:960px){
  .fe-ruta{grid-template-columns:1fr;gap:.2rem;max-width:560px}
  .fe-flecha{height:30px}
  .fe-flecha svg{transform:rotate(90deg)}
  .fe-tarifas{grid-template-columns:repeat(2,1fr)}
  .fe-calc{grid-template-columns:1fr}
}
@media (max-width:640px){
  #facturacion{padding:4rem 0}
  .fe-calc{border-radius:var(--r-lg)}
  .fe-calc-l{padding:1.4rem 1.1rem 1.1rem}
  .fe-calc-r{padding:1.5rem 1.1rem 1.3rem}
  .fe-campo{flex-wrap:wrap;gap:.55rem}
  .fe-campo label{flex:1 1 170px}
  .fe-num-in input{width:70px}
  .fe-paquete b{font-size:2.1rem}
  .fe-total b{font-size:1.6rem}
  .fe-tarifa b{font-size:1.35rem}
  .fe-perso{flex-wrap:wrap}
}
.fe-ir{max-width:1040px;margin:1.4rem auto 0;display:flex;align-items:center;gap:1rem;background:var(--navy);color:#fff;border-radius:var(--r-lg);padding:1.05rem 1.3rem;text-decoration:none;box-shadow:var(--shadow-lg);transition:transform .25s,box-shadow .25s}
.fe-ir:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}
.fe-ir-ico{width:42px;height:42px;min-width:42px;border-radius:12px;background:rgba(39,181,133,.2);color:var(--green-mid);display:flex;align-items:center;justify-content:center}
.fe-ir-ico svg{width:22px;height:22px}
.fe-ir span{font-size:.92rem;color:#C9D5E8;line-height:1.5}
.fe-ir b{color:#fff}
.fe-ir-flecha{margin-left:auto;font-size:1.4rem;color:var(--green-mid);font-weight:700}
