/* =====================================================================
   MTECH ELÉTRICA — Sistema visual
   Instalação e Manutenção Elétrica · São Paulo/SP
   ===================================================================== */

/* ═══════════ 1. TOKENS ═══════════ */
:root{
  --bg:          #040406;
  --bg-2:        #08080C;
  --bg-3:        #0D0D13;
  --line:        rgba(255,255,255,.09);
  --line-2:      rgba(255,255,255,.18);

  --o:           #FF6B00;
  --o-hi:        #FFA633;
  --o-lo:        #D94400;
  --o-glow:      rgba(255,107,0,.55);

  --cr-3:        #B4BCC5;
  --cr-4:        #767E88;

  --tx:          #F4F5F7;
  --tx-2:        #A9B0B9;
  --tx-3:        #6B7280;

  --gl-bg:       linear-gradient(148deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.045) 42%,rgba(255,255,255,.015) 100%);
  --gl-line:     rgba(255,255,255,.14);
  --gl-blur:     blur(26px) saturate(185%);
  --gl-shadow:   0 26px 70px -24px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.22);

  --f-head: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --r-xs:8px; --r-sm:12px; --r:18px; --r-lg:26px; --r-xl:34px; --r-2xl:44px; --r-pill:999px;
  --sp:         clamp(78px,9.5vw,148px);
  --wrap:       1280px;
  --ez:         cubic-bezier(.22,.61,.36,1);
  --ez-out:     cubic-bezier(.16,1,.3,1);
  --ez-spring:  cubic-bezier(.34,1.56,.64,1);

  --sh-o: 0 18px 50px -14px var(--o-glow);
  --hdr: 80px;
}

/* ═══════════ 2. RESET ═══════════ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--hdr) + 16px);
  overflow-x:clip;
}
body{
  background:var(--bg);
  color:var(--tx);
  font-family:var(--f-body);
  font-size:16px;line-height:1.65;
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--o);outline-offset:3px;border-radius:5px}
::selection{background:var(--o);color:#fff}

::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:#08080C}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--o-hi),var(--o-lo));
  border-radius:99px;border:3px solid #08080C;
}

/* grão sobre tudo */
body::after{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;
  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='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}

/* ═══════════ 3. TIPOGRAFIA ═══════════ */
h1,h2,h3,h4{
  font-family:var(--f-head);font-weight:800;
  line-height:1.02;letter-spacing:-.028em;text-wrap:balance;
}
h1{font-size:clamp(2.6rem,6.6vw,5.4rem);font-weight:900;letter-spacing:-.038em}
h2{font-size:clamp(2.1rem,4.9vw,3.9rem);font-weight:900;letter-spacing:-.034em}
h3{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700}
p{text-wrap:pretty}

.chrome{
  background:linear-gradient(100deg,#fff 0%,#fff 38%,#9AA2AC 47%,#fff 56%,#fff 100%);
  background-size:280% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:chrome-sweep 7s var(--ez) infinite;
}
@keyframes chrome-sweep{0%,72%{background-position:150% 0}100%{background-position:-50% 0}}
.chrome-s{
  background:linear-gradient(176deg,#FFF 0%,#EEF1F4 34%,#BAC2CB 64%,#EDF0F3 84%,#FFF 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.hot{
  background:linear-gradient(175deg,var(--o-hi) 0%,var(--o) 48%,var(--o-lo) 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 0 26px rgba(255,107,0,.38));
}

/* ═══════════ 4. LAYOUT ═══════════ */
.wrap{width:min(100% - 44px,var(--wrap));margin-inline:auto}
@media(max-width:600px){.wrap{width:min(100% - 32px,var(--wrap))}}
.sec{padding-block:var(--sp);position:relative;overflow:clip}
.sec--tight{padding-block:clamp(56px,6.5vw,92px)}
.sec>.wrap{position:relative;z-index:3}

.head{max-width:790px;margin-bottom:clamp(44px,5vw,72px)}
.head--c{margin-inline:auto;text-align:center}
.head p{color:var(--tx-2);font-size:clamp(1.02rem,1.4vw,1.14rem);margin-top:20px}

.tag{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-head);font-size:.74rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;color:var(--o-hi);
  padding:9px 18px 9px 13px;margin-bottom:22px;
  border-radius:var(--r-pill);overflow:hidden;
  border:1px solid rgba(255,107,0,.34);
  background:linear-gradient(120deg,rgba(255,107,0,.2),rgba(255,107,0,.04));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 0 28px -8px rgba(255,107,0,.5),inset 0 1px 0 rgba(255,255,255,.14);
}
.tag::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.4) 50%,transparent 58%);
  transform:translateX(-120%);animation:tag-sweep 4.5s var(--ez) infinite;
}
@keyframes tag-sweep{0%,72%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.tag svg{width:14px;height:14px;flex:none;position:relative;z-index:2}
.tag span{position:relative;z-index:2}
.head--c .tag{margin-inline:auto}

.ghost{
  position:absolute;left:50%;translate:-50% 0;z-index:0;pointer-events:none;user-select:none;
  font-family:var(--f-head);font-weight:900;font-size:clamp(5.5rem,15vw,13rem);
  line-height:.8;letter-spacing:-.06em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.028);
  mask-image:linear-gradient(180deg,#000,transparent 82%);
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 82%);
}
.ghost--top{top:-.06em}
@media(max-width:760px){.ghost{display:none}}

/* ═══════════ 5. ATMOSFERA ═══════════ */
.aura{position:absolute;border-radius:50%;pointer-events:none;z-index:0;filter:blur(110px)}
.aura--o{background:radial-gradient(circle,rgba(255,107,0,.55),transparent 66%);opacity:.5}
.aura--o2{background:radial-gradient(circle,rgba(255,107,0,.32),transparent 68%);opacity:.5}
.aura--cool{background:radial-gradient(circle,rgba(110,150,200,.24),transparent 68%);opacity:.5}

.mesh{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:radial-gradient(ellipse 96% 70% at 50% 40%,#000 28%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 96% 70% at 50% 40%,#000 28%,transparent 100%);
}
.mesh::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 40%,rgba(255,107,0,.09) 50%,transparent 60%);
  background-size:260% 260%;animation:mesh-flow 11s linear infinite;
}
@keyframes mesh-flow{0%{background-position:130% 130%}100%{background-position:-30% -30%}}

