/* =========================================================
   GOLD PAV — site institucional
   Paleta extraída do logo oficial: #E7D837 / #E5B834 / #E49931
   ========================================================= */

/* ---------- tokens ---------- */
:root{
  --bg:#0A0A0B;
  --bg-2:#0D0D10;
  --surface:#131317;
  --surface-2:#17171C;
  --line:#242429;
  --line-soft:#1C1C21;
  --line-gold:rgba(229,184,52,.24);
  --text:#F4F4F2;
  --muted:#A5A5AB;
  --dim:#8A8A93;

  --g1:#E7D837;
  --g2:#E5B834;
  --g3:#E49931;
  --grad:linear-gradient(100deg,#E7D837 0%,#E5B834 48%,#E49931 100%);
  --grad-soft:linear-gradient(100deg,rgba(231,216,55,.16),rgba(228,153,49,.16));

  --wa:#25D366;

  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --word:"Poppins","Archivo",Arial,sans-serif;

  --wrap:1240px;
  --pad:clamp(20px,5vw,48px);
  --r:14px;
  --r-lg:22px;

  --nav-h:76px;
  --top-h:38px;

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
.svg-defs{position:absolute; width:0; height:0; overflow:hidden}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 16px)}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
ul,ol,dl,dd{margin:0; padding:0; list-style:none}
h1,h2,h3,p,figure{margin:0}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
svg{display:block}
::selection{background:rgba(231,216,55,.28); color:#fff}

:focus-visible{outline:2px solid var(--g1); outline-offset:3px; border-radius:4px}

.skip-link{
  position:fixed; top:8px; left:8px; z-index:200;
  transform:translateY(-200%);
  background:var(--g2); color:#0A0A0B; font-weight:700;
  padding:10px 16px; border-radius:8px;
  transition:transform .2s var(--ease);
}
.skip-link:focus{transform:translateY(0)}

.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad)}
.hide-sm,.hide-md,.topbar__list li.hide-sm,.topbar__list li.hide-md{display:none}

/* ---------- tipografia utilitária ---------- */
.h1{
  font-size:clamp(2.3rem,5.2vw,4.4rem);
  line-height:1.02; font-weight:800; letter-spacing:-.035em;
}
.h2{
  font-size:clamp(2rem,4vw,3.3rem);
  line-height:1.05; font-weight:800; letter-spacing:-.03em;
}
.h2 em,.h1 em{
  font-style:normal;
  background:var(--grad);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lead{color:var(--muted); font-size:clamp(1rem,1.25vw,1.14rem); line-height:1.7; max-width:60ch}

.eyebrow{
  font-family:var(--mono); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--dim); display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.eyebrow i{
  font-style:normal;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  font-weight:500;
}
.eyebrow .dot{
  width:7px; height:7px; border-radius:50%; background:var(--g2); flex:none;
  box-shadow:0 0 0 4px rgba(229,184,52,.14);
  animation:pulse 2.6s infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 4px rgba(229,184,52,.14)}
  50%{box-shadow:0 0 0 9px rgba(229,184,52,0)}
}
.g{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}

/* ---------- botões ---------- */
.btn{
  --btn-py:13px; --btn-px:22px;
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:var(--btn-py) var(--btn-px);
  border-radius:999px; font-weight:700; font-size:.95rem; letter-spacing:-.01em;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap; isolation:isolate; overflow:hidden;
}
.btn svg{width:18px; height:18px; flex:none}
.btn--sm{--btn-py:9px; --btn-px:16px; font-size:.85rem}
.btn--lg{--btn-py:16px; --btn-px:28px; font-size:1rem}
.btn--xl{--btn-py:19px; --btn-px:36px; font-size:clamp(1rem,1.5vw,1.12rem)}
.btn--block{display:flex; width:100%}

