
:root{
  --navy-950:#020812;--navy-900:#041529;--navy-800:#08213c;
  --lime-500:#9ac20e;--lime-400:#c6f227;--white:#f8fbff;
  --silver:#c8d3dd;--muted:#91a4b6;--line:rgba(255,255,255,.14);
  --shadow:0 30px 90px rgba(0,0,0,.45);--max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--white);background:radial-gradient(circle at 18% 8%,rgba(154,194,14,.18),transparent 28rem),linear-gradient(180deg,var(--navy-950),var(--navy-900) 45%,#020711);overflow-x:hidden}
a{color:inherit}img{max-width:100%;display:block}.site{position:relative;z-index:1}
.noise{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.intro{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(154,194,14,.24),transparent 28%),linear-gradient(135deg,#020711,#071f38 55%,#020812);animation:introExit .9s cubic-bezier(.65,0,.35,1) forwards;animation-delay:2.25s}
.intro-inner{text-align:center}.intro-logo-img{width:min(720px,86vw);margin:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.45)) drop-shadow(0 0 28px rgba(154,194,14,.18));animation:logoPulse 1.8s ease-in-out infinite alternate}
.intro-sub{margin-top:20px;color:var(--silver);text-transform:uppercase;letter-spacing:.28em;font-size:.76rem;font-weight:800}
.loader{width:min(340px,76vw);height:5px;margin:30px auto 0;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}
.loader:before{content:"";display:block;height:100%;width:42%;background:linear-gradient(90deg,transparent,var(--lime-400),#76fff2,transparent);animation:loaderMove 1.1s ease-in-out infinite}
@keyframes loaderMove{from{transform:translateX(-110%)}to{transform:translateX(260%)}}@keyframes introExit{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes logoPulse{to{transform:scale(1.018);filter:drop-shadow(0 34px 70px rgba(0,0,0,.5)) drop-shadow(0 0 38px rgba(154,194,14,.34))}}
.nav-shell{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:80;width:min(var(--max),calc(100% - 28px));padding:1px;border-radius:999px;background:linear-gradient(90deg,rgba(154,194,14,.52),rgba(255,255,255,.12),rgba(118,255,242,.24));box-shadow:0 20px 70px rgba(0,0,0,.35)}
header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:9px 14px;border-radius:inherit;background:rgba(2,8,18,.78);backdrop-filter:blur(22px)}
.brand{display:inline-flex;align-items:center;text-decoration:none;max-width:330px}
.brand img{height:54px;width:auto;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.35));transition:.3s}
.brand:hover img{filter:drop-shadow(0 10px 20px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(198,242,39,.32));transform:translateY(-1px)}
nav{display:flex;align-items:center;gap:4px}
nav a{padding:12px 13px;color:rgba(248,251,255,.78);text-decoration:none;font-size:.9rem;font-weight:800;border-radius:999px;transition:.25s}
nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-cta{margin-left:6px;color:var(--navy-950)!important;background:linear-gradient(135deg,var(--lime-500),var(--lime-400))!important;box-shadow:0 15px 36px rgba(154,194,14,.34)}
.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:145px 22px 92px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(2,8,18,.98) 0%,rgba(4,21,41,.86) 44%,rgba(4,21,41,.28) 100%),url('brilloprime-flyer.jpeg') center/cover;filter:saturate(1.08) contrast(1.08);transform:scale(1.02)}
.hero-shine{position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.05) 32%,transparent 52%),linear-gradient(300deg,transparent 0%,rgba(154,194,14,.12) 36%,transparent 58%);mix-blend-mode:screen;animation:shineMove 10s linear infinite}
@keyframes shineMove{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
.floating-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.floating-particles span{position:absolute;width:6px;height:6px;border-radius:50%;background:rgba(198,242,39,.75);box-shadow:0 0 18px rgba(198,242,39,.75);animation:floatParticle linear infinite;top:100%}.floating-particles span:nth-child(1){left:10%;animation-duration:12s}.floating-particles span:nth-child(2){left:25%;animation-duration:18s;animation-delay:2s}.floating-particles span:nth-child(3){left:48%;animation-duration:15s;animation-delay:1s}.floating-particles span:nth-child(4){left:68%;animation-duration:20s;animation-delay:4s}.floating-particles span:nth-child(5){left:82%;animation-duration:16s;animation-delay:3s}@keyframes floatParticle{from{transform:translateY(0) scale(.6);opacity:0}20%{opacity:1}to{transform:translateY(-120vh) scale(1.4);opacity:0}}
.hero-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}.pill{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(154,194,14,.42);border-radius:999px;color:var(--lime-400);background:rgba(154,194,14,.10);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
h1{margin-top:25px;max-width:830px;font-size:clamp(3.25rem,8vw,7.6rem);line-height:.84;letter-spacing:-.085em;font-weight:950}h1 span,h2 span{color:var(--lime-400);text-shadow:0 0 50px rgba(154,194,14,.22)}
.lead{margin-top:28px;max-width:650px;color:#d8e2eb;font-size:clamp(1.05rem,1.7vw,1.24rem);line-height:1.75}.hero-actions{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 24px;border-radius:999px;text-decoration:none;font-weight:900;overflow:hidden;transition:.25s;border:0;cursor:pointer}.btn:hover{transform:translateY(-3px)}.btn-primary{color:var(--navy-950);background:linear-gradient(135deg,var(--lime-500),var(--lime-400));box-shadow:0 22px 54px rgba(154,194,14,.33)}.btn-ghost{border:1px solid var(--line);color:#fff;background:rgba(255,255,255,.06)}
.hero-card{padding:1px;border-radius:38px;background:linear-gradient(160deg,rgba(154,194,14,.55),rgba(255,255,255,.10),rgba(118,255,242,.16));box-shadow:var(--shadow)}.hero-card-inner{overflow:hidden;border-radius:37px;background:rgba(5,21,39,.78);backdrop-filter:blur(22px)}.hero-card-image{min-height:285px;position:relative;background:linear-gradient(180deg,rgba(2,8,18,.02),rgba(4,21,41,.48)),url('brilloprime-flyer.jpeg') center top/cover}.hero-card-content{padding:30px;position:relative}.hero-logo-small{max-width:330px;margin-bottom:18px;background:rgba(255,255,255,.92);padding:12px;border-radius:18px}.hero-card-content small{color:var(--lime-400);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.phone{margin-top:8px;font-size:clamp(2rem,4vw,3.25rem);font-weight:950;letter-spacing:-.06em}.phone span{color:var(--lime-400)}.quick-list{display:grid;gap:10px;margin-top:22px;color:#dbe4ec}.quick-list div{display:flex;gap:10px;align-items:center}.check{color:var(--lime-400);font-weight:950}
.stats{width:min(var(--max),calc(100% - 44px));margin:-42px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:1px;border-radius:28px;background:linear-gradient(90deg,rgba(154,194,14,.42),rgba(255,255,255,.13),rgba(118,255,242,.18));box-shadow:var(--shadow);overflow:hidden}.stat{padding:26px;background:rgba(4,21,41,.92);backdrop-filter:blur(16px)}.stat strong{display:block;color:#fff;font-size:1.95rem;letter-spacing:-.05em}.stat span{color:var(--muted);font-weight:700}
section{padding:112px 22px}.container{width:min(var(--max),100%);margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.kicker{color:var(--lime-400);font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}h2{margin-top:12px;font-size:clamp(2.35rem,5vw,4.8rem);line-height:.92;letter-spacing:-.07em}.section-head p{max-width:520px;color:var(--muted);line-height:1.75}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:390px;padding:28px;border-radius:34px;border:1px solid var(--line);overflow:hidden;background:var(--navy-800);box-shadow:0 24px 70px rgba(0,0,0,.25);isolation:isolate;transform-style:preserve-3d;transition:.35s}.service-card:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(2,8,18,.14),rgba(2,8,18,.92)),var(--image) center/cover;opacity:.72;transition:.5s}.service-card:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 20%,rgba(154,194,14,.26),transparent 34%);opacity:.65}.service-card:hover{transform:translateY(-10px);box-shadow:0 35px 90px rgba(0,0,0,.42)}.service-card:hover:before{transform:scale(1.08);opacity:.92}.service-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-height:210px}.service-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:21px;background:rgba(154,194,14,.15);border:1px solid rgba(154,194,14,.42);color:var(--lime-400);font-size:1.6rem}.service-number{color:rgba(255,255,255,.42);font-weight:950}.service-card h3{font-size:1.45rem;letter-spacing:-.035em;margin-bottom:10px}.service-card p{color:#dce6ee;line-height:1.68}
.split{background:radial-gradient(circle at 8% 25%,rgba(154,194,14,.16),transparent 28rem),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00))}.split-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:stretch}.panel{border:1px solid var(--line);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:var(--shadow);backdrop-filter:blur(18px);overflow:hidden}.panel.text{padding:42px}.panel.text p{margin-top:20px;color:var(--silver);line-height:1.76}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.feature{padding:24px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.055)}.feature strong{display:block;margin-bottom:9px;color:#fff}.feature span{color:var(--muted);line-height:1.58}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{position:relative;padding:28px;border:1px solid var(--line);border-radius:26px;background:rgba(255,255,255,.055);overflow:hidden}.step:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(154,194,14,.14),transparent 36%)}.step>*{position:relative}.step b{color:var(--lime-400);font-size:2.1rem;letter-spacing:-.05em}.step h3{margin-top:24px;margin-bottom:10px;font-size:1.2rem}.step p{color:var(--muted);line-height:1.6}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}label{display:block;color:var(--silver);font-weight:800;margin-bottom:8px}input,select,textarea{width:100%;padding:15px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(2,8,18,.6);color:#fff;outline:none;font:inherit}textarea{min-height:135px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(198,242,39,.55);box-shadow:0 0 0 4px rgba(154,194,14,.12)}
.cta{padding:120px 22px;text-align:center;background:linear-gradient(rgba(2,8,18,.82),rgba(2,8,18,.96)),url('https://images.unsplash.com/photo-1563453392212-326f5e854473?auto=format&fit=crop&w=2100&q=90') center/cover fixed}.cta-box{width:min(940px,100%);margin:auto;padding:58px 28px;border:1px solid var(--line);border-radius:44px;background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045));box-shadow:var(--shadow);backdrop-filter:blur(14px)}.cta h2{margin-top:0;font-size:clamp(2.6rem,7vw,6.2rem)}.cta p{max-width:650px;margin:22px auto 34px;color:var(--silver);line-height:1.75}
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:90;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:linear-gradient(135deg,#25D366,#c6f227);color:#06121f;font-size:1.65rem;font-weight:950;box-shadow:0 20px 45px rgba(37,211,102,.35);animation:waPulse 1.8s infinite}@keyframes waPulse{50%{box-shadow:0 20px 55px rgba(37,211,102,.55);transform:scale(1.04)}}
.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:200;display:none}.cookie-inner{max-width:980px;margin:auto;padding:20px;border-radius:26px;border:1px solid rgba(255,255,255,.18);background:rgba(2,8,18,.92);backdrop-filter:blur(18px);box-shadow:0 28px 70px rgba(0,0,0,.48);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.cookie-inner p{color:var(--silver);line-height:1.55}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions button,.modal-actions button{padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.15);font-weight:900;cursor:pointer}.accept{background:var(--lime-400);color:#06121f}.reject,.settings{background:rgba(255,255,255,.08);color:#fff}.cookie-modal{position:fixed;inset:0;z-index:220;display:none;place-items:center;background:rgba(0,0,0,.62);padding:18px}.modal-box{width:min(640px,100%);padding:28px;border-radius:30px;background:#061528;border:1px solid var(--line);box-shadow:var(--shadow)}.modal-box p{color:var(--silver);line-height:1.65;margin:14px 0}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.toggle-row small{color:var(--muted)}
.legal-page{padding:140px 22px 70px}.legal-card{width:min(920px,100%);margin:auto;padding:42px;border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.06);box-shadow:var(--shadow)}.legal-card h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;margin:0 0 24px}.legal-card h2{font-size:1.6rem;letter-spacing:-.03em;margin-top:28px}.legal-card p,.legal-card li{color:var(--silver);line-height:1.75;margin-top:12px}.legal-card ul{margin-left:20px;margin-top:10px}
footer{padding:38px 22px;border-top:1px solid var(--line);background:#020711;color:var(--muted)}.footer-wrap{width:min(var(--max),100%);margin:auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}.footer-logo{width:260px;background:rgba(255,255,255,.94);border-radius:18px;padding:10px}.legal-links{display:flex;gap:16px;flex-wrap:wrap}footer strong{color:#fff}
@media(max-width:980px){nav a:not(.nav-cta){display:none}.hero-grid,.split-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}.process-grid,.stats{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:18px}.cookie-inner{grid-template-columns:1fr}}
@media(max-width:620px){.nav-shell{top:10px;width:calc(100% - 18px)}header{padding:10px}.brand img{height:40px}.nav-cta{padding:11px 12px;font-size:.82rem}.hero{padding-top:118px}.hero-card-image{min-height:210px}.services-grid,.process-grid,.stats,.features,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats{margin-top:-28px}.panel.text{padding:28px}section{padding:84px 18px}.cookie-actions{width:100%}.cookie-actions button{flex:1}.whatsapp-float{right:14px;bottom:14px}}


