
:root{
  --bg:#050505;
  --bg-soft:#0a0a0a;
  --panel:#0b0b0b;
  --text:#f5f5f5;
  --muted:#c9c9c9;
  --primary:#c2ff32;
  --line:rgba(186,255,46,.1);
  --radius:22px;
  --shadow:0 24px 60px rgba(0,0,0,.45);
  --max:1200px;
  --nav-min-height:78px;
  --brand-logo-max-h:54px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Poppins",Arial,sans-serif;
  color:var(--text);
  background-color:#050505;
  background-image:
    radial-gradient(circle at top center, rgba(194,255,50,.08) 0%, rgba(194,255,50,.03) 12%, transparent 28%),
    repeating-radial-gradient(circle at top center, rgba(255,255,255,.055) 0 2px, transparent 2px 42px),
    linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 110px),
    linear-gradient(180deg, rgba(255,255,255,.035) 0 1px, transparent 1px 110px),
    linear-gradient(180deg, #030303 0%, #080808 100%);
  background-attachment:fixed;
  line-height:1.6;
  letter-spacing:-.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top center, transparent 0 180px, rgba(255,255,255,.05) 181px 183px, transparent 184px 235px, rgba(255,255,255,.035) 236px 238px, transparent 239px 290px, rgba(255,255,255,.028) 291px 293px, transparent 294px 100%),
    linear-gradient(90deg, transparent 0%, rgba(194,255,50,.05) 50%, transparent 100%);
  opacity:.9;
  z-index:-1;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.35), transparent 12%, transparent 88%, rgba(0,0,0,.35)),
    linear-gradient(180deg, rgba(0,0,0,.12), transparent 18%, transparent 82%, rgba(0,0,0,.18));
  z-index:-1;
}
a{text-decoration:none;color:inherit}
.container{width:min(var(--max), calc(100% - 32px));margin:0 auto}
.topbar{
  background:linear-gradient(90deg, #b7f52d 0%, #c2ff32 50%, #b7f52d 100%);
  box-shadow:0 6px 30px rgba(194,255,50,.18);
}
.topbar-inner{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#050505;
  font-size:.92rem;
  font-weight:700;
  flex-wrap:wrap;
}
.topbar-list{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.social-links{gap:14px}
.social-link{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.social-link svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.social-link:hover{opacity:.85}
header{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(14px);
  background:rgba(5,5,5,.84);
  border-bottom:1px solid rgba(194,255,50,.08);
}
.nav{
  min-height:var(--nav-min-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:0;
}
.brand-logo-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  max-width:min(440px,50vw);
}
.brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-height:var(--brand-logo-max-h);
  max-width:100%;
  object-fit:contain;
  object-position:center center;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:20px;
  color:#f1f1f1;
  font-size:.97rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border:1px solid rgba(194,255,50,.14);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  flex-wrap:wrap;
}
.lang-btn{
  border:0;
  background:transparent;
  color:#f1f1f1;
  font:inherit;
  font-weight:700;
  padding:8px 10px;
  border-radius:999px;
  cursor:pointer;
  line-height:1;
}
.lang-btn.active{background:var(--primary);color:#050505}
.nav-menu-toggle,
.nav-backdrop{display:none}
.nav-menu-toggle{
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  padding:0;
  margin:0;
  border:1px solid rgba(194,255,50,.22);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  color:var(--text);
  cursor:pointer;
  flex-shrink:0;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.nav-menu-toggle:hover{background:rgba(255,255,255,.08);border-color:rgba(194,255,50,.35)}
.nav-menu-toggle-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  width:22px;
}
.nav-menu-bar{
  display:block;
  height:2px;
  width:100%;
  border-radius:2px;
  background:#f1f1f1;
  transition:transform .28s ease,opacity .2s ease;
  transform-origin:center;
}
header.nav-is-open .nav-menu-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
header.nav-is-open .nav-menu-bar:nth-child(2){opacity:0;transform:scaleX(0)}
header.nav-is-open .nav-menu-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
html.nav-scroll-lock,
body.nav-scroll-lock{overflow:hidden;touch-action:none}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700;
  border:1px solid transparent;
  transition:.25s ease;
  cursor:pointer;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#050505;background:var(--primary);box-shadow:0 14px 34px rgba(194,255,50,.18)}
.btn-secondary{background:rgba(255,255,255,.04);border-color:rgba(194,255,50,.18);color:var(--text)}
.hero{padding:0 0 42px;position:relative;overflow:hidden;width:100%}
.hero-banner{
  position:relative;
  min-height:clamp(620px,56vh,900px);
  width:100%;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:brightness(.46);
}
.hero-overlay-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.56) 45%, rgba(0,0,0,.82));
}
.hero-overlay{
  position:relative;
  z-index:2;
  min-height:clamp(620px,56vh,900px);
  display:flex;
  align-items:center;
  padding:56px 0 64px;
}
.kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(194,255,50,.18);
  background:rgba(194,255,50,.08);
  color:var(--primary);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hero-slides h1,