.circuit{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.6}
.circuit path{
  fill:none;stroke:url(#cg);stroke-width:1.3;
  stroke-dasharray:7 430;stroke-linecap:round;
  animation:trace 9s linear infinite;
}
.circuit path:nth-child(2){animation-delay:-2.4s}
.circuit path:nth-child(3){animation-delay:-4.8s}
.circuit path:nth-child(4){animation-delay:-7s}
@keyframes trace{to{stroke-dashoffset:-437}}

.progress{
  position:fixed;inset:0 auto auto 0;z-index:120;height:3px;width:0;
  background:linear-gradient(90deg,var(--o-lo),var(--o),var(--o-hi));
  box-shadow:0 0 16px var(--o-glow);
  transition:width .1s linear;
}

/* ═══════════ 6. VIDRO ═══════════ */
.glass{
  position:relative;isolation:isolate;
  background:var(--gl-bg);
  border:1px solid var(--gl-line);
  border-radius:var(--r-lg);
  backdrop-filter:var(--gl-blur);-webkit-backdrop-filter:var(--gl-blur);
  box-shadow:var(--gl-shadow);
  overflow:hidden;
}
.glass::before{
  content:'';position:absolute;inset:0 0 auto;height:52%;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.02) 62%,transparent);
}
.glass::after{
  content:'';position:absolute;top:0;left:12%;right:12%;height:1px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
}
.glass>*{position:relative;z-index:3}

.spot>.spot__l{
  position:absolute;inset:-1px;z-index:2;pointer-events:none;opacity:0;border-radius:inherit;
  transition:opacity .45s var(--ez);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,138,31,.2),transparent 62%);
}
.spot:hover>.spot__l{opacity:1}

.ring::before{
  content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1.4px;z-index:0;
  background:conic-gradient(from var(--ang,0deg),transparent 0 58%,var(--o-lo) 70%,var(--o-hi) 80%,var(--o-lo) 88%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.45;animation:spin-ang 5s linear infinite;
}
.ring:hover::before{opacity:1;animation-duration:2.2s}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin-ang{to{--ang:360deg}}

.tilt{transform-style:preserve-3d;transition:transform .5s var(--ez-out)}

/* ═══════════ 7. BOTÕES ═══════════ */
.btn{
  --h:58px;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  height:var(--h);padding-inline:32px;
  font-family:var(--f-head);font-size:.96rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-align:center;
  max-width:100%;border-radius:var(--r-pill);overflow:hidden;isolation:isolate;
  transition:transform .35s var(--ez-spring),box-shadow .35s var(--ez),border-color .3s,color .3s;
  -webkit-tap-highlight-color:transparent;
}
.btn>span,.btn>svg{position:relative;z-index:3}
.btn svg{width:19px;height:19px;flex:none}
.btn:hover{transform:translateY(-4px) scale(1.018)}
.btn:active{transform:translateY(-1px) scale(.99)}

.btn::after{
  content:'';position:absolute;top:-70%;left:0;width:46%;height:280%;z-index:2;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55) 50%,transparent);
  transform:skewX(-22deg) translateX(-260%);
  animation:sweep 4.2s var(--ez) infinite;
}
.btn:hover::after{animation:sweep .85s var(--ez-out)}
@keyframes sweep{0%,62%{transform:skewX(-22deg) translateX(-260%)}100%{transform:skewX(-22deg) translateX(460%)}}

.btn--o{
  color:#fff;
  background:linear-gradient(135deg,var(--o-hi),var(--o) 46%,var(--o-lo));
  box-shadow:var(--sh-o),inset 0 1px 0 rgba(255,255,255,.34),inset 0 -2px 8px rgba(0,0,0,.2);
}
.btn--o::before{
  content:'';position:absolute;inset:-2px;border-radius:inherit;z-index:-1;
  background:linear-gradient(135deg,var(--o-hi),var(--o-lo));
  filter:blur(14px);opacity:.5;animation:breathe 3.4s var(--ez) infinite;
}
@keyframes breathe{0%,100%{opacity:.38}50%{opacity:.76}}
.btn--o:hover{box-shadow:0 26px 64px -14px rgba(255,107,0,.78),inset 0 1px 0 rgba(255,255,255,.4)}