/* ===== IMPROVED LOGO / MENU INTEGRATION ===== */

header{
  background:
    linear-gradient(180deg, rgba(6,24,43,.88), rgba(2,8,18,.82)) !important;
}

.brand{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 22px !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 18% 35%, rgba(198,242,39,.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)) !important;
  border:1px solid rgba(198,242,39,.16) !important;
  box-shadow:
    inset 0 0 12px rgba(255,255,255,.03),
    0 0 18px rgba(154,194,14,.08) !important;
  overflow:hidden !important;
  transition:.35s ease !important;
}

.brand::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      115deg,
      transparent 0%,
      rgba(198,242,39,.14) 42%,
      rgba(255,255,255,.12) 50%,
      transparent 62%
    );
  transform:translateX(-130%);
  animation:logoSweep 5s ease-in-out infinite;
}

.brand img{
  position:relative;
  z-index:2;
  height:52px !important;
  width:auto;
  object-fit:contain;
  filter:
    drop-shadow(0 6px 14px rgba(0,0,0,.22))
    drop-shadow(0 0 8px rgba(198,242,39,.08)) !important;
  transition:.35s ease;
}

.brand:hover{
  border-color:rgba(198,242,39,.32) !important;
  box-shadow:
    inset 0 0 18px rgba(255,255,255,.04),
    0 0 28px rgba(154,194,14,.14) !important;
  transform:translateY(-1px);
}

