:root{
    --bg:#000000;
    --bg-2:#000000;
    --card:#0c0b08;
    --card-2:#121009;
    --line:rgba(242,202,92,.24);
    --line-2:rgba(242,202,92,.52);
    --text:#ffffff;
    --body-c:#dadad6;
    --muted:#a8a6a1;
    --gold:#f3ca5c;
    --gold-2:#d0a94f;
    --gold-deep:#8f6f2e;
    --gold-hi:#ffeab0;
    --red:#e02730;
    --red-hi:#f5474e;
    --wa:#0E7A3B;
    --wa-dark:#0A5C2C;
    --rail:1160px;
    --r-sm:6px;
    --r-md:14px;
    --disp:'Palatino Linotype','Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;
    --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;overflow-x:hidden}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
  body{
    background:var(--bg);color:var(--text);font-family:var(--sans);
    line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  }
  svg{display:block}
  a{color:inherit}
  ::selection{background:rgba(240,195,82,.35)}
  .rail{max-width:var(--rail);margin:0 auto;padding-inline:1.75rem}
  h1,h2,h3{font-family:var(--disp);font-weight:700;text-wrap:balance;letter-spacing:.005em;color:var(--text)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
  button,input,textarea,select{font-family:inherit}

  /* gold shimmer for big headings */
  .shine{
    background:linear-gradient(100deg,var(--text) 0%,var(--text) 38%,var(--gold-hi) 50%,var(--text) 62%,var(--text) 100%);
    background-size:250% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:shineMove 5.5s linear infinite;
  }
  @keyframes shineMove{to{background-position:-250% 0}}
  @media (prefers-reduced-motion:reduce){.shine{animation:none;background:none;color:var(--text)}}

  /* ---------- shared bits ---------- */
  .eyebrow{
    display:inline-flex;align-items:center;gap:.65rem;
    font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  }
  .eyebrow::before{content:"";width:2.2rem;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
  .icon{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .btn{
    position:relative;overflow:hidden;
    display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
    padding:.95rem 1.7rem;border-radius:var(--r-sm);font-size:.92rem;font-weight:600;
    text-decoration:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;
  }
  .btn .icon{width:1.15rem;height:1.15rem}
  .btn-red{background:linear-gradient(180deg,var(--red-hi),var(--red));color:#fff;box-shadow:0 12px 28px -12px rgba(211,33,40,.7)}
  .btn-red::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);
    animation:btnSweep 3.4s ease-in-out infinite}
  @keyframes btnSweep{0%,55%{left:-60%}85%,100%{left:130%}}
  .btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(211,33,40,.8)}
  .btn-wa{background:linear-gradient(180deg,#17A24F,var(--wa));color:#fff;box-shadow:0 12px 28px -12px rgba(14,122,59,.65)}
  .btn-wa::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);
    animation:btnSweep 3.4s ease-in-out infinite}
  .btn-wa:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(14,122,59,.8)}
  @media (prefers-reduced-motion:reduce){.btn-wa::after{animation:none;display:none}}
  .btn-gold{border-color:var(--line-2);color:var(--gold);background:rgba(240,195,82,.07)}
  .btn-gold:hover{transform:translateY(-2px);background:rgba(240,195,82,.16);border-color:var(--gold);
    box-shadow:0 0 26px -8px rgba(240,195,82,.5)}
  .btn-ghost{color:var(--body-c);border-color:transparent}
  .btn-ghost:hover{color:var(--gold)}
  @media (prefers-reduced-motion:reduce){.btn-red::after{animation:none;display:none}}

  /* ---------- language ---------- */
  body:not(.lang-en) [data-en]{display:none!important}
  body.lang-en [data-es]{display:none!important}
  .lang-switch{display:flex;border:1px solid #ddd;border-radius:999px;overflow:hidden;font-size:.7rem;font-weight:700;letter-spacing:.08em;background:#f2f2f2}
  .lang-switch button{background:transparent;color:#888;border:0;padding:.42rem .85rem;cursor:pointer;transition:background .2s,color .2s}
  .lang-switch button[aria-pressed="true"]{background:var(--red);color:#fff}

  /* ---------- backdrop: pure black + faint grid (aurora glow removed) ---------- */
  .backdrop{position:fixed;inset:0;z-index:-3;background:#000;overflow:hidden}
  .backdrop::after{content:"";position:absolute;inset:0;opacity:.6;background-image:
    linear-gradient(rgba(240,195,82,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(240,195,82,.05) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:radial-gradient(75% 60% at 55% 20%,black,transparent 80%);
    -webkit-mask-image:radial-gradient(75% 60% at 55% 20%,black,transparent 80%)}
  @media (prefers-reduced-motion:reduce){.backdrop::before{animation:none}}
  #silk{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-2;pointer-events:none;
    mask-image:linear-gradient(180deg,black 55%,transparent 100%);
    -webkit-mask-image:linear-gradient(180deg,black 55%,transparent 100%)}

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:80;
    background:#ffffff;border-bottom:1px solid #e6e6e6;
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    transition:background .3s ease, border-color .3s ease, box-shadow .3s ease, transform .38s cubic-bezier(.4,0,.2,1);
  }
  header.scrolled{
    background:rgba(255,255,255,.2);border-bottom-color:rgba(255,255,255,.18);
    box-shadow:0 8px 24px -14px rgba(0,0,0,.3);
  }
  header.nav-hidden{transform:translateY(-100%)}
  @media (prefers-reduced-motion:reduce){header{transition:background .3s ease,border-color .3s ease}
    header.nav-hidden{transform:none}}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.95rem}
  .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
  .brand-logo{height:34px;width:auto;display:block}
  @media(max-width:760px){.brand-logo{height:29px}}
  .brand-mark{width:2.15rem;height:2.15rem;border-radius:8px;display:grid;place-items:center;
    background:linear-gradient(145deg,var(--gold-hi),var(--gold) 55%,var(--gold-deep));
    box-shadow:0 0 22px -4px rgba(240,195,82,.55)}
  .brand-mark svg{width:1.25rem;height:1.25rem;stroke:#241a08;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .brand-name{font-family:var(--disp);font-size:1.32rem;font-weight:700;color:var(--text);letter-spacing:.01em}
  .brand-name b{color:var(--gold);font-weight:700}
  .nav-links{display:flex;gap:1.9rem;font-size:.86rem;color:#222}
  .nav-links a{text-decoration:none;transition:color .2s}
  .nav-links a:hover{color:var(--red)}
  .nav-cta{display:flex;align-items:center;gap:1rem}
  .nav-cta .btn{padding:.6rem 1.1rem;font-size:.82rem}
  .ig-link{color:#222;transition:color .2s;display:grid;place-items:center}
  .ig-link:hover{color:var(--red)}
  .ig-link svg{width:1.2rem;height:1.2rem}
  .nav-burger{display:none;width:2.6rem;height:2.6rem;border:1px solid var(--line-2);border-radius:8px;
    background:transparent;color:var(--gold);place-items:center;cursor:pointer;padding:0}
  .nav-burger svg{width:1.35rem;height:1.35rem}
  .mob-menu{display:none;position:absolute;top:100%;left:0;right:0;
    background:#070604;
    border-bottom:1px solid var(--line-2);padding:.6rem 1.75rem 1.4rem;flex-direction:column;
    box-shadow:0 30px 50px -20px rgba(0,0,0,.9)}
  .mob-menu.open{display:flex}
  .mob-menu a{padding:.95rem 0;text-decoration:none;color:var(--body-c);font-size:1rem;
    border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
  .mob-menu a svg{width:1rem;height:1rem;color:var(--gold);flex:none}
  .mob-menu .btn{margin-top:1rem;border-bottom:0}
  @media (max-width:960px){.nav-links{display:none}.nav-cta .btn-wa{display:none}.nav-burger{display:none}}

  /* ---------- hero ---------- */
  .hero{position:relative;padding-block:5.5rem 4.5rem;min-height:min(92vh,820px);display:flex;align-items:center}
  .hero-grid{display:grid;gap:3.5rem;align-items:center;width:100%}
  @media (min-width:980px){.hero-grid{grid-template-columns:1.08fr .92fr}}
  .hero h1{font-size:clamp(2.5rem,5.6vw,4.35rem);line-height:1.06;max-width:17ch}
  .hero h1 em{
    font-style:normal;position:relative;white-space:nowrap;
    background:linear-gradient(100deg,var(--gold) 0%,var(--gold-hi) 45%,var(--gold) 60%,var(--gold-hi) 100%);
    background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:shineMove 4.5s linear infinite;
  }
  @media (prefers-reduced-motion:reduce){.hero h1 em{animation:none;background:none;color:var(--gold)}}
  .hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.08em;height:.10em;border-radius:2px;
    background:linear-gradient(90deg,var(--red),var(--red-hi));opacity:.9}
  .hero .lede{margin-top:1.4rem;max-width:44ch;font-size:1.08rem;color:var(--body-c)}
  .hero .ctas{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:1rem}
  .hero-note{margin-top:1.1rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}
  .hero-note .icon{width:1rem;height:1rem;color:var(--gold)}

  /* trust strip */
  .trust{margin-top:3rem;display:grid;grid-template-columns:repeat(4,auto);gap:2.2rem;justify-content:start}
  .trust-item{display:flex;align-items:center;gap:.7rem}
  .trust-item .icon{width:1.3rem;height:1.3rem;color:var(--gold);flex:none}
  .trust-item span{font-size:.8rem;color:var(--muted);line-height:1.35}
  .trust-item b{display:block;color:var(--text);font-size:.87rem;font-weight:600}
  @media (max-width:760px){.trust{grid-template-columns:1fr 1fr;gap:1.2rem}}

  /* ---------- 3D phone ---------- */
  .stage{display:flex;justify-content:center;perspective:1500px}
  .phone-wrap{position:relative;width:250px;height:520px;transform-style:preserve-3d;will-change:transform}
  .phone-body{
    position:absolute;inset:0;border-radius:40px;transform-style:preserve-3d;
    background:linear-gradient(155deg,#3a2e1b 0%,#241c10 45%,#15100a 100%);
    border:1px solid rgba(240,195,82,.65);
    box-shadow:
      inset 0 1px 0 rgba(255,233,168,.3),
      inset 0 -1px 0 rgba(0,0,0,.6),
      0 0 60px -18px rgba(240,195,82,.35),
      0 60px 90px -30px rgba(0,0,0,.9);
  }
  .phone-body::before{content:"";position:absolute;inset:3px;border-radius:37px;
    background:linear-gradient(155deg,rgba(255,233,168,.18),transparent 30%,transparent 70%,rgba(255,233,168,.08));
    pointer-events:none}
  .phone-depth{position:absolute;inset:0;border-radius:40px;transform:translateZ(-16px);
    background:#0a0805;box-shadow:0 0 0 1px rgba(240,195,82,.3)}
  .phone-screen{
    position:absolute;inset:11px;border-radius:31px;overflow:hidden;transform:translateZ(1px);
    background:linear-gradient(170deg,#181209 0%,#0d0a05 100%);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.7);
  }
  .notch{position:absolute;top:10px;left:50%;translate:-50% 0;width:78px;height:20px;border-radius:12px;background:#050302;z-index:5;
    display:flex;align-items:center;justify-content:center;gap:6px}
  .notch i{width:5px;height:5px;border-radius:50%;background:#1e1811}
  .diag{position:absolute;inset:0;padding:2.9rem 1.25rem 1.4rem;display:flex;flex-direction:column;gap:1rem;
    transition:opacity .6s ease,filter .6s ease}
  .diag-head{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.45rem}
  .diag-head::after{content:"";flex:1;height:1px;background:rgba(240,195,82,.3)}
  .ring-box{display:flex;justify-content:center;padding-block:.4rem}
  .ring{width:118px;height:118px;transform:rotate(-90deg)}
  .ring circle{fill:none;stroke-width:7;stroke-linecap:round}
  .ring .track{stroke:rgba(240,195,82,.18)}
  .ring .val{stroke:url(#ringGrad);stroke-dasharray:326.7;stroke-dashoffset:326.7;
    filter:drop-shadow(0 0 6px rgba(240,195,82,.6))}
  .ring-label{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
  .ring-label b{font-family:var(--disp);font-size:1.5rem;color:var(--text);display:block;line-height:1}
  .ring-label span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
  .checks{display:flex;flex-direction:column;gap:.55rem}
  .check{display:flex;align-items:center;gap:.6rem;font-size:.72rem;color:var(--body-c);
    background:rgba(240,195,82,.08);border:1px solid rgba(240,195,82,.25);border-radius:8px;padding:.5rem .7rem;
    opacity:0;transform:translateX(-8px);transition:opacity .45s ease-out,transform .45s ease-out}
  .check.show{opacity:1;transform:translateX(0)}
  .check .icon{width:.95rem;height:.95rem;color:#17A24F;flex:none}
  .phone-screen.broken .diag{opacity:.14;filter:blur(1px)}
  .crack-layer{position:absolute;inset:0;z-index:4;opacity:0;transition:opacity .6s ease;pointer-events:none}
  .phone-screen.broken .crack-layer{opacity:1}
  .crack-layer svg{width:100%;height:100%}
  .crack-tag{position:absolute;left:50%;bottom:14%;translate:-50% 0;display:flex;align-items:center;gap:.45rem;
    background:rgba(211,33,40,.18);border:1px solid rgba(239,61,68,.5);color:#ff8d92;
    font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    padding:.45rem .8rem;border-radius:999px;white-space:nowrap}
  .crack-tag .icon{width:.85rem;height:.85rem}
  .scan{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
    background:linear-gradient(180deg,transparent 0%,rgba(240,195,82,.26) 50%,transparent 100%);
    background-size:100% 46%;background-repeat:no-repeat;background-position:0 -60%;
    animation:scan 4.5s 1s ease-in-out infinite}
  @keyframes scan{0%,15%{background-position:0 -60%}55%{background-position:0 160%}100%{background-position:0 160%}}
  .chip{
    position:absolute;display:flex;align-items:center;gap:.55rem;padding:.65rem .9rem;border-radius:12px;
    background:rgba(18,16,10,.82);border:1px solid var(--line-2);
    backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    box-shadow:0 0 24px -8px rgba(240,195,82,.35),0 22px 40px -20px rgba(0,0,0,.8);
    font-size:.72rem;font-weight:600;color:var(--text);white-space:nowrap;
  }
  .chip .icon{width:1.05rem;height:1.05rem;color:var(--gold)}
  .chip small{display:block;font-weight:400;color:var(--muted);font-size:.62rem;line-height:1.2}
  .chip-a{top:6%;left:-24%;transform:translateZ(70px);animation:floatA 6s ease-in-out infinite}
  .chip-b{bottom:6%;right:-29%;transform:translateZ(100px);animation:floatB 7s .8s ease-in-out infinite}
  .chip-c{bottom:-4%;left:-14%;transform:translateZ(50px);animation:floatA 8s 1.5s ease-in-out infinite}
  @keyframes floatA{0%,100%{margin-top:0}50%{margin-top:-9px}}
  @keyframes floatB{0%,100%{margin-top:0}50%{margin-top:10px}}
  .stage-shadow{position:absolute;left:50%;bottom:-52px;translate:-50% 0;width:300px;height:46px;border-radius:50%;
    background:radial-gradient(50% 50% at 50% 50%,rgba(240,195,82,.18),transparent 70%)}
  @media (max-width:979px){
    .phone-wrap{width:206px;height:430px}
    .chip{font-size:.66rem;padding:.55rem .75rem}
    .chip-b{display:none}
    /* keep floating chips within the phone's vertical bounds so they don't
       overlap the trust strip above or the marquee below on mobile */
    .chip-a{top:4%;left:-6%}
    .chip-c{bottom:6%;left:-6%}
    .stage{margin-top:2rem;margin-bottom:3rem}
  }
  @media (prefers-reduced-motion:reduce){
    .scan,.chip-a,.chip-b,.chip-c{animation:none}
    .ring .val{stroke-dashoffset:0}
    .check{opacity:1;transform:none;transition:none}
    .crack-layer{display:none}
  }

  /* ---------- marquee ---------- */
  .marquee{overflow:hidden;background:var(--bg-2);border-block:1px solid var(--line-2);padding-block:1rem;
    box-shadow:0 0 40px -10px rgba(240,195,82,.15) inset}
  .marquee-track{display:flex;width:max-content;animation:marq 30s linear infinite}
  .marquee-seq{display:inline-flex;align-items:center;gap:2.6rem;padding-right:2.6rem;
    font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);white-space:nowrap}
  .marquee-seq svg{width:.65rem;height:.65rem;fill:var(--gold);flex:none}
  @keyframes marq{to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

  /* ---------- sections ---------- */
  section{padding-block:6rem;position:relative;scroll-margin-top:4.4rem}
  @media (max-width:760px){
    section{padding-block:3.8rem}
    .sect-head{margin-bottom:2.2rem}
    .hero{padding-block:5.2rem 3rem;min-height:auto}
    .hero .ctas .btn{flex:1 1 100%}
    .loc-actions .btn{flex:1}
    .trust{margin-top:2.2rem}
  }
  .sect-line{border-top:1px solid var(--line)}
  .sect-alt{background:var(--bg-2)}
  .sect-head{display:flex;flex-direction:column;gap:.9rem;max-width:40rem;margin-bottom:3.2rem}
  .sect-head h2{font-size:clamp(1.8rem,3.8vw,2.7rem);line-height:1.12}
  .sect-head p{color:var(--body-c);font-size:.98rem;max-width:52ch}
  .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease-out,transform .6s ease-out}
  .reveal.visible{opacity:1;transform:translateY(0)}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* ---------- services ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .svc{
    position:relative;background:linear-gradient(170deg,var(--card),var(--bg-2));
    border:1px solid var(--line);border-radius:var(--r-md);padding:2rem 1.8rem 1.9rem;overflow:hidden;
    transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
  }
  .svc::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0;transition:opacity .25s}
  .svc:hover{transform:translateY(-5px);border-color:var(--line-2);
    box-shadow:0 0 34px -10px rgba(240,195,82,.35),0 24px 44px -22px rgba(0,0,0,.8)}
  .svc:hover::before{opacity:1}
  .svc-icon{
    width:3rem;height:3rem;border-radius:10px;display:grid;place-items:center;margin-bottom:1.3rem;
    background:linear-gradient(150deg,rgba(240,195,82,.2),rgba(240,195,82,.05));
    border:1px solid var(--line-2);color:var(--gold);
    animation:bob 4.5s ease-in-out infinite;
  }
  .svc:nth-child(2) .svc-icon{animation-delay:.6s}
  .svc:nth-child(3) .svc-icon{animation-delay:1.2s}
  .svc:nth-child(4) .svc-icon{animation-delay:1.8s}
  .svc:nth-child(5) .svc-icon{animation-delay:2.4s}
  .svc:nth-child(6) .svc-icon{animation-delay:3s}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  .svc-icon .icon{width:1.45rem;height:1.45rem}
  .svc h3{font-size:1.16rem;margin-bottom:.5rem}
  .svc p{font-size:.88rem;color:var(--muted)}
  @media (max-width:880px){.svc-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:580px){.svc-grid{grid-template-columns:1fr}}
  @media (prefers-reduced-motion:reduce){.svc-icon{animation:none}}

  /* ---------- process ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:step}
  .step{position:relative;padding:1.9rem 1.7rem;border:1px solid var(--line);border-radius:var(--r-md);
    background:linear-gradient(170deg,var(--card),var(--bg-2));
    transition:border-color .25s,box-shadow .25s}
  .step:hover{border-color:var(--line-2);box-shadow:0 0 30px -12px rgba(240,195,82,.3)}
  .step::before{
    counter-increment:step;content:counter(step,decimal-leading-zero);
    font-family:var(--disp);font-size:2.6rem;font-weight:700;line-height:1;
    color:transparent;-webkit-text-stroke:1.2px var(--line-2);display:block;margin-bottom:1rem;
  }
  .step h3{font-size:1.05rem;margin-bottom:.45rem}
  .step p{font-size:.86rem;color:var(--muted)}
  @media (max-width:760px){.steps{grid-template-columns:1fr}}

  /* ---------- plans: rotating beam border ---------- */
  .plans{display:grid;grid-template-columns:1fr;gap:1.2rem;max-width:620px;margin:0 auto}
  .plan{
    position:relative;border-radius:var(--r-md);padding:2.2rem 2rem;overflow:hidden;
    background:var(--card);border:1px solid var(--line);
    display:flex;flex-direction:column;gap:1.05rem;transition:transform .25s;
  }
  .plan::before{content:"";position:absolute;width:220%;padding-top:220%;top:50%;left:50%;
    transform:translate(-50%,-50%);z-index:0;
    background:conic-gradient(transparent 0deg,transparent 305deg,rgba(240,195,82,.9) 335deg,transparent 360deg);
    animation:beamSpin 6s linear infinite}
  .plan:nth-child(2)::before{animation-delay:3s}
  @keyframes beamSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
  .plan::after{content:"";position:absolute;inset:1px;border-radius:13px;background:
    linear-gradient(170deg,var(--card-2),var(--card));z-index:0}
  .plan > *{position:relative;z-index:1}
  .plan:hover{transform:translateY(-4px)}
  @media (prefers-reduced-motion:reduce){.plan::before{animation:none;opacity:0}}
  .plan-head{display:flex;align-items:center;gap:.8rem}
  .plan-badge{width:2.6rem;height:2.6rem;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line-2);
    background:rgba(240,195,82,.1);color:var(--gold)}
  .plan-badge .icon{width:1.3rem;height:1.3rem}
  .plan-head h3{font-size:1.3rem}
  .plan-head small{display:block;font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
  .plan ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;flex:1}
  .plan li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--body-c)}
  .plan li .icon{width:1rem;height:1rem;color:var(--gold);flex:none;margin-top:.22rem}
  .plan-foot{font-size:.7rem;color:var(--muted);letter-spacing:.04em}
  

  /* ---------- locations ---------- */
  .locs{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  .loc{
    border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
    background:linear-gradient(170deg,var(--card),var(--bg-2));
    display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s;
  }
  .loc:hover{transform:translateY(-4px);border-color:var(--line-2);
    box-shadow:0 0 34px -10px rgba(240,195,82,.3)}
  .loc-map{position:relative;height:150px;background:
    radial-gradient(70% 120% at 50% 0%,rgba(240,195,82,.12),transparent 70%),var(--bg-2);
    border-bottom:1px solid var(--line);overflow:hidden}
  .loc-map svg{position:absolute;inset:0;width:100%;height:100%}
  .loc-pin{position:absolute;left:50%;top:52%;translate:-50% -100%;color:var(--red-hi);
    filter:drop-shadow(0 0 10px rgba(239,61,68,.5));animation:pinHop 2.6s ease-in-out infinite}
  @keyframes pinHop{0%,100%{margin-top:0}50%{margin-top:-7px}}
  @media (prefers-reduced-motion:reduce){.loc-pin{animation:none}}
  .loc-pin svg{width:2rem;height:2rem;fill:currentColor;stroke:none}
  .loc-body{padding:1.8rem;display:flex;flex-direction:column;gap:.85rem;flex:1}
  .loc-body .eyebrow{font-size:.62rem}
  .loc-body h3{font-size:1.45rem}
  .loc-body address{font-style:normal;font-size:.92rem;color:var(--body-c)}
  .loc-meta{display:flex;flex-direction:column;gap:.45rem;margin-top:.2rem;flex:1}
  .loc-meta div{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--muted)}
  .loc-meta .icon{width:1rem;height:1rem;color:var(--gold);flex:none;margin-top:.2rem}
  .loc-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}
  .loc-actions .btn{padding:.7rem 1.2rem;font-size:.82rem}
  @media (max-width:760px){.locs{grid-template-columns:1fr}}

  /* ---------- reviews ---------- */
  .reviews-band{
    border:1px solid var(--line-2);border-radius:var(--r-md);padding:3rem 2.5rem;text-align:center;
    background:
      radial-gradient(60% 130% at 50% 0%,rgba(240,195,82,.12),transparent 70%),
      linear-gradient(170deg,var(--card-2),var(--card));
    box-shadow:0 0 44px -14px rgba(240,195,82,.25);
    display:flex;flex-direction:column;align-items:center;gap:1.1rem;
  }
  .stars{display:flex;gap:.35rem;color:var(--gold)}
  .stars svg{width:1.5rem;height:1.5rem;fill:currentColor;stroke:none;animation:twinkle 2.8s ease-in-out infinite}
  .stars svg:nth-child(2){animation-delay:.3s}
  .stars svg:nth-child(3){animation-delay:.6s}
  .stars svg:nth-child(4){animation-delay:.9s}
  .stars svg:nth-child(5){animation-delay:1.2s}
  @keyframes twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.88)}}
  @media (prefers-reduced-motion:reduce){.stars svg{animation:none}}
  .reviews-band p{max-width:46ch;color:var(--body-c);font-size:.95rem}

  /* ---------- contact ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
  .phone-big{
    font-family:var(--disp);font-size:clamp(2rem,4.5vw,3rem);color:var(--gold);
    text-decoration:none;display:inline-flex;align-items:center;gap:.8rem;margin-top:.8rem;
    transition:color .2s;font-variant-numeric:tabular-nums;
    text-shadow:0 0 30px rgba(240,195,82,.35);
  }
  .phone-big:hover{color:var(--gold-hi)}
  .phone-big .icon{width:1.6rem;height:1.6rem;color:var(--gold)}
  .contact-side p{color:var(--body-c);font-size:.94rem;max-width:40ch}
  .contact-links{margin-top:1.6rem;display:flex;flex-direction:column;gap:.7rem}
  .contact-links a{display:inline-flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--body-c);text-decoration:none;transition:color .2s}
  .contact-links a:hover{color:var(--gold)}
  .contact-links .icon{width:1.1rem;height:1.1rem;color:var(--gold)}
  form.card{
    border:1px solid var(--line-2);border-radius:var(--r-md);padding:2rem;
    background:linear-gradient(170deg,var(--card-2),var(--card));
    box-shadow:0 0 40px -16px rgba(240,195,82,.25);
    display:flex;flex-direction:column;gap:1.1rem;
  }
  .field{display:flex;flex-direction:column;gap:.45rem}
  .field label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
  .field input,.field textarea{
    background:rgba(7,6,4,.7);border:1px solid var(--line);border-radius:var(--r-sm);
    padding:.8rem .95rem;color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s;
  }
  .field input:focus,.field textarea:focus{border-color:var(--gold);outline:none;
    box-shadow:0 0 0 3px rgba(240,195,82,.15)}
  .field textarea{resize:vertical;min-height:6.5rem}
  @media (max-width:840px){.contact-grid{grid-template-columns:1fr}}

  /* ---------- footer ---------- */
  footer{background:#000;color:var(--muted);padding-block:2.8rem;font-size:.8rem;border-top:1px solid var(--line-2)}
  .foot{display:flex;flex-direction:column;gap:1.6rem}
  .foot-logo{height:44px;width:auto;display:block;margin:0 auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.55))}
  .foot-social{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
  .foot-social a{
    width:2.7rem;height:2.7rem;border-radius:50%;display:grid;place-items:center;
    border:1px solid rgba(245,71,78,.5);color:var(--red-hi);text-decoration:none;
    transition:background .2s,transform .2s,box-shadow .2s;
  }
  .foot-social a:hover{background:rgba(240,195,82,.12);transform:translateY(-3px);
    box-shadow:0 0 22px -6px rgba(240,195,82,.5)}
  .foot-social svg{width:1.2rem;height:1.2rem}
  .foot-meta{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center}
  .foot a{text-decoration:none;transition:color .2s;color:var(--body-c)}
  .foot a:hover{color:var(--gold)}

  /* ---------- whatsapp float ---------- */
  .wa-float{
    position:fixed;bottom:1.6rem;right:1.6rem;z-index:90;width:3.5rem;height:3.5rem;border-radius:50%;
    background:linear-gradient(180deg,#17A24F,var(--wa));display:grid;place-items:center;
    box-shadow:0 12px 28px -8px rgba(14,122,59,.6);text-decoration:none;transition:transform .18s;
  }
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:1.8rem;height:1.8rem;fill:#fff}
  .wa-float::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(14,122,59,.55);
    animation:pulse 2.4s ease-out infinite}
  @keyframes pulse{0%{transform:scale(.85);opacity:1}70%,100%{transform:scale(1.25);opacity:0}}
  @media (prefers-reduced-motion:reduce){.wa-float::after{animation:none;opacity:0}}

  /* ---------- orbital mobile menu ---------- */
  .orbit{position:fixed;right:1.3rem;bottom:1.4rem;width:3rem;height:3rem;z-index:95;display:none}
  @media (max-width:960px){.orbit{display:block}.wa-float{left:1.3rem;right:auto}}
  .orbit-scrim{position:fixed;inset:0;z-index:94;background:rgba(0,0,0,.74);opacity:0;pointer-events:none;
    transition:opacity .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .orbit.open ~ .orbit-scrim,.orbit-scrim.show{opacity:1;pointer-events:auto}
  .orbit-toggle{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;border:1px solid rgba(245,71,78,.55);
    background:linear-gradient(145deg,var(--red-hi),var(--red) 60%,#7c1014);color:#fff;
    display:grid;place-items:center;cursor:pointer;z-index:2;
    box-shadow:0 10px 26px -8px rgba(224,39,48,.6);transition:transform .35s cubic-bezier(.34,1.4,.6,1)}
  .orbit.open .orbit-toggle{transform:rotate(135deg)}
  .orbit-toggle svg{width:1.25rem;height:1.25rem}
  .orbit-item{position:absolute;left:50%;top:50%;width:2.35rem;height:2.35rem;margin:-1.175rem;
    border-radius:50%;display:grid;place-items:center;background:#0d0a0a;
    border:1.5px solid rgba(255,255,255,.9);color:var(--red-hi);text-decoration:none;
    transform:translate(0,0) scale(.2);opacity:0;pointer-events:none;
    box-shadow:0 8px 18px -6px rgba(0,0,0,.75);
    transition:transform .4s cubic-bezier(.34,1.5,.64,1),opacity .25s ease}
  .orbit-item svg{width:1.05rem;height:1.05rem}
  .orbit-item .lbl{position:absolute;right:118%;white-space:nowrap;font-size:.7rem;font-weight:600;
    color:#fff;background:#000;border:1px solid var(--gold);border-radius:999px;
    padding:.26rem .62rem;box-shadow:0 4px 14px rgba(0,0,0,.85);
    opacity:0;transition:opacity .2s ease .05s;pointer-events:none}
  .orbit-item:nth-child(1){z-index:16}
  .orbit-item:nth-child(2){z-index:15}
  .orbit-item:nth-child(3){z-index:14}
  .orbit-item:nth-child(4){z-index:13}
  .orbit-item:nth-child(5){z-index:12}
  .orbit-item:nth-child(6){z-index:11}
  .orbit-toggle{z-index:20}
  .orbit.open .orbit-item{opacity:1;pointer-events:auto}
  .orbit.open .orbit-item .lbl{opacity:1;transition-delay:.22s}
  .orbit.open .orbit-item:nth-child(1){transform:translate(-6px,-150px) scale(1)}
  .orbit.open .orbit-item:nth-child(2){transform:translate(-58px,-136px) scale(1)}
  .orbit.open .orbit-item:nth-child(3){transform:translate(-100px,-108px) scale(1)}
  .orbit.open .orbit-item:nth-child(4){transform:translate(-130px,-70px) scale(1)}
  .orbit.open .orbit-item:nth-child(5){transform:translate(-146px,-26px) scale(1)}
  .orbit.open .orbit-item:nth-child(6){transform:translate(-148px,20px) scale(1)}
  @media (prefers-reduced-motion:reduce){.orbit-item,.orbit-toggle{transition:opacity .2s}}

  /* opcion C: acentos rojos */
  .eyebrow{color:var(--red-hi)}
  .eyebrow::before{background:linear-gradient(90deg,transparent,var(--red))}
  .sect-head h2::after{content:"";display:block;width:70px;height:3px;border-radius:2px;margin-top:.7rem;
    background:linear-gradient(90deg,var(--red),var(--red-hi))}
  .svc::before{opacity:1;background:linear-gradient(90deg,transparent,rgba(224,39,48,.85),transparent)}
  .marquee{border-color:rgba(224,39,48,.5)}
  .marquee-seq svg{fill:var(--red)}
  .trust-item .icon{color:var(--red-hi)}
  .sect-line{border-top-color:rgba(224,39,48,.3)}
  .svc,.step,.plan,.loc{border-color:rgba(224,39,48,.35)}

  /* real lead form */
  .radio-row{display:flex;gap:.7rem;flex-wrap:wrap}
  .radio-pill{position:relative;flex:1;min-width:9rem}
  .radio-pill input{position:absolute;inset:0;opacity:0;cursor:pointer}
  .radio-pill span{display:flex;align-items:center;justify-content:center;gap:.45rem;
    padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--r-sm);
    font-size:.85rem;color:var(--body-c);transition:border-color .2s,color .2s,background .2s}
  .radio-pill input:checked + span{border-color:var(--gold);color:var(--gold);background:rgba(240,195,82,.12)}
  .radio-pill input:focus-visible + span{outline:2px solid var(--gold);outline-offset:2px}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}
  .form-msg{font-size:.85rem;min-height:1.3em;text-align:center}
  .form-msg.ok{color:#2ee06f}
  .form-msg.err{color:#ef3d44}

  .loc-map{height:230px}
  .loc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;
    filter:invert(.88) hue-rotate(180deg) saturate(.65) brightness(.92)}

  /* gallery carousel */
  .car-wrap{position:relative;border-radius:var(--r-md);overflow:hidden;
    border:1px solid var(--line-2);box-shadow:0 0 44px -14px rgba(240,195,82,.3);background:#000}
  .car-track{display:flex;transition:transform .65s cubic-bezier(.4,0,.2,1)}
  .car-slide{min-width:100%;position:relative;aspect-ratio:16/9}
  @media (max-width:760px){.car-slide{aspect-ratio:4/5}}
  .car-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .car-cap{position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1.6rem 1.2rem;
    background:linear-gradient(transparent,rgba(0,0,0,.88));font-size:.92rem;color:var(--text)}
  .car-btn{position:absolute;top:50%;translate:0 -50%;width:2.9rem;height:2.9rem;border-radius:50%;
    display:grid;place-items:center;background:rgba(7,6,4,.55);border:1px solid var(--line-2);
    color:var(--gold);cursor:pointer;backdrop-filter:blur(6px);transition:background .2s;z-index:2}
  .car-btn:hover{background:rgba(240,195,82,.25)}
  .car-btn svg{width:1.2rem;height:1.2rem}
  .car-prev{left:1rem}.car-next{right:1rem}
  .car-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.1rem}
  .car-dot{width:.55rem;height:.55rem;border-radius:999px;background:rgba(248,243,228,.3);
    border:0;cursor:pointer;transition:all .25s;padding:0}
  .car-dot.on{background:var(--gold);width:1.5rem}
  @media (max-width:760px){
    .car-dots{gap:.8rem}
    .car-dot{width:.85rem;height:.85rem}
    .car-dot.on{width:2rem}
    .car-btn{width:2.5rem;height:2.5rem}
    .car-prev{left:.6rem}.car-next{right:.6rem}
  }

#waPick{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:1rem}
#waPick.open{display:flex}
#waPick .wa-back{position:absolute;inset:0;background:rgba(0,0,0,.8)}
#waPick .wa-card{position:relative;width:min(92vw,420px);background:#070604;border:1px solid rgba(240,195,82,.5);border-radius:18px;padding:1.7rem 1.4rem 1.5rem;box-shadow:0 30px 80px -20px rgba(0,0,0,.95);text-align:center}
#waPick h3{color:#f0c352;font-size:1.22rem;line-height:1.25;margin:0 0 .45rem;font-weight:700}
#waPick .wa-sub{color:#dadad6;font-size:.92rem;margin:0 0 1.15rem}
#waPick .wa-opt{display:flex;align-items:center;gap:.85rem;width:100%;margin-top:.7rem;padding:.85rem 1.05rem;border-radius:14px;text-align:left;text-decoration:none;color:#fff;background:linear-gradient(180deg,#0E7A3B,#0A5C2C);box-shadow:0 12px 28px -12px rgba(14,122,59,.65);transition:transform .15s ease,box-shadow .15s ease}
#waPick .wa-opt:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(14,122,59,.8)}
#waPick .wa-opt svg{width:26px;height:26px;flex:0 0 auto;fill:currentColor}
#waPick .wa-opt .wa-city{display:block;font-size:1.02rem;font-weight:700;line-height:1.2}
#waPick .wa-opt .wa-num{display:block;font-size:.86rem;opacity:.88}
#waPick .wa-x{position:absolute;top:.55rem;right:.75rem;background:none;border:0;color:rgba(255,255,255,.55);font-size:1.6rem;cursor:pointer;line-height:1;padding:.2rem .4rem}
#waPick .wa-x:hover{color:#f0c352}

/* --- Fase 3: micro-polish premium --- */
.skip-link{position:absolute;left:1rem;top:-100vh;z-index:2000;background:var(--gold);color:#000;
  padding:.7rem 1.2rem;border-radius:var(--r-sm);font-weight:700;text-decoration:none;transition:top .25s ease}
.skip-link:focus{top:1rem}
.btn{transition:transform .15s ease, box-shadow .25s ease, background .25s ease, color .25s ease}
.btn:active{transform:translateY(1px) scale(.99)}
.foot-social a{transition:transform .2s ease, color .2s ease}
.foot-social a:hover{transform:translateY(-2px);color:var(--gold)}
@media (prefers-reduced-motion:reduce){.btn,.foot-social a,.skip-link{transition:none}}