.btn--wa{
  color:#fff;
  background:linear-gradient(135deg,#3ee27a,#20b45a 52%,#0f8b3f);
  box-shadow:0 18px 50px -14px rgba(37,211,102,.62),inset 0 1px 0 rgba(255,255,255,.32);
}
.btn--wa::before{
  content:'';position:absolute;inset:-2px;border-radius:inherit;z-index:-1;
  background:linear-gradient(135deg,#3ee27a,#0f8b3f);filter:blur(14px);opacity:.46;
  animation:breathe 3.4s var(--ez) infinite;
}
.btn--wa:hover{box-shadow:0 26px 64px -14px rgba(37,211,102,.8)}
.btn--wa svg{animation:nudge 3s var(--ez) infinite}
@keyframes nudge{0%,86%,100%{transform:rotate(0)}90%{transform:rotate(-14deg)}94%{transform:rotate(12deg)}}

.btn--mirror{
  color:var(--tx);
  background:linear-gradient(148deg,rgba(255,255,255,.2),rgba(255,255,255,.05) 48%,rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(255,255,255,.08),0 12px 36px -14px rgba(0,0,0,.9);
}
.btn--mirror:hover{border-color:rgba(255,138,31,.6);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 16px 44px -14px rgba(255,107,0,.55)}

.btn--ghost{color:var(--tx);border:1px solid var(--line-2);background:rgba(255,255,255,.03)}
.btn--ghost:hover{border-color:var(--o);color:var(--o-hi)}

.btn--sm{--h:46px;padding-inline:22px;font-size:.82rem}
.btn--lg{--h:66px;padding-inline:40px;font-size:1.04rem}
.btn--block{width:100%}
@media(max-width:620px){
  .btn{white-space:normal;height:auto;min-height:var(--h);padding-block:15px;line-height:1.3}
  .hero__cta .btn,.cta__btns .btn,.center .btn{width:100%}
}

/* ═══════════ 8. TOPBAR ═══════════ */
.topbar{
  position:relative;z-index:60;font-size:.8rem;color:var(--tx-2);
  background:linear-gradient(90deg,#06060A,#101018 50%,#06060A);
  border-bottom:1px solid var(--line);
}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:42px}
.topbar ul{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.topbar li{display:inline-flex;align-items:center;gap:8px}
.topbar svg{width:15px;height:15px;color:var(--o);flex:none}
.topbar a:hover{color:var(--o-hi)}
.topbar b{color:var(--tx);font-weight:600}
.live{position:relative;display:inline-block;width:7px;height:7px;border-radius:50%;background:#3ddc84;flex:none}
.live::after{content:'';position:absolute;inset:0;border-radius:50%;background:#3ddc84;animation:ripple 2s var(--ez) infinite}
@keyframes ripple{0%{transform:scale(1);opacity:.9}100%{transform:scale(3);opacity:0}}
@media(max-width:920px){.t-hide{display:none}}
@media(max-width:520px){.topbar__in{justify-content:center}.topbar ul{gap:16px;justify-content:center}}

/* ═══════════ 9. HEADER ═══════════ */
.header{
  position:sticky;top:0;z-index:100;height:var(--hdr);
  background:rgba(4,4,6,.62);
  backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid transparent;
  transition:background .4s var(--ez),border-color .4s,height .4s var(--ez);
}
.header.stuck{background:rgba(4,4,6,.93);border-bottom-color:var(--line);height:68px}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:clamp(36px,4.2vw,48px);width:auto;transition:height .4s var(--ez);filter:drop-shadow(0 0 18px rgba(255,107,0,.28))}
.stuck .brand img{height:34px}

.nav{display:flex;align-items:center;gap:2px}
.nav a{
  position:relative;padding:11px 14px;border-radius:var(--r-sm);
  font-size:.9rem;font-weight:500;color:var(--tx-2);transition:color .28s;
}
.nav a::after{
  content:'';position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--o),var(--o-hi));box-shadow:0 0 12px var(--o-glow);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ez-out);
}
.nav a:hover,.nav a.on{color:#fff}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}
.header__cta{display:flex;align-items:center;gap:12px;flex:none}
@media(max-width:1150px){.nav a{padding:11px 10px;font-size:.85rem}}
@media(max-width:1020px){.nav,.header__cta .btn--ghost{display:none}}

.burger{display:none;width:48px;height:48px;place-items:center;border-radius:14px;border:1px solid var(--line-2);background:rgba(255,255,255,.05)}
.burger i{display:block;width:21px;height:2px;border-radius:2px;background:var(--tx);transition:transform .36s var(--ez),opacity .2s}
.burger i+i{margin-top:5px}
.burger.on i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.on i:nth-child(2){opacity:0}
.burger.on i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1020px){.burger{display:grid}}

.mnav{
  position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;
  padding:calc(var(--hdr) + 64px) 26px 36px;
  background:linear-gradient(170deg,#08080C,#0F0F16);
  transform:translateX(100%);visibility:hidden;
  transition:transform .5s var(--ez-out),visibility .5s;
  overflow-y:auto;overscroll-behavior:contain;
}
.mnav.open{transform:none;visibility:visible}
.mnav__l{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:17px 4px;border-bottom:1px solid var(--line);
  font-family:var(--f-head);font-size:1.28rem;font-weight:800;
  opacity:0;transform:translateX(30px);
}
.mnav.open .mnav__l{animation:slide-in .55s var(--ez-out) forwards}
.mnav__l span{color:var(--o);font-size:.76rem;font-family:var(--f-body);font-weight:700}
@keyframes slide-in{to{opacity:1;transform:none}}
.mnav__foot{margin-top:auto;padding-top:30px;display:grid;gap:12px}
.mnav__c{display:grid;gap:11px;margin-bottom:18px;font-size:.9rem;color:var(--tx-2)}
.mnav__c a,.mnav__c span{display:inline-flex;align-items:center;gap:10px}
.mnav__c svg{width:16px;height:16px;color:var(--o);flex:none}

/* ═══════════ 10. HERO ═══════════ */
.hero{
  position:relative;isolation:isolate;overflow:clip;
  min-height:clamp(660px,94svh,960px);display:flex;align-items:center;
  padding-block:clamp(72px,9vw,120px);
}
.hero__bg{position:absolute;inset:0;z-index:-4;will-change:transform}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 36%;transform:scale(1.08)}
.hero__veil{
  position:absolute;inset:0;z-index:-3;
  background:
    linear-gradient(102deg,rgba(4,4,6,.97) 10%,rgba(4,4,6,.88) 44%,rgba(4,4,6,.55) 76%,rgba(4,4,6,.78)),
    linear-gradient(0deg,var(--bg) 1%,transparent 32%),
    radial-gradient(ellipse 58% 56% at 12% 44%,rgba(255,107,0,.26),transparent 68%);
}
.hero__mesh{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(200deg,#000 6%,transparent 62%);
  -webkit-mask-image:linear-gradient(200deg,#000 6%,transparent 62%);
}
.hero__circuit{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.75}
.hero__in{max-width:830px;position:relative;z-index:3}
.hero h1{margin-bottom:26px}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:block;animation:rise .95s var(--ez-out) both}
.hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}

.hero__lead{
  font-size:clamp(1.04rem,1.6vw,1.22rem);color:var(--tx-2);
  max-width:61ch;margin-bottom:38px;
  animation:fade-up 1s var(--ez-out) .3s both;
}
@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__cta{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:44px;animation:fade-up 1s var(--ez-out) .42s both}
.hero__pills{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:38px;animation:fade-up 1s var(--ez-out) .54s both}

.pill{
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 18px;border-radius:var(--r-pill);
  font-size:.84rem;font-weight:600;color:var(--tx);
  background:linear-gradient(140deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  border:1px solid var(--gl-line);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2);
}
.pill svg{width:15px;height:15px;color:var(--o-hi);flex:none}

.hero__stats{
  display:flex;flex-wrap:wrap;gap:clamp(24px,4.4vw,60px);
  padding-top:32px;border-top:1px solid var(--line);
  animation:fade-up 1s var(--ez-out) .66s both;
}
.st__n{font-family:var(--f-head);font-size:clamp(2rem,3.6vw,2.9rem);font-weight:900;line-height:1;letter-spacing:-.04em}
.st__l{font-size:.78rem;color:var(--tx-3);margin-top:8px;letter-spacing:.09em;text-transform:uppercase;font-weight:700}

.scroller{
  position:absolute;left:50%;bottom:28px;translate:-50% 0;z-index:4;
  display:grid;place-items:center;gap:10px;
  font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--tx-3);
}
.scroller i{display:block;width:1px;height:46px;background:linear-gradient(var(--o),transparent);animation:drop 2.2s var(--ez) infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}46%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media(max-width:820px){.scroller{display:none}}

.gbadge{
  position:absolute;right:clamp(16px,4vw,58px);bottom:clamp(96px,12vw,140px);z-index:4;
  display:flex;align-items:center;gap:15px;padding:17px 22px;border-radius:var(--r);
  animation:float 5s var(--ez) infinite;
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
.gbadge__n{font-family:var(--f-head);font-size:2rem;font-weight:900;line-height:1}
.gbadge small{display:block;font-size:.72rem;color:var(--tx-2);letter-spacing:.05em;margin-top:5px}
.stars{display:flex;gap:2px}
.stars svg{width:14px;height:14px;color:#FFC02D}
@media(max-width:1080px){.gbadge{display:none}}

/* ═══════════ 11. CARROSSÉIS ═══════════ */
.mq{
  position:relative;overflow:hidden;max-width:100vw;
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.mq__t{display:flex;width:max-content;will-change:transform}
.mq__g{display:flex;align-items:center;flex:none}
.mq:hover .mq__t{animation-play-state:paused}
@keyframes mq-l{to{transform:translateX(-50%)}}
@keyframes mq-r{from{transform:translateX(-50%)}to{transform:none}}

.mq--text{
  border-block:1px solid var(--line);padding-block:19px;
  background:linear-gradient(90deg,#06060A,#101018 50%,#06060A);
}
.mq--text .mq__t{animation:mq-l 46s linear infinite}
.mq--text .mq__g{gap:54px;padding-right:54px}
.mq__i{
  display:inline-flex;align-items:center;gap:14px;flex:none;white-space:nowrap;
  font-family:var(--f-head);font-size:clamp(.94rem,1.5vw,1.14rem);font-weight:800;
  letter-spacing:.11em;text-transform:uppercase;color:var(--cr-4);transition:color .3s;
}
.mq__i:hover{color:var(--o-hi)}
.mq__i b{display:grid;place-items:center;width:17px;height:17px;flex:none;color:var(--o)}
.mq__i b svg{width:100%;height:100%}

.mq--perk{padding-block:8px}
.mq--perk .mq__t{animation:mq-r 52s linear infinite}
.mq--perk .mq__g{gap:16px;padding-right:16px}
.perk{
  display:inline-flex;align-items:center;gap:13px;flex:none;white-space:nowrap;
  padding:15px 26px;border-radius:var(--r-pill);
  background:var(--gl-bg);border:1px solid var(--gl-line);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
  font-size:.92rem;font-weight:600;color:var(--tx);
  transition:border-color .35s,transform .35s var(--ez);
}
.perk:hover{border-color:rgba(255,138,31,.5);transform:translateY(-3px)}
.perk i{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:11px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.24),rgba(255,107,0,.05));border:1px solid rgba(255,107,0,.3)}
.perk i svg{width:18px;height:18px}

.mq--photo .mq__t{animation:mq-l 64s linear infinite}
.mq--photo.rev .mq__t{animation:mq-r 72s linear infinite}
.mq--photo .mq__g{gap:18px;padding-right:18px}
.slide{
  position:relative;flex:none;width:clamp(236px,24vw,320px);aspect-ratio:1/1;
  border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  transition:transform .55s var(--ez),border-color .45s,box-shadow .5s;
}
.slide img{width:100%;height:100%;object-fit:cover;filter:grayscale(.34) contrast(1.05);transition:filter .55s,transform 1.2s var(--ez-out)}
.slide::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(4,4,6,.86));
}
.slide:hover{transform:translateY(-8px) scale(1.024);border-color:rgba(255,138,31,.55);box-shadow:0 26px 60px -22px rgba(255,107,0,.42)}
.slide:hover img{filter:grayscale(0) contrast(1.1);transform:scale(1.07)}
.slide b{
  position:absolute;left:18px;right:18px;bottom:15px;z-index:2;
  font-family:var(--f-head);font-size:.94rem;font-weight:700;letter-spacing:-.01em;
  opacity:0;transform:translateY(10px);transition:all .45s var(--ez);
}
.slide:hover b{opacity:1;transform:none}
.slide em{
  position:absolute;left:18px;top:15px;z-index:2;font-style:normal;
  font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--o-hi);
  padding:5px 11px;border-radius:var(--r-pill);
  background:rgba(4,4,6,.6);border:1px solid rgba(255,107,0,.35);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}