.brand:hover img{
  filter:
    drop-shadow(0 8px 18px rgba(0,0,0,.28))
    drop-shadow(0 0 14px rgba(198,242,39,.18)) !important;
}

@keyframes logoSweep{
  0%,55%{
    transform:translateX(-130%);
  }
  80%,100%{
    transform:translateX(130%);
  }
}

@media(max-width:620px){
  .brand{
    padding:8px 16px !important;
  }

  .brand img{
    height:40px !important;
  }
}


/* ===== ULTRA PREMIUM LOADING + ENTRANCE EFFECTS ===== */

body.is-loading{
  overflow:hidden;
}

.intro{
  background:
    radial-gradient(circle at 50% 42%, rgba(198,242,39,.20), transparent 24%),
    radial-gradient(circle at 52% 58%, rgba(118,255,242,.10), transparent 28%),
    linear-gradient(135deg,#020711 0%,#06192e 48%,#020812 100%) !important;
  animation:introExitPremium 1.05s cubic-bezier(.77,0,.18,1) forwards !important;
  animation-delay:3.35s !important;
  overflow:hidden;
}

.intro::before{
  content:"";
  position:absolute;
  width:56vw;
  height:56vw;
  min-width:380px;
  min-height:380px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.22);
  box-shadow:
    0 0 60px rgba(198,242,39,.10),
    inset 0 0 90px rgba(118,255,242,.05);
  animation:introRing 3.2s ease-in-out infinite;
}

.intro::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:
    conic-gradient(
      from 0deg,
      transparent,
      rgba(198,242,39,.18),
      transparent,
      rgba(118,255,242,.12),
      transparent
    );
  filter:blur(28px);
  animation:introRotate 8s linear infinite;
  opacity:.75;
}

.intro-inner{
  position:relative;
  z-index:2;
  animation:introContentIn .9s cubic-bezier(.19,1,.22,1) both;
}

.intro-logo-img{
  width:min(760px,86vw) !important;
  padding:20px 28px;
  border-radius:34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.82));
  border:1px solid rgba(255,255,255,.34);
  box-shadow:
    0 34px 95px rgba(0,0,0,.48),
    0 0 70px rgba(154,194,14,.24),
    inset 0 0 30px rgba(198,242,39,.08);
  animation:logoPremiumPulse 1.7s ease-in-out infinite alternate !important;
}

.intro-sub{
  position:relative;
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
}

.loader{
  height:7px !important;
  width:min(420px,74vw) !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    inset 0 0 16px rgba(0,0,0,.42),
    0 0 28px rgba(198,242,39,.08);
}

.loader::before{
  width:36% !important;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(198,242,39,.55),
      #c6f227,
      #76fff2,
      transparent
    ) !important;
  box-shadow:0 0 20px rgba(198,242,39,.75);
  animation:loaderMovePremium 1s cubic-bezier(.65,0,.35,1) infinite !important;
}

.loading-percent{
  margin-top:16px;
  color:rgba(248,251,255,.72);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.20em;
  text-transform:uppercase;
}

