@charset "UTF-8";
  .blob{
    position:absolute;border-radius:42% 58% 65% 35% / 45% 40% 60% 55%;
    filter:blur(50px);pointer-events:none;z-index:0;
    animation:blobMorph 16s ease-in-out infinite;
  }
  @keyframes blobFloat{
    0%,100%{transform:translate(0,0) rotate(0deg);}
    33%{transform:translate(18px,-24px) rotate(6deg);}
    66%{transform:translate(-14px,16px) rotate(-4deg);}
  }
  @keyframes blobMorph{
    0%,100%{border-radius:42% 58% 65% 35% / 45% 40% 60% 55%;}
    50%{border-radius:60% 40% 35% 65% / 55% 60% 40% 45%;}
  }
  .blob-gold{background:radial-gradient(circle at 35% 35%, rgba(255,203,60,0.5), rgba(255,203,60,0) 70%);}
  .blob-green{background:radial-gradient(circle at 60% 60%, rgba(23,179,126,0.45), rgba(23,179,126,0) 70%);}

  /* ===== BARRA DE PROGRESO DE SCROLL: siempre visible, siempre viva ===== */
  .scroll-progress{
    position:fixed;top:0;left:0;height:3px;width:0%;
    background:var(--grad-gg);
    z-index:999;
    box-shadow:0 0 12px 1px rgba(255,203,60,0.6);
  }

  /* ===== DIVISORES ONDULADOS entre secciones (nada de líneas rectas) ===== */
  .wave-divider{
    width:100vw;position:relative;left:50%;transform:translateX(-50%);
    height:64px;line-height:0;margin-bottom:calc(var(--section-pad) * -1);pointer-events:none;overflow:hidden;
  }
  .wave-divider svg{width:100%;height:100%;display:block;}
  .wave-divider.to-light{background:var(--warm-white);}
  .wave-divider.to-light path{fill:var(--graphite);}
  .wave-divider.to-dark{background:var(--graphite);}
  .wave-divider.to-dark path{fill:var(--warm-white);}
  @media (max-width:700px){.wave-divider{height:36px;}}

  /* ===== CARRUSEL INFINITO DE SECTORES: misma mecánica que puntoos.do, con ilustraciones propias ===== */
  .sector-marquee{
    position:relative;width:100%;overflow:hidden;margin:8px 0 40px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .sector-marquee-track{
    display:flex;gap:18px;width:max-content;
    animation:marqueeScroll 32s linear infinite;
  }
  .sector-marquee:hover .sector-marquee-track{animation-play-state:paused;}
  @keyframes marqueeScroll{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }
  .marquee-card{
    flex:0 0 auto;width:200px;border-radius:24px 24px 24px 8px;
    background:var(--graphite-soft);border:1px solid rgba(241,194,50,0.22);
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;
    padding:10px 10px 16px;overflow:hidden;
    transition:border-color .25s ease, transform .25s ease;
  }
  .marquee-card:hover{border-color:rgba(255,203,60,0.55);transform:translateY(-4px);}
  .marquee-card .marquee-illus{
    width:100%;height:auto;display:block;border-radius:14px 14px 10px 4px;
  }
  .marquee-card span{
    font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:0.85rem;
    color:var(--warm-white);text-align:center;padding:0 4px;
  }
  @media (max-width:700px){
    .marquee-card{width:158px;}
  }
  .tight-top{padding-top:36px !important;}
  .tight-bottom{padding-bottom:36px !important;}

  :root{
    --green-deep:#083D2E;
    --green-deep-light:#128F68;
    --emerald:#17B37E;
    --graphite:#101214;
    --graphite-soft:#1B1E21;
    --bronze:#D9AC29;
    --bronze-deep:#8A6D12;
    --bronze-light:#F1C232;
    --gold-bright:#FFD65C;
    --gold-hot:#FFCB3C;
    --steel:#4A5A5E;
    --warm-white:#F7F5F1;
    --line:rgba(241,194,50,0.14);
    --grad-gg:linear-gradient(120deg, var(--emerald), var(--gold-hot));
    --grad-gg-soft:linear-gradient(120deg, rgba(23,179,126,0.5), rgba(255,203,60,0.5));
    --section-pad:60px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
  }
  body{
    font-family:'Inter',sans-serif;
    background:var(--warm-white);
    color:var(--graphite);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Space Grotesk',sans-serif;
    letter-spacing:-0.02em;
  }
  .mono{
    font-family:'IBM Plex Mono',monospace;
    font-variant-numeric:tabular-nums;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}
  img{max-width:100%;display:block;}

  /* ===== HEADER ===== */
  header{
    position:relative;
    background:rgba(16,18,20,0.97);
    border-bottom:1px solid var(--line);
  }
  header .wrap{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 24px;
  }
  .logo{
    color:var(--warm-white);
    font-size:1.25rem;font-weight:700;
    display:flex;align-items:center;gap:8px;
  }
  .logo-mark{
    width:10px;height:10px;border-radius:2px;
    background:var(--bronze);
    display:inline-block;
  }
  nav ul{
    display:flex;gap:28px;list-style:none;
  }
  nav a{
    color:#C7CDCE;font-size:0.86rem;font-weight:500;
    letter-spacing:0.02em;
    transition:color .2s;
    position:relative;
  }
  nav a::after{
    content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;
    background:var(--gold-bright);transform:scaleX(0);transform-origin:left;
    transition:transform .25s;
  }
  nav a:hover{color:var(--warm-white);}
  nav a:hover::after{transform:scaleX(1);}
  .nav-right{display:flex;align-items:center;gap:18px;}
  #langSwitch{
    background:transparent;color:#C7CDCE;border:1px solid var(--line);
    border-radius:10px;padding:6px 10px;font-size:0.85rem;font-family:inherit;
    cursor:pointer;
  }
  .btn-cta{
    background:linear-gradient(135deg, var(--gold-bright), var(--bronze-deep));
    color:#161200;
    padding:11px 22px;border-radius:10px;
    font-weight:700;font-size:0.86rem;
    letter-spacing:0.02em;
    box-shadow:0 4px 14px -4px rgba(241,194,50,0.5);
    transition:filter .2s, transform .2s;
    white-space:nowrap;
  }
  .btn-cta:hover{filter:brightness(1.08);transform:translateY(-2px) scale(1.04);}
  .btn-cta{transition:filter .2s, transform .35s cubic-bezier(.34,1.56,.64,1);}
  .btn-cta:active{transform:translateY(0) scale(0.96);}
  .menu-toggle{display:none;background:none;border:none;color:var(--warm-white);font-size:1.4rem;cursor:pointer;}

  /* ===== HERO ===== */
  .hero{
    background:radial-gradient(ellipse 900px 500px at 85% -10%, rgba(255,203,60,0.22), transparent 60%),
                radial-gradient(ellipse 700px 400px at 5% 105%, rgba(23,179,126,0.18), transparent 65%),
                linear-gradient(160deg, #08090A 0%, #0E1512 55%, var(--green-deep) 145%);
    background-size:140% 140%, 140% 140%, 100% 100%;
    animation:heroGlow 14s ease-in-out infinite;
    color:var(--warm-white);
    padding:52px 0 60px;
    position:relative;
    overflow:hidden;
  }
  @keyframes heroGlow{
    0%,100%{background-position:85% -10%, 5% 105%, 0 0;}
    50%{background-position:70% 5%, 20% 90%, 0 0;}
  }
  .hero::after{
    content:"";position:absolute;left:0;right:0;bottom:0;
    height:3px;
    background:linear-gradient(90deg, transparent, var(--emerald) 20%, var(--gold-hot) 50%, var(--emerald) 80%, transparent);
    background-size:220% 100%;
    animation:auroraMove 7s linear infinite;
    opacity:0.9;
  }
  .guilloche{
    position:absolute;inset:0;width:100%;height:100%;opacity:0.55;
  }
  .hero-inner{
    position:relative;z-index:2;
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;
  }
  .hero-brand{
    font-family:'Space Grotesk',sans-serif;
    font-size:clamp(2.4rem, 7vw, 5rem);
    font-weight:700;letter-spacing:-0.03em;line-height:1;
    color:var(--warm-white);margin-bottom:16px;
  }
  .hero-brand span{color:var(--gold-bright);}
  h1{
    font-size:clamp(2.1rem, 4.2vw, 3.4rem);
    font-weight:700;line-height:1.08;margin-bottom:18px;
  }
  h1 span{color:var(--bronze-light);}
  .hero p.sub{
    font-size:1.08rem;color:#C7CDCE;max-width:480px;margin-bottom:26px;
  }
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
  .btn-ghost{
    border:1px solid rgba(255,255,255,0.25);color:var(--warm-white);
    padding:10px 20px;border-radius:10px;font-weight:600;font-size:0.9rem;
    transition:border-color .2s, background .2s;
  }
  .btn-ghost:hover{border-color:var(--warm-white);background:rgba(255,255,255,0.05);}

  /* counting ticker device */
  .device{
    background:var(--graphite-soft);
    border:1px solid rgba(241,194,50,0.4);
    border-radius:32px 32px 32px 10px;
    padding:22px;
    box-shadow:0 40px 80px -20px rgba(0,0,0,0.8), 0 12px 24px -8px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.06), 0 0 0 1px rgba(241,194,50,0.08);
    animation:floatDevice 5.5s ease-in-out infinite;
    transition:transform .3s ease;
  }
  @keyframes floatDevice{
    0%,100%{transform:translateY(0) rotate(0deg);}
    50%{transform:translateY(-7px) rotate(-0.4deg);}
  }

  /* ===== BOTÓN FLOTANTE DE WHATSAPP: siempre visible, como puntoos.do ===== */
  .whatsapp-float{
    position:fixed;right:22px;bottom:22px;z-index:150;
    width:60px;height:60px;border-radius:50%;
    background:#25D366;color:#fff;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px -8px rgba(0,0,0,0.45);
    animation:waPulse 2.6s ease-in-out infinite;
    transition:transform .2s ease;
  }
  .whatsapp-float:hover{transform:scale(1.08);}
  .whatsapp-float .icon{width:30px;height:30px;}
  @keyframes waPulse{
    0%{box-shadow:0 10px 30px -8px rgba(0,0,0,0.45), 0 0 0 0 rgba(37,211,102,0.45);}
    70%{box-shadow:0 10px 30px -8px rgba(0,0,0,0.45), 0 0 0 16px rgba(37,211,102,0);}
    100%{box-shadow:0 10px 30px -8px rgba(0,0,0,0.45), 0 0 0 0 rgba(37,211,102,0);}
  }
  .wa-tooltip{
    position:absolute;right:72px;bottom:16px;white-space:nowrap;
    background:#fff;color:var(--graphite);padding:9px 16px;border-radius:10px;
    font-size:0.85rem;font-weight:700;font-family:'Space Grotesk',sans-serif;
    box-shadow:0 10px 24px -8px rgba(0,0,0,0.3);
    opacity:0;transform:translateX(8px);pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .wa-tooltip::after{
    content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);
    border:6px solid transparent;border-left-color:#fff;
  }
  .whatsapp-float:hover .wa-tooltip{opacity:1;transform:translateX(0);}
  @media (max-width:700px){
    .whatsapp-float{right:14px;bottom:14px;width:52px;height:52px;}
    .whatsapp-float .icon{width:26px;height:26px;}
    .wa-tooltip{display:none;}
  }

  /* ===== BOTÓN FLOTANTE "TE LLAMAMOS": apilado justo arriba del WhatsApp ===== */
  .callback-float{
    position:fixed;right:22px;bottom:96px;z-index:150;
    width:50px;height:50px;border-radius:50%;
    background:linear-gradient(135deg, var(--emerald), var(--green-deep-light));
    color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 26px -8px rgba(0,0,0,0.4);
    transition:transform .2s ease;
  }
  .callback-float:hover{transform:scale(1.08);}
  .callback-float .icon{width:24px;height:24px;}
  @media (max-width:700px){
    .callback-float{right:14px;bottom:78px;width:44px;height:44px;}
    .callback-float .icon{width:20px;height:20px;}
  }

  /* ===== BOTÓN VOLVER ARRIBA: en la esquina opuesta al WhatsApp, para no generar confusión ===== */
  .back-to-top{
    position:fixed;left:22px;bottom:22px;z-index:149;
    width:44px;height:44px;border-radius:50%;
    background:#fff;color:var(--graphite);border:1px solid #E7E3DA;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:0 10px 24px -8px rgba(0,0,0,0.25);
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .2s ease;
  }
  .back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
  .back-to-top:hover{background:var(--warm-white);transform:translateY(-3px);}
  .back-to-top .icon{width:20px;height:20px;}
  @media (max-width:700px){
    .back-to-top{left:14px;bottom:14px;width:40px;height:40px;}
    .back-to-top .icon{width:18px;height:18px;}
  }


  @property --ly{
    syntax:'<length>';
    inherits:false;
    initial-value:0px;
  }
  @keyframes loopFloat{
    0%,100%{--ly:0px;}
    50%{--ly:-11px;}
  }
  @keyframes loopFloatAlt{
    0%,100%{--ly:0px;}
    50%{--ly:-9px;}
  }
  .compat-card, .plan-box, .form-card, .contact-card.contact-info{
    --fy:0px; --hy:0px; --ly:0px;
    transform:translateY(calc(var(--fy) + var(--hy) + var(--ly)));
    transition:transform .08s linear, box-shadow .3s ease, border-color .3s ease;
    will-change:transform;
  }
  .compat-card{animation:loopFloat 5.5s ease-in-out infinite;}
  .plan-box{animation:loopFloatAlt 5s ease-in-out infinite .6s;}
  .form-card{animation:loopFloat 6.5s ease-in-out infinite .2s;}
  .contact-card.contact-info{animation:loopFloatAlt 6s ease-in-out infinite .5s;}
  @media (hover:hover){
    .compat-card:hover, .plan-box:hover, .form-card:hover, .contact-card.contact-info:hover{--hy:-6px;}
  }
  .device-top{
    display:flex;justify-content:space-between;align-items:center;
    font-size:0.75rem;color:#8B9497;margin-bottom:14px;
  }
  .dot{width:7px;height:7px;border-radius:50%;background:var(--bronze);display:inline-block;margin-right:6px;
    animation:pulse 1.6s infinite;}
  @keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
  .screen{
    background:linear-gradient(180deg, #0E2A22, #0B1F19);
    border-radius:15px;padding:26px 22px;
    border:1px solid rgba(201,162,39,0.25);
    box-shadow:inset 0 3px 10px rgba(0,0,0,0.6), inset 0 -1px 0 rgba(241,194,50,0.08);
  }
  .screen-label{color:#7FBFA6;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:8px;}
  .screen-total{
    color:var(--gold-bright);
    text-shadow:0 0 18px rgba(255,214,92,0.35);
    font-size:2.6rem;font-weight:600;
    margin-bottom:18px;
  }
  .denoms{display:flex;flex-direction:column;gap:9px;}
  .denom-row{
    display:flex;justify-content:space-between;
    font-size:0.85rem;color:#B9E3D1;
    border-bottom:1px dashed rgba(255,255,255,0.08);
    padding-bottom:7px;
  }
  .denom-row span:last-child{color:var(--warm-white);font-weight:600;}
  .device-foot{
    margin-top:16px;font-size:0.75rem;color:var(--gold-bright);
    display:flex;justify-content:space-between;
  }

  /* ===== SECTION SHELL ===== */
  section{padding:var(--section-pad) 0;}
  .section-head{max-width:620px;margin-bottom:34px;}
  .section-tag{
    color:var(--green-deep);font-size:0.78rem;font-weight:700;
    letter-spacing:0.1em;text-transform:uppercase;margin-bottom:12px;
  }
  .section-head h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:14px;}
  .section-head p{color:var(--steel);font-size:1.02rem;}

  /* ===== COMO FUNCIONA ===== */
  .steps{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .step{
    background:#fff;border:1px solid #E7E3DA;border-radius:22px;
    padding:30px 26px;position:relative;
    box-shadow:0 18px 36px -20px rgba(8,61,46,0.22), 0 2px 4px rgba(16,18,20,0.04);
    transition:box-shadow .25s ease;
    will-change:transform;
  }
  .step:hover{--ty:-6px;box-shadow:0 26px 46px -20px rgba(255,203,60,0.28);}
  .step-num{
    font-family:'IBM Plex Mono',monospace;
    color:var(--bronze);font-size:0.85rem;font-weight:600;
    margin-bottom:16px;display:block;
  }
  .step h3{font-size:1.15rem;margin-bottom:10px;color:var(--graphite);}
  .step p{color:var(--steel);font-size:0.94rem;}
  .step-line{
    position:absolute;top:30px;right:-14px;width:28px;height:1px;
    background:#D8D2C4;
  }
  .steps .step:last-child .step-line{display:none;}

  /* ===== GALERIA ===== */
  .gallery{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  }
  .gallery-item{
    border-radius:22px;overflow:hidden;border:1px solid rgba(241,194,50,0.25);
    aspect-ratio:4/3;position:relative;
    background:#101214;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 20px 40px -20px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.04);
  }
  .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;}
  .gallery-item.illus{padding:14px;}
  .gallery-item.illus svg{width:100%;height:100%;}
  .gallery-credit{
    margin-top:14px;font-size:0.78rem;color:var(--steel);
  }

  /* ===== DEMO ANIMADO ===== */
  .demo-row{
    display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;
  }
  .demo-player{max-width:420px;}
  .demo-screen{
    background:linear-gradient(180deg,#141719,#0B0D0E);
    border-radius:24px;padding:18px;
    border:1px solid rgba(241,194,50,0.3);
    box-shadow:0 30px 60px -24px rgba(0,0,0,0.55);
    position:relative;
  }
  .demo-screen svg{width:100%;height:auto;display:block;}
  #demoBillSvg{
    animation:billIn 4s ease-in-out infinite;
  }
  @keyframes billIn{
    0%{ transform:translateY(0); opacity:0; }
    5%{ opacity:1; }
    22%{ transform:translateY(60px); opacity:1; }
    26%{ transform:translateY(60px); opacity:0; }
    100%{ transform:translateY(0); opacity:0; }
  }
  #demoScreenTotal{ transition:opacity .1s; }
  #demoStatusDot{
    animation:dotPulse 1.4s infinite;
  }
  @keyframes dotPulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
  #demoTray{
    transition:fill .3s, stroke .3s;
  }
  #demoTray.active{ fill:#1E2A24; stroke:#FFD65C; }
  #demoCoins{
    transition:opacity .4s;
  }
  .demo-caption{
    margin-top:14px;text-align:center;
    color:var(--gold-bright);font-family:'IBM Plex Mono',monospace;
    font-size:0.85rem;letter-spacing:0.03em;
  }
  .demo-progress{
    margin-top:10px;height:4px;
    background:rgba(255,255,255,0.1);border-radius:4px;overflow:hidden;
  }
  .demo-progress-bar{
    height:100%;width:0%;background:linear-gradient(90deg, var(--bronze-deep), var(--gold-bright));
    animation:barCycle 4s linear infinite;
  }
  @keyframes barCycle{
    0%{width:0%;} 100%{width:100%;}
  }
  .demo-note{
    margin-top:16px;font-size:0.82rem;color:var(--steel);max-width:520px;
  }

  /* ===== MEDIA REAL: miniatura que abre el video en una ventana aparte ===== */
  .video-teaser{
    position:relative;max-width:720px;border-radius:24px;overflow:hidden;
    border:1px solid rgba(241,194,50,0.3);
    box-shadow:0 30px 60px -24px rgba(0,0,0,0.5), 0 0 0 1px rgba(23,179,126,0.08);
    aspect-ratio:16/9;background:#0B0D0E;
    cursor:pointer;
    transition:box-shadow .35s ease, border-color .35s ease, transform .3s ease;
  }
  .video-teaser:hover{
    transform:translateY(-4px);
    border-color:rgba(255,203,60,0.55);
    box-shadow:0 36px 70px -22px rgba(0,0,0,0.6), 0 0 32px -6px rgba(255,203,60,0.25);
  }
  .video-teaser img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease, filter .35s ease;filter:brightness(0.72);}
  .video-teaser:hover img{transform:scale(1.04);filter:brightness(0.6);}
  .teaser-overlay{
    position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
    background:linear-gradient(160deg, rgba(16,18,20,0.25), rgba(8,9,10,0.55));
  }
  .gate-play{
    width:74px;height:74px;border-radius:50%;
    background:var(--grad-gg);
    border:none;color:#101214;
    display:flex;align-items:center;justify-content:center;font-size:1.6rem;
    box-shadow:0 0 0 0 rgba(255,203,60,0.5), 0 16px 34px -10px rgba(0,0,0,0.6);
    animation:gatePulse 2.2s ease-in-out infinite;
    transition:transform .2s ease;
  }
  .video-teaser:hover .gate-play{transform:scale(1.08);}
  .gate-play .icon{width:1.5em;height:1.5em;margin-left:4px;}
  @keyframes gatePulse{
    0%{box-shadow:0 0 0 0 rgba(255,203,60,0.45), 0 16px 34px -10px rgba(0,0,0,0.6);}
    70%{box-shadow:0 0 0 18px rgba(255,203,60,0), 0 16px 34px -10px rgba(0,0,0,0.6);}
    100%{box-shadow:0 0 0 0 rgba(255,203,60,0), 0 16px 34px -10px rgba(0,0,0,0.6);}
  }
  .gate-label{
    color:var(--warm-white);font-family:'Space Grotesk',sans-serif;font-weight:700;
    font-size:0.98rem;letter-spacing:0.01em;
    background:rgba(16,18,20,0.6);padding:6px 16px;border-radius:999px;
    border:1px solid rgba(241,194,50,0.3);
  }

  /* ===== VENTANA APARTE (modal) donde vive el video real ===== */
  .video-modal{
    position:fixed;inset:0;z-index:200;
    display:flex;align-items:center;justify-content:center;padding:24px;
    visibility:hidden;opacity:0;
    transition:opacity .25s ease, visibility .25s ease;
  }
  .video-modal.open{visibility:visible;opacity:1;}
  @media (max-width:420px){
    .video-modal{padding:14px;}
  }
  .video-modal-backdrop{
    position:absolute;inset:0;background:rgba(8,9,10,0.88);backdrop-filter:blur(2px);
  }
  .video-modal-box{
    position:relative;width:100%;max-width:900px;
    border-radius:24px;overflow:hidden;
    border:1px solid rgba(241,194,50,0.35);
    box-shadow:0 50px 100px -30px rgba(0,0,0,0.8), 0 0 40px -8px rgba(255,203,60,0.2);
    background:#0B0D0E;
    transform:scale(0.94) translateY(10px);
    transition:transform .3s cubic-bezier(.2,.7,.3,1);
  }
  .video-modal.open .video-modal-box{transform:scale(1) translateY(0);}
  .video-modal-box video{width:100%;display:block;aspect-ratio:16/9;background:#0B0D0E;}
  .video-modal-close{
    position:absolute;top:12px;right:12px;z-index:2;
    width:38px;height:38px;border-radius:50%;
    background:rgba(16,18,20,0.75);border:1px solid rgba(241,194,50,0.35);
    color:var(--warm-white);display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:background .2s ease, transform .2s ease;
  }
  .video-modal-close:hover{background:rgba(16,18,20,0.95);transform:scale(1.06);}
  .video-modal-close .icon{width:1.1em;height:1.1em;}
  body.modal-open{overflow:hidden;}

  /* ===== VENTANA "Te llamamos": modal compacto, a media página, no compite con el formulario grande ===== */
  .callback-trigger{
    display:inline-flex;align-items:center;gap:8px;
    border:none;cursor:pointer;width:100%;justify-content:center;
    background:var(--green-deep);color:#fff;font-weight:700;font-size:0.92rem;
    padding:13px 18px;border-radius:12px;
    transition:background .2s ease, transform .2s ease;
  }
  .callback-trigger:hover{background:var(--green-deep-light);transform:translateY(-2px);}
  .callback-modal-box{
    position:relative;width:100%;max-width:440px;min-width:0;
    border-radius:22px;background:#fff;
    border:1px solid #E7E3DA;
    box-shadow:0 50px 100px -30px rgba(0,0,0,0.5);
    padding:34px 30px;
    transform:scale(0.94) translateY(10px);
    transition:transform .3s cubic-bezier(.2,.7,.3,1);
    box-sizing:border-box;
  }
  .video-modal.open .callback-modal-box{transform:scale(1) translateY(0);}
  .callback-modal-box h3{color:var(--graphite);font-size:1.2rem;margin-bottom:8px;margin-top:2px;}
  .callback-modal-box p{color:var(--steel);font-size:0.92rem;margin-bottom:20px;line-height:1.5;}
  .callback-modal-box .video-modal-close{background:rgba(16,18,20,0.06);border-color:#E7E3DA;color:var(--graphite);}
  .callback-modal-box .video-modal-close:hover{background:rgba(16,18,20,0.12);}
  .callback-modal-box .callback-form input,
  .callback-modal-box .callback-form select{
    font-family:'Inter',sans-serif;font-size:0.92rem;
    padding:11px 13px;border-radius:12px;border:1.5px solid #E7E3DA;
    background:#FAFAF8;color:var(--graphite);
    width:100%;box-sizing:border-box;max-width:100%;
  }
  .callback-modal-box .callback-form{display:flex;flex-direction:column;gap:10px;min-width:0;}
  .callback-modal-box .callback-form input::placeholder{color:#9BA3A5;}
  .callback-modal-box .callback-form input:focus,
  .callback-modal-box .callback-form select:focus{
    outline:none;border-color:var(--green-deep-light);box-shadow:0 0 0 3px rgba(23,179,126,0.12);
  }
  .callback-modal-box .callback-form button{
    margin-top:4px;border:none;cursor:pointer;
    background:var(--green-deep);color:#fff;font-weight:700;
    padding:12px 18px;border-radius:12px;font-size:0.92rem;
    display:flex;align-items:center;justify-content:center;gap:6px;
    transition:background .2s ease, transform .2s ease;
  }
  .callback-modal-box .callback-form button:hover{background:var(--green-deep-light);transform:translateY(-2px);}
  @media (max-width:520px){
    .callback-modal-box{padding:26px 18px;}
  }

  .video-placeholder-overlay{
    position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:8px;background:linear-gradient(160deg,#1B1E21,#0B0D0E);
    pointer-events:none;
  }
  .video-placeholder-overlay .ph-icon{
    width:56px;height:56px;border-radius:50%;
    background:rgba(241,194,50,0.12);border:1.5px solid rgba(241,194,50,0.4);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold-bright);font-size:1.3rem;margin-bottom:6px;
  }
  .video-placeholder-overlay .ph-title{color:var(--warm-white);font-weight:700;font-family:'Space Grotesk',sans-serif;}
  .video-placeholder-overlay .ph-sub{color:#8B9497;font-size:0.85rem;text-align:center;max-width:320px;}

  .photo-slots{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  }
  .photo-slot{
    aspect-ratio:4/3;border-radius:22px;
    border:2px dashed rgba(74,90,94,0.4);
    background:#FBFAF7;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    color:var(--steel);font-size:0.85rem;
  }
  .photo-slot .ph-icon-sm{font-size:1.6rem;opacity:0.5;}
  .photo-slot.filled{border-style:solid;border-color:#E7E3DA;overflow:hidden;padding:0;}
  .photo-slot.filled img{width:100%;height:100%;object-fit:cover;display:block;}

  /* ===== VIDEO CARD ===== */
  .video-card{max-width:420px;}
  .video-frame{
    position:relative;border-radius:24px;overflow:hidden;
    border:1px solid rgba(241,194,50,0.3);
    box-shadow:0 30px 60px -24px rgba(0,0,0,0.55);
    aspect-ratio:420/262;background:#0B0D0E;
  }
  .video-frame svg{width:100%;height:100%;display:block;}
  #sceneBill{ animation:sceneBillMove 3.5s ease-in-out infinite; }
  @keyframes sceneBillMove{
    0%{ transform:translateX(0); opacity:0; }
    10%{ opacity:1; }
    45%{ transform:translateX(70px); opacity:1; }
    55%{ transform:translateX(70px); opacity:0; }
    100%{ transform:translateX(0); opacity:0; }
  }
  .video-overlay-top, .video-overlay-bottom{
    position:absolute;left:0;right:0;padding:14px 16px;
  }
  .video-overlay-top{
    top:0;background:linear-gradient(180deg, rgba(8,9,10,0.75), transparent);
  }
  .video-overlay-bottom{
    bottom:0;background:linear-gradient(0deg, rgba(8,9,10,0.85), transparent);
  }
  .video-badge{
    display:inline-flex;align-items:center;gap:7px;
    background:rgba(16,18,20,0.7);border:1px solid rgba(241,194,50,0.4);
    color:var(--gold-bright);font-family:'Space Grotesk',sans-serif;
    font-weight:700;font-size:0.85rem;padding:5px 12px;border-radius:999px;
  }
  .video-badge .dot{
    width:6px;height:6px;border-radius:50%;background:var(--gold-bright);
    animation:dotPulse 1.4s infinite;
  }
  .video-caption{
    color:var(--warm-white);font-size:0.82rem;font-family:'IBM Plex Mono',monospace;
  }

  /* ===== BENEFICIOS ===== */
  .bg-graphite{background:var(--graphite);color:var(--warm-white);}

  /* ===== DOLOR / PAIN POINTS ===== */
  .pain-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px;
  }
  .pain-card{
    background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
    border-radius:22px;padding:26px 22px;
  }
  .pain-icon{
    width:40px;height:40px;border-radius:15px;
    background:rgba(241,194,50,0.12);border:1px solid rgba(241,194,50,0.3);
    display:flex;align-items:center;justify-content:center;
    color:var(--gold-bright);margin-bottom:16px;font-size:1.2rem;
  }
  .pain-card h3{color:var(--warm-white);font-size:1.02rem;margin-bottom:8px;font-family:'Space Grotesk',sans-serif;}
  .pain-card p{color:#9BA3A5;font-size:0.88rem;line-height:1.5;}
  .pain-solution{
    margin-top:36px;padding:20px 26px;border-radius:18px;
    background:linear-gradient(135deg, rgba(241,194,50,0.1), rgba(241,194,50,0.03));
    border:1px solid rgba(241,194,50,0.25);
    color:var(--warm-white);font-size:1.02rem;
  }
  .pain-solution span{color:var(--gold-bright);font-weight:700;text-transform:uppercase;font-size:0.8rem;letter-spacing:0.06em;display:block;margin-bottom:6px;}
  @media (max-width:900px){
    .pain-grid{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:560px){
    .pain-grid{grid-template-columns:1fr;}
  }
  .bg-graphite .section-tag{color:var(--bronze-light);}
  .bg-graphite .section-head p{color:#AEB6B7;}
  .benefits{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;
    box-shadow:0 30px 60px -26px rgba(0,0,0,0.6);
  }
  .benefit{
    background:var(--graphite-soft);padding:32px 26px;
  }
  .benefit .num{
    font-family:'IBM Plex Mono',monospace;color:var(--gold-bright);
    font-size:1.6rem;font-weight:700;display:block;margin-bottom:14px;
  }
  .benefit h3{font-size:1.02rem;margin-bottom:8px;color:var(--warm-white);font-family:'Inter';font-weight:600;}
  .benefit p{font-size:0.88rem;color:#AEB6B7;}

  /* ===== COMPATIBILIDAD ===== */
  .compat{
    display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  }
  .compat-card{
    border:1px solid rgba(241,194,50,0.3);border-radius:24px;padding:34px;
    background:linear-gradient(160deg, var(--graphite), #0B0D0E);
    box-shadow:0 30px 60px -24px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.05);
  }
  .brand-row{display:flex;gap:14px;align-items:center;margin-bottom:20px;}
  .brand-chip{
    display:flex;align-items:center;gap:8px;
    border-radius:12px;padding:9px 16px;font-size:0.88rem;font-weight:700;
  }
  .chip-cashbox{background:var(--green-deep-light);color:#fff;}
  .chip-pedido{background:transparent;color:var(--gold-bright);border:1.5px solid var(--gold-bright);}
  .plus{color:var(--gold-bright);font-weight:700;font-size:1.2rem;}
  .compat-card p{color:#C7CDCE;font-size:0.95rem;margin-bottom:12px;}
  .note-box{
    background:rgba(255,214,92,0.08);border:1px solid rgba(241,194,50,0.35);border-radius:15px;
    padding:16px 18px;font-size:0.86rem;color:var(--gold-bright);margin-top:8px;
  }

  /* ===== SECTORES ===== */
  .sectors{display:flex;flex-wrap:wrap;gap:14px;}
  .sectors-note{margin-top:18px;font-size:0.85rem;color:var(--steel);}

  /* ===== SECTOR CARDS ===== */
  .sector-cards{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px;
  }
  .sector-card{
    border:1px solid #E7E3DA;border-radius:22px;padding:20px 18px;
    background:#fff;
  }
  .sector-name{font-weight:700;font-size:0.95rem;color:var(--graphite);margin-bottom:6px;font-family:'Space Grotesk',sans-serif;}
  .sector-pain{font-size:0.83rem;color:var(--steel);line-height:1.4;}
  @media(max-width:900px){.sector-cards{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.sector-cards{grid-template-columns:1fr;}}

  /* ===== CASOS (early stage) ===== */
  .early-card{
    text-align:center;max-width:560px;margin:0 auto;padding:20px 0;
  }
  .early-icon{font-size:1.8rem;margin-bottom:14px;}
  .early-card h3{color:var(--warm-white);font-size:1.3rem;margin-bottom:12px;font-family:'Space Grotesk',sans-serif;}
  .early-card p{color:#AEB6B7;font-size:0.95rem;}
  .sector-chip{
    border:1px solid #E7E3DA;border-radius:999px;
    padding:12px 22px;font-size:0.92rem;font-weight:500;color:var(--graphite);
    background:#fff;
    transition:border-color .2s, background .2s;
  }
  .sector-chip:hover{border-color:var(--green-deep);background:rgba(11,79,60,0.04);}

  /* ===== CONTRATO ===== */
  .plan-card{
    background:linear-gradient(135deg, var(--green-deep), var(--green-deep-light));
    color:var(--warm-white);border-radius:26px;
    padding:44px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;
    box-shadow:0 40px 70px -24px rgba(8,61,46,0.55), inset 0 1px 0 rgba(255,255,255,0.08);
    position:relative;overflow:hidden;
  }
  .plan-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg, transparent, var(--emerald) 20%, var(--gold-hot) 50%, var(--emerald) 80%, transparent);
    background-size:220% 100%;
    animation:auroraMove 7s linear infinite;
  }
  .plan-card h2{color:var(--warm-white);margin-bottom:12px;}
  .plan-card p{color:rgba(247,245,241,0.85);margin-bottom:18px;}
  .plan-list{list-style:none;display:flex;flex-direction:column;gap:10px;}
  .plan-list li{font-size:0.94rem;display:flex;gap:10px;align-items:flex-start;}
  .plan-list li::before{content:"✓";color:var(--bronze-light);font-weight:700;}
  .plan-box{
    background:rgba(0,0,0,0.18);border-radius:22px;padding:28px;text-align:center;
    border:1px solid rgba(255,255,255,0.15);
    box-shadow:inset 0 2px 8px rgba(0,0,0,0.35), 0 12px 24px -12px rgba(0,0,0,0.4);
  }
  .plan-box .quote-icon{color:var(--gold-bright);font-size:1.4rem;margin-bottom:10px;}
  .plan-box .price-label{font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:700;color:var(--warm-white);margin-bottom:8px;}
  .plan-box .price-sub{font-size:0.8rem;color:#CFE3D8;margin-bottom:18px;}

  /* ===== CONTACTO ===== */
  .contact{
    display:grid;grid-template-columns:1fr 1fr;gap:48px;
  }
  .contact-card{
    background:#fff;border:1px solid #E7E3DA;border-radius:24px;padding:34px;
    box-shadow:0 26px 50px -24px rgba(8,61,46,0.3);
    transition:box-shadow .3s ease;
  }
  .contact-card:hover{box-shadow:0 32px 58px -22px rgba(255,203,60,0.22);}
  .contact-card h3{margin-bottom:8px;}
  .contact-card p{color:var(--steel);font-size:0.94rem;margin-bottom:22px;}
  .wa-btn{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--green-deep);color:#fff;padding:14px 24px;border-radius:12px;
    font-weight:600;font-size:0.95rem;
  }
  .wa-btn:hover{background:var(--green-deep-light);}
  .contact-info div{margin-bottom:16px;font-size:0.92rem;}
  .contact-info strong{display:block;color:var(--steel);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px;}

  /* ===== CONTACTO: botones y formulario ===== */
  .contact-btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 20px;border-radius:12px;font-weight:600;font-size:0.92rem;
    border:1px solid #E7E3DA;background:#fff;color:var(--graphite);
    transition:border-color .2s, background .2s;
  }
  .contact-btn:hover{border-color:var(--green-deep);background:rgba(11,79,60,0.04);}
  .contact-btn.wa{background:var(--green-deep);color:#fff;border-color:var(--green-deep);}
  .contact-btn.wa:hover{background:var(--green-deep-light);}
  .cb-icon{width:1.1em;height:1.1em;}

  .contact-grid{
    display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;
  }
  .contact-col2{display:flex;flex-direction:column;gap:24px;}

  /* ===== Insignia de diferenciación por tarjeta: evita confundir las 3 vías ===== */
  .contact-badge{
    display:inline-block;padding:5px 13px;border-radius:999px;
    font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;
    background:rgba(23,179,126,0.12);color:var(--green-deep);
    margin-bottom:14px;
  }
  .badge-fast{background:rgba(255,203,60,0.16);color:var(--bronze-deep);}
  .form-card .contact-badge{background:rgba(255,203,60,0.14);color:var(--gold-bright);}

  .form-card{
    background:linear-gradient(160deg, var(--graphite), #0B0D0E) !important;
    border:1px solid rgba(241,194,50,0.3) !important;
    box-shadow:0 30px 60px -24px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.05) !important;
  }
  .form-card h3{color:var(--warm-white);}
  .form-card p{color:#AEB6B7;font-size:0.9rem;margin-bottom:20px;}
  #leadForm{display:flex;flex-direction:column;gap:4px;}
  #leadForm label{
    font-size:0.78rem;font-weight:700;color:var(--gold-bright);
    text-transform:uppercase;letter-spacing:0.05em;margin-top:16px;
  }
  #leadForm input, #leadForm select, #leadForm textarea{
    font-family:'Inter',sans-serif;font-size:0.95rem;
    padding:11px 13px;border-radius:12px;border:1.5px solid rgba(241,194,50,0.25);
    background:#1B1E21;color:var(--warm-white);margin-top:6px;
    resize:vertical;
  }
  #leadForm input::placeholder, #leadForm textarea::placeholder{color:#6B7376;}
  #leadForm input:focus, #leadForm select:focus, #leadForm textarea:focus{
    outline:none;border-color:var(--gold-bright);box-shadow:0 0 0 3px rgba(255,214,92,0.15);
  }
  #leadForm select option{background:#1B1E21;color:var(--warm-white);}
  .form-submit{
    margin-top:22px;border:none;cursor:pointer;width:100%;text-align:center;
    font-size:0.95rem;
  }
  .form-trust{margin-top:12px;font-size:0.8rem;color:var(--steel);text-align:center;}

  /* ===== Flecha de ícono en botones (reemplaza el carácter de texto "→") ===== */
  .btn-arrow{
    width:0.85em;height:0.85em;margin-left:8px;vertical-align:-0.05em;
    transition:transform .2s ease;
  }
  button:hover .btn-arrow, .btn-cta:hover .btn-arrow{transform:translateX(3px);}

  /* ===== Tarjeta "Te llamamos" compacta: solo dispara el modal, no compite con el formulario grande ===== */
  .callback-mini{padding:28px 30px;display:flex;flex-direction:column;}
  .callback-mini p{color:var(--steel);font-size:0.9rem;margin-bottom:20px;}

  /* ===== Tarjeta "Contacto directo": botones compactos + info esencial ===== */
  .contact-info{padding:28px 30px;}
  .direct-buttons{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;
  }
  .direct-btn{
    display:flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 10px;border-radius:12px;font-weight:600;font-size:0.86rem;
    border:1px solid #E7E3DA;background:#fff;color:var(--graphite);
    transition:border-color .2s ease, background .2s ease, transform .2s ease;
  }
  .direct-btn:hover{transform:translateY(-2px);border-color:var(--green-deep-light);}
  .direct-btn.wa{background:var(--green-deep);color:#fff;border-color:var(--green-deep);}
  .direct-btn.wa:hover{background:var(--green-deep-light);}
  .direct-btn.call{background:var(--graphite);color:#fff;border-color:var(--graphite);}
  .direct-btn.call:hover{background:var(--graphite-soft);}
  .direct-btn.mail{background:var(--bronze);color:var(--graphite);border-color:var(--bronze);}
  .direct-btn.mail:hover{background:var(--gold-bright);}
  .direct-btn.ig{background:linear-gradient(135deg,#C9346E,var(--bronze-deep));color:#fff;border-color:transparent;}
  .direct-btn.ig:hover{filter:brightness(1.08);}
  .direct-info{padding-top:16px;border-top:1px solid #EFEBE2;}
  .direct-info div{margin-bottom:12px;font-size:0.9rem;}
  .direct-info strong{display:block;color:var(--steel);font-size:0.74rem;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:3px;}
  .direct-info div:last-child{margin-bottom:0;}

  /* ===== FAQ: acordeón nativo, respuestas claras y cortas ===== */
  .faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
  .faq-item{
    background:#fff;border:1px solid #E7E3DA;border-radius:16px;
    overflow:hidden;transition:border-color .25s ease;
  }
  .faq-item[open]{border-color:rgba(255,203,60,0.5);}
  .faq-item summary{
    list-style:none;cursor:pointer;padding:18px 22px;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    font-weight:700;font-family:'Space Grotesk',sans-serif;font-size:1rem;
    color:var(--graphite);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+";flex:0 0 auto;width:26px;height:26px;border-radius:50%;
    background:rgba(23,179,126,0.12);color:var(--green-deep);
    display:flex;align-items:center;justify-content:center;font-size:1.2rem;
    transition:transform .25s ease, background .25s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);background:rgba(255,203,60,0.18);color:var(--bronze-deep);}
  .faq-answer{padding:0 22px 20px;color:var(--steel);font-size:0.95rem;line-height:1.55;}
  .faq-answer strong{color:var(--graphite);}

  /* ===== TE LLAMAMOS: callback rápido, alternativa ligera al formulario largo ===== */
  /* ===== FOOTER ===== */
  footer{
    background:var(--graphite);color:#8B9497;padding:48px 0 28px;
    font-size:0.86rem;
  }
  .footer-top{
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;
    padding-bottom:28px;border-bottom:1px solid var(--line);margin-bottom:22px;
  }
  .footer-top .logo{margin-bottom:8px;}
  footer .cols{display:flex;gap:56px;flex-wrap:wrap;}
  footer .col a{display:block;color:#8B9497;margin-bottom:8px;}
  footer .col a:hover{color:var(--warm-white);}
  footer .col h4{color:var(--warm-white);font-size:0.82rem;margin-bottom:12px;text-transform:uppercase;letter-spacing:0.06em;}
  .footer-cities{font-size:0.78rem;color:#6B7376;margin-bottom:14px;}
  .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  [data-i18n]{transition:opacity .15s;}
  .icon{
    width:1em;height:1em;display:inline-block;vertical-align:-0.15em;
    fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  }

  /* ===== VIDA Y MOVIMIENTO: scroll reveal orgánico + tilt combinados (mismas variables) ===== */
  .reveal{
    --ty:56px; --tscale:.86; --trot:-5deg; --rx:0deg; --ry:0deg;
    opacity:0;
    transform:translateY(var(--ty)) scale(var(--tscale)) rotate(var(--trot)) perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));
    transition:opacity .85s cubic-bezier(.34,1.56,.64,1), transform .85s cubic-bezier(.34,1.56,.64,1);
    will-change:transform;
  }
  .reveal:nth-child(even){--trot:5deg;}
  .reveal.in-view{
    opacity:1;--ty:0px;--tscale:1;--trot:0deg;
    transition:opacity .85s cubic-bezier(.34,1.56,.64,1), transform .3s cubic-bezier(.2,.7,.3,1);
  }
  [data-tilt]:not(.reveal){
    --rx:0deg;--ry:0deg;
    transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry));
    transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, border-color .3s ease;
    will-change:transform;
  }
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(1){transition-delay:.03s;}
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(2){transition-delay:.1s;}
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(3){transition-delay:.17s;}
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(4){transition-delay:.24s;}
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(5){transition-delay:.3s;}
  :is(.pain-grid,.sector-cards,.benefits,.steps,.gallery,.photo-slots) > .reveal:nth-child(n+6){transition-delay:.36s;}

  /* ===== AURORA: franja de acento dorado/verde en movimiento (elemento firma) ===== */
  .aurora-line{
    height:3px;width:100%;border-radius:3px;
    background:linear-gradient(90deg, transparent, var(--emerald) 20%, var(--gold-hot) 50%, var(--emerald) 80%, transparent);
    background-size:220% 100%;
    animation:auroraMove 7s linear infinite;
  }
  @keyframes auroraMove{0%{background-position:0% 0;}100%{background-position:220% 0;}}

  /* ===== Botones con brillo en movimiento ===== */
  .btn-cta{position:relative;overflow:hidden;}
  .btn-cta::after{
    content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.6), transparent);
    transform:skewX(-20deg);transition:left .65s ease;
  }
  .btn-cta:hover::after{left:130%;}
  .btn-cta:active{transform:translateY(0) scale(0.98);}

  /* ===== Marcador de sección con pulso dorado/verde ===== */
  .section-tag{position:relative;padding-left:20px;display:inline-block;}
  .section-tag::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:9px;height:9px;border-radius:50%;
    background:var(--grad-gg);
    box-shadow:0 0 10px 1px rgba(255,203,60,0.55);
    animation:tagPulse 2s ease-in-out infinite;
  }
  @keyframes tagPulse{0%,100%{opacity:1;transform:translateY(-50%) scale(1);}50%{opacity:0.55;transform:translateY(-50%) scale(0.75);}}

  /* ===== Hover mas vivo en tarjetas (transform ya gestionado por .reveal/[data-tilt]) ===== */
  .pain-card, .sector-card, .benefit, .contact-btn, .gallery-item, .photo-slot.filled{
    transition:box-shadow .3s ease, border-color .3s ease, background .3s ease;
  }
  .pain-card:hover{--ty:-6px;border-color:rgba(255,203,60,0.4);box-shadow:0 22px 44px -22px rgba(255,203,60,0.3);}
  .sector-card:hover{--ty:-4px;border-color:var(--emerald);box-shadow:0 20px 38px -18px rgba(23,179,126,0.28);}
  .benefit:hover{--ty:-4px;background:#20252A;}
  .gallery-item:hover{--ty:-4px;border-color:rgba(255,203,60,0.5);box-shadow:0 24px 44px -20px rgba(255,203,60,0.3);}
  .photo-slot.filled:hover{--ty:-4px;box-shadow:0 20px 40px -18px rgba(23,179,126,0.35);}
  .photo-slot.filled img{transition:transform .5s ease;}
  .photo-slot.filled:hover img{transform:scale(1.06);}

  /* ===== Formas orgánicas alternadas: nada de esquinas iguales y serias ===== */
  .pain-card:nth-child(odd), .sector-card:nth-child(odd), .step:nth-child(odd), .benefit:nth-child(odd){
    border-radius:30px 30px 30px 8px;
  }
  .pain-card:nth-child(even), .sector-card:nth-child(even), .step:nth-child(even), .benefit:nth-child(even){
    border-radius:30px 30px 8px 30px;
  }
  .gallery-item, .photo-slot.filled{border-radius:26px 26px 26px 10px;}

  /* ===== Respiración constante: la página vive aunque no muevas el mouse ===== */
  .pain-icon{animation:iconBreathe 3.2s ease-in-out infinite;}
  @keyframes iconBreathe{0%,100%{transform:scale(1);}50%{transform:scale(1.1) rotate(-3deg);}}
  .video-badge .dot, .early-icon{will-change:transform;}
  .early-icon{display:inline-block;animation:iconBreathe 2.6s ease-in-out infinite;}

  /* ===== Brillo dorado animado en acentos clave ===== */
  .hero-brand span, .benefit .num{
    background:linear-gradient(90deg, var(--gold-bright), var(--gold-hot), var(--bronze-light), var(--gold-bright));
    background-size:300% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:shimmerText 6s linear infinite;
  }
  @keyframes shimmerText{0%{background-position:0% 0;}100%{background-position:300% 0;}}

  @media (max-width:880px){
    nav, .nav-right .btn-cta{display:none;}
    .menu-toggle{display:block;}
    .hero-inner{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .step-line{display:none;}
    .benefits{grid-template-columns:1fr 1fr;}
    .gallery{grid-template-columns:1fr;}
    .photo-slots{grid-template-columns:1fr 1fr;}
    .demo-row{grid-template-columns:1fr;}
    .compat{grid-template-columns:1fr;}
    .plan-card{grid-template-columns:1fr;padding:30px;}
    .contact-grid{grid-template-columns:1fr;}
    .footer-top{flex-direction:column;}
  }
  .mobile-menu{
    display:none;flex-direction:column;
    background:rgba(16,18,20,0.98);
    border-bottom:1px solid var(--line);
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a{
    color:#C7CDCE;font-size:0.95rem;font-weight:500;
    padding:14px 24px;border-bottom:1px solid rgba(255,255,255,0.06);
  }
  .mobile-menu a:last-child{border-bottom:none;}
  .mobile-menu .btn-cta{
    margin:14px 24px;text-align:center;color:#161200;
  }
  @media (max-width:520px){
    .benefits{grid-template-columns:1fr;}
  }