/* ═══════════ 12. SOBRE ═══════════ */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,5vw,78px);align-items:center}
.about>*{min-width:0}
@media(max-width:960px){.about{grid-template-columns:1fr;gap:44px}}
.about__media{position:relative;border-radius:var(--r-xl);overflow:hidden;isolation:isolate}
.about__media img{width:100%;aspect-ratio:2/3;object-fit:cover}
.about__media::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,rgba(4,4,6,.42) 96%),
             linear-gradient(120deg,rgba(255,107,0,.1),transparent 52%);
}
.about__frame{position:absolute;inset:14px;z-index:3;pointer-events:none;border-radius:var(--r-lg);border:1px solid rgba(255,255,255,.14)}
.about__frame::before,.about__frame::after{content:'';position:absolute;width:34px;height:34px;border:2px solid var(--o)}
.about__frame::before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-radius:var(--r-lg) 0 0 0}
.about__frame::after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-radius:0 0 var(--r-lg) 0}
.about__text p{color:var(--tx-2);margin-bottom:18px}
.about__text p strong{color:var(--tx);font-weight:600}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:34px}
@media(max-width:600px){.pillars{grid-template-columns:1fr}}
.pillar{padding:24px 20px;border-radius:var(--r)}
.pillar i{
  display:grid;place-items:center;width:44px;height:44px;border-radius:13px;margin-bottom:15px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.26),rgba(255,107,0,.05));
  border:1px solid rgba(255,107,0,.32);box-shadow:0 0 22px -6px var(--o-glow);
}
.pillar i svg{width:21px;height:21px}
.pillar h3{margin-bottom:7px;font-size:1.02rem}
.pillar p{font-size:.86rem;color:var(--tx-3);line-height:1.55}

/* ═══════════ 13. NÚMEROS ═══════════ */
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.nums>*{min-width:0}
.num{position:relative;padding:40px 26px;border-radius:var(--r-lg);text-align:center;overflow:hidden}
.num__n{font-family:var(--f-head);font-size:clamp(2.6rem,5.2vw,3.8rem);font-weight:900;line-height:1;letter-spacing:-.05em;display:block}
.num__l{font-size:.85rem;color:var(--tx-2);margin-top:13px;letter-spacing:.04em}
.num__ico{position:absolute;right:-14px;bottom:-16px;width:104px;height:104px;z-index:1;
  color:rgba(255,107,0,.07);transition:color .5s,transform .6s var(--ez)}
.num:hover .num__ico{color:rgba(255,107,0,.17);transform:scale(1.1) rotate(-8deg)}