@keyframes introContentIn{
  from{
    opacity:0;
    transform:translateY(34px) scale(.96);
    filter:blur(14px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes logoPremiumPulse{
  to{
    transform:scale(1.018);
    box-shadow:
      0 38px 105px rgba(0,0,0,.52),
      0 0 90px rgba(154,194,14,.34),
      inset 0 0 40px rgba(198,242,39,.11);
  }
}

@keyframes introRing{
  0%,100%{
    transform:scale(.88) rotate(0deg);
    opacity:.45;
  }
  50%{
    transform:scale(1.04) rotate(9deg);
    opacity:.85;
  }
}

@keyframes introRotate{
  to{
    transform:rotate(360deg);
  }
}

@keyframes loaderMovePremium{
  from{
    transform:translateX(-120%);
  }
  to{
    transform:translateX(315%);
  }
}

@keyframes introExitPremium{
  0%{
    opacity:1;
    transform:scale(1);
    filter:blur(0);
  }
  70%{
    opacity:1;
    transform:scale(1.025);
    filter:blur(4px);
  }
  100%{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:scale(1.08);
    filter:blur(18px);
  }
}

/* Page entrance */
.site{
  opacity:0;
  transform:translateY(22px);
  filter:blur(10px);
  transition:
    opacity 1.1s cubic-bezier(.19,1,.22,1),
    transform 1.1s cubic-bezier(.19,1,.22,1),
    filter 1.1s cubic-bezier(.19,1,.22,1);
}

body.loaded .site{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

body.loaded .nav-shell{
  animation:navDropPremium .95s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.18s;
}

body.loaded .hero .pill{
  animation:heroFadeUp .85s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.42s;
}

body.loaded .hero h1{
  animation:heroTitleReveal 1s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.55s;
}

body.loaded .hero .lead{
  animation:heroFadeUp .85s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.78s;
}

body.loaded .hero-actions{
  animation:heroFadeUp .85s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.95s;
}

body.loaded .hero-card{
  animation:heroCardEnter 1.05s cubic-bezier(.19,1,.22,1) both;
  animation-delay:.72s;
}

body.loaded .stats{
  animation:statsEnter 1s cubic-bezier(.19,1,.22,1) both;
  animation-delay:1.05s;
}

@keyframes navDropPremium{
  from{
    opacity:0;
    transform:translateX(-50%) translateY(-32px) scale(.96);
    filter:blur(8px);
  }
  to{
    opacity:1;
    transform:translateX(-50%) translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes heroFadeUp{
  from{
    opacity:0;
    transform:translateY(26px);
    filter:blur(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes heroTitleReveal{
  from{
    opacity:0;
    transform:translateY(34px) scale(.985);
    letter-spacing:-.11em;
    filter:blur(12px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes heroCardEnter{
  from{
    opacity:0;
    transform:translateY(42px) rotateX(8deg) rotateY(-8deg) scale(.94);
    filter:blur(12px);
  }
  to{
    opacity:1;
    transform:translateY(0) rotateX(0) rotateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes statsEnter{
  from{
    opacity:0;
    transform:translateY(28px) scale(.98);
    filter:blur(8px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

/* Reveal on scroll */
.reveal-on-scroll{
  opacity:0;
  transform:translateY(34px);
  filter:blur(8px);
  transition:
    opacity .85s cubic-bezier(.19,1,.22,1),
    transform .85s cubic-bezier(.19,1,.22,1),
    filter .85s cubic-bezier(.19,1,.22,1);
}

.reveal-on-scroll.visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

/* Button premium shine */
.btn-primary::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform:translateX(-130%);
  transition:.65s ease;
}

.btn-primary:hover::after{
  transform:translateX(130%);
}

/* Better mobile loading */
@media(max-width:620px){
  .intro-logo-img{
    width:min(92vw,520px) !important;
    padding:14px 16px;
    border-radius:24px;
  }

  .intro::before{
    width:88vw;
    height:88vw;
    min-width:260px;
    min-height:260px;
  }

  .loading-percent{
    font-size:.68rem;
  }
}


/* ===== ALWAYS FLOATING WHATSAPP BUTTON ===== */

.whatsapp-float{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  text-decoration:none !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
  color:#06121f !important;
  font-size:1.7rem !important;
  font-weight:950 !important;
  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
  animation:whatsappFloatPulse 1.9s ease-in-out infinite !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease !important;
}

.whatsapp-float::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:whatsappRing 2.4s ease-out infinite;
}

.whatsapp-float::after{
  content:"Presupuesto";
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.whatsapp-float:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
  box-shadow:
    0 24px 58px rgba(37,211,102,.55),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.whatsapp-float:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

@keyframes whatsappFloatPulse{
  0%,100%{
    transform:translateY(0) scale(1);
  }
  50%{
    transform:translateY(-3px) scale(1.035);
  }
}

@keyframes whatsappRing{
  0%{
    transform:scale(.9);
    opacity:.75;
  }
  100%{
    transform:scale(1.35);
    opacity:0;
  }
}

@media(max-width:620px){
  .whatsapp-float{
    right:16px !important;
    bottom:16px !important;
    width:60px !important;
    height:60px !important;
    font-size:1.45rem !important;
  }

  .whatsapp-float::after{
    display:none;
  }
}


/* ===== LOADING LOGO OFFICIAL BLACK VERSION + PREMIUM GLOW ===== */

.loading-logo-frame{
  position:relative;
  display:inline-grid;
  place-items:center;
  padding:18px;
  border-radius:42px;
  background:
    radial-gradient(circle at 50% 45%, rgba(198,242,39,.18), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.008));
  border:1px solid rgba(198,242,39,.16);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.035),
    0 34px 110px rgba(0,0,0,.62),
    0 0 90px rgba(154,194,14,.28),
    inset 0 0 40px rgba(198,242,39,.035);
  isolation:isolate;
  overflow:hidden;
}

.loading-logo-frame::before{
  content:"";
  position:absolute;
  inset:-35%;
  z-index:-2;
  background:
    conic-gradient(
      from 0deg,
      transparent,
      rgba(198,242,39,.26),
      transparent,
      rgba(118,255,242,.14),
      transparent
    );
  filter:blur(28px);
  opacity:.72;
  animation:loadingLogoAura 7s linear infinite;
}

.loading-logo-frame::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:2;
  background:
    linear-gradient(
      115deg,
      transparent 0%,
      transparent 36%,
      rgba(255,255,255,.28) 48%,
      rgba(198,242,39,.18) 54%,
      transparent 68%,
      transparent 100%
    );
  transform:translateX(-135%);
  animation:loadingLogoShine 2.8s ease-in-out infinite;
  pointer-events:none;
  mix-blend-mode:screen;
}

.loading-logo-frame .intro-logo-img{
  position:relative;
  z-index:1;
  width:min(820px,88vw) !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:
    drop-shadow(0 24px 48px rgba(0,0,0,.62))
    drop-shadow(0 0 28px rgba(198,242,39,.32))
    drop-shadow(0 0 76px rgba(154,194,14,.18)) !important;
  animation:loadingLogoFloat 2.05s ease-in-out infinite alternate !important;
}

@keyframes loadingLogoAura{
  to{
    transform:rotate(360deg);
  }
}

@keyframes loadingLogoShine{
  0%,42%{
    transform:translateX(-135%);
    opacity:0;
  }
  48%{
    opacity:1;
  }
  72%,100%{
    transform:translateX(135%);
    opacity:0;
  }
}

@keyframes loadingLogoFloat{
  from{
    transform:translateY(0) scale(1);
    filter:
      drop-shadow(0 24px 48px rgba(0,0,0,.62))
      drop-shadow(0 0 28px rgba(198,242,39,.28))
      drop-shadow(0 0 70px rgba(154,194,14,.16)) !important;
  }
  to{
    transform:translateY(-6px) scale(1.018);
    filter:
      drop-shadow(0 30px 58px rgba(0,0,0,.68))
      drop-shadow(0 0 42px rgba(198,242,39,.48))
      drop-shadow(0 0 105px rgba(154,194,14,.28)) !important;
  }
}

@media(max-width:620px){
  .loading-logo-frame{
    padding:10px;
    border-radius:28px;
  }

  .loading-logo-frame .intro-logo-img{
    width:min(94vw,540px) !important;
  }
}


/* ===== FIXED FLOATING PHONE / WHATSAPP BUTTON ===== */

.whatsapp-float{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:99999 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Prevent parent transforms affecting fixed positioning */
body,
html,
.site{
  transform:none !important;
}

@media(max-width:620px){
  .whatsapp-float{
    right:16px !important;
    bottom:16px !important;
  }
}


/* ===== TRUE GLOBAL FLOATING WHATSAPP ===== */

.whatsapp-float{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
}

@media(max-width:620px){
  .whatsapp-float{
    right:16px !important;
    bottom:16px !important;
  }
}


/* ===== FLOATING MUSIC BUTTON ===== */

.music-float{
  position:fixed !important;
  right:24px !important;
  bottom:104px !important;
  z-index:2147483647 !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#08213c,#c6f227) !important;
  color:#06121f !important;
  font-size:1.85rem !important;
  font-weight:950 !important;
  box-shadow:
    0 18px 42px rgba(154,194,14,.32),
    0 0 0 8px rgba(154,194,14,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
  animation:musicFloatPulse 2.1s ease-in-out infinite !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease !important;
}

.music-float::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.28);
  animation:musicRing 2.7s ease-out infinite;
}

.music-float::after{
  content:"Música";
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.music-float:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
  box-shadow:
    0 24px 58px rgba(154,194,14,.48),
    0 0 0 10px rgba(154,194,14,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.music-float:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.music-float.playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
  box-shadow:
    0 24px 58px rgba(37,211,102,.45),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.music-float.playing::after{
  content:"Pausar música";
}

@keyframes musicFloatPulse{
  0%,100%{
    transform:translateY(0) scale(1);
  }
  50%{
    transform:translateY(-3px) scale(1.03);
  }
}

@keyframes musicRing{
  0%{
    transform:scale(.9);
    opacity:.65;
  }
  100%{
    transform:scale(1.32);
    opacity:0;
  }
}

@media(max-width:620px){
  .music-float{
    right:16px !important;
    bottom:88px !important;
    width:60px !important;
    height:60px !important;
    font-size:1.55rem !important;
  }

  .music-float::after{
    display:none;
  }
}

/* ===== REAL MUSIC BUTTON - ALWAYS VISIBLE ===== */

.music-player-float{
  position:fixed !important;
  right:24px !important;
  bottom:108px !important;
  z-index:2147483647 !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  border:1px solid rgba(198,242,39,.38) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#061528,#c6f227) !important;
  color:#06121f !important;
  box-shadow:
    0 18px 42px rgba(154,194,14,.42),
    0 0 0 8px rgba(154,194,14,.10),
    inset 0 0 18px rgba(255,255,255,.28) !important;
  transition:.25s ease !important;
}

.music-player-float .music-icon{
  font-size:1.55rem;
  position:relative;
  z-index:2;
}

.music-player-float::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:musicButtonRing 2.6s ease-out infinite;
}

.music-player-float::after{
  content:"Música";
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  white-space:nowrap;
  background:rgba(2,8,18,.86);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.music-player-float:hover{
  transform:translateY(-4px) scale(1.045) !important;
  box-shadow:
    0 24px 58px rgba(154,194,14,.55),
    0 0 0 10px rgba(154,194,14,.12),
    inset 0 0 22px rgba(255,255,255,.32) !important;
}

.music-player-float:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.music-player-float.playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
}

.music-player-float.playing::after{
  content:"Pausar música";
}

.music-equalizer{
  position:absolute;
  bottom:13px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:3px;
  height:14px;
  align-items:flex-end;
  opacity:0;
}

.music-equalizer i{
  display:block;
  width:3px;
  height:5px;
  border-radius:5px;
  background:#06121f;
  animation:eqMove .7s ease-in-out infinite alternate;
}

.music-equalizer i:nth-child(2){animation-delay:.15s}
.music-equalizer i:nth-child(3){animation-delay:.3s}

.music-player-float.playing .music-equalizer{
  opacity:1;
}

@keyframes eqMove{
  from{height:4px}
  to{height:14px}
}

@keyframes musicButtonRing{
  0%{transform:scale(.9);opacity:.75}
  100%{transform:scale(1.35);opacity:0}
}

@media(max-width:620px){
  .music-player-float{
    right:16px !important;
    bottom:88px !important;
    width:60px !important;
    height:60px !important;
  }

  .music-player-float::after{
    display:none;
  }

  .music-player-float .music-icon{
    font-size:1.35rem;
  }
}

/* ===== FINAL CORRECT FLOATING ACTIONS: HIDDEN DURING LOADING ===== */

.floating-actions{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483647 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  align-items:flex-end !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(18px) scale(.96) !important;
  pointer-events:none !important;
  transition:
    opacity .55s cubic-bezier(.19,1,.22,1),
    visibility .55s cubic-bezier(.19,1,.22,1),
    transform .55s cubic-bezier(.19,1,.22,1) !important;
}

/* Só aparecem depois do loading terminar */
body.loaded .floating-actions{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
}

/* Impede que apareça na página de loading */
body.is-loading .floating-actions,
.intro ~ .floating-actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.whatsapp-style,
.whatsapp-float,
.music-float{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  z-index:auto !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  border:0 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
  color:#06121f !important;
  font-size:1.65rem !important;
  font-weight:950 !important;
  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
  animation:whatsappFloatPulse 1.9s ease-in-out infinite !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease !important;
}

/* Botão música com a mesma base, mas ligeiramente azul/verde quando parado */
.music-float{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#08213c,#c6f227) !important;
  box-shadow:
    0 18px 42px rgba(154,194,14,.38),
    0 0 0 8px rgba(154,194,14,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
}

.whatsapp-style::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:whatsappRing 2.4s ease-out infinite;
}

.whatsapp-style::after{
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.whatsapp-float::after{
  content:"Presupuesto";
}

.music-float::after{
  content:"Música";
}

.music-float.playing::after{
  content:"Pausar música";
}

.whatsapp-style:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
  box-shadow:
    0 24px 58px rgba(37,211,102,.55),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.music-float:hover{
  box-shadow:
    0 24px 58px rgba(154,194,14,.52),
    0 0 0 10px rgba(154,194,14,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.whatsapp-style:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.music-float.playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
  box-shadow:
    0 24px 58px rgba(37,211,102,.45),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.music-float .sound-off{
  display:none;
}

.music-float.playing .sound-on{
  display:none;
}

.music-float.playing .sound-off{
  display:inline;
}

@media(max-width:620px){
  .floating-actions{
    right:16px !important;
    bottom:16px !important;
    gap:12px !important;
  }

  .whatsapp-style,
  .whatsapp-float,
  .music-float{
    width:60px !important;
    height:60px !important;
    font-size:1.42rem !important;
  }

  .whatsapp-style::after{
    display:none !important;
  }
}

/* ===== V11 FINAL: BOTÕES SÓ DEPOIS DO LOADING + MP3 REAL ===== */

/* Estado base: totalmente invisível durante loading */
.floating-actions{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483647 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  align-items:flex-end !important;

  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(22px) scale(.94) !important;

  transition:
    opacity .55s cubic-bezier(.19,1,.22,1),
    visibility .55s cubic-bezier(.19,1,.22,1),
    transform .55s cubic-bezier(.19,1,.22,1) !important;
}

/* Garante que os botões nunca aparecem durante o loading */
body.is-loading .floating-actions,
body:not(.floating-ready) .floating-actions{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(22px) scale(.94) !important;
}

/* Só aparecem quando o JS confirma que o loading terminou */
body.floating-ready .floating-actions{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

.float-button,
.whatsapp-float,
.music-float{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  border:0 !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
  text-decoration:none !important;

  color:#06121f !important;
  font-size:1.65rem !important;
  font-weight:950 !important;

  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;

  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;

  animation:buttonFloatPremium 1.9s ease-in-out infinite !important;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease !important;
}

.music-float{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#08213c,#c6f227) !important;

  box-shadow:
    0 18px 42px rgba(154,194,14,.38),
    0 0 0 8px rgba(154,194,14,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
}

.float-button::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:buttonRingPremium 2.4s ease-out infinite;
}

.float-button::after{
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.whatsapp-float::after{
  content:"Presupuesto";
}

.music-float::after{
  content:"Música";
}

.music-float.playing::after{
  content:"Pausar música";
}

.float-button:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
}

.float-button:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.music-float.playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;

  box-shadow:
    0 24px 58px rgba(37,211,102,.45),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.music-float .sound-pause{
  display:none;
}

.music-float.playing .sound-play{
  display:none;
}

.music-float.playing .sound-pause{
  display:inline;
}

@keyframes buttonFloatPremium{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.035)}
}

@keyframes buttonRingPremium{
  0%{transform:scale(.9);opacity:.75}
  100%{transform:scale(1.35);opacity:0}
}

@media(max-width:620px){
  .floating-actions{
    right:16px !important;
    bottom:16px !important;
    gap:12px !important;
  }

  .float-button,
  .whatsapp-float,
  .music-float{
    width:60px !important;
    height:60px !important;
    font-size:1.42rem !important;
  }

  .float-button::after{
    display:none !important;
  }
}


/* ===== V12 VERIFIED FLOATING CONTROLS - UNIQUE CLASSES ===== */

#brilloFloatingControls[hidden]{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

#brilloFloatingControls{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483647 !important;
  display:none !important;
  flex-direction:column !important;
  gap:16px !important;
  align-items:flex-end !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(18px) scale(.96) !important;
  transition:
    opacity .45s cubic-bezier(.19,1,.22,1),
    visibility .45s cubic-bezier(.19,1,.22,1),
    transform .45s cubic-bezier(.19,1,.22,1) !important;
}

#brilloFloatingControls.is-visible{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

.brillo-float-button{
  position:relative !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  border:0 !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
  text-decoration:none !important;
  color:#06121f !important;
  font-size:1.65rem !important;
  font-weight:950 !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
  animation:brilloButtonPulse 1.9s ease-in-out infinite !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

.brillo-music-button{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;

  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;
}

.brillo-float-button::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:brilloButtonRing 2.4s ease-out infinite;
}

.brillo-float-button::after{
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.82);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.brillo-whatsapp-button::after{content:"Presupuesto";}
.brillo-music-button::after{content:"Música";}
.brillo-music-button.is-playing::after{content:"Pausar música";}

.brillo-float-button:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
}

.brillo-float-button:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.brillo-music-button.is-playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
}

.brillo-music-button .icon-off{display:none;}
.brillo-music-button.is-playing .icon-on{display:none;}
.brillo-music-button.is-playing .icon-off{display:inline;}

@keyframes brilloButtonPulse{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.035)}
}

@keyframes brilloButtonRing{
  0%{transform:scale(.9);opacity:.75}
  100%{transform:scale(1.35);opacity:0}
}

@media(max-width:620px){
  #brilloFloatingControls{
    right:16px !important;
    bottom:16px !important;
    gap:12px !important;
  }
  .brillo-float-button{
    width:60px !important;
    height:60px !important;
    font-size:1.42rem !important;
  }
  .brillo-float-button::after{
    display:none !important;
  }
}



/* ===== BLACK ICON STYLE FOR MUSIC BUTTON ===== */

.brillo-music-button{
  color:#06121f !important;
}

.brillo-music-button .icon-on,
.brillo-music-button .icon-off{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#06121f;
  color:#fff;
  font-size:1rem;
  box-shadow:
    inset 0 0 10px rgba(255,255,255,.08),
    0 4px 12px rgba(0,0,0,.28);
}

@media(max-width:620px){
  .brillo-music-button .icon-on,
  .brillo-music-button .icon-off{
    width:30px;
    height:30px;
    font-size:.9rem;
  }
}


/* ===== V15 FINAL: MUSIC BUTTON UNIFORM GREEN, ONLY BLACK ICON CHANGES ===== */

/* Fundo do botão música SEMPRE igual ao WhatsApp */
#brilloMusicButton.brillo-music-button,
#brilloMusicButton.brillo-music-button.is-playing,
#brilloMusicButton.brillo-music-button:hover,
#brilloMusicButton.brillo-music-button.is-playing:hover{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;

  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;

  color:#06121f !important;
}

/* Ícone preto da música/coluna */
#brilloMusicButton .icon-on,
#brilloMusicButton .icon-off{
  display:grid !important;
  place-items:center !important;
  width:35px !important;
  height:35px !important;
  border-radius:50% !important;
  background:#06121f !important;
  color:#ffffff !important;
  font-size:1.05rem !important;
  line-height:1 !important;
  box-shadow:
    inset 0 0 10px rgba(255,255,255,.08),
    0 5px 14px rgba(0,0,0,.32) !important;
}

/* Quando está parado: mostra coluna preta com som */
#brilloMusicButton .icon-on{
  display:grid !important;
}

#brilloMusicButton .icon-off{
  display:none !important;
}

/* Quando está ativo: fundo não muda, só muda o ícone preto */
#brilloMusicButton.is-playing .icon-on{
  display:none !important;
}

#brilloMusicButton.is-playing .icon-off{
  display:grid !important;
}

/* Remover qualquer alteração antiga de fundo quando playing */
.brillo-music-button.is-playing{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
}

@media(max-width:620px){
  #brilloMusicButton .icon-on,
  #brilloMusicButton .icon-off{
    width:31px !important;
    height:31px !important;
    font-size:.92rem !important;
  }
}


/* =========================================================
   V16 FINAL FIX — COOKIES, LEGAL PAGES, FLOATING BUTTONS
   ========================================================= */

/* Make sure site is never blocked by cookies or legal overlays */
.cookie-modal:not(.open),
.cookie-banner:not(.open){
  pointer-events:none;
}

/* Legal pages must be scrollable/clickable */
.legal-page,
.legal-card{
  position:relative;
  z-index:2;
  pointer-events:auto;
}

/* Hide every OLD floating button system to avoid conflicts */
.floating-actions,
.whatsapp-float,
.music-float,
.music-player-float,
#brilloFloatingControls,
.brillo-floating-controls{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* New clean fixed buttons */
#bpFloatingButtons{
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:2147483647 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  align-items:flex-end !important;

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.96);

  transition:
    opacity .45s cubic-bezier(.19,1,.22,1),
    visibility .45s cubic-bezier(.19,1,.22,1),
    transform .45s cubic-bezier(.19,1,.22,1);
}

/* Only appears when JS adds bp-ready after loading */
body.bp-ready #bpFloatingButtons{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) scale(1) !important;
}

.bp-float-btn{
  position:relative !important;
  width:68px !important;
  height:68px !important;
  border-radius:50% !important;
  border:0 !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
  text-decoration:none !important;

  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;

  box-shadow:
    0 18px 42px rgba(37,211,102,.42),
    0 0 0 8px rgba(37,211,102,.08),
    inset 0 0 18px rgba(255,255,255,.25) !important;

  animation:bpFloatPulse 1.9s ease-in-out infinite !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

.bp-float-btn::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(198,242,39,.32);
  animation:bpFloatRing 2.4s ease-out infinite;
}

.bp-float-btn::after{
  position:absolute;
  right:78px;
  top:50%;
  transform:translateY(-50%) translateX(8px);
  padding:10px 14px;
  border-radius:999px;
  color:#fff;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
  background:rgba(2,8,18,.84);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(14px);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
  box-shadow:0 14px 35px rgba(0,0,0,.32);
}

.bp-float-btn:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:saturate(1.08);
  box-shadow:
    0 24px 58px rgba(37,211,102,.55),
    0 0 0 10px rgba(37,211,102,.10),
    inset 0 0 22px rgba(255,255,255,.30) !important;
}