.btn--primary{background:var(--grad); color:#0A0A0B; box-shadow:0 10px 30px -12px rgba(229,184,52,.6)}
.btn--primary::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg,#F2E75B,#EFC94A 48%,#EFA83E);
  opacity:0; transition:opacity .25s var(--ease);
}
.btn--primary:hover{transform:translateY(-2px); box-shadow:0 16px 38px -12px rgba(229,184,52,.75)}
.btn--primary:hover::after{opacity:1}
.btn--primary .ico-wa{fill:none; stroke:#0A0A0B; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}

.btn--ghost{
  border:1px solid var(--line); color:var(--text); background:rgba(255,255,255,.02);
}
.btn--ghost:hover{border-color:var(--line-gold); background:rgba(229,184,52,.07); transform:translateY(-2px)}

.ico-wa{fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}

.link-arrow{
  display:inline-flex; align-items:center; gap:10px; margin-top:26px;
  font-weight:700; font-size:.95rem;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.link-arrow svg{width:20px; height:20px; fill:none; stroke:var(--g2); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s var(--ease)}
.link-arrow:hover svg{transform:translateX(6px)}

/* ---------- topbar ---------- */
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:60; height:var(--top-h);
  background:#000; border-bottom:1px solid var(--line-soft);
  font-size:.78rem; color:var(--dim);
  transition:transform .35s var(--ease);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; height:100%}
.topbar__list{display:flex; gap:22px; align-items:center; min-width:0}
.topbar__list li{display:flex; gap:7px; align-items:center; white-space:nowrap}
.topbar__label{font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#7C7C86}
.topbar a{transition:color .2s var(--ease)}
.topbar a:hover{color:var(--g1)}
.topbar__social{display:flex; gap:6px}
.topbar__social a{
  width:26px; height:26px; display:grid; place-items:center; border-radius:6px;
  transition:background-color .2s var(--ease), color .2s var(--ease);
}
.topbar__social a:hover{background:rgba(229,184,52,.12)}
.topbar__social svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.topbar__social svg path{fill:currentColor; stroke:none}
.topbar__social a:first-child svg path{fill:none; stroke:currentColor}
.is-scrolled .topbar{transform:translateY(-100%)}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:var(--top-h); left:0; right:0; z-index:70;
  height:var(--nav-h);
  transition:transform .35s var(--ease), background-color .35s var(--ease), border-color .35s var(--ease), height .35s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{display:flex; align-items:center; justify-content:space-between; gap:24px; height:100%}
.is-scrolled .nav{
  transform:translateY(calc(var(--top-h) * -1));
  background:rgba(10,10,11,.82);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--line-soft);
  height:66px;
}

.brand{display:flex; align-items:center; gap:12px; flex:none}
.brand__mark{
  width:44px; height:auto;
  filter:drop-shadow(0 2px 12px rgba(229,184,52,.28));
  transition:transform .4s var(--ease);
}
.brand:hover .brand__mark{transform:translateY(-2px) scale(1.04)}
.brand__word{
  font-family:var(--word); font-weight:700; font-size:1.22rem; letter-spacing:-.02em;
  color:#fff; line-height:1;
}
.brand__word span{
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.brand--lg .brand__mark{width:62px}
.brand--lg .brand__word{font-size:1.6rem}

.nav__links{display:none; gap:4px}
.nav__links a{
  position:relative; padding:9px 14px; border-radius:999px;
  font-size:.9rem; font-weight:500; color:var(--muted);
  transition:color .2s var(--ease), background-color .2s var(--ease);
}
.nav__links a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:1.5px;
  background:var(--grad); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav__links a:hover{color:var(--text)}
.nav__links a:hover::after,.nav__links a.is-current::after{transform:scaleX(1)}
.nav__links a.is-current{color:var(--text)}

.nav__actions{display:flex; align-items:center; gap:12px}
.nav__actions .btn{display:none}

.burger{width:44px; height:44px; display:grid; place-content:center; gap:5px; border-radius:10px; border:1px solid var(--line)}
.burger span{display:block; width:20px; height:1.6px; background:var(--text); transition:transform .3s var(--ease), opacity .2s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* ---------- mobile menu ---------- */
.mobile{
  position:fixed; inset:0; z-index:65;
  background:linear-gradient(180deg,#0A0A0B 0%,#101014 100%);
  padding:calc(var(--nav-h) + var(--top-h) + 24px) var(--pad) 32px;
  display:flex; flex-direction:column; justify-content:space-between; gap:28px;
  overflow-y:auto;
}
.mobile[hidden]{display:none}
.mobile__links{display:flex; flex-direction:column}
.mobile__links a{
  display:flex; align-items:baseline; gap:16px;
  padding:16px 0; border-bottom:1px solid var(--line-soft);
  font-size:1.6rem; font-weight:700; letter-spacing:-.02em;
}
.mobile__links i{
  font-style:normal; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.mobile__addr{margin-top:16px; color:var(--dim); font-size:.85rem; line-height:1.7}

/* ---------- hero ---------- */
.hero{
  position:relative; isolation:isolate;
  min-height:100svh;
  padding-top:calc(var(--nav-h) + var(--top-h) + clamp(28px,5vh,64px));
  padding-bottom:clamp(72px,9vh,110px);
  display:flex; align-items:center;
  overflow:hidden;
  background:radial-gradient(120% 80% at 50% 100%,#111114 0%,var(--bg) 60%);
}
.hero__scene{position:absolute; inset:0; z-index:-1}
.hero__svg{position:absolute; inset:0; width:100%; height:100%}
.hero__vignette{
  position:absolute; inset:0;
  background:
    radial-gradient(90% 60% at 50% 42%,transparent 0%,rgba(10,10,11,.55) 70%,var(--bg) 100%),
    linear-gradient(180deg,rgba(10,10,11,.9) 0%,transparent 26%);
}
.hero__noise{
  position:absolute; inset:0; opacity:.16; mix-blend-mode:overlay; pointer-events:none;
  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='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.hero__inner{position:relative; width:100%}
.hero__eyebrow{margin-bottom:22px}
.hero__title{
  font-size:clamp(2.35rem,6.6vw,5rem);
  line-height:1; font-weight:800; letter-spacing:-.04em;
  max-width:16ch;
}
.hero__title .line{display:block}
.hero__title em{
  font-style:normal;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__sub{
  margin-top:22px; max-width:56ch;
  color:var(--muted); font-size:clamp(1rem,1.4vw,1.2rem); line-height:1.65;
}
.hero__cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px}
.hero__trust{
  display:grid; gap:16px; margin-top:clamp(38px,5.5vh,60px);
  border-top:1px solid var(--line-soft); padding-top:24px;
}
.hero__trust li{display:flex; flex-direction:column; gap:3px; position:relative; padding-left:18px}
.hero__trust li::before{
  content:""; position:absolute; left:0; top:9px; width:7px; height:7px; border-radius:2px;
  background:var(--grad);
}
.hero__trust strong{font-size:.98rem; font-weight:700; letter-spacing:-.01em}
.hero__trust span{color:var(--dim); font-size:.85rem}

.hero__scroll{
  position:absolute; left:50%; bottom:26px; translate:-50% 0;
  width:26px; height:42px; border:1px solid var(--line); border-radius:14px;
  display:none; place-items:center;
}
.hero__scroll span{width:3px; height:8px; border-radius:2px; background:var(--g2); animation:scrolldot 1.9s infinite}
@keyframes scrolldot{0%{transform:translateY(-6px); opacity:0}35%{opacity:1}100%{transform:translateY(8px); opacity:0}}

/* ---------- marcas / marquee ---------- */
.marcas{
  position:relative; padding:clamp(52px,8vw,86px) 0 clamp(56px,8vw,90px);
  background:var(--bg-2);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
}
.marcas__lead{
  font-size:clamp(1.15rem,2.1vw,1.7rem); font-weight:600; letter-spacing:-.02em;
  line-height:1.35; max-width:34ch; color:#E9E9E6;
}
.marquee{
  margin-top:36px; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{display:flex; width:max-content; animation:marq 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__row{display:flex; align-items:center}
.marquee__row li{
  font-size:clamp(1.35rem,2.6vw,2.1rem); font-weight:700; letter-spacing:-.02em;
  color:#6A6A74; padding-inline:clamp(18px,2.4vw,34px);
  transition:color .3s var(--ease);
  white-space:nowrap;
}
.marquee__row li:hover{color:#EDEDE9}
.marquee__row li.is-hero{
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- seções base ---------- */
.section{padding:clamp(72px,11vw,140px) 0; position:relative}
.section--alt{background:var(--bg-2); border-block:1px solid var(--line-soft)}
.sec-head{margin-bottom:clamp(38px,5vw,64px)}
.sec-head--row{display:flex; flex-direction:column; gap:26px; align-items:flex-start}

/* ---------- sobre ---------- */
.sobre__grid{display:grid; gap:clamp(38px,6vw,72px)}
.sobre__title{margin-bottom:26px}

.specs{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,var(--surface) 0%,#0F0F13 100%);
  border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(26px,4vw,38px);
}
.specs::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g2),transparent); opacity:.6;
}
.specs__watermark{
  position:absolute; right:-70px; bottom:-60px; width:280px; opacity:.05; pointer-events:none;
}
.specs__label{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--dim); margin-bottom:22px;
}
.specs__list{display:grid; gap:0; position:relative}
.specs__list > div{padding:15px 0; border-top:1px solid var(--line-soft)}
.specs__list > div:first-child{border-top:0; padding-top:0}
.specs__list dt{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dim); margin-bottom:5px;
}
.specs__list dd{font-size:.98rem; font-weight:500; line-height:1.55}
.specs__list a{
  background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:700;
}

/* ---------- cards diferenciais ---------- */
.cards{display:grid; gap:16px}
.card{
  position:relative; overflow:hidden;
  padding:clamp(24px,3vw,32px);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  transition:transform .4s var(--ease), border-color .4s var(--ease), background-color .4s var(--ease);
}
.card::after{
  content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  background:radial-gradient(420px 200px at var(--mx,50%) var(--my,0%),rgba(229,184,52,.14),transparent 70%);
  opacity:0; transition:opacity .4s var(--ease);
}
.card:hover{transform:translateY(-4px); border-color:var(--line-gold); background:var(--surface-2)}
.card:hover::after{opacity:1}
.card__idx{
  position:absolute; top:22px; right:24px;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; color:#3B3B43;
  transition:color .4s var(--ease);
}
.card:hover .card__idx{color:var(--g2)}
.card__ico{
  display:grid; place-items:center; width:48px; height:48px; border-radius:12px;
  background:var(--grad-soft); border:1px solid var(--line-gold); margin-bottom:22px;
}
.card__ico svg{
  width:23px; height:23px; fill:none; stroke:#E5B834; stroke:url(#gGold) #E5B834; stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round;
}
.card h3{font-size:1.12rem; font-weight:700; letter-spacing:-.02em; margin-bottom:8px}
.card p{color:var(--muted); font-size:.94rem; line-height:1.6}

/* ---------- catálogo ---------- */
.tabs{
  position:relative; display:flex; gap:4px; padding:5px;
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  align-self:flex-start; max-width:100%; overflow:auto; scrollbar-width:none;
}
.tabs::-webkit-scrollbar{display:none}
.tabs__pill{
  position:absolute; top:5px; bottom:5px; left:5px; width:0;
  border-radius:999px; background:var(--grad);
  transition:transform .45s var(--ease), width .45s var(--ease);
  pointer-events:none;
}
.tabs__btn{
  position:relative; z-index:1; padding:11px 20px; border-radius:999px;
  font-size:.88rem; font-weight:700; color:var(--muted); white-space:nowrap;
  transition:color .3s var(--ease);
}
.tabs__btn.is-active{color:#0A0A0B}
.tabs__btn:not(.is-active):hover{color:var(--text)}

@media (max-width:559px){
  .tabs__btn{padding:10px 13px; font-size:.78rem}
}

.panel[hidden]{display:none}
.panel__lead{
  color:var(--muted); font-size:clamp(1rem,1.3vw,1.14rem); max-width:62ch; margin-bottom:34px;
}
.panel__lead::first-letter{text-transform:uppercase}

.prods{display:grid; gap:16px}
.prod{
  position:relative; display:flex; flex-direction:column; align-items:flex-start;
  padding:clamp(24px,3vw,34px);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden;
  transition:transform .4s var(--ease), border-color .4s var(--ease), background-color .4s var(--ease);
}
.prod::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--grad); transform:scaleY(0); transform-origin:top;
  transition:transform .45s var(--ease);
}
.prod:hover{transform:translateY(-4px); border-color:var(--line-gold); background:var(--surface-2)}
.prod:hover::before{transform:scaleY(1)}
.prod__head{display:flex; align-items:center; gap:14px; margin-bottom:14px}
.prod__ico{
  display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:11px;
  background:var(--grad-soft); border:1px solid var(--line-gold);
}
.prod__ico svg{width:21px; height:21px; fill:none; stroke:#E5B834; stroke:url(#gGold) #E5B834; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.prod h3{font-size:1.14rem; font-weight:700; letter-spacing:-.02em; line-height:1.25}
.prod p{color:var(--muted); font-size:.95rem; line-height:1.62}
.prod p::first-letter{text-transform:uppercase}
.prod__cta{
  display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:22px;
  font-size:.86rem; font-weight:700; color:var(--dim);
  transition:color .3s var(--ease);
}
.prod__cta svg{width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s var(--ease)}
.prod__cta:hover{color:var(--g1)}
.prod__cta:hover svg{transform:translateX(5px)}
.prod--accent{
  background:linear-gradient(150deg,rgba(229,184,52,.10),rgba(19,19,23,1) 55%);
  border-color:var(--line-gold);
}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px}
.chips li{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.02em;
  padding:6px 11px; border-radius:8px;
  background:rgba(255,255,255,.03); border:1px solid var(--line); color:#C9C9CC;
  transition:border-color .3s var(--ease), color .3s var(--ease);
}
.prod:hover .chips li{border-color:rgba(229,184,52,.18)}
.chips li:hover{color:var(--g1); border-color:var(--line-gold)}

.rents{display:grid; gap:16px}
.rent{
  display:flex; align-items:center; gap:16px;
  padding:22px clamp(20px,2.6vw,28px);
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  transition:transform .4s var(--ease), border-color .4s var(--ease), background-color .4s var(--ease);
}
.rent:hover{transform:translateY(-4px); border-color:var(--line-gold); background:var(--surface-2)}
.rent__ico{
  display:grid; place-items:center; width:46px; height:46px; flex:none; border-radius:12px;
  background:var(--grad-soft); border:1px solid var(--line-gold);
}
.rent__ico svg{width:23px; height:23px; fill:none; stroke:#E5B834; stroke:url(#gGold) #E5B834; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.rent h3{font-size:1.02rem; font-weight:700; letter-spacing:-.02em}
.panel__cta{margin-top:34px}

/* ---------- serviços ---------- */
.servicos__grid{display:grid; gap:clamp(38px,5vw,64px)}
.servicos__aside .lead{margin-top:20px; margin-bottom:28px}
.servlist{display:grid}
.servlist li{
  position:relative; display:flex; align-items:center; gap:clamp(16px,2.4vw,28px);
  padding:clamp(20px,2.6vw,28px) 4px;
  border-top:1px solid var(--line-soft);
  transition:padding-left .35s var(--ease), border-color .35s var(--ease);
}
.servlist li:last-child{border-bottom:1px solid var(--line-soft)}
.servlist li::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:var(--grad); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.servlist li:hover{padding-left:16px}
.servlist li:hover::before{transform:scaleX(1)}
.servlist__n{
  font-family:var(--mono); font-size:.76rem; letter-spacing:.1em; color:#3B3B43;
  transition:color .35s var(--ease);
}
.servlist li:hover .servlist__n{color:var(--g2)}
.servlist h3{
  flex:1; font-size:clamp(1.15rem,2.2vw,1.6rem); font-weight:700; letter-spacing:-.025em;
}
.servlist__ico{
  display:grid; place-items:center; width:40px; height:40px; flex:none; border-radius:50%;
  border:1px solid var(--line); transition:border-color .35s var(--ease), transform .35s var(--ease);
}
.servlist__ico svg{width:19px; height:19px; fill:none; stroke:#E5B834; stroke:url(#gGold) #E5B834; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
.servlist li:hover .servlist__ico{border-color:var(--line-gold); transform:rotate(-8deg) scale(1.06)}

/* ---------- CTA final ---------- */
.cta{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(80px,12vw,150px) 0 clamp(72px,10vw,120px);
  background:linear-gradient(180deg,var(--bg) 0%,#101013 100%);
  text-align:center;
}
.cta__bg{position:absolute; inset:0; z-index:-1; opacity:.85}
.cta__bg svg{width:100%; height:100%}
.cta__title{max-width:19ch; margin-inline:auto}
.cta__body{margin:24px auto 40px; max-width:52ch; color:var(--muted); font-size:clamp(1rem,1.35vw,1.16rem)}

.contatos{display:grid; gap:14px; margin-top:clamp(56px,8vw,86px); text-align:left}
.contato{
  padding:24px; border:1px solid var(--line); border-radius:var(--r);
  background:rgba(19,19,23,.72); backdrop-filter:blur(6px);
  transition:border-color .35s var(--ease), transform .35s var(--ease);
}
.contato:hover{border-color:var(--line-gold); transform:translateY(-3px)}
.contato__label{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--dim); margin-bottom:14px;
}
.contato__main{display:block; font-size:1.08rem; font-weight:700; letter-spacing:-.02em; transition:color .25s var(--ease)}
.contato__main--sm{font-size:.98rem; font-weight:600; line-height:1.55}
a.contato__main:hover{color:var(--g1)}
.contato__sub{display:inline-block; margin-top:7px; color:var(--dim); font-size:.88rem; transition:color .25s var(--ease)}
.contato__sub:hover{color:var(--g2)}

/* ---------- footer ---------- */
.footer{background:#000; border-top:1px solid var(--line-soft); padding-top:clamp(56px,7vw,80px)}
.footer__grid{display:grid; gap:clamp(40px,5vw,64px); padding-bottom:clamp(44px,5vw,64px)}
.footer__micro{margin-top:20px; color:var(--muted); font-size:.9rem; line-height:1.65; max-width:44ch}
.footer__addr{margin-top:12px; color:var(--dim); font-size:.85rem}
.footer__social{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px}
.footer__social a{
  display:inline-flex; align-items:center; gap:8px; padding:9px 14px;
  border:1px solid var(--line); border-radius:999px; font-size:.82rem; color:var(--muted);
  transition:border-color .3s var(--ease), color .3s var(--ease), background-color .3s var(--ease);
}
.footer__social a:hover{border-color:var(--line-gold); color:var(--g1); background:rgba(229,184,52,.06)}
.footer__social svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.footer__social a:nth-child(2) svg path{fill:currentColor; stroke:none}

.footer__cols{display:grid; gap:32px}
.footer__t{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--dim); font-weight:400; margin-bottom:16px;
}
.footer__cols li + li{margin-top:10px}
.footer__cols a{font-size:.92rem; color:var(--muted); transition:color .25s var(--ease)}
.footer__cols a:hover{color:var(--g1)}

.footer__bar{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  padding-block:24px; border-top:1px solid var(--line-soft);
  color:#7A7A83; font-size:.8rem;
}

/* ---------- botão flutuante WhatsApp ---------- */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:80;
  display:inline-flex; align-items:center; gap:9px;
  padding:14px 18px; border-radius:999px;
  background:var(--wa); color:#04240F; font-weight:700; font-size:.9rem;
  box-shadow:0 14px 34px -12px rgba(37,211,102,.75);
  opacity:0; visibility:hidden; transform:translateY(18px) scale(.94);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.wa-float.is-visible{opacity:1; visibility:visible; transform:none}
.wa-float:hover{transform:translateY(-2px)}
.wa-float svg{width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.wa-float span{display:none}

/* =========================================================
   ANIMAÇÕES (estado inicial só quando há JS + motion ok)
   ========================================================= */
.js-anim [data-anim]{opacity:0}
.js-anim [data-anim="card"],
.js-anim [data-anim="row"]{transform:translateY(26px)}
.js-anim .hero__title .line,
.js-anim .hero__eyebrow,
.js-anim .hero__sub,
.js-anim .hero__cta,
.js-anim .hero__trust li{opacity:0}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
  .marquee__track{animation:none}
}

/* =========================================================
   BREAKPOINTS
   ========================================================= */
@media (min-width:560px){
  .hide-sm,.topbar__list li.hide-sm{display:flex}
  .hero__trust{grid-template-columns:repeat(2,1fr); gap:24px}
  .contatos{grid-template-columns:repeat(2,1fr)}
  .wa-float span{display:inline}
  .cards{grid-template-columns:repeat(2,1fr)}
  .rents{grid-template-columns:repeat(2,1fr)}
}

@media (min-width:860px){
  .hide-md,.topbar__list li.hide-md{display:flex}
  .nav__actions .btn{display:inline-flex}
  .hero__trust{grid-template-columns:repeat(3,1fr)}
  .hero__scroll{display:grid}
  .sobre__grid{grid-template-columns:1.15fr .85fr; align-items:start}
  .prods{grid-template-columns:repeat(2,1fr)}
  .prod--wide{grid-column:span 2}
  .rents{grid-template-columns:repeat(3,1fr)}
  .servicos__grid{grid-template-columns:.85fr 1.15fr; align-items:start}
  .servicos__aside{position:sticky; top:calc(var(--nav-h) + 40px)}
  .sec-head--row{flex-direction:row; align-items:flex-end; justify-content:space-between}
  .footer__grid{grid-template-columns:1.1fr 1.4fr}
  .footer__cols{grid-template-columns:repeat(3,1fr)}
  .contatos{grid-template-columns:repeat(4,1fr)}
  .wa-float{right:26px; bottom:26px}
}

@media (min-width:1040px){
  .nav__links{display:flex}
  .burger{display:none}
  .cards{grid-template-columns:repeat(3,1fr)}
}

@media (min-width:1240px){
  .prods{grid-template-columns:repeat(3,1fr)}
  .prod--wide{grid-column:span 2}
}