/* ═══════════ 14. SERVIÇOS ═══════════ */
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(296px,1fr));gap:20px}
.svcs>*{min-width:0}
.svc{position:relative;padding:34px 28px 30px;border-radius:var(--r-lg);transition:transform .5s var(--ez),border-color .4s}
.svc:hover{transform:translateY(-9px);border-color:rgba(255,138,31,.4)}
.svc__ico{
  position:relative;display:grid;place-items:center;
  width:62px;height:62px;border-radius:17px;margin-bottom:22px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.26),rgba(255,107,0,.05));
  border:1px solid rgba(255,107,0,.3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 30px -10px var(--o-glow);
  transition:transform .5s var(--ez-spring),box-shadow .5s;
}
.svc:hover .svc__ico{transform:translateY(-4px) scale(1.09) rotate(-5deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 16px 40px -12px var(--o-glow)}
.svc__ico svg{width:29px;height:29px;position:relative;z-index:2}
.svc__ico::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,.28),transparent 46%)}
.svc h3{margin-bottom:11px}
.svc>p{font-size:.93rem;color:var(--tx-2);line-height:1.62}
.svc__ul{margin-top:18px;display:grid;gap:8px}
.svc__ul li{position:relative;padding-left:20px;font-size:.85rem;color:var(--tx-3)}
.svc__ul li::before{content:'';position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;
  background:linear-gradient(135deg,var(--o-hi),var(--o-lo));box-shadow:0 0 10px var(--o-glow)}
.svc__n{
  position:absolute;top:22px;right:26px;z-index:4;
  font-family:var(--f-head);font-size:2.8rem;font-weight:900;line-height:1;
  color:rgba(255,255,255,.045);letter-spacing:-.05em;transition:color .45s;
}
.svc:hover .svc__n{color:rgba(255,138,31,.2)}

/* ═══════════ 15. SEGMENTOS ═══════════ */
.segs{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:20px}
.segs>*{min-width:0}
.seg{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:404px;padding:32px 26px;border-radius:var(--r-lg);overflow:hidden;isolation:isolate;
  border:1px solid var(--line);
  transition:transform .55s var(--ez),border-color .45s,box-shadow .5s;
}
.seg:hover{transform:translateY(-10px);border-color:rgba(255,138,31,.5);box-shadow:0 32px 70px -26px rgba(255,107,0,.4)}
.seg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform 1.3s var(--ez-out),filter .55s;filter:grayscale(.42) contrast(1.06)}
.seg:hover img{transform:scale(1.1);filter:grayscale(0) contrast(1.1)}
.seg::before{content:'';position:absolute;inset:0;z-index:-1;transition:background .55s;
  background:linear-gradient(180deg,rgba(4,4,6,.2) 6%,rgba(4,4,6,.74) 50%,rgba(4,4,6,.97))}
.seg:hover::before{background:linear-gradient(180deg,rgba(4,4,6,.12) 4%,rgba(4,4,6,.66) 46%,rgba(4,4,6,.97))}
.seg__ico{
  display:grid;place-items:center;width:50px;height:50px;border-radius:14px;margin-bottom:18px;color:var(--o-hi);
  background:rgba(8,8,12,.62);border:1px solid rgba(255,107,0,.4);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 0 26px -8px var(--o-glow);
}
.seg__ico svg{width:24px;height:24px}
.seg h3{margin-bottom:9px}
.seg p{font-size:.89rem;color:var(--tx-2);line-height:1.56}
.seg__bar{height:2px;width:44px;margin-top:20px;border-radius:2px;
  background:linear-gradient(90deg,var(--o),var(--o-hi));box-shadow:0 0 12px var(--o-glow);
  transition:width .55s var(--ez-out)}
.seg:hover .seg__bar{width:94px}

/* ═══════════ 16. ILUMINAÇÃO ═══════════ */
.spl{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(34px,4.6vw,66px);align-items:center}
.spl>*{min-width:0}
@media(max-width:960px){.spl{grid-template-columns:1fr;gap:42px}}
.spl__g{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:178px;gap:15px}
@media(max-width:520px){.spl__g{grid-auto-rows:142px}}
.sg{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  transition:transform .5s var(--ez),border-color .4s}
.sg:hover{transform:scale(1.035);border-color:rgba(255,138,31,.5);z-index:2}
.sg img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ez-out)}
.sg:hover img{transform:scale(1.08)}
.sg--tall{grid-row:span 2}
.lumi{display:grid;gap:15px;margin-top:30px}
.lumi li{display:flex;gap:15px;align-items:flex-start}
.lumi i{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:13px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.24),rgba(255,107,0,.05));border:1px solid rgba(255,107,0,.3)}
.lumi i svg{width:21px;height:21px}
.lumi b{display:block;font-family:var(--f-head);font-size:1.02rem;font-weight:700;margin-bottom:4px}
.lumi p{font-size:.88rem;color:var(--tx-3);line-height:1.52}

/* ═══════════ 17. PROCESSO ═══════════ */
.steps{position:relative;display:grid;gap:22px}
.steps::before{
  content:'';position:absolute;left:34px;top:40px;bottom:40px;width:2px;z-index:0;
  background:linear-gradient(180deg,transparent,rgba(255,107,0,.5) 10%,rgba(255,107,0,.5) 90%,transparent);
}
@media(max-width:700px){.steps::before{left:28px}}
.step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start;z-index:1}
@media(max-width:700px){.step{gap:18px}}
.step__n{
  position:relative;display:grid;place-items:center;flex:none;
  width:68px;height:68px;border-radius:20px;
  font-family:var(--f-head);font-size:1.4rem;font-weight:900;color:#fff;
  background:linear-gradient(140deg,var(--o-hi),var(--o-lo));
  box-shadow:0 16px 36px -12px var(--o-glow),inset 0 1px 0 rgba(255,255,255,.34);
}
@media(max-width:700px){.step__n{width:56px;height:56px;font-size:1.15rem;border-radius:17px}}
.step__n::after{content:'';position:absolute;inset:-5px;border-radius:24px;border:1px solid rgba(255,107,0,.32);animation:ripple2 3s var(--ez) infinite}
@keyframes ripple2{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.26);opacity:0}}
.step__c{padding:26px 28px;border-radius:var(--r-lg)}
.step__c h3{margin-bottom:10px}
.step__c p{font-size:.92rem;color:var(--tx-2);line-height:1.62}

/* ═══════════ 18. ALERTAS ═══════════ */
.alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:20px}
.alerts>*{min-width:0}
.alert{position:relative;padding:32px 26px;border-radius:var(--r-lg);overflow:hidden}
.alert>.bar{position:absolute;left:0;top:0;bottom:0;width:3px;z-index:4;
  background:linear-gradient(180deg,var(--o-hi),var(--o-lo));box-shadow:0 0 18px var(--o-glow)}