.bp-float-btn:hover::after{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

#bpMusicBtn::after{ content:"Música"; }
#bpMusicBtn.is-playing::after{ content:"Pausar música"; }
#bpWhatsappBtn::after{ content:"Presupuesto"; }

/* Same green background forever; only black inner icon changes */
#bpMusicBtn,
#bpMusicBtn.is-playing,
#bpMusicBtn:hover,
#bpMusicBtn.is-playing:hover{
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.85), transparent 24%),
    linear-gradient(135deg,#25D366,#c6f227) !important;
}

.bp-inner-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#06121f;
  color:#fff;
  font-size:1.05rem;
  line-height:1;
  box-shadow:
    inset 0 0 10px rgba(255,255,255,.08),
    0 5px 14px rgba(0,0,0,.32);
}

#bpMusicBtn .bp-off{ display:none; }
#bpMusicBtn.is-playing .bp-on{ display:none; }
#bpMusicBtn.is-playing .bp-off{ display:grid; }

@keyframes bpFloatPulse{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-3px) scale(1.035); }
}
@keyframes bpFloatRing{
  0%{ transform:scale(.9); opacity:.75; }
  100%{ transform:scale(1.35); opacity:0; }
}

/* Cookie banner: visible but not blocking whole website */
#bpCookieBanner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:999999;
  display:none;
  pointer-events:none;
}
#bpCookieBanner.show{
  display:block;
}
.bp-cookie-inner{
  max-width:980px;
  margin:auto;
  padding:20px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(2,8,18,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 28px 70px rgba(0,0,0,.48);
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  pointer-events:auto;
}
.bp-cookie-inner p{
  color:#c8d3dd;
  line-height:1.55;
}
.bp-cookie-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.bp-cookie-actions button{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  font-weight:900;
  cursor:pointer;
}
.bp-accept{background:#c6f227;color:#06121f;}
.bp-reject,.bp-settings{background:rgba(255,255,255,.08);color:#fff;}

#bpCookieModal{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:none;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.62);
}
#bpCookieModal.show{
  display:grid;
}
.bp-modal-box{
  width:min(640px,100%);
  padding:28px;
  border-radius:30px;
  background:#061528;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 90px rgba(0,0,0,.45);
}
.bp-modal-box h2{font-size:1.7rem;margin:0 0 12px;}
.bp-modal-box p{color:#c8d3dd;line-height:1.65;margin:12px 0;}
.bp-toggle-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.14);
}
.bp-toggle-row small{color:#91a4b6;}
.bp-modal-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.bp-modal-actions button{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.15);
  font-weight:900;
  cursor:pointer;
}