.hero-slides h2{
  font-size:clamp(2rem,4vw,4.6rem);
  line-height:1.02;
  letter-spacing:-1.8px;
  max-width:12ch;
  margin:0 0 12px;
  font-weight:700;
}
.hero p{margin:0 0 22px;color:#d8deef;max-width:58ch;font-size:1rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.service-quick-inner{
  border:1px solid rgba(194,255,50,.12);
  border-radius:22px;
  padding:22px 10px;
  background:
    radial-gradient(circle at 20% 0, rgba(194,255,50,.07), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.014));
  overflow:hidden;
}
.service-quick-carousel{
  position:relative;
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
}
.service-quick-track{
  display:flex;
  gap:14px;
  width:max-content;
  will-change:transform;
  animation:serviceQuickScroll 40s linear infinite;
}
.service-quick-track:hover{animation-play-state:paused}
.mini-card{
  padding:18px 14px;
  border-radius:18px;
  border:1px solid rgba(194,255,50,.14);
  background:rgba(255,255,255,.03);
  text-align:center;
  min-height:110px;
  display:grid;
  align-content:center;
  gap:8px;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
}
.service-quick-track > .mini-card{
  flex:0 0 auto;
  width:200px;
  min-width:200px;
}
.mini-card .emoji{font-size:1.45rem}
.mini-card span{color:#f1f1f1;font-size:.95rem;font-weight:600}
@keyframes serviceQuickScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.hero-dots{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:20px;
  display:flex;
  gap:8px;
}
.hero-dots span{
  width:10px;height:10px;border-radius:50%;
  background:rgba(255,255,255,.4);
}
.hero-slides{position:relative;width:100%}
.hero-slide-content{display:none}
.hero-slide-content.active{display:block}
.section{padding:44px 0}
.section.service-quick-strip{
  padding:36px 0 40px;
  border-bottom:1px solid rgba(194,255,50,.06);
}
.section-heading{margin-bottom:24px}
.section-heading h2{
  margin:0 0 8px;
  font-size:clamp(1.9rem,4vw,3rem);
  letter-spacing:-.05em;
  font-weight:600;
}
.section-heading p{margin:0;color:#d0d0d0;max-width:64ch}
.about-grid,.features-grid,.steps-grid,.portfolio-grid,.testimonials-grid,.contact-grid{
  display:grid;gap:18px;
}
.about-grid{grid-template-columns:1fr 1fr}
.features-grid,.steps-grid,.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.contact-grid{grid-template-columns:.9fr 1.1fr}
.card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(194,255,50,.03), transparent 45%);
  border:1px solid rgba(194,255,50,.12);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(2px);
}
.card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.025), transparent 18%, transparent 82%, rgba(255,255,255,.018)),
    linear-gradient(180deg, rgba(194,255,50,.02), transparent 40%);
  opacity:.9;
}
.card h3{margin:0 0 10px;font-size:1.18rem;position:relative;z-index:1}
.card p,.card span,.card strong{position:relative;z-index:1}
.card p{margin:0;color:var(--muted)}
.highlight-card{
  background:
    radial-gradient(circle at top right, rgba(194,255,50,.10), transparent 28%),
    linear-gradient(180deg, rgba(194,255,50,.06), rgba(255,255,255,.02));
}
.icon-box{
  width:54px;height:54px;border-radius:18px;
  display:grid;place-items:center;
  background:rgba(194,255,50,.10);
  color:var(--primary);
  border:1px solid rgba(194,255,50,.12);
  margin-bottom:16px;font-size:1.35rem;
  position:relative;z-index:1;
}
.metric-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
  position:relative;z-index:1;
}
.metric{
  padding:18px;border-radius:18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.metric strong{display:block;font-size:2rem}
.feature-card{min-height:260px}
.step-card{
  display:grid;
  grid-template-columns:minmax(2.5rem,auto) 1fr;
  gap:8px 16px;
  align-items:start;
}
.step-number{
  font-size:clamp(1.4rem,3.2vw,1.75rem);
  font-weight:800;
  line-height:1.2;
  color:rgba(255,255,255,.28);
  z-index:1;
  position:relative;
  top:1px;
}
.step-card p{margin:0;align-self:start}
.portfolio-item{
  min-height:260px;
  overflow:hidden;
  position:relative;
  background:linear-gradient(180deg,#121a2d,#0d1425);
}
.portfolio-thumb{
  height:180px;border-radius:18px;
  border:1px solid rgba(255,255,255,.06);
  margin-bottom:16px;
  position:relative;
  overflow:hidden;
  background:#10182c;
  z-index:1;
}
.portfolio-thumb img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
  filter:brightness(.78);
}
.portfolio-item:hover .portfolio-thumb img{transform:scale(1.06)}
.portfolio-thumb::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.34));
}
.quote-card p{color:#e8edf9;font-size:1rem}
.quote-card strong{display:block;margin-top:18px}
.quote-card span{color:var(--muted);font-size:.95rem}
.contact-panel{
  background:
    radial-gradient(circle at top right, rgba(194,255,50,.08), transparent 26%),
    linear-gradient(180deg, rgba(194,255,50,.05), rgba(255,255,255,.02));
}
.contact-list{display:grid;gap:14px;margin-top:18px}
.contact-list div{
  padding:16px 18px;border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}
.payment-note{
  margin-top:18px;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid rgba(194,255,50,.12);
  background:rgba(255,255,255,.03);
  color:#f5f5f5;
  font-weight:600;
}
form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1 / -1}
.form-status{
  margin:0;
  min-height:1.35em;
  font-size:.92rem;
  font-weight:600;
  line-height:1.4;
}
.form-status.is-sending{color:#bdbdbd}
.form-status.is-success{color:var(--primary)}
.form-status.is-error{color:#ff9d9d}
label{
  font-size:.95rem;
  font-weight:600;
  color:#dde4f7;
}
input,select,textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(8,12,22,.8);
  color:#fff;
  padding:14px 16px;
  font:inherit;
  outline:none;
}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{
  border-color:rgba(111,124,255,.9);
  box-shadow:0 0 0 4px rgba(111,124,255,.14);
}
.brands-section{padding:22px 0 44px}
.brands-wrap{
  border:1px solid rgba(194,255,50,.12);
  border-radius:28px;
  padding:30px;
  background:
    radial-gradient(circle at top right, rgba(194,255,50,.07), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.015));
  overflow:hidden;
  position:relative;
}
.brands-wrap::before{
  content:"";
  position:absolute;inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.02), transparent 18%, transparent 82%, rgba(255,255,255,.012));
  opacity:.8;
}
.brands-title{
  margin:0 0 10px;
  font-size:clamp(1.8rem,4vw,2.8rem);
  letter-spacing:-.05em;
  font-weight:600;
}
.brands-text{margin:0 0 24px;color:#d0d0d0;max-width:72ch}
.brands-carousel{
  position:relative;
  overflow:hidden;
  mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  -webkit-mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  z-index:1;
}
.brands-track{
  display:flex;gap:14px;
  width:max-content;
  animation:brandsScroll 36s linear infinite;
}
.brands-track:hover{animation-play-state:paused}
.brand-chip{
  width:220px;min-width:220px;min-height:84px;
  border-radius:18px;
  border:1px solid rgba(194,255,50,.10);
  background:rgba(255,255,255,.02);
  display:flex;align-items:center;justify-content:center;
  text-align:center;padding:14px 12px;
  font-weight:700;color:#f5f5f5;line-height:1.25;flex-shrink:0;
}
.brand-chip span{display:block;font-size:1rem}
@keyframes brandsScroll{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-220px * 15 - 14px * 15))}
}
footer{padding:34px 0 40px;color:#cfcfcf}
.footer-grid{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.06);
}
.footer-socials{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.footer-socials .social-link{color:#cfcfcf}
.footer-socials .social-link:hover{color:var(--primary);opacity:1}
@media (max-width:1080px){
  :root{--brand-logo-max-h:50px}
  .brand-logo-wrap{max-width:min(400px,46vw)}
  .nav-links{justify-content:flex-start}
  .topbar-inner{justify-content:center}
  .about-grid,.features-grid,.steps-grid,.portfolio-grid,.testimonials-grid,.contact-grid{grid-template-columns:1fr 1fr}
  .service-quick-track > .mini-card{width:188px;min-width:188px}
  .brand-chip{width:200px;min-width:200px}
  .hero-banner,.hero-overlay{min-height:clamp(600px,52vh,820px)}
  @keyframes brandsScroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-200px * 15 - 14px * 15))}
  }
}
@media (max-width:760px){
  .topbar-inner{justify-content:flex-start}
  .topbar-list,.social-links,.footer-socials{gap:12px}
  :root{--brand-logo-max-h:48px}
  .brand-logo-wrap{max-width:min(92vw,400px)}
  .nav{flex-wrap:wrap}
  .nav-links{width:100%;justify-content:flex-start;gap:12px}
  .lang-switcher{order:10}
  .hero-banner,.hero-overlay{min-height:clamp(700px,68vh,960px)}
  .hero-actions{width:100%}
  .hero-actions .btn{width:100%}
  .service-quick-track{animation-duration:36s}
  .service-quick-track > .mini-card{width:min(232px,70vw);min-width:min(232px,70vw)}
  .mini-card{min-height:88px}
  .portfolio-thumb{height:220px}
  .brands-wrap,.card{padding:22px}
  .footer-grid{flex-direction:column;align-items:flex-start}
  .about-grid,.features-grid,.steps-grid,.portfolio-grid,.testimonials-grid,.contact-grid,form,.metric-row{grid-template-columns:1fr}
  .hero-slides h1,.hero-slides h2{max-width:100%;font-size:clamp(2rem,8vw,3.2rem)}
  .brand-chip{width:170px;min-width:170px;min-height:74px}
  @keyframes brandsScroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-170px * 15 - 14px * 15))}
  }
}
@media (max-width:560px){
  :root{--brand-logo-max-h:46px}
  .brand-logo-wrap{max-width:min(92vw,380px)}
  .container{width:min(var(--max), calc(100% - 20px))}
  .topbar-inner{min-height:auto;padding:10px 0}
  .topbar-list{width:100%}
  .nav{min-height:auto;padding:12px 0}
  .nav-links{gap:10px 14px;font-size:.92rem}
  .lang-btn{padding:7px 9px;font-size:.88rem}
  .hero-banner,.hero-overlay{min-height:clamp(660px,74vh,920px)}
  .hero-slides h1,.hero-slides h2{font-size:clamp(1.8rem,10vw,2.8rem)}
  .hero p{font-size:.96rem}
  .service-quick-inner{padding:18px 6px}
  .service-quick-track{gap:12px;animation-duration:34s}
  .service-quick-track > .mini-card{width:min(280px,78vw);min-width:min(280px,78vw);min-height:100px;padding:16px 12px}
  .service-quick-track > .mini-card span{font-size:1rem}
  .service-quick-carousel{
    mask-image:linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
    -webkit-mask-image:linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
  }
  .brands-wrap,.card{padding:18px}
  .contact-list div{padding:14px 16px}
  .brand-chip{width:150px;min-width:150px;min-height:68px}
  @keyframes brandsScroll{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-150px * 15 - 14px * 15))}
  }
}
@media (max-width:991px){
  .topbar{display:none}
  :root{--nav-mobile-top:76px}
  header{
    overflow:visible;
    backdrop-filter:none;
    background:rgba(5,5,5,.94);
    z-index:60;
  }
  .nav-menu-toggle{display:inline-flex}
  .nav-backdrop{
    display:block;
    position:fixed;
    top:var(--nav-mobile-top);
    left:0;
    right:0;
    bottom:0;
    z-index:58;
    background:rgba(0,0,0,.72);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .3s ease,visibility .3s ease;
  }
  header.nav-is-open .nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav{
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    position:relative;
    z-index:61;
  }
  .brand{z-index:2}
  .nav-menu-toggle{z-index:2}
  .nav-links{
    position:fixed;
    top:var(--nav-mobile-top);
    right:0;
    bottom:0;
    width:min(400px,92vw);
    max-width:100%;
    margin:0;
    padding:20px 22px 28px;
    flex-direction:column;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:flex-start;
    gap:6px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    background:linear-gradient(165deg, #0d0f14 0%, #080a0e 55%, #050608 100%);
    border-left:1px solid rgba(194,255,50,.14);
    box-shadow:-16px 0 48px rgba(0,0,0,.55);
    z-index:62;
    transform:translate3d(105%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .32s cubic-bezier(.22,1,.36,1),visibility .32s ease;
  }
  header.nav-is-open .nav-links{
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
  }
  .nav-links > a{
    padding:14px 16px;
    border-radius:14px;
    font-size:1.02rem;
    font-weight:600;
    color:#eef1f7;
    border:1px solid transparent;
    transition:background .2s ease,border-color .2s ease,color .2s ease;
  }
  .nav-links > a:hover{
    background:rgba(255,255,255,.06);
    border-color:rgba(194,255,50,.12);
    color:#fff;
  }
  .nav-links > a.btn{
    margin-top:6px;
    width:100%;
    justify-content:center;
    text-align:center;
  }
  /* .nav-links > a força cor clara nos links; o CTA primário deve manter texto escuro sobre var(--primary) */
  .nav-links > a.btn-primary{
    color:#050505;
  }
  .nav-links .lang-switcher{
    order:0;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.08);
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    border-radius:18px;
    background:rgba(255,255,255,.04);
  }
}
@media (min-width:992px){
  .nav-backdrop{display:none!important}
  .nav-menu-toggle{display:none!important}
  html.nav-scroll-lock,
  body.nav-scroll-lock{
    overflow:visible;
    touch-action:auto;
  }
}
@media (prefers-reduced-motion: reduce){
  .service-quick-track{animation:none}
  .nav-links,.nav-backdrop{transition:none}
  .float-contact__btn{transition:none}
}

/* Botões flutuantes WhatsApp / Telegram */
.float-contact{
  position:fixed;
  right:max(16px, env(safe-area-inset-right));
  bottom:max(18px, env(safe-area-inset-bottom));
  z-index:45;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  pointer-events:none;
}
.float-contact__btn{
  pointer-events:auto;
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.float-contact__btn svg{width:28px;height:28px;display:block}
.float-contact__btn--wa{
  background:linear-gradient(145deg,#2fe066,#25D366);
  order:2;
}
.float-contact__btn--tg{
  background:linear-gradient(145deg,#35b6f3,#229ED9);
  order:1;
}
@media (hover:hover) and (pointer:fine){
  .float-contact__btn:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 36px rgba(0,0,0,.42);
    filter:brightness(1.06);
  }
}
@media (max-width:560px){
  .float-contact{
    right:max(12px, env(safe-area-inset-right));
    bottom:max(14px, env(safe-area-inset-bottom));
    gap:10px;
  }
  .float-contact__btn{
    width:50px;
    height:50px;
  }
  .float-contact__btn svg{width:26px;height:26px}
}