.alert__ico{
  display:grid;place-items:center;width:52px;height:52px;border-radius:15px;margin-bottom:19px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.2),rgba(255,107,0,.04));
  border:1px solid rgba(255,107,0,.3);
}
.alert__ico svg{width:25px;height:25px}
.alert h3{font-size:1.12rem;margin-bottom:10px}
.alert p{font-size:.9rem;color:var(--tx-2);line-height:1.62}

/* ═══════════ 19. PORTFÓLIO ═══════════ */
.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:38px}
.fbtn{
  position:relative;padding:12px 24px;border-radius:var(--r-pill);overflow:hidden;
  font-size:.86rem;font-weight:700;color:var(--tx-2);
  border:1px solid var(--line-2);background:rgba(255,255,255,.035);
  transition:all .35s var(--ez);
}
.fbtn:hover{color:#fff;border-color:rgba(255,138,31,.55);transform:translateY(-2px)}
.fbtn.on{color:#fff;border-color:transparent;
  background:linear-gradient(135deg,var(--o-hi),var(--o-lo));box-shadow:0 14px 34px -12px var(--o-glow)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;grid-auto-flow:dense}
.gal>*{min-width:0}
.shot{
  position:relative;display:block;width:100%;aspect-ratio:4/5;padding:0;
  border-radius:var(--r);overflow:hidden;cursor:zoom-in;isolation:isolate;
  border:1px solid var(--line);
  transition:transform .5s var(--ez),border-color .45s,box-shadow .5s;
}
.shot--w{grid-column:span 2;aspect-ratio:8/5}
@media(max-width:600px){.shot--w{grid-column:span 1;aspect-ratio:4/5}}
.shot:hover{transform:translateY(-7px);border-color:rgba(255,138,31,.55);box-shadow:0 30px 64px -24px rgba(255,107,0,.4)}
.shot picture{display:block;width:100%;height:100%}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ez-out)}
.shot:hover img{transform:scale(1.08)}
.shot__v{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 40%,rgba(4,4,6,.92));opacity:.72;transition:opacity .45s}
.shot:hover .shot__v{opacity:1}
.shot__c{position:absolute;inset:auto 0 0;padding:0 20px 18px;z-index:3;text-align:left;
  transform:translateY(14px);opacity:0;transition:all .45s var(--ez)}