@media(max-width:620px){
  #bpFloatingButtons{
    right:16px !important;
    bottom:16px !important;
    gap:12px !important;
  }
  .bp-float-btn{
    width:60px !important;
    height:60px !important;
  }
  .bp-inner-icon{
    width:31px;
    height:31px;
    font-size:.92rem;
  }
  .bp-float-btn::after{
    display:none !important;
  }
  .bp-cookie-inner{
    grid-template-columns:1fr;
  }
  .bp-cookie-actions button{
    flex:1;
  }
}


/* ===== V17 FIX: LEGAL PAGES ALWAYS VISIBLE ===== */

body.legal-body{
  overflow:auto !important;
}

body.legal-body .site{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
}

body.legal-body .intro{
  display:none !important;
}

body.legal-body .legal-page{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  min-height:100vh;
  padding-top:145px !important;
}

body.legal-body .legal-card{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  color:#f8fbff !important;
}

body.legal-body .legal-card h1,
body.legal-body .legal-card h2,
body.legal-body .legal-card p,
body.legal-body .legal-card li{
  opacity:1 !important;
  visibility:visible !important;
}


/* ===== V19 CLEAN FOOTER + COOKIE BANNER SEPARATION ===== */

/* Give footer enough breathing space so floating buttons and cookies don't visually collide */
footer{
  position:relative !important;
  z-index:2 !important;
  padding:54px 24px 42px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(154,194,14,.08), transparent 30%),
    linear-gradient(180deg,#061528,#020711 65%) !important;
}

.footer-wrap{
  display:grid !important;
  grid-template-columns:260px 1fr auto !important;
  align-items:center !important;
  gap:28px !important;
}

.footer-logo{
  width:240px !important;
  max-width:100% !important;
  background:rgba(255,255,255,.96) !important;
  border-radius:18px !important;
  padding:10px !important;
  box-shadow:0 18px 38px rgba(0,0,0,.22) !important;
}

.legal-links{
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
}

.legal-links a{
  display:inline-flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  text-decoration:none !important;
  color:#c8d3dd !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  transition:.25s ease !important;
}

.legal-links a:hover{
  color:#fff !important;
  background:rgba(198,242,39,.10) !important;
  border-color:rgba(198,242,39,.28) !important;
}

/* Cookie banner: compact floating card, not mixed with footer */
#bpCookieBanner{
  left:auto !important;
  right:24px !important;
  bottom:188px !important;
  width:min(520px, calc(100% - 48px)) !important;
  z-index:2147483600 !important;
}

.bp-cookie-inner{
  max-width:none !important;
  display:block !important;
  padding:18px !important;
  border-radius:24px !important;
  background:
    linear-gradient(180deg, rgba(6,24,43,.96), rgba(2,8,18,.96)) !important;
  border:1px solid rgba(198,242,39,.18) !important;
  box-shadow:
    0 26px 70px rgba(0,0,0,.52),
    0 0 28px rgba(154,194,14,.10) !important;
}