.shot:hover .shot__c{transform:none;opacity:1}
.shot__c b{display:block;font-family:var(--f-head);font-size:1rem;font-weight:700}
.shot__c span{font-size:.7rem;color:var(--o-hi);letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.shot.hide{display:none}
.shot__z{
  position:absolute;top:14px;right:14px;z-index:4;display:grid;place-items:center;
  width:38px;height:38px;border-radius:50%;color:#fff;
  background:rgba(8,8,12,.62);border:1px solid var(--gl-line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  opacity:0;transform:scale(.7) rotate(-25deg);transition:all .42s var(--ez-spring);
}
.shot:hover .shot__z{opacity:1;transform:none}
.shot__z svg{width:17px;height:17px}

.lb{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:26px;
  background:rgba(2,2,4,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;transition:opacity .4s var(--ez),visibility .4s;
}
.lb.open{opacity:1;visibility:visible}
.lb img{max-width:min(100%,1120px);max-height:80svh;border-radius:var(--r);box-shadow:0 40px 100px -24px #000}
.lb__c{margin-top:18px;text-align:center}
.lb__c b{display:block;font-family:var(--f-head);color:#fff;font-size:1.1rem;margin-bottom:4px}
.lb__c span{font-size:.78rem;color:var(--o-hi);letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.lb__b{
  position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid var(--gl-line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:all .32s var(--ez-spring);
}
.lb__b:hover{background:var(--o);border-color:var(--o);transform:scale(1.12)}
.lb__b svg{width:21px;height:21px}
.lb__x{top:24px;right:24px}
.lb__p{left:24px;top:50%;translate:0 -50%}
.lb__nx{right:24px;top:50%;translate:0 -50%}
@media(max-width:660px){.lb__p{left:12px}.lb__nx{right:12px}.lb__b{width:44px;height:44px}}

/* ═══════════ 20. DIFERENCIAIS ═══════════ */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(322px,1fr));gap:18px}
.why>*{min-width:0}
.wi{display:flex;gap:17px;padding:27px 24px;border-radius:var(--r);transition:transform .45s var(--ez),border-color .4s}
.wi:hover{transform:translateY(-5px);border-color:rgba(255,138,31,.38)}
.wi__i{
  display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.24),rgba(255,107,0,.05));
  border:1px solid rgba(255,107,0,.3);box-shadow:0 0 24px -8px var(--o-glow);
}
.wi__i svg{width:23px;height:23px}
.wi h3{margin-bottom:7px;font-size:1.06rem}
.wi p{font-size:.88rem;color:var(--tx-2);line-height:1.58}

/* ═══════════ 21. MARCAS ═══════════ */
.brands{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.bchip{
  display:inline-flex;align-items:center;gap:11px;padding:15px 26px;border-radius:var(--r-pill);
  background:var(--gl-bg);border:1px solid var(--gl-line);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  font-family:var(--f-head);font-size:.96rem;font-weight:700;letter-spacing:.03em;color:var(--cr-3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);transition:all .4s var(--ez);
}
.bchip:hover{color:#fff;border-color:rgba(255,138,31,.5);transform:translateY(-4px)}
.bchip svg{width:19px;height:19px;color:var(--o-hi)}

/* ═══════════ 22. AVALIAÇÃO ═══════════ */
.rating{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(22px,3.6vw,48px);align-items:center;
  padding:clamp(30px,4vw,48px);border-radius:var(--r-xl)}
@media(max-width:900px){.rating{grid-template-columns:1fr;text-align:center;justify-items:center}}
.rating__s{text-align:center}
.rating__s b{display:block;font-family:var(--f-head);font-size:3.9rem;font-weight:900;line-height:1;letter-spacing:-.05em}
.rating__s .stars{justify-content:center;margin-top:10px}
.rating__s .stars svg{width:19px;height:19px}
.rating__s small{display:block;font-size:.78rem;color:var(--tx-3);margin-top:9px}
.rating__t h3{margin-bottom:10px;font-size:1.32rem}
.rating__t p{color:var(--tx-2);font-size:.95rem}

/* ═══════════ 23. ÁREAS ═══════════ */
.areas{display:grid;grid-template-columns:1fr .95fr;gap:clamp(32px,4.6vw,64px);align-items:center}
.areas>*{min-width:0}
@media(max-width:920px){.areas{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chip{padding:9px 17px;border-radius:var(--r-pill);font-size:.84rem;color:var(--tx-2);
  border:1px solid var(--line);background:rgba(255,255,255,.035);transition:all .32s var(--ez)}
.chip:hover{color:#fff;border-color:rgba(255,138,31,.5);background:rgba(255,107,0,.1);transform:translateY(-2px)}
.map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);position:relative;min-height:350px}
.map iframe{width:100%;height:100%;min-height:350px;border:0;display:block;
  filter:invert(1) hue-rotate(180deg) grayscale(.35) brightness(.72) contrast(1.1)}

/* ═══════════ 24. FAQ ═══════════ */
.faq{max-width:920px;margin-inline:auto;display:grid;gap:13px}
.qa{border-radius:var(--r);transition:border-color .4s}
.qa[open]{border-color:rgba(255,138,31,.38)}
.qa__q{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:23px 26px;cursor:pointer;list-style:none;
  font-family:var(--f-head);font-size:clamp(1.02rem,1.5vw,1.12rem);font-weight:700;transition:color .3s;
}
.qa__q::-webkit-details-marker{display:none}
.qa__q:hover{color:var(--o-hi)}
.qa__i{position:relative;flex:none;width:30px;height:30px;border-radius:10px;border:1px solid var(--line-2);transition:all .38s var(--ez-spring)}
.qa__i::before,.qa__i::after{content:'';position:absolute;inset:50% auto auto 50%;translate:-50% -50%;background:var(--o);border-radius:2px;transition:all .38s var(--ez)}
.qa__i::before{width:13px;height:2px}
.qa__i::after{width:2px;height:13px}
.qa[open] .qa__i{background:var(--o);border-color:var(--o);rotate:135deg;box-shadow:0 0 20px var(--o-glow)}
.qa[open] .qa__i::before,.qa[open] .qa__i::after{background:#fff}
.qa__a{padding:0 26px 25px;color:var(--tx-2);font-size:.95rem;line-height:1.72}
.qa__a p+p{margin-top:12px}

/* ═══════════ 25. CTA ═══════════ */
.cta{
  position:relative;overflow:hidden;isolation:isolate;text-align:center;
  padding:clamp(54px,7.5vw,96px) clamp(26px,5vw,70px);border-radius:var(--r-2xl);
  background:linear-gradient(130deg,#14141A,#0A0A0F 52%,#1A1109);
  border:1px solid var(--line-2);
}
.cta::before{content:'';position:absolute;inset:0;z-index:-1;
  background:radial-gradient(ellipse 72% 110% at 50% 0%,rgba(255,107,0,.3),transparent 66%)}
.cta::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(104deg,transparent 40%,rgba(255,255,255,.05) 50%,transparent 60%);
  background-size:280% 100%;animation:cta-sweep 6s var(--ez) infinite}
@keyframes cta-sweep{0%,60%{background-position:160% 0}100%{background-position:-60% 0}}
.cta__bolt{position:absolute;right:-26px;top:50%;translate:0 -50%;width:320px;opacity:.07;z-index:-1;pointer-events:none;color:var(--o)}
.cta h2{margin-bottom:18px}
.cta p{color:var(--tx-2);max-width:63ch;margin:0 auto 34px;font-size:clamp(1rem,1.4vw,1.1rem)}
.cta__btns{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}

/* ═══════════ 26. CONTATO ═══════════ */
.contact{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,4vw,54px);align-items:start}
.contact>*{min-width:0}
@media(max-width:960px){.contact{grid-template-columns:1fr}}
.form{padding:clamp(28px,3.6vw,42px);border-radius:var(--r-xl)}
.fld{margin-bottom:18px}
.fld label{display:block;font-size:.82rem;font-weight:700;color:var(--tx-2);margin-bottom:9px;letter-spacing:.05em}
.fld label span{color:var(--o)}
.fld input,.fld select,.fld textarea{
  width:100%;padding:15px 17px;border-radius:13px;
  background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--tx);
  font-size:.95rem;transition:all .32s var(--ez);
}
.fld textarea{resize:vertical;min-height:118px;font-family:inherit}
.fld select{appearance:none;cursor:pointer;padding-right:46px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8A1F' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;background-size:18px}
.fld select option{background:#0F0F15;color:var(--tx)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--tx-3)}
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:0;border-color:var(--o);background:rgba(255,107,0,.06);box-shadow:0 0 0 3px rgba(255,107,0,.16)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:540px){.frow{grid-template-columns:1fr}}
.fnote{font-size:.8rem;color:var(--tx-3);margin-top:16px;text-align:center;line-height:1.55}

.info{display:grid;gap:14px}
.icard{display:flex;gap:17px;padding:24px;border-radius:var(--r);transition:all .4s var(--ez)}
.icard:hover{border-color:rgba(255,138,31,.4);transform:translateX(5px)}
.icard__i{
  display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:14px;color:var(--o-hi);
  background:linear-gradient(140deg,rgba(255,107,0,.24),rgba(255,107,0,.05));
  border:1px solid rgba(255,107,0,.3);box-shadow:0 0 24px -8px var(--o-glow);
}
.icard__i svg{width:23px;height:23px}
.icard h3{margin-bottom:5px;font-size:1.06rem}
.icard p,.icard a{font-size:.92rem;color:var(--tx-2);line-height:1.56}
.icard a:hover{color:var(--o-hi)}
.hours{display:grid;gap:8px;margin-top:9px;font-size:.89rem}
.hours div{display:flex;justify-content:space-between;gap:16px;color:var(--tx-2)}
.hours b{color:var(--tx);font-weight:600}
.hours .now b{color:#3ddc84}

/* ═══════════ 27. FOOTER ═══════════ */
.footer{position:relative;border-top:1px solid var(--line);background:linear-gradient(180deg,#07070B,#030305);padding-top:clamp(58px,6.5vw,86px);overflow:clip}
.footer__g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:clamp(28px,3.4vw,50px);padding-bottom:50px}
@media(max-width:960px){.footer__g{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.footer__g{grid-template-columns:1fr;gap:34px}}
.footer__b img{height:50px;width:auto;margin-bottom:20px;filter:drop-shadow(0 0 20px rgba(255,107,0,.25))}
.footer__b p{font-size:.9rem;color:var(--tx-2);line-height:1.68;max-width:39ch}
.foot-h{font-family:var(--f-head);font-size:.84rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--o-hi);margin-bottom:20px}
.flinks{display:grid;gap:11px}
.flinks a{font-size:.9rem;color:var(--tx-2);transition:all .28s}
.flinks a:hover{color:var(--o-hi);padding-left:6px}
.fcontact{display:grid;gap:14px;font-size:.9rem;color:var(--tx-2)}
.fcontact a,.fcontact div{display:flex;gap:12px;align-items:flex-start;line-height:1.52}
.fcontact svg{width:17px;height:17px;color:var(--o);flex:none;margin-top:2px}
.fcontact a:hover{color:var(--o-hi)}
.socials{display:flex;gap:11px;margin-top:22px}
.soc{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--tx-2);
  border:1px solid var(--line-2);background:rgba(255,255,255,.035);transition:all .36s var(--ez-spring)}
.soc:hover{color:#fff;border-color:var(--o);background:rgba(255,107,0,.16);transform:translateY(-4px) scale(1.06);box-shadow:0 12px 28px -10px var(--o-glow)}
.soc svg{width:20px;height:20px}
.footer__bar{border-top:1px solid var(--line);padding-block:24px;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  font-size:.82rem;color:var(--tx-3)}

/* ═══════════ 28. FLUTUANTES ═══════════ */
.fab{
  position:fixed;right:24px;bottom:24px;z-index:90;
  display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#fff;
  background:linear-gradient(140deg,#3ee27a,#0f8b3f);
  box-shadow:0 18px 40px -10px rgba(37,211,102,.6);
  transition:transform .4s var(--ez-spring),box-shadow .4s;
}
.fab:hover{transform:scale(1.1) translateY(-4px)}
.fab svg{width:31px;height:31px}
.fab::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.6);animation:ripple 2.4s var(--ez) infinite}
.fab__t{
  position:absolute;right:calc(100% + 16px);top:50%;translate:0 -50%;white-space:nowrap;
  padding:10px 17px;border-radius:12px;font-size:.85rem;font-weight:600;color:var(--tx);
  background:rgba(14,14,20,.97);border:1px solid var(--line-2);
  opacity:0;pointer-events:none;transition:all .32s var(--ez);transform:translate(10px,-50%);
}
.fab:hover .fab__t{opacity:1;transform:translate(0,-50%)}
@media(max-width:860px){.fab{display:none}}

.top{
  position:fixed;right:24px;bottom:100px;z-index:89;
  display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--tx);
  background:rgba(14,14,20,.9);border:1px solid var(--line-2);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  opacity:0;visibility:hidden;transform:translateY(14px);transition:all .42s var(--ez);
}
.top.on{opacity:1;visibility:visible;transform:none}
.top:hover{border-color:var(--o);color:var(--o-hi)}
.top svg{width:19px;height:19px}
@media(max-width:860px){.top{bottom:calc(var(--mb,78px) + 16px);right:16px}}

.mbar{
  position:fixed;inset:auto 0 0;z-index:92;display:none;
  grid-template-columns:1fr 1fr;gap:11px;padding:11px 15px calc(11px + env(safe-area-inset-bottom));
  background:rgba(5,5,8,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
}
@media(max-width:860px){.mbar{display:grid}body{padding-bottom:var(--mb,78px)}}
.mbar .btn{--h:50px;padding-inline:14px;font-size:.8rem}

/* ═══════════ 29. REVEAL ═══════════ */
[data-rv]{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ez-out),transform .85s var(--ez-out)}
[data-rv="l"]{transform:translateX(-34px)}
[data-rv="r"]{transform:translateX(34px)}
[data-rv="z"]{transform:scale(.94)}
[data-rv].in{opacity:1;transform:none}

.rw span{
  display:inline-block;opacity:0;transform:translateY(26px);
  background:inherit;background-size:inherit;
  -webkit-background-clip:text;background-clip:text;
}
.rw.in span{animation:word-up .72s var(--ez-out) both}
@keyframes word-up{to{opacity:1;transform:none}}

/* ═══════════ 30. PRELOADER ═══════════ */
.pre{position:fixed;inset:0;z-index:300;display:grid;place-items:center;gap:26px;background:var(--bg);transition:opacity .65s var(--ez),visibility .65s}
.pre.done{opacity:0;visibility:hidden}
.pre img{width:200px;animation:pulse-l 1.7s var(--ez) infinite;filter:drop-shadow(0 0 30px rgba(255,107,0,.4))}
@keyframes pulse-l{0%,100%{opacity:.5;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}
.pre__b{width:160px;height:2px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden}
.pre__b i{display:block;height:100%;width:40%;border-radius:2px;background:linear-gradient(90deg,var(--o-hi),var(--o-lo));animation:load 1.15s var(--ez) infinite}
@keyframes load{0%{transform:translateX(-110%)}100%{transform:translateX(320%)}}

/* ═══════════ 31. UTILS ═══════════ */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.center{text-align:center}
.mt{margin-top:clamp(38px,4.2vw,58px)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  [data-rv]{opacity:1;transform:none}
  .rw span{opacity:1;transform:none}
  .hero h1 .ln>span{transform:none}
}

/* ═══════════ 32. COMPACTAÇÃO MOBILE ═══════════ */
@media(max-width:700px){
  :root{--sp:clamp(58px,11vw,86px)}
  .head{margin-bottom:34px}
  .svcs,.segs,.why,.alerts,.nums{gap:13px}
  .steps{gap:15px}
  /* galeria em duas colunas para a página não ficar interminável */
  .gal{grid-template-columns:repeat(2,1fr);gap:11px}
  .shot{aspect-ratio:3/4}
  .shot--w{grid-column:span 2;aspect-ratio:16/10}
  .shot__c{padding:0 13px 12px}
  .shot__c b{font-size:.82rem}
  .shot__c span{font-size:.62rem}
  .shot__z{width:32px;height:32px;top:9px;right:9px}
  .shot__c,.shot__z{opacity:1;transform:none}

  /* cards mais enxutos */
  .svc{padding:26px 22px 24px}
  .svc__ico{width:54px;height:54px;border-radius:15px;margin-bottom:17px}
  .svc__ico svg{width:26px;height:26px}
  .svc__n{font-size:2.2rem;top:18px;right:20px}
  .seg{min-height:318px;padding:26px 22px}
  .spl__g{grid-auto-rows:126px;gap:11px}
  .num{padding:30px 20px}
  .step__c{padding:22px 20px}
  .alert{padding:26px 22px}
  .wi{padding:22px 20px}
  .qa__q{padding:19px 20px}
  .qa__a{padding:0 20px 21px}
  .icard{padding:20px}
  .slide{width:min(76vw,290px)}
}
@media(max-width:420px){
  /* telefone do topo já está na barra fixa inferior */
  .topbar ul:last-child{display:none}
  .topbar__in{justify-content:center}
}