.bp-cookie-inner p{
  font-size:.92rem !important;
  line-height:1.55 !important;
  margin:0 !important;
  padding-right:4px !important;
}

.bp-cookie-actions{
  margin-top:14px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:8px !important;
}

.bp-cookie-actions button{
  min-height:42px !important;
  padding:0 12px !important;
  font-size:.86rem !important;
}

/* Modal is centered and clear when configuring */
#bpCookieModal{
  z-index:2147483647 !important;
}

.bp-modal-box{
  background:
    linear-gradient(180deg, rgba(6,24,43,.98), rgba(2,8,18,.98)) !important;
  border:1px solid rgba(198,242,39,.18) !important;
}

/* If cookie banner is visible, keep floating buttons above but not overlapping */
body:has(#bpCookieBanner.show) #bpFloatingButtons{
  bottom:24px !important;
}

/* Desktop-specific polish */
@media(min-width:981px){
  #bpCookieBanner.show{
    animation:bpCookieIn .45s cubic-bezier(.19,1,.22,1) both;
  }

  @keyframes bpCookieIn{
    from{
      opacity:0;
      transform:translateY(18px) scale(.96);
      filter:blur(8px);
    }
    to{
      opacity:1;
      transform:translateY(0) scale(1);
      filter:blur(0);
    }
  }
}

/* Tablet/mobile footer cleanup */
@media(max-width:980px){
  .footer-wrap{
    grid-template-columns:1fr !important;
    text-align:center !important;
    justify-items:center !important;
  }

  .legal-links{
    justify-content:center !important;
  }

  #bpCookieBanner{
    left:16px !important;
    right:16px !important;
    bottom:92px !important;
    width:auto !important;
  }
}

@media(max-width:620px){
  footer{
    padding-bottom:34px !important;
  }

  .footer-logo{
    width:220px !important;
  }

  .bp-cookie-actions{
    grid-template-columns:1fr !important;
  }

  #bpCookieBanner{
    bottom:92px !important;
  }
}


/* ===== RESTORE FIX: HIDE COOKIE UI REMNANTS, KEEP LEGAL LINKS ONLY ===== */
#bpCookieBanner,
#bpCookieModal,
#cleanCookieBanner,
#cleanCookieModal,
#simpleCookieBanner,
.cookie-banner,
.cookie-modal,
.bp-modal-box,
.bp-toggle-row,
.bp-modal-actions,
.clean-cookie-modal,
.clean-cookie-modal-card,
.clean-cookie-row,
.clean-cookie-modal-actions,
.simple-cookie-banner,
.simple-cookie-card{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* FINAL: no cookie banner/modal on index */
.cookie-banner,.cookie-modal,#cookieBanner,#cookieModal,#bpCookieBanner,#bpCookieModal,.bp-modal-box,.bp-toggle-row,.bp-modal-actions{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}


/* ===== FINAL FOOTER PROPORTION FIX + COOKIE ORPHAN CLEAN ===== */

/* Kill any remaining orphan cookie UI visually */
.bp-toggle-row,
.toggle-row,
.bp-modal-actions,
.modal-actions,
.bp-modal-box,
.modal-box,
.cookie-modal,
.cookie-banner,
#cookieModal,
#cookieBanner,
#bpCookieModal,
#bpCookieBanner{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Normalize the bottom of the site */
footer{
  margin-top:0 !important;
  padding:42px 24px 34px !important;
  min-height:auto !important;
  height:auto !important;
  overflow:hidden !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(154,194,14,.075), transparent 28%),
    linear-gradient(180deg, #061528 0%, #020711 72%) !important;
}

.footer-wrap{
  width:min(1200px,100%) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:240px minmax(240px,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  min-height:0 !important;
}

.footer-logo{
  width:220px !important;
  max-width:100% !important;
  height:auto !important;
  display:block !important;
  padding:9px !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.22) !important;
}

.footer-info{
  color:#91a4b6 !important;
  line-height:1.55 !important;
}

.footer-info strong{
  color:#fff !important;
}

.footer-info span{
  color:#c8d3dd !important;
}

.legal-links{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:9px !important;
}

.legal-links a{
  min-height:38px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

main{
  overflow:hidden;
}

.cta{
  margin-bottom:0 !important;
}

@media(max-width:980px){
  footer{
    padding:38px 20px 30px !important;
  }

  .footer-wrap{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
    gap:18px !important;
  }

  .footer-logo{
    width:210px !important;
  }

  .legal-links{
    justify-content:center !important;
  }
}
