/* =========================================================
   HEXUM ENGENHARIA — Landing Page · v3
   Azul-marinho em degradê até o preto + branco em destaque.
   Amarelo = colmeia da marca: aparece na jornada do processo,
   nas faíscas da colmeia, nos pilares da planta e em detalhes.
   WhatsApp é SEMPRE verde.
   Mobile-first. Animações em transform/opacity sempre que possível.
   ========================================================= */

/* ---------- TOKENS ---------- */
:root{
  --black:    #010309;
  --navy-950: #030A1A;
  --navy-900: #06142E;
  --navy-850: #081B3D;
  --navy-800: #0B2452;
  --navy-700: #113270;
  --navy-600: #1A47B0;
  --navy-500: #2E6BFF;          /* azul vivo — brilhos e destaques */
  --navy-brand: #022347;        /* azul oficial do manual */
  --steel:    #A3B8DE;

  --grad-a: linear-gradient(180deg, #0D2759 0%, #071733 44%, #010309 100%);
  --grad-b: linear-gradient(180deg, #010309 0%, #071733 52%, #0D2759 100%);
  --grad-card: linear-gradient(160deg, #11306B 0%, #071733 52%, #02060F 100%);
  --grad-vivid: linear-gradient(135deg, #2357D8 0%, #0F3487 48%, #071A45 100%);

  --white:    #FFFFFF;
  --paper:    #F2F5FA;
  --mist:     #E4EAF3;
  --ink:      #050E22;
  --ink-soft: #4E5A70;

  --yellow:   #FFD60A;
  --yellow-2: #F5B700;

  --wa:       #25D366;
  --wa-2:     #13A04D;

  --t-hi: rgba(255,255,255,.96);
  --t-md: rgba(255,255,255,.7);
  --t-lo: rgba(255,255,255,.46);
  --line-dark:  rgba(255,255,255,.1);
  --line-light: rgba(5,14,34,.1);

  --hex: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  --hex-flat: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);

  --font-display: 'Inter Tight', 'Segoe UI', system-ui, sans-serif;
  --font-body:    'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;

  --container: 1240px;
  --pad: 20px;
  --gap-section: 88px;
  --stack: 28px;
  --radius: 20px;
  --radius-lg: 28px;
  --shadow: 0 1px 2px rgba(5,14,34,.05), 0 12px 32px -12px rgba(5,14,34,.16);
  --shadow-lg: 0 40px 90px -30px rgba(3,10,26,.55);
  --ease: cubic-bezier(.22,1,.36,1);
}

@media (min-width: 768px){
  :root{ --pad: 32px; --gap-section: 140px; --stack: 44px; }
}

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
html.lenis{ scroll-behavior:auto; }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:var(--black);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }
img,svg,video,canvas{ display:block; max-width:100%; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; line-height:1.08; letter-spacing:-.03em; margin:0; }
h2{ text-wrap:balance; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }
a{ color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; -webkit-tap-highlight-color:transparent; }
::selection{ background:var(--yellow); color:var(--navy-900); }

:focus-visible{ outline:2px solid var(--white); outline-offset:3px; border-radius:6px; }
.section--light :focus-visible,
.sheet :focus-visible{ outline-color:var(--navy-600); }
.section--light .quote-box :focus-visible,
.section--light .svisual :focus-visible{ outline-color:var(--white); }

/* ---------- LAYOUT ---------- */
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:var(--pad); }
.container--narrow{ max-width:880px; }

/* Seções empilhadas: cada uma sobe por cima da anterior com cantos arredondados */
.section{
  position:relative; z-index:1; isolation:isolate; overflow:hidden;
  padding-block:var(--gap-section);
  border-radius:var(--stack) var(--stack) 0 0;
  margin-top:calc(var(--stack) * -1);
}
.section--tight{ padding-block:calc(var(--gap-section) * .72); }
.section--flush{ border-radius:0; margin-top:0; padding-top:calc(var(--gap-section) * .15); }
.section--light{ background:var(--white); color:var(--ink); }
.section--dark{ background:var(--navy-900); color:var(--t-hi); }
.section--grad-a{ background:var(--grad-a); }
.section--grad-b{ background:var(--grad-b); }

.sec-glow{
  position:absolute; z-index:-1; top:-18%; left:50%; translate:-50% 0;
  width:120vw; height:70vw; max-width:1100px; max-height:640px;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(46,107,255,.28), rgba(6,20,46,0));
}
.sec-glow--right{ left:auto; right:-30%; translate:none; top:auto; bottom:-20%; width:90vw; height:90vw; max-width:760px; max-height:760px; }

.grain{
  position:fixed; inset:0; z-index:400; pointer-events:none; opacity:.05;
  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' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- CABEÇALHOS DE SEÇÃO ---------- */
.eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:22px;
}
.eyebrow b{
  font-weight:600; letter-spacing:.04em;
  min-width:30px; padding:4px 9px; text-align:center;
  border:1px solid currentColor; border-radius:999px; opacity:.85;
}
.eyebrow i{ display:block; width:28px; height:1px; flex:none; background:currentColor; opacity:.45; }
.eyebrow--center{ justify-content:center; }
.section--dark .eyebrow,
.metrics-sec .eyebrow,
.cta .eyebrow,
.quote-box .eyebrow{ color:var(--t-md); }

.sec-head{ max-width:760px; margin-bottom:48px; }
.sec-head--center{ margin-inline:auto; text-align:center; }
.sec-head--center .eyebrow{ justify-content:center; }
.sec-head h2{ font-size:clamp(32px,6.6vw,62px); line-height:1.03; letter-spacing:-.045em; }
.sec-head__sub{ margin-top:18px; font-size:clamp(15px,1.6vw,18px); line-height:1.6; color:var(--ink-soft); }
.section--dark .sec-head__sub{ color:var(--t-md); }
.sec-head--center .sec-head__sub{ max-width:56ch; margin-inline:auto; }

@media (min-width: 768px){ .sec-head{ margin-bottom:68px; } }
@media (min-width: 900px){
  .sec-head--split{ max-width:none; display:grid; grid-template-columns:1.2fr .8fr; gap:64px; align-items:end; }
  .sec-head--split .sec-head__sub{ margin-top:0; padding-bottom:10px; max-width:44ch; justify-self:end; }
}

/* ---------- SPLIT TEXT ---------- */
/* folga lateral e inferior: nada de letra cortada (ç, g, p, ?) */
.w{
  display:inline-block; overflow:hidden; vertical-align:top;
  padding:.14em .1em .3em; margin:-.14em -.1em -.3em;
}
.w__i{ display:inline-block; will-change:transform; }
.dot-y{ color:var(--yellow); }

/* ---------- ÍCONES ---------- */
.ico{ width:20px; height:20px; flex:none; }
svg[viewBox="0 0 24 24"]{
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}
.metrics__texture path,
.mobile-menu__mesh path,
.bento-hive path{ fill:none; stroke:currentColor; stroke-width:1; vector-effect:non-scaling-stroke; }

/* ---------- BOTÕES ---------- */
.btn{
  position:relative; overflow:hidden; isolation:isolate;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:14px 26px;
  font-family:var(--font-display); font-size:15px; font-weight:600; letter-spacing:-.005em;
  border-radius:999px; border:1px solid transparent;
  cursor:pointer; text-align:center; white-space:nowrap;
  transition:translate .3s var(--ease), scale .2s var(--ease), background-color .25s, border-color .25s, box-shadow .35s var(--ease), color .25s;
}
.btn > *{ position:relative; z-index:1; }
.btn:hover{ translate:0 -2px; }
.btn:active{ scale:.96; }
.btn--sm{ min-height:44px; padding:10px 18px; font-size:14px; }
.btn--lg{ min-height:58px; padding:17px 30px; font-size:16px; }
.btn--xl{ min-height:64px; padding:19px 38px; font-size:17px; }
.btn--block{ display:flex; width:100%; }

/* WhatsApp: sempre verde */
.btn--wa{
  background:linear-gradient(180deg, var(--wa) 0%, var(--wa-2) 100%);
  color:#fff; text-shadow:0 1px 1px rgba(0,60,25,.35);
  box-shadow:0 12px 30px -10px rgba(37,211,102,.55), inset 0 1px 0 rgba(255,255,255,.25);
}
.btn--wa:hover{ box-shadow:0 0 0 6px rgba(37,211,102,.16), 0 20px 44px -12px rgba(37,211,102,.7), inset 0 1px 0 rgba(255,255,255,.25); }
.btn--wa .ico{ width:21px; height:21px; filter:drop-shadow(0 1px 1px rgba(0,60,25,.3)); }

/* Branco: o destaque da marca sobre o escuro */
.btn--light{
  background:linear-gradient(180deg, #FFFFFF 0%, #E6ECF7 100%);
  color:var(--navy-900);
  box-shadow:0 12px 32px -10px rgba(255,255,255,.35);
}
.btn--light:hover{ box-shadow:0 0 0 6px rgba(255,255,255,.1), 0 20px 48px -12px rgba(255,255,255,.5); }

.btn--outline{ border:1.5px solid var(--navy-900); color:var(--navy-900); background:transparent; }
.btn--outline:hover{ background:var(--navy-900); color:#fff; }

.btn--arrow .ico{ transition:transform .35s var(--ease); }
.btn--arrow:hover .ico{ transform:translateX(4px); }

.btn--shine::after{
  content:''; position:absolute; top:0; bottom:0; left:-60%; width:45%; z-index:0;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.5), transparent);
  transform:skewX(-18deg);
  animation:shine 5s var(--ease) infinite;
}
@keyframes shine{ 0%,62%{ left:-60%; } 86%,100%{ left:130%; } }

.link-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--navy-600);
}
.link-arrow svg{ width:18px; height:18px; transition:transform .35s var(--ease); }
.link-arrow:hover svg{ transform:translateX(4px); }
.link-arrow--light{ color:#fff; }

/* ---------- SPOTLIGHT ---------- */
.spot{ --mx:50%; --my:50%; }
.spot::before,
.spot::after{
  content:''; position:absolute; pointer-events:none; border-radius:inherit;
  opacity:0; transition:opacity .45s var(--ease);
}
.spot::before{
  inset:0; z-index:-1;
  background:radial-gradient(520px circle at var(--mx) var(--my), rgba(70,130,255,.18), transparent 45%);
}
.spot::after{
  inset:-1px; padding:1px;
  background:radial-gradient(340px circle at var(--mx) var(--my), rgba(255,255,255,.65), transparent 50%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
}
@media (hover: hover){
  .spot:hover::before,
  .spot:hover::after{ opacity:1; }
}

/* =========================================================
   INTRO
   ========================================================= */
.loader{
  display:none; position:fixed; inset:0; z-index:300;
  background:radial-gradient(80% 60% at 50% 40%, #0D2759 0%, #06142E 50%, #010309 100%);
  color:var(--white); place-items:center;
}
html.is-loading .loader{ display:grid; }
html.is-loading body{ overflow:hidden; }
.loader__inner{ display:flex; flex-direction:column; align-items:center; gap:26px; }
.loader__hive{ position:relative; width:120px; height:120px; display:grid; place-items:center; }
.loader__ring{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.loader__ring polygon{ fill:none; stroke:var(--yellow); stroke-width:1.5; vector-effect:non-scaling-stroke; opacity:0; }
.loader__mark{ width:60px; height:60px; overflow:visible; }
.loader__mark path{
  fill:var(--white); fill-opacity:0;
  stroke:var(--white); stroke-width:1.4; vector-effect:non-scaling-stroke;
  stroke-dasharray:100; stroke-dashoffset:100;
}
.loader__bar{ display:block; width:132px; height:1px; background:rgba(255,255,255,.14); overflow:hidden; }
.loader__bar i{ display:block; height:100%; background:var(--yellow); transform:scaleX(0); transform-origin:0 50%; }
.loader__txt{ font-family:var(--font-mono); font-size:10px; letter-spacing:.34em; text-transform:uppercase; color:var(--t-lo); }

/* =========================================================
   BARRA DE PROGRESSO
   ========================================================= */
.progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:120; pointer-events:none; }
.progress span{
  display:block; height:100%; width:100%;
  background:linear-gradient(90deg, var(--yellow-2), var(--yellow));
  transform:scaleX(0); transform-origin:0 50%;
}

/* =========================================================
   HEADER — pílula de vidro ao rolar
   ========================================================= */
.header{ position:fixed; inset:0 0 auto 0; z-index:100; padding-top:12px; transition:transform .5s var(--ease); }
.header.is-hidden{ transform:translateY(-130%); }
.header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  margin-inline:-10px; padding:8px 8px 8px 10px;
  border-radius:999px; border:1px solid transparent;
  transition:background-color .4s, border-color .4s, box-shadow .4s, padding .4s var(--ease);
}
.header.is-stuck .header__inner{
  background:rgba(7,23,51,.84);
  -webkit-backdrop-filter:blur(18px) saturate(150%); backdrop-filter:blur(18px) saturate(150%);
  border-color:rgba(255,255,255,.1);
  box-shadow:0 14px 40px -10px rgba(0,0,0,.6);
  padding-left:18px;
}

.logo{ display:flex; align-items:center; gap:11px; flex:none; }
.logo__mark{ width:24px; height:24px; color:var(--white); transition:transform .6s var(--ease); }
.logo:hover .logo__mark{ transform:rotate(90deg); }
.logo__text{ display:block; }
.logo__word{ width:100px; height:auto; fill:var(--white); display:block; }
.logo__sub{
  display:block; margin-top:3px;
  font-family:var(--font-mono); font-size:7.5px; font-weight:500;
  letter-spacing:.5em; text-transform:uppercase; color:var(--t-lo);
}

.nav{ display:none; }
.header__actions{ display:flex; align-items:center; gap:8px; }
.header__actions .btn--sm{ width:44px; padding:0; }
.header__actions .btn--sm span{ display:none; }

.burger{
  width:44px; height:44px; display:grid; place-content:center; gap:5px;
  border-radius:50%; border:1px solid rgba(255,255,255,.2);
  transition:border-color .25s;
}
.burger:hover{ border-color:var(--white); }
.burger span{ display:block; width:18px; height:1.6px; background:var(--white); border-radius:2px; transition:transform .4s var(--ease); }
.burger.is-open span:nth-child(1){ transform:translateY(3.3px) rotate(45deg); }
.burger.is-open span:nth-child(2){ transform:translateY(-3.3px) rotate(-45deg); }

@media (min-width: 768px){
  .header{ padding-top:16px; }
  .header__inner{ margin-inline:-16px; padding:8px 8px 8px 16px; }
  .header.is-stuck .header__inner{ padding-left:22px; }
}
@media (min-width: 1100px){
  .nav{ display:flex; gap:2px; margin-left:auto; margin-right:8px; }
  .nav a{
    font-size:14px; font-weight:500; color:var(--t-md);
    padding:8px 13px; border-radius:999px;
    transition:color .2s, background-color .25s;
  }
  .nav a:hover{ color:var(--white); background:rgba(255,255,255,.07); }
  .nav a.is-current{ color:var(--white); background:rgba(255,255,255,.11); }
  .burger{ display:none; }
  .header__actions .btn--sm{ width:auto; padding:10px 20px; }
  .header__actions .btn--sm span{ display:inline; }
  .logo__word{ width:112px; }
}

/* ---------- MENU MOBILE ---------- */
.mobile-menu{
  position:fixed; inset:0; z-index:99; isolation:isolate;
  background:var(--grad-a);
  display:flex; flex-direction:column;
  opacity:0; visibility:hidden;
  transition:opacity .4s ease, visibility .4s;
}
.mobile-menu.is-open{ opacity:1; visibility:visible; }
.mobile-menu__mesh{ position:absolute; inset:0; z-index:-1; color:var(--white); opacity:.07; }
.mobile-menu__mesh svg{ width:100%; height:100%; }
.mobile-menu__inner{
  flex:1; display:flex; flex-direction:column; justify-content:space-between;
  padding:96px var(--pad) calc(24px + env(safe-area-inset-bottom));
  max-width:var(--container); margin-inline:auto; width:100%;
}
.mobile-menu__nav{ display:flex; flex-direction:column; }
.mobile-menu__nav a{
  display:flex; align-items:baseline; gap:18px;
  padding:12px 0; min-height:52px;
  font-family:var(--font-display); font-size:clamp(26px,7.4vw,36px); font-weight:600;
  color:var(--white); letter-spacing:-.035em; line-height:1.15;
  border-bottom:1px solid var(--line-dark);
  overflow:hidden; transition:color .2s;
}
.mobile-menu__nav a:hover,
.mobile-menu__nav a:active{ color:var(--yellow); }
.mm__num{ font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.1em; color:var(--t-lo); }
.mm__label{ display:inline-block; transform:translateY(105%); }
.mobile-menu.is-open .mm__label{ transform:none; transition:transform .65s var(--ease); }
.mobile-menu__foot{ margin-top:28px; }
.mobile-menu__tel{ margin-top:14px; text-align:center; font-family:var(--font-mono); font-size:13px; letter-spacing:.06em; color:var(--t-lo); }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; isolation:isolate;
  min-height:100svh;
  display:flex; align-items:center;
  padding-top:116px; padding-bottom:110px;
  color:var(--white);
  overflow:hidden;
}
.hero::before{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(1,3,9,.62) 0%, rgba(1,3,9,.2) 52%, rgba(1,3,9,0) 75%),
    linear-gradient(0deg, var(--black) 0%, rgba(1,3,9,0) 24%);
}
.hero__bg{
  position:absolute; inset:-6% 0; z-index:-3; will-change:transform;
  background:
    radial-gradient(70% 60% at 78% 22%, rgba(38,94,214,.55) 0%, rgba(11,36,82,0) 70%),
    radial-gradient(60% 50% at 0% 100%, rgba(13,39,89,.85) 0%, rgba(13,39,89,0) 70%),
    linear-gradient(180deg, #0D2759 0%, #071733 50%, #010309 100%);
}
.hero__hive{ position:absolute; inset:0; z-index:-2; }
.hero__hive canvas{ position:absolute; inset:0; width:100%; height:100%; }
#hiveBase{ opacity:0; }
.hero__glow{
  position:absolute; left:0; top:0; z-index:-1;
  width:760px; height:760px; margin:-380px 0 0 -380px;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(90,140,255,.16), rgba(6,20,46,0));
  opacity:0; transition:opacity .8s ease;
}
.hero.is-pointer .hero__glow{ opacity:1; }

/* emblema */
.hero__emblem{
  position:absolute; z-index:-1; pointer-events:none;
  top:12%; right:-34%;
  width:94vw; max-width:520px; aspect-ratio:1;
  opacity:.34;
}
.emblem__layer{ position:absolute; inset:0; display:grid; place-items:center; will-change:transform; }
.emblem__ring{ width:100%; height:100%; color:rgba(255,255,255,.16); animation:spin 70s linear infinite; }
.emblem__ring polygon{ fill:none; stroke:currentColor; stroke-width:1; vector-effect:non-scaling-stroke; }
.emblem__ring--b{ color:rgba(255,214,10,.35); animation-duration:95s; animation-direction:reverse; }
.emblem__ring--b polygon{ stroke-dasharray:3 7; }
.emblem__ring--c{ color:rgba(255,255,255,.14); animation-duration:50s; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.emblem__mark{ width:100%; height:100%; overflow:visible; }
.emblem__mark path{ stroke:rgba(255,255,255,.75); stroke-width:1; vector-effect:non-scaling-stroke; }

.emblem__layer--chips{ display:block; }
.emblem__chip{
  position:absolute; top:7%; right:-2%;
  display:none; align-items:center; gap:9px;
  padding:10px 16px 10px 12px; border-radius:999px;
  font-size:13px; font-weight:500; color:var(--white); white-space:nowrap;
  background:rgba(12,34,76,.6);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.6);
  animation:float 7s ease-in-out infinite;
}
.emblem__chip .ico{ width:17px; height:17px; color:var(--yellow); }
.emblem__card{
  position:absolute; bottom:6%; left:-4%; width:236px;
  display:none; padding:14px 14px 12px; border-radius:18px;
  background:rgba(10,30,68,.66);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 50px -16px rgba(0,0,0,.7);
  animation:float 8s ease-in-out infinite; animation-delay:-3.5s;
}
.emblem__card-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-lo); }
.emblem__card-top b{ color:var(--white); font-weight:600; }
.emblem__card-row{ display:grid; grid-template-columns:72px 1fr 32px; align-items:center; gap:8px; margin-bottom:7px; font-size:11.5px; color:var(--t-md); }
.emblem__card-row i{ position:relative; height:5px; border-radius:3px; background:rgba(255,255,255,.1); overflow:hidden; }
.emblem__card-row i::after{ content:''; position:absolute; inset:0; width:calc(var(--p) * 100%); border-radius:inherit; background:linear-gradient(90deg, #fff, var(--steel)); }
.emblem__card-row:first-of-type i::after{ background:var(--yellow); }
.emblem__card-row b{ font-family:var(--font-mono); font-size:10px; color:var(--white); text-align:right; }
.emblem__card-foot{ display:flex; align-items:center; gap:7px; margin-top:4px; padding-top:9px; border-top:1px solid var(--line-dark); font-size:11.5px; color:var(--white); }
.emblem__card-foot .ico{ width:15px; height:15px; color:var(--yellow); }
@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

@media (min-width: 900px){
  .hero__emblem{ top:50%; right:-14%; width:min(62vw,600px); max-width:none; translate:0 -50%; opacity:.42; }
}
@media (min-width: 1280px){
  .hero__emblem{ right:3%; width:min(40vw,600px); opacity:1; }
  .emblem__chip{ display:inline-flex; }
  .emblem__card{ display:block; }
}

/* conteúdo */
.hero__content{ position:relative; will-change:transform, opacity; }
.tag{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 15px 8px 13px; margin-bottom:26px;
  border:1px solid rgba(255,255,255,.16); border-radius:999px;
  background:rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  font-family:var(--font-mono); font-size:10px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.86);
  white-space:nowrap;
}
.tag b{ font-weight:400; opacity:.35; }
.tag__dot{ position:relative; width:7px; height:7px; flex:none; border-radius:50%; background:var(--yellow); }
.tag__dot::after{ content:''; position:absolute; inset:0; border-radius:50%; background:var(--yellow); animation:ping 2.2s var(--ease) infinite; }
@keyframes ping{ 0%{ transform:scale(1); opacity:.7; } 80%,100%{ transform:scale(3.2); opacity:0; } }

.hero__title{
  font-size:clamp(40px,9.8vw,88px);
  font-weight:700; line-height:1; letter-spacing:-.055em;
  max-width:14ch;
}
.hero__title em{ font-style:normal; color:var(--steel); }

.hero__sub{
  margin-top:24px; max-width:54ch;
  font-size:clamp(15px,1.45vw,18px); line-height:1.65;
  color:var(--t-md);
}
.hero__sub strong{ color:var(--white); font-weight:600; }

.hero__cta{ display:flex; flex-direction:column; gap:12px; margin-top:34px; }
.hero__note{ display:flex; align-items:center; gap:8px; margin-top:14px; font-size:13px; color:var(--t-md); }
.hero__note .ico{ width:16px; height:16px; color:var(--yellow); }

.proof{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line-dark); }
.proof li{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-size:12px; line-height:1.35; color:var(--t-md); }
@media (min-width: 560px){
  .proof{ display:flex; flex-wrap:wrap; gap:14px 26px; }
  .proof li{ flex-direction:row; align-items:center; gap:12px; font-size:13.5px; max-width:200px; }
}
.proof b{ color:var(--white); font-weight:600; }
.proof__hex{
  width:46px; height:52px; flex:none; display:grid; place-items:center;
  clip-path:var(--hex);
  background:linear-gradient(150deg, rgba(255,255,255,.2), rgba(255,255,255,.04));
  font-family:var(--font-display); font-size:14px; font-weight:700; letter-spacing:-.03em; color:var(--white);
}
.proof li:first-child .proof__hex{ background:var(--yellow); color:var(--navy-900); }
.proof__hex .ico{ width:20px; height:20px; }

.hero__foot{ display:none; }

.scroll-cue{
  position:absolute; left:50%; bottom:22px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:9.5px; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase; color:var(--t-lo);
  padding:8px 12px;
}
.scroll-cue__line{ display:block; width:1px; height:40px; overflow:hidden; background:rgba(255,255,255,.14); }
.scroll-cue__line i{ display:block; width:100%; height:50%; background:var(--yellow); animation:cueRun 1.9s var(--ease) infinite; }
@keyframes cueRun{ 0%{ transform:translateY(-100%); } 60%,100%{ transform:translateY(200%); } }

@media (min-width: 420px){ .tag{ font-size:10.5px; letter-spacing:.14em; } }
@media (min-width: 768px){
  .hero__cta{ flex-direction:row; }
  .proof li{ font-size:14px; }
}
@media (min-width: 900px){
  .hero__foot{
    display:block; position:absolute; left:0; right:0; bottom:32px;
    font-family:var(--font-mono); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase;
    color:var(--t-lo);
  }
  .hero__foot-inner{ display:flex; justify-content:space-between; }
}

/* =========================================================
   MÉTRICAS — colmeia de hexágonos
   ========================================================= */
.metrics-sec{
  position:relative; isolation:isolate; overflow:hidden;
  padding-block:40px calc(96px + var(--stack));
  background:linear-gradient(180deg, var(--black) 0%, #06132B 60%, #0A2250 100%);
  color:var(--white);
}
.metrics__texture{ position:absolute; inset:-12%; z-index:-1; color:var(--white); opacity:.05; will-change:transform; }
.metrics__texture svg{ width:100%; height:100%; }
.metrics__head{ text-align:center; margin-bottom:34px; }
.metrics__head .eyebrow{ justify-content:center; }
.metrics__title{ font-size:clamp(26px,4.4vw,46px); line-height:1.06; letter-spacing:-.04em; max-width:20ch; margin-inline:auto; }

.hexstats{
  --w:min(calc((100vw - 2 * var(--pad)) / 1.75), 230px);
  --h:calc(var(--w) * .87);
  display:grid; justify-content:center;
  grid-template-columns:calc(var(--w) * .75) calc(var(--w) * .25) calc(var(--w) * .75);
  grid-template-rows:repeat(5, calc(var(--h) / 2));
}
.hexstat{ position:relative; width:var(--w); height:var(--h); }
.hexstat:nth-child(1){ grid-column:1 / 3; grid-row:1 / 3; }
.hexstat:nth-child(2){ grid-column:2 / 4; grid-row:2 / 4; }
.hexstat:nth-child(3){ grid-column:1 / 3; grid-row:3 / 5; }
.hexstat:nth-child(4){ grid-column:2 / 4; grid-row:4 / 6; }
.hexstat__shape{ position:absolute; left:3%; top:3%; width:94%; height:94%; overflow:visible; transition:transform .5s var(--ease); }
.hexstat__fill{ fill:rgba(255,255,255,.035); transition:fill .4s; }
.hexstat__line{ fill:none; stroke:rgba(255,255,255,.28); stroke-width:1.2; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.hexstat--hl .hexstat__fill{ fill:url(#g-hl); }
.hexstat--hl .hexstat__line{ stroke:var(--yellow); stroke-width:1.6; }
.hexstat__body{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:0 20%; text-align:center;
}
.metric__val{
  display:block;
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(26px,7.6vw,54px); line-height:1;
  letter-spacing:-.05em; color:var(--white);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.metric__label{ display:block; margin-top:8px; font-size:11.5px; line-height:1.35; color:var(--t-md); }
@media (hover: hover){
  .hexstat:hover .hexstat__shape{ transform:scale(1.04); }
  .hexstat:hover .hexstat__fill{ fill:rgba(46,107,255,.16); }
}
@media (min-width: 768px){
  .metrics-sec{ padding-top:56px; }
  .metrics__head{ margin-bottom:48px; }
  .hexstats{
    --w:min(calc((100vw - 2 * var(--pad)) / 3.3), 300px);
    grid-template-columns:repeat(4, calc(var(--w) * .75)) calc(var(--w) * .25);
    grid-template-rows:repeat(3, calc(var(--h) / 2));
  }
  .hexstat:nth-child(1){ grid-column:1 / 3; grid-row:1 / 3; }
  .hexstat:nth-child(2){ grid-column:2 / 4; grid-row:2 / 4; }
  .hexstat:nth-child(3){ grid-column:3 / 5; grid-row:1 / 3; }
  .hexstat:nth-child(4){ grid-column:4 / 6; grid-row:2 / 4; }
  .metric__label{ font-size:13.5px; }
}

/* =========================================================
   ABAS (componente)
   ========================================================= */
.tabs__bar{ display:flex; justify-content:center; margin:0 calc(var(--pad) * -1) 34px; padding-inline:var(--pad); }
.tabs__list{
  position:relative; display:flex; gap:4px; padding:5px; max-width:100%;
  border-radius:999px; background:var(--paper); border:1px solid var(--line-light);
  overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity;
}
.tabs__list::-webkit-scrollbar{ display:none; }
.tabs__tab{
  position:relative; z-index:1; flex:none;
  display:inline-flex; align-items:center; gap:8px;
  min-height:46px; padding:10px 18px; border-radius:999px;
  font-family:var(--font-display); font-size:14.5px; font-weight:600; color:var(--ink-soft);
  white-space:nowrap; scroll-snap-align:center;
  transition:color .35s;
}
.tabs__tab:hover{ color:var(--ink); }
.tabs__tab[aria-selected="true"]{ color:#fff; }
.tabs__tab .ico{ width:18px; height:18px; }
.tabs__ink{
  position:absolute; z-index:0; top:0; left:0; width:0; height:0;
  border-radius:999px; background:var(--grad-vivid);
  box-shadow:0 10px 24px -8px rgba(18,57,160,.6);
  transition:transform .55s var(--ease), width .55s var(--ease), height .55s var(--ease);
}
.tabs__panels{ display:grid; }
.tabpanel{ grid-area:1 / 1; min-width:0; opacity:0; visibility:hidden; transition:opacity .35s, visibility 0s .35s; }
.tabpanel.is-active{ opacity:1; visibility:visible; transition:opacity .45s .05s, visibility 0s; }

/* =========================================================
   SERVIÇOS
   ========================================================= */
#servicos .tabpanel{ display:grid; gap:36px; align-items:center; }
.tabpanel__idx{ display:block; margin-bottom:14px; font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.1em; color:var(--navy-600); }
.tabpanel__idx i{ font-style:normal; color:var(--ink-soft); opacity:.6; }
.tabpanel__text h3{ font-size:clamp(28px,3.6vw,42px); line-height:1.04; letter-spacing:-.045em; margin-bottom:16px; }
.tabpanel__text > p{ color:var(--ink-soft); font-size:16px; }
.checklist{ display:grid; gap:2px; margin:24px 0 28px; }
.checklist li{ display:flex; align-items:flex-start; gap:12px; padding:9px 0; font-size:15px; line-height:1.45; border-bottom:1px solid var(--line-light); }
.checklist svg{
  width:22px; height:22px; flex:none; padding:4px; margin-top:-1px;
  border-radius:50%; background:var(--navy-900); color:var(--white); stroke-width:2.6;
}
.tabpanel__cta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; }

/* visual escuro */
.svisual{
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:var(--radius-lg); padding:16px;
  background:var(--grad-card); color:var(--white);
  box-shadow:var(--shadow-lg);
}
.svisual::before{
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(rgba(140,175,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,175,255,.07) 1px, transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 40%, #000 30%, transparent 85%);
          mask-image:radial-gradient(ellipse 90% 80% at 50% 40%, #000 30%, transparent 85%);
}
.svisual__top{
  display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:2px 4px 12px; border-bottom:1px solid var(--line-dark);
  font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--t-lo);
}
.live-tag{ display:inline-flex; align-items:center; gap:7px; color:var(--white); }
.live-tag i{ position:relative; width:7px; height:7px; border-radius:50%; background:var(--yellow); }
.live-tag i::after{ content:''; position:absolute; inset:0; border-radius:50%; background:var(--yellow); animation:ping 2.2s var(--ease) infinite; }

/* planta baixa */
.plan{ width:100%; height:auto; margin-top:10px; overflow:visible; }
.plan__axes path{ fill:none; stroke:rgba(120,160,255,.24); stroke-width:1; stroke-dasharray:3 5; }
.plan__axes circle{ fill:var(--navy-850); stroke:rgba(120,160,255,.5); stroke-width:1; }
.plan__axes text{ font-family:var(--font-mono); font-size:9px; font-weight:600; fill:rgba(170,200,255,.9); text-anchor:middle; }
.plan__walls path{ fill:none; stroke:#fff; stroke-width:5; stroke-linecap:square; }
.plan__thin path{ fill:none; stroke:rgba(255,255,255,.55); stroke-width:1.5; }
.plan__cols rect{ fill:var(--yellow); stroke:#000; stroke-width:1.5; transform-box:fill-box; transform-origin:50% 50%; }
.plan__labels text{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:.08em; fill:rgba(255,255,255,.6); text-anchor:middle; }
.plan__labels .plan__area{ fill:#fff; font-size:11px; font-weight:600; }
.plan__dims path{ fill:none; stroke:rgba(255,255,255,.4); stroke-width:1; }
.plan__dims text{ font-family:var(--font-mono); font-size:9px; fill:var(--t-md); text-anchor:middle; }
.svisual__stamp{
  position:absolute; right:18px; bottom:18px;
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px 8px 10px; border-radius:999px;
  background:var(--white); color:var(--navy-900);
  font-family:var(--font-display); font-size:12.5px; font-weight:700;
  box-shadow:0 12px 26px -8px rgba(0,0,0,.6); rotate:-4deg;
}
.svisual__stamp svg{ width:18px; height:18px; padding:3px; border-radius:50%; background:var(--yellow); color:var(--navy-900); stroke-width:3; }

/* painel da obra */
.dash{ display:grid; gap:12px; margin-top:14px; }
.dash__kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.kpi{ display:flex; flex-direction:column; gap:3px; padding:10px 11px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); min-width:0; }
.kpi span{ font-family:var(--font-mono); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-lo); }
.kpi b{ font-family:var(--font-display); font-size:13.5px; font-weight:600; color:var(--white); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kpi b em{ font-style:normal; }
.kpi__ok::before{ content:''; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:var(--yellow); vertical-align:1px; }
.dash__main{ display:grid; grid-template-columns:104px 1fr; gap:16px; align-items:center; padding:14px; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid var(--line-dark); }
.ring{ position:relative; width:104px; height:104px; }
.ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.ring circle{ fill:none; stroke-width:10; }
.ring__track{ stroke:rgba(255,255,255,.09); }
.ring__fill{ stroke:var(--yellow); stroke-linecap:round; stroke-dasharray:100; stroke-dashoffset:36; }
.ring__txt{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.ring__txt b{ font-family:var(--font-display); font-size:24px; font-weight:700; letter-spacing:-.04em; line-height:1; }
.ring__txt b em{ font-style:normal; }
.ring__txt span{ margin-top:3px; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--t-lo); }
.dash__bars{ display:grid; gap:8px; }
.dbar{ display:grid; grid-template-columns:70px 1fr; align-items:center; gap:10px; }
.dbar span{ font-family:var(--font-mono); font-size:9px; letter-spacing:.04em; text-transform:uppercase; color:var(--t-lo); }
.dbar b{ position:relative; display:block; height:7px; border-radius:99px; background:rgba(255,255,255,.06); }
.dbar b i{ position:absolute; top:0; bottom:0; left:calc(var(--s) * 100%); width:calc(var(--w) * 100%); border-radius:99px; background:linear-gradient(90deg, #fff, var(--steel)); transform-origin:0 50%; }
.dbar:nth-child(2) b i{ background:var(--yellow); }
.dbar--plan b i{ background:transparent; border:1px dashed rgba(255,255,255,.45); }
.dash__feed{ display:grid; gap:6px; }
.feed{ display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:10px; padding:8px 10px; border-radius:12px; background:rgba(255,255,255,.04); }
.feed__ico{ width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); }
.feed__ico svg{ width:15px; height:15px; }
.feed__ico--ok{ background:var(--yellow); color:var(--navy-900); }
.feed__ico--ok svg{ stroke-width:3; }
.feed p{ font-size:12.5px; color:var(--white); line-height:1.3; }
.feed time{ font-family:var(--font-mono); font-size:9.5px; color:var(--t-lo); }

/* antes × depois */
.ba{
  --pos:50%;
  position:relative; margin-top:14px; border-radius:16px; overflow:hidden;
  aspect-ratio:480 / 340; touch-action:pan-y; cursor:ew-resize; user-select:none;
}
.ba__layer{ position:absolute; inset:0; width:100%; height:100%; }
.ba__after{ clip-path:inset(0 0 0 var(--pos)); }
.ba-wall{ fill:#1B2232; }
.ba-floor{ fill:#11151E; }
.ba-crack{ fill:none; stroke:#8A93A6; stroke-width:1.6; }
.ba-stain{ fill:rgba(150,130,95,.22); }
.ba-old{ fill:none; stroke:#6C7487; stroke-width:2; }
.ba-broken{ fill:none; stroke:#6C7487; stroke-width:1; stroke-dasharray:3 3; }
.ba-wire{ fill:none; stroke:#8A93A6; stroke-width:1.5; }
.ba-wire--dash{ stroke-dasharray:4 4; }
.ba-tiles{ fill:none; stroke:rgba(255,255,255,.1); }
.ba-label{ font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:.2em; fill:rgba(255,255,255,.55); }
.ba-label--after{ fill:#fff; }
.ba-floor2{ fill:#0A1A3A; }
.ba-new{ fill:none; stroke:#fff; stroke-width:2.5; stroke-linecap:round; }
.ba-sky{ fill:rgba(150,190,255,.2); }
.ba-lamp{ fill:#fff; }
.ba-book{ fill:rgba(255,255,255,.75); }
.ba-book--y{ fill:var(--yellow); }
.ba-sofa{ fill:rgba(255,255,255,.12); stroke:#fff; stroke-width:2; }
.ba-plant{ fill:rgba(255,255,255,.14); stroke:#fff; stroke-width:1.6; }
.ba-tiles2{ fill:none; stroke:rgba(255,255,255,.18); }
.ba__handle{ position:absolute; top:0; bottom:0; left:var(--pos); width:2px; margin-left:-1px; background:#fff; box-shadow:0 0 20px rgba(255,255,255,.6); pointer-events:none; }
.ba__knob{
  position:absolute; top:50%; left:50%; width:44px; height:50px; translate:-50% -50%;
  display:grid; place-items:center; clip-path:var(--hex);
  background:var(--yellow); color:var(--navy-900);
}
.ba__knob svg{ width:20px; height:20px; stroke-width:2.4; }
.ba__range{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.ba:focus-within .ba__handle{ box-shadow:0 0 0 2px var(--yellow), 0 0 20px rgba(255,255,255,.6); }

/* construção */
.build{ width:100%; height:auto; margin-top:10px; overflow:visible; }
.build__ground path{ fill:none; stroke:rgba(255,255,255,.5); stroke-width:2; }
.build__ground .build__hatch{ stroke:rgba(255,255,255,.18); stroke-width:1; }
.build__found rect{ fill:rgba(255,255,255,.28); }
.build__found path{ fill:none; stroke:rgba(255,255,255,.3); stroke-width:2; stroke-dasharray:4 4; }
.build .col{ fill:rgba(255,255,255,.88); }
.build .slab{ fill:#fff; }
.build .slab--roof{ fill:var(--steel); }
.build__walls rect{ fill:rgba(120,160,255,.18); stroke:rgba(255,255,255,.18); }
.build__walls .win{ fill:rgba(170,200,255,.4); stroke:none; }
.build .col, .build .slab, .build__walls rect, .build__flag{ transform-box:fill-box; transform-origin:50% 100%; }
.crane__mast, .crane__jib, .crane__top{ fill:none; stroke:var(--yellow); stroke-width:2; stroke-linejoin:round; }
.crane__cab{ fill:var(--yellow); }
.crane__weight{ fill:rgba(255,255,255,.5); }
.crane__cable{ fill:none; stroke:rgba(255,255,255,.6); stroke-width:1.2; }
.crane__claw{ fill:none; stroke:var(--yellow); stroke-width:2; }
.build__flag{ fill:var(--yellow); stroke:#000; stroke-width:2.5; }
.build__steps{
  position:absolute; left:20px; top:58px; display:grid; gap:6px;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--t-lo);
}
.build__steps li{ display:flex; align-items:center; gap:8px; transition:color .3s; }
.build__steps i{ width:10px; height:11px; clip-path:var(--hex); background:rgba(255,255,255,.2); transition:background-color .3s; }
.build__steps li.is-done{ color:var(--white); }
.build__steps li.is-done i{ background:var(--yellow); }

@media (max-width: 899px){
  /* abas do serviço: as 4 sempre visíveis */
  #svcTabs .tabs__bar{ margin-inline:0; padding-inline:0; }
  #svcTabs .tabs__list{ display:grid; grid-template-columns:1fr 1fr; width:100%; border-radius:22px; overflow:visible; }
  #svcTabs .tabs__tab{ justify-content:center; padding:10px 12px; font-size:14px; }
  /* o visual animado vem logo depois do texto de abertura */
  #servicos .tabpanel{ gap:0; }
  #servicos .tabpanel__text{ display:contents; }
  #servicos .tabpanel__idx{ order:1; }
  #servicos .tabpanel__text h3{ order:2; }
  #servicos .tabpanel__text > p{ order:3; }
  #servicos .svisual{ order:4; margin-top:24px; }
  #servicos .checklist{ order:5; }
  #servicos .tabpanel__cta{ order:6; }
}
@media (min-width: 900px){
  #servicos .tabpanel{ grid-template-columns:1fr 1.08fr; gap:64px; }
  .svisual{ padding:20px; }
}

/* =========================================================
   VITRINE — OBRA ENTREGUE (fixa no scroll)
   ========================================================= */
.showcase{
  position:relative; z-index:1; overflow:hidden;
  background:var(--white);
  border-radius:var(--stack) var(--stack) 0 0;
  margin-top:calc(var(--stack) * -1);
}
.showcase__pin{
  position:relative; height:100vh; height:100svh; overflow:hidden;
  display:grid; place-items:center;
}
.showcase__dark{
  position:absolute; inset:0;
  background:radial-gradient(80% 70% at 50% 40%, #0F2E6A 0%, #06142E 52%, var(--black) 100%);
  opacity:0;
}
.showcase{ --fw:min(calc(100vw - 40px), 44svh, 460px); }
.showcase__words{
  position:absolute; inset:0; z-index:2; margin:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:calc(var(--fw) * .95);
  font-size:clamp(50px,15vw,220px); font-weight:800; letter-spacing:-.065em; line-height:.9;
  color:var(--ink); pointer-events:none; white-space:nowrap;
}
.showcase__word{ display:inline-block; will-change:transform; }
.showcase__frame{
  position:relative; z-index:3;
  width:var(--fw); aspect-ratio:3 / 5;
}
.showcase__clip{
  position:absolute; inset:0; overflow:hidden; border-radius:24px;
  background:#000; will-change:clip-path;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.8);
}
.showcase__video{ width:100%; height:100%; object-fit:cover; }
.showcase__shade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(1,3,9,0) 45%, rgba(1,3,9,.85) 100%); }
.showcase__comb{ position:absolute; z-index:1; left:50%; top:50%; width:10px; height:10px; translate:-50% -50%; overflow:visible; pointer-events:none; }
.showcase__comb polygon{ fill:none; stroke:var(--navy-600); stroke-width:1.5; vector-effect:non-scaling-stroke; }
.showcase__comb .sc-core{ stroke:var(--yellow); stroke-width:2.5; }
.showcase__comb .sc-fill{ fill:var(--navy-900); stroke:none; }
.showcase__comb .sc-y{ fill:var(--yellow); stroke:#000; stroke-width:2; }
.showcase__caption{
  position:absolute; z-index:4; left:calc(var(--pad) + 14px); right:calc(var(--pad) + 14px); bottom:calc(50svh - var(--fw) * 5 / 6 + 22px);
  color:var(--white); max-width:380px;
}
.showcase__kicker{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:10px;
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--t-md);
}
.showcase__kicker i{ width:10px; height:11px; clip-path:var(--hex); background:var(--yellow); }
.showcase__caption p{ font-family:var(--font-display); font-size:clamp(17px,1.8vw,21px); line-height:1.4; letter-spacing:-.015em; margin-bottom:14px; }
.showcase__hint{
  position:absolute; z-index:4; left:50%; bottom:24px; translate:-50% 0;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft);
}
@media (min-width: 900px){
  .showcase{ --fw:min(46svh, 470px); }
  .showcase__words{
    display:grid; grid-template-columns:1fr calc(var(--fw) * .7) 1fr; gap:0; align-items:center;
    font-size:min(9vw, 170px);
  }
  .showcase__word--l{ grid-column:1; justify-self:end; }
  .showcase__word--r{ grid-column:3; justify-self:start; }
  .showcase__caption{ left:auto; right:5vw; bottom:auto; top:50%; translate:0 -50%; max-width:min(340px, calc((100vw - var(--fw)) / 2 - 7vw)); }
}
/* sem animação: estado final */
html:not(.has-gsap) .showcase__dark{ opacity:1; }
html:not(.has-gsap) .showcase__words{ color:rgba(255,255,255,.08); }
html:not(.has-gsap) .showcase__hint{ display:none; }

/* =========================================================
   VANTAGENS — bento + colmeia que acende
   ========================================================= */
.bento-hive{
  position:absolute; inset:0; z-index:-1; color:#8FB0FF; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 45%, #000 20%, transparent 80%);
          mask-image:radial-gradient(ellipse 80% 60% at 50% 45%, #000 20%, transparent 80%);
}
.bento-hive svg{ width:100%; height:100%; }
.bento-hive path{ opacity:.06; }

.adv{ display:grid; gap:14px; position:relative; }
.adv__card{
  position:relative; isolation:isolate; overflow:hidden;
  padding:26px 22px;
  border:1px solid var(--line-dark); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.015) 100%);
  -webkit-backdrop-filter:blur(2px); backdrop-filter:blur(2px);
  transition:border-color .35s;
}
.adv__icon{
  width:48px; height:54px; display:grid; place-content:center; margin-bottom:22px;
  clip-path:var(--hex); color:var(--white);
  background:linear-gradient(150deg, rgba(255,255,255,.18), rgba(255,255,255,.05));
  transition:background .35s, color .35s, transform .5s var(--ease);
}
.adv__card:hover .adv__icon{ background:var(--yellow); color:var(--navy-900); transform:rotate(-8deg); }
.adv__icon svg{ width:21px; height:21px; }
.adv__card h3{ position:relative; font-size:19px; letter-spacing:-.025em; margin-bottom:10px; hyphens:auto; }
.adv__card p{ position:relative; font-size:14.5px; color:var(--t-md); }
.adv__big{
  position:absolute; top:16px; right:20px; z-index:-1;
  font-family:var(--font-display); font-weight:800; line-height:1;
  font-size:58px; letter-spacing:-.06em;
  color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.22);
  pointer-events:none;
}
.adv__hexes{ display:none; }
.adv__hexes path{ fill:none; stroke:rgba(255,255,255,.18); stroke-width:1; vector-effect:non-scaling-stroke; }
.adv__hexes path:nth-child(3){ fill:rgba(255,214,10,.85); stroke:#000; }

.gantt{ display:grid; gap:11px; margin-top:24px; }
.gantt__row{ display:grid; grid-template-columns:78px 1fr; align-items:center; gap:12px; }
.gantt__row span{ font-family:var(--font-mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--t-lo); }
.gantt__row b{ position:relative; display:block; height:8px; border-radius:99px; background:rgba(255,255,255,.06); }
.gantt__row b i{
  position:absolute; top:0; bottom:0;
  left:calc(var(--s) * 100%); width:calc(var(--w) * 100%);
  border-radius:99px; background:linear-gradient(90deg, #FFFFFF, rgba(255,255,255,.6));
  transform-origin:0 50%;
}
.gantt__row:nth-child(2) b i{ background:var(--yellow); }
.gantt__row:last-child b i{ background:transparent; border:1px dashed rgba(255,255,255,.45); }

@media (min-width: 640px){
  .adv{ grid-template-columns:repeat(2,1fr); gap:16px; }
  .adv__card--wide{ grid-column:span 2; }
  .adv__card--wide > h3,
  .adv__card--wide > p{ max-width:34ch; }
  .adv__big{ top:auto; bottom:-14px; right:24px; font-size:clamp(96px,14vw,168px); }
  .adv__hexes{ display:block; position:absolute; right:-10px; bottom:-34px; width:230px; z-index:-1; }
}
@media (min-width: 980px){
  .adv{ grid-template-columns:repeat(3,1fr); gap:18px; }
  .adv__card{ padding:34px 32px; min-height:270px; }
  .adv__card--wide-lg{ grid-column:span 2; }
  .adv__card--wide-lg > h3,
  .adv__card--wide-lg > p{ max-width:30ch; }
  .adv__card--wide-lg .gantt{ position:absolute; right:32px; top:50%; translate:0 -50%; width:44%; margin:0; }
}

/* comparativo */
.compare{
  margin-top:48px; padding:24px 18px 10px;
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid var(--line-dark);
}
.compare__head{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:14px; }
.compare__head h3{ font-size:clamp(22px,2.6vw,30px); letter-spacing:-.035em; }
.switch{
  position:relative; display:inline-flex; padding:5px; border-radius:999px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
}
.switch__btn{
  position:relative; z-index:1; min-height:42px; padding:9px 18px; border-radius:999px;
  font-family:var(--font-display); font-size:14px; font-weight:600; color:var(--t-md);
  transition:color .35s;
}
.switch__btn[aria-selected="true"]{ color:var(--navy-900); }
.switch__ink{ background:#fff; box-shadow:0 8px 20px -8px rgba(255,255,255,.5); }
.compare__panels{ display:grid; }
.cmp{ display:grid; }
.cmp li{
  display:grid; grid-template-columns:1fr; gap:4px 12px; align-items:center;
  grid-template-areas:"k k" "i v";
  grid-template-columns:28px 1fr;
  padding:14px 0; border-top:1px solid var(--line-dark);
}
.cmp__k{ grid-area:k; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-lo); }
.cmp__ico{ grid-area:i; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:rgba(255,110,110,.14); color:#FF8F8F; }
.cmp__ico svg{ width:15px; height:15px; stroke-width:2.6; }
.cmp__ico--ok{ background:var(--yellow); color:var(--navy-900); }
.cmp__v{ grid-area:v; font-size:15px; color:var(--white); line-height:1.4; }
.cmp--bad .cmp__v{ color:var(--t-md); }
@media (min-width: 768px){
  .compare{ padding:34px 36px 18px; }
  .compare__head{ flex-direction:row; justify-content:space-between; align-items:center; margin-bottom:20px; }
  .cmp{ grid-template-columns:1fr 1fr; column-gap:48px; }
  .cmp li{ grid-template-areas:"k i v"; grid-template-columns:120px 28px 1fr; }
}

/* =========================================================
   PROCESSO — jornada com linha amarela e colmeias
   ========================================================= */
.journey{ position:relative; display:grid; gap:20px; max-width:1040px; margin-inline:auto; }
.journey__track{
  position:absolute; left:32px; top:36px; height:0; width:4px; margin-left:-2px;
  border-radius:4px; background:var(--mist);
}
.journey__fill{
  position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(180deg, #FFE45C 0%, var(--yellow) 50%, var(--yellow-2) 100%);
  box-shadow:0 0 18px rgba(255,214,10,.6);
  transform:scaleY(0); transform-origin:50% 0;
}
.journey__head{
  position:absolute; left:50%; top:0; width:18px; height:20px; margin:-10px 0 0 -9px;
  clip-path:var(--hex); background:var(--yellow);
  filter:drop-shadow(0 0 6px rgba(255,214,10,.9));
  will-change:transform;
}
.jstep{ position:relative; display:grid; grid-template-columns:64px 1fr; gap:16px; align-items:start; }
.jstep__node{ position:relative; z-index:1; width:64px; height:72px; }
.jstep__node::before{
  content:''; position:absolute; inset:-18px; border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,214,10,.5), rgba(255,214,10,0));
  opacity:0; transition:opacity .6s var(--ease);
}
.jstep__node svg{ position:relative; width:100%; height:100%; overflow:visible; }
.jn-outer{ fill:#EEF2F8; stroke:#D3DCEA; stroke-width:1.5; transition:fill .5s, stroke .5s; }
.jn-inner{ fill:#fff; stroke:#C2CDDF; stroke-width:2; transition:fill .5s, stroke .5s, stroke-width .3s; }
.jstep__num{
  position:absolute; inset:0; display:grid; place-items:center;
  font-family:var(--font-display); font-size:19px; font-weight:800; color:var(--ink-soft);
  transition:color .4s, scale .5s var(--ease);
}
.jstep__card{
  position:relative; isolation:isolate; overflow:hidden;
  padding:22px 20px 20px; border-radius:var(--radius);
  background:var(--paper); border:1px solid var(--line-light); color:var(--ink);
  transition:color .5s, border-color .5s, box-shadow .6s var(--ease), translate .6s var(--ease);
}
.jstep__card::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--grad-vivid); opacity:0; transition:opacity .6s var(--ease);
}
.jstep__card::after{
  content:''; position:absolute; right:-30px; top:-30px; z-index:-1; width:200px; height:200px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v33M0 48l-28 16M56 48l28 16' fill='none' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
  background-size:40px 69px; opacity:0; transition:opacity .6s;
  -webkit-mask-image:radial-gradient(closest-side, #000, transparent); mask-image:radial-gradient(closest-side, #000, transparent);
}
.jstep__kicker{ display:block; margin-bottom:8px; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); transition:color .4s; }
.jstep__card h3{ font-size:clamp(20px,2.2vw,24px); letter-spacing:-.03em; margin-bottom:8px; }
.jstep__card p{ font-size:15px; color:var(--ink-soft); transition:color .5s; }
.jstep__get{
  display:inline-flex; align-items:flex-start; gap:8px; margin-top:16px;
  padding:9px 13px; border-radius:14px;
  font-size:13px; font-weight:500; line-height:1.35;
  background:rgba(5,14,34,.05); color:var(--ink);
  transition:background-color .5s, color .5s;
}
.jstep__get svg{ width:16px; height:16px; flex:none; margin-top:1px; stroke-width:2.6; color:var(--navy-600); transition:color .4s; }

/* etapa alcançada */
.jstep.is-active .jstep__node::before{ opacity:1; }
.jstep.is-active .jn-outer{ fill:url(#g-node); stroke:#0A2A6B; }
.jstep.is-active .jn-inner{ fill:var(--yellow); stroke:#000; stroke-width:3; }
.jstep.is-active .jstep__num{ color:#000; scale:1.08; }
.jstep.is-active .jstep__card{ color:#fff; border-color:transparent; box-shadow:0 28px 60px -22px rgba(18,57,160,.65); }
.jstep.is-active .jstep__card::before{ opacity:1; }
.jstep.is-active .jstep__card::after{ opacity:.12; }
.jstep.is-active .jstep__kicker{ color:var(--yellow); }
.jstep.is-active .jstep__card p{ color:rgba(255,255,255,.8); }
.jstep.is-active .jstep__get{ background:rgba(255,255,255,.1); color:#fff; }
.jstep.is-active .jstep__get svg{ color:var(--yellow); }
/* etapa atual pulsa */
.jstep.is-current .jstep__node svg{ animation:nodePulse 2s var(--ease) infinite; }
@keyframes nodePulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.07); } }

@media (min-width: 900px){
  .journey{ gap:34px; }
  .journey__track{ left:50%; }
  .jstep{ grid-template-columns:1fr 72px 1fr; gap:36px; }
  .jstep__node{ grid-column:2; grid-row:1; width:72px; height:81px; }
  .jstep__card{ grid-row:1; padding:28px 28px 24px; max-width:440px; }
  .jstep:nth-child(even) .jstep__card{ grid-column:1; justify-self:end; text-align:right; }
  .jstep:nth-child(even) .jstep__get{ flex-direction:row-reverse; text-align:right; }
  .jstep:nth-child(odd) .jstep__card{ grid-column:3; justify-self:start; }
  .jstep__num{ font-size:21px; }
  .jstep.is-active .jstep__card{ translate:0 -4px; }
}

/* =========================================================
   DIFERENCIAL — mosaico em colmeia + celular
   ========================================================= */
.split{ display:grid; gap:52px; }
.stage{ position:relative; height:560px; --w:96px; width:100%; max-width:600px; margin-inline:auto; }
.mosaic{ position:absolute; left:-6px; top:0; width:calc(var(--w) * 3.2); height:calc(var(--w) * 3.02); }
.tile{
  --h:calc(var(--w) * 1.1547);
  position:absolute;
  left:calc(50% + var(--dx) * var(--w) * 1.04 - var(--w) / 2);
  top:calc(50% + var(--dy) * var(--h) * 1.04 - var(--h) / 2);
  width:var(--w); height:var(--h);
  clip-path:var(--hex);
  will-change:transform;
}
.tile--img{
  background-image:url("assets/equipe.jpg");
  background-size:calc(var(--w) * 3.2) auto;
  background-position:
    calc(var(--w) * -1.6 + var(--w) / 2 - var(--dx) * var(--w) * 1.04)
    calc(var(--w) * -2.86 + var(--h) / 2 - var(--dy) * var(--h) * 1.04);
  filter:saturate(.85) contrast(1.05);
}
.tile--yellow{ display:grid; place-items:center; background:var(--yellow); color:var(--navy-900); }
.tile--yellow svg{ width:38%; height:38%; }
.tile--navy{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--grad-vivid); color:#fff;
}
.tile--navy b{ font-family:var(--font-display); font-size:calc(var(--w) * .3); font-weight:800; letter-spacing:-.05em; line-height:1; }
.tile--navy small{ font-family:var(--font-mono); font-size:calc(var(--w) * .1); letter-spacing:.14em; text-transform:uppercase; opacity:.8; }
.tile--ghost{
  clip-path:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 115.47' preserveAspectRatio='none'%3E%3Cpolygon points='50,1 99,29.3 99,86.2 50,114.5 1,86.2 1,29.3' fill='none' stroke='white' stroke-opacity='.28' stroke-width='1.2'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.tile--ghost-y{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 115.47' preserveAspectRatio='none'%3E%3Cpolygon points='50,1 99,29.3 99,86.2 50,114.5 1,86.2 1,29.3' fill='none' stroke='%23FFD60A' stroke-width='1.6'/%3E%3C/svg%3E");
}

/* celular */
.phone{
  position:absolute; right:0; bottom:28px; z-index:2;
  width:206px; height:420px; padding:8px; border-radius:34px;
  background:linear-gradient(160deg, #23324F 0%, #070B14 100%);
  box-shadow:0 40px 80px -24px rgba(0,0,0,.85), inset 0 0 0 1px rgba(255,255,255,.14);
}
.phone::before{ content:''; position:absolute; top:14px; left:50%; width:62px; height:16px; margin-left:-31px; border-radius:10px; background:#05070C; z-index:2; }
.phone__screen{ height:100%; display:flex; flex-direction:column; border-radius:27px; overflow:hidden; background:#0B141A; }
.chat__head{ display:flex; align-items:center; gap:9px; padding:36px 12px 10px; background:#1F2C34; }
.chat__avatar{ width:30px; height:30px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--grad-vivid); color:#fff; }
.chat__avatar svg{ width:14px; height:14px; }
.chat__who{ display:flex; flex-direction:column; line-height:1.2; }
.chat__who b{ font-size:12px; font-weight:600; color:#E9EDEF; }
.chat__who small{ font-size:10px; color:#8696A0; }
.chat__body{
  flex:1; display:flex; flex-direction:column; justify-content:flex-end; gap:6px; padding:10px 9px; overflow:hidden; min-height:0;
  background:#0B141A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48.5' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v33' fill='none' stroke='%23ffffff' stroke-opacity='.035' stroke-width='2'/%3E%3C/svg%3E");
}
.chat__day{ align-self:center; padding:3px 9px; border-radius:6px; background:#1F2C34; font-size:9px; color:#8696A0; }
.msg{ position:relative; max-width:86%; padding:6px 8px 4px; border-radius:9px; font-size:11px; line-height:1.38; color:#E9EDEF; }
.msg p{ margin:0; }
.msg time{ display:block; margin-top:2px; text-align:right; font-size:8.5px; color:#8696A0; }
.msg--in{ align-self:flex-start; background:#1F2C34; border-top-left-radius:2px; }
.msg--out{ align-self:flex-end; background:#005C4B; border-top-right-radius:2px; }
.msg .ok{ color:var(--yellow); font-weight:700; }
.msg .read{ color:#53BDEB; font-weight:600; }
.msg__img{ display:block; margin:-2px -4px 5px; border-radius:6px; overflow:hidden; aspect-ratio:4 / 3; }
.msg__img img{ width:100%; height:100%; object-fit:cover; }
.msg--report b{ display:block; margin-bottom:5px; font-size:10.5px; color:#fff; }
.rep{ display:grid; grid-template-columns:58px 1fr; align-items:center; gap:6px; margin-bottom:4px; font-size:9px; color:#AEBAC1; }
.rep i{ position:relative; height:5px; border-radius:3px; background:rgba(255,255,255,.1); overflow:hidden; }
.rep i::after{ content:''; position:absolute; inset:0; width:calc(var(--p) * 100%); border-radius:inherit; background:var(--yellow); }
.chat__typing{ align-self:flex-start; display:flex; gap:3px; padding:9px 11px; border-radius:9px; background:#1F2C34; opacity:0; }
.chat__typing i{ width:5px; height:5px; border-radius:50%; background:#8696A0; animation:typing 1.2s ease-in-out infinite; }
.chat__typing i:nth-child(2){ animation-delay:.15s; }
.chat__typing i:nth-child(3){ animation-delay:.3s; }
@keyframes typing{ 0%,60%,100%{ transform:translateY(0); opacity:.5; } 30%{ transform:translateY(-3px); opacity:1; } }
.chat__input{ display:flex; align-items:center; gap:7px; padding:7px 8px 14px; background:#0B141A; }
.chat__input > span:first-child{ flex:1; padding:7px 12px; border-radius:999px; background:#1F2C34; font-size:10.5px; color:#8696A0; }
.chat__send{ width:30px; height:30px; flex:none; display:grid; place-items:center; border-radius:50%; background:#00A884; color:#fff; }
.chat__send svg{ width:15px; height:15px; }

.stage__badge{
  position:absolute; z-index:3;
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 14px 9px 11px; border-radius:999px;
  font-size:12.5px; font-weight:600; color:#fff; white-space:nowrap;
  background:rgba(12,34,76,.72); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.14); box-shadow:0 16px 36px -12px rgba(0,0,0,.7);
  animation:float 7s ease-in-out infinite;
}
.stage__badge svg{ width:16px; height:16px; padding:2px; border-radius:50%; background:var(--yellow); color:var(--navy-900); stroke-width:3; }
.stage__badge--a{ left:4px; top:318px; }
.stage__badge--b{ right:130px; bottom:4px; animation-delay:-3s; }
.live{ position:relative; width:7px; height:7px; border-radius:50%; background:var(--wa); flex:none; }
.live::after{ content:''; position:absolute; inset:0; border-radius:50%; background:var(--wa); animation:ping 2.2s var(--ease) infinite; }
.stage__note{ position:absolute; right:0; bottom:-14px; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.08em; color:var(--t-lo); }

.split__text h2{ font-size:clamp(30px,5.4vw,54px); line-height:1.03; letter-spacing:-.045em; margin-bottom:24px; }
.scrub{
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(18px,2vw,23px); line-height:1.45; letter-spacing:-.015em;
  color:var(--white);
}
.scrub .sw{ opacity:.18; }
.feats{ display:grid; gap:16px; margin:32px 0 36px; }
.feat{ display:flex; align-items:flex-start; gap:14px; }
.feat__hex{
  width:46px; height:52px; flex:none; display:grid; place-items:center;
  clip-path:var(--hex); background:var(--grad-vivid); color:#fff;
}
.feat:first-child .feat__hex{ background:var(--yellow); color:var(--navy-900); }
.feat__hex svg{ width:20px; height:20px; }
.feat > span:last-child{ font-size:14px; line-height:1.45; color:var(--t-md); padding-top:3px; }
.feat b{ display:block; margin-bottom:2px; font-family:var(--font-display); font-size:16px; font-weight:600; color:#fff; }

@media (min-width: 520px){
  .stage{ height:600px; --w:116px; }
  .phone{ width:226px; height:458px; }
  .stage__badge--a{ top:360px; }
}
@media (min-width: 640px){ .feats{ grid-template-columns:1fr 1fr; } }
@media (min-width: 1000px){
  .split{ grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
  .stage{ height:640px; --w:136px; }
  .mosaic{ left:-10px; top:10px; }
  .phone{ width:262px; height:530px; right:-6px; bottom:30px; }
  .msg{ font-size:11.8px; }
  .stage__badge--a{ left:20px; top:430px; }
  .stage__badge--b{ right:200px; bottom:22px; }
}

/* =========================================================
   PARA QUEM
   ========================================================= */
.profiles{ display:grid; gap:14px; }
.profile{ position:relative; display:flex; border-radius:24px; }
.profile__btn{ flex:1; }
.profile__btn{
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; flex-direction:column; width:100%; min-height:300px;
  padding:24px 22px 22px; text-align:left;
  border-radius:inherit; background:var(--paper); border:1px solid var(--line-light); color:var(--ink);
  transition:color .5s var(--ease), border-color .5s, scale .2s var(--ease);
}
.profile__btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--grad-vivid);
  transform:scaleY(0); transform-origin:50% 100%;
  transition:transform .6s var(--ease);
}
.profile__btn::after{
  content:''; position:absolute; right:-40px; bottom:-40px; z-index:-1; width:260px; height:260px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64v33' fill='none' stroke='%23050E22' stroke-width='1'/%3E%3C/svg%3E");
  background-size:44px 76px; opacity:.07; transition:opacity .5s, filter .5s;
  -webkit-mask-image:radial-gradient(closest-side, #000, transparent); mask-image:radial-gradient(closest-side, #000, transparent);
}
.profile__btn:active{ scale:.98; }
.profile__top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:36px; }
.profile__icon{
  width:56px; height:64px; display:grid; place-items:center;
  clip-path:var(--hex); background:var(--grad-vivid); color:#fff;
  transition:background .4s, color .4s;
}
.profile__icon svg{ width:26px; height:26px; }
.profile__idx{ font-family:var(--font-mono); font-size:12px; font-weight:600; color:var(--ink-soft); transition:color .4s; }
.profile__title{ display:block; font-family:var(--font-display); font-size:25px; font-weight:600; letter-spacing:-.035em; line-height:1.1; margin-bottom:10px; }
.profile__desc{ display:block; flex:1; font-size:15px; line-height:1.55; color:var(--ink-soft); transition:color .5s; }
.profile__more{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:24px; padding-top:16px; border-top:1px solid var(--line-light);
  font-family:var(--font-display); font-size:14.5px; font-weight:600;
  transition:border-color .5s;
}
.profile__plus{
  width:42px; height:42px; flex:none; display:grid; place-items:center;
  border-radius:50%; background:var(--navy-900); color:#fff;
  transition:rotate .5s var(--ease), background .3s, color .3s;
}
.profile__plus svg{ width:18px; height:18px; }
.profile__detail{ display:none; }
@media (hover: hover){
  .profile__btn:hover{ color:#fff; border-color:transparent; }
  .profile__btn:hover::before{ transform:scaleY(1); }
  .profile__btn:hover::after{ opacity:.2; filter:invert(1); }
  .profile__btn:hover .profile__desc{ color:rgba(255,255,255,.78); }
  .profile__btn:hover .profile__idx{ color:var(--yellow); }
  .profile__btn:hover .profile__icon{ background:var(--yellow); color:var(--navy-900); }
  .profile__btn:hover .profile__more{ border-color:rgba(255,255,255,.2); }
  .profile__btn:hover .profile__plus{ rotate:90deg; background:var(--yellow); color:var(--navy-900); }
}
@media (min-width: 860px){
  .profiles{ grid-template-columns:repeat(3,1fr); gap:20px; }
  .profile__btn{ min-height:340px; padding:30px 28px 26px; }
}

/* ---------- PAINEL (bottom sheet / modal) ---------- */
.sheet{ position:fixed; inset:0; z-index:150; display:flex; align-items:flex-end; justify-content:center; }
.sheet[hidden]{ display:none; }
.sheet__backdrop{
  position:absolute; inset:0; background:rgba(1,3,9,.62);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; transition:opacity .45s;
}
.sheet__panel{
  position:relative; width:100%; max-height:92svh;
  display:flex; flex-direction:column;
  background:var(--white); color:var(--ink);
  border-radius:28px 28px 0 0;
  box-shadow:0 -24px 70px rgba(0,0,0,.45);
  transform:translateY(100%);
  transition:transform .6s var(--ease);
}
.sheet.is-open .sheet__backdrop{ opacity:1; }
.sheet.is-open .sheet__panel{ transform:none; }
.sheet.is-dragging .sheet__panel{ transition:none; }
.sheet__grab{ display:flex; justify-content:center; padding:10px 0 6px; touch-action:none; cursor:grab; }
.sheet__grab i{ width:44px; height:5px; border-radius:3px; background:#D2DAE6; }
.sheet__close{
  position:absolute; top:14px; right:14px; z-index:2;
  width:40px; height:40px; display:grid; place-items:center;
  border-radius:50%; background:var(--paper); color:var(--ink);
  transition:background-color .25s, rotate .4s var(--ease);
}
.sheet__close:hover{ background:var(--mist); rotate:90deg; }
.sheet__close svg{ width:18px; height:18px; }
.sheet__scroll{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:6px 22px 18px; }
.sheet__head{ padding-right:44px; margin-bottom:20px; }
.sheet__kicker{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--navy-600);
}
.sheet__kicker::before{ content:''; width:10px; height:11px; clip-path:var(--hex); background:var(--yellow); outline:1px solid #000; }
.sheet__title{ margin:10px 0; font-size:clamp(25px,4.4vw,34px); line-height:1.06; letter-spacing:-.04em; }
.sheet__lead{ font-size:15.5px; color:var(--ink-soft); }
.sheet__list{ width:100%; margin-bottom:18px; }
.sheet__list .tabs__tab{ flex:1 0 auto; justify-content:center; min-height:42px; padding:9px 12px; font-size:13.5px; }
.sheet__panels .tabpanel > p{ margin-bottom:12px; font-weight:600; }
.sheet__panels ul:not(.inc) li{ position:relative; padding:9px 0 9px 26px; border-bottom:1px solid var(--line-light); font-size:15px; }
.sheet__panels ul:not(.inc) li::before{ content:''; position:absolute; left:2px; top:16px; width:11px; height:12px; clip-path:var(--hex); background:var(--navy-600); }
.sheet__panels ol{ display:grid; gap:10px; counter-reset:st; }
.sheet__panels ol li{
  position:relative; padding:14px 14px 14px 62px; border-radius:16px; background:var(--paper);
  font-size:14.5px; color:var(--ink-soft); counter-increment:st;
}
.sheet__panels ol li::before{
  content:counter(st); position:absolute; left:14px; top:50%; translate:0 -50%;
  width:36px; height:40px; display:grid; place-items:center; clip-path:var(--hex);
  background:var(--yellow); color:#000; font-family:var(--font-display); font-weight:800; font-size:15px;
}
.sheet__panels ol li b{ display:block; font-family:var(--font-display); font-size:15.5px; color:var(--ink); margin-bottom:2px; }
.inc{ display:grid; grid-template-columns:1fr; gap:8px; }
.inc li{
  display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:12px;
  background:var(--paper); font-size:14px; font-weight:500;
}
.inc li::before{
  content:''; width:18px; height:18px; flex:none; border-radius:50%;
  background:var(--navy-900) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.sheet__foot{
  display:grid; gap:10px;
  padding:14px 22px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line-light); background:var(--white);
}
@media (min-width: 520px){ .inc{ grid-template-columns:1fr 1fr; } }
@media (min-width: 768px){
  .sheet{ align-items:center; padding:24px; }
  .sheet__panel{
    max-width:740px; max-height:88vh; border-radius:28px;
    transform:translateY(30px) scale(.96); opacity:0;
    transition:transform .55s var(--ease), opacity .35s;
  }
  .sheet.is-open .sheet__panel{ transform:none; opacity:1; }
  .sheet__grab{ display:none; }
  .sheet__scroll{ padding:34px 36px 20px; }
  .sheet__close{ top:20px; right:20px; }
  .sheet__foot{ grid-template-columns:1.2fr 1fr; padding:18px 36px 22px; border-radius:0 0 28px 28px; }
}

/* =========================================================
   CARROSSEL (depoimentos)
   ========================================================= */
.rail{
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none;
  margin-inline:calc(var(--pad) * -1); padding:4px var(--pad) 8px;
}
.rail::-webkit-scrollbar{ display:none; }
.rail__track{ display:flex; gap:14px; align-items:stretch; }
.rail__track > *{ flex:0 0 84%; scroll-snap-align:center; }
.dots{ display:flex; justify-content:center; gap:10px; margin-top:24px; }
.dots button{
  width:9px; height:10px; padding:0; border:0;
  background:rgba(255,255,255,.22); clip-path:var(--hex);
  transition:background-color .3s, transform .3s var(--ease);
}
.dots button.is-active{ background:var(--yellow); transform:scale(1.5); }
@media (min-width: 860px){
  .rail{ overflow:visible; margin-inline:0; padding:0; }
  .rail__track{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .rail__track > *{ flex:initial; }
  .dots{ display:none; }
}

/* ---------- DEPOIMENTOS ---------- */
.quote{
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; flex-direction:column;
  margin:0; padding:30px 26px 24px;
  border:1px solid var(--line-dark); border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,.015) 100%);
}
.quote__mark{ display:block; height:34px; margin-bottom:14px; font-family:var(--font-display); font-size:76px; font-weight:700; line-height:.85; color:var(--white); }
.quote blockquote{ flex:1; margin:0; font-size:16px; line-height:1.65; color:rgba(255,255,255,.88); }
.quote figcaption{ display:flex; align-items:center; gap:12px; margin-top:26px; padding-top:18px; border-top:1px solid var(--line-dark); }
.quote__avatar{
  width:42px; height:42px; flex:none; display:grid; place-content:center;
  border-radius:50%; background:var(--white); color:var(--navy-900);
  font-family:var(--font-display); font-size:13px; font-weight:700; letter-spacing:.02em;
}
.quote__who{ display:flex; flex-direction:column; }
.quote__who strong{ font-family:var(--font-display); font-size:15px; color:var(--white); }
.quote__who span{ font-family:var(--font-mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--t-lo); }

/* =========================================================
   ORÇAMENTO RÁPIDO
   ========================================================= */
.quote-box{
  position:relative; isolation:isolate; overflow:hidden;
  background:var(--grad-a); color:var(--white);
  border-radius:30px; padding:36px 20px 28px;
  box-shadow:0 50px 110px -40px rgba(3,10,26,.65);
}
.quote-box__mesh{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(60% 50% at 100% 0%, rgba(46,107,255,.35) 0%, rgba(6,20,46,0) 70%),
    radial-gradient(50% 45% at 0% 100%, rgba(13,39,89,.8) 0%, rgba(6,20,46,0) 70%);
}
.quote-box__mesh::after{
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 85% 0%, #000 0%, transparent 70%);
          mask-image:radial-gradient(ellipse 80% 60% at 85% 0%, #000 0%, transparent 70%);
}
.quote-box__head{ margin-bottom:34px; }
.quote-box__head h2{ font-size:clamp(30px,4.8vw,50px); line-height:1.03; letter-spacing:-.045em; }
.quote-box__head .sec-head__sub{ color:var(--t-md); max-width:44ch; }

.qform{ display:grid; gap:28px; }
.qform__group{ border:0; padding:0; margin:0; min-width:0; }
.qform__group legend{
  display:flex; align-items:center; gap:10px; padding:0; margin-bottom:14px;
  font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--white);
}
.qform__step{
  display:grid; place-content:center; width:22px; height:24px; flex:none;
  font-family:var(--font-mono); font-size:11px; font-weight:600;
  color:var(--navy-900); background:var(--yellow); clip-path:var(--hex);
}
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{ position:relative; }
.chip input{ position:absolute; opacity:0; width:0; height:0; }
.chip span{
  display:inline-flex; align-items:center; min-height:44px; padding:10px 18px;
  border:1px solid rgba(255,255,255,.16); border-radius:999px;
  background:rgba(255,255,255,.03);
  font-size:14px; font-weight:500; color:var(--t-md);
  cursor:pointer; transition:background-color .22s, border-color .22s, color .22s, scale .18s var(--ease);
}
.chip span:hover{ border-color:rgba(255,255,255,.5); color:var(--white); }
.chip span:active{ scale:.94; }
.chip input:checked + span{ background:var(--white); border-color:var(--white); color:var(--navy-900); }
.chip input:focus-visible + span{ outline:2px solid var(--white); outline-offset:3px; }

.qform__group--fields{ display:grid; gap:16px; }
.field{ display:flex; flex-direction:column; gap:10px; }
.field > span{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:15px; font-weight:600; color:var(--white); }
.field i{ font-style:normal; font-weight:400; color:var(--t-lo); }
.field input{
  min-height:54px; padding:14px 18px;
  border:1px solid rgba(255,255,255,.14); border-radius:14px;
  font-family:var(--font-body); font-size:16px; color:var(--white);
  background:rgba(255,255,255,.04); transition:border-color .2s, background-color .2s;
}
.field input::placeholder{ color:rgba(255,255,255,.36); }
.field input:focus{ outline:none; border-color:var(--white); background:rgba(255,255,255,.07); }
.field input.is-invalid{ border-color:#FF7A7A; animation:shake .4s; }
@keyframes shake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-6px); } 75%{ transform:translateX(6px); } }

.qform__preview{ padding:18px 20px; border-radius:16px; background:rgba(255,255,255,.03); border:1px dashed rgba(255,255,255,.2); }
.qform__preview-label{ display:block; margin-bottom:8px; font-family:var(--font-mono); font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--t-lo); }
.qform__preview p{ font-size:14.5px; line-height:1.6; color:var(--t-md); white-space:pre-line; }
.qform__note{ text-align:center; font-size:12.5px; color:var(--t-lo); }

@media (min-width: 700px){
  .quote-box{ padding:52px 44px 40px; }
  .qform__group--fields{ grid-template-columns:repeat(2,1fr); gap:20px; }
}
@media (min-width: 1080px){
  .quote-box{ display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; padding:72px 64px 60px; }
  .quote-box__head{ margin-bottom:0; position:sticky; top:120px; align-self:start; }
}

/* =========================================================
   FAQ — troca sozinho a cada 15 s
   ========================================================= */
.faq{ display:grid; align-content:start; border-top:1px solid var(--line-light); }
.faq__item{ position:relative; border-bottom:1px solid var(--line-light); }
.faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  min-height:76px; padding:22px 2px; text-align:left;
  font-family:var(--font-display); font-size:16.5px; font-weight:600; line-height:1.35;
  color:var(--ink); letter-spacing:-.02em; transition:color .2s;
}
.faq__q:hover{ color:var(--navy-600); }
.faq__ico{
  position:relative; width:38px; height:38px; flex:none;
  border-radius:50%; border:1px solid var(--line-light); color:var(--ink);
  transition:background-color .35s, border-color .35s, color .35s, rotate .45s var(--ease);
}
.faq__ico i{
  position:absolute; top:50%; left:50%; display:block;
  width:12px; height:1.5px; margin:-.75px 0 0 -6px; border-radius:2px;
  background:currentColor; transition:transform .4s var(--ease);
}
.faq__ico i:last-child{ transform:rotate(90deg); }
.faq__item.is-open .faq__ico{ background:var(--navy-900); border-color:var(--navy-900); color:var(--white); rotate:180deg; }
.faq__item.is-open .faq__ico i:last-child{ transform:rotate(0deg); }
.faq__item.is-open .faq__q{ color:var(--navy-600); }
.faq__a{ height:0; overflow:hidden; }
.faq__a p{ padding:0 56px 26px 2px; font-size:15px; color:var(--ink-soft); }
.faq__timer{ position:absolute; left:0; right:0; bottom:-1px; height:2px; overflow:hidden; opacity:0; transition:opacity .3s; }
.faq__timer i{ display:block; height:100%; background:linear-gradient(90deg, var(--navy-600), var(--yellow)); transform:scaleX(0); transform-origin:0 50%; }
.faq__item.is-timing .faq__timer{ opacity:1; }
@media (min-width: 768px){ .faq__q{ font-size:19px; padding:26px 4px; } .faq__a p{ padding:0 80px 30px 4px; font-size:16px; } }

/* =========================================================
   CTA FINAL — colmeia que se monta
   ========================================================= */
.cta{
  position:relative; z-index:1; isolation:isolate; overflow:hidden;
  padding-block:calc(var(--gap-section) * 1.05);
  text-align:center; color:var(--white);
  background:radial-gradient(120% 90% at 50% 0%, #143C8A 0%, #071733 46%, var(--black) 100%);
  border-radius:var(--stack) var(--stack) 0 0;
  margin-top:calc(var(--stack) * -1);
}
.cta__hive{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.cta__hive svg{ width:100%; height:100%; overflow:visible; }
.cta__hive polygon{ fill:rgba(255,255,255,.02); stroke:rgba(255,255,255,.13); stroke-width:1; vector-effect:non-scaling-stroke; transform-box:fill-box; transform-origin:50% 50%; }
.cta__hive .ch-fill{ fill:rgba(46,107,255,.32); stroke:rgba(140,175,255,.45); }
.cta__hive .ch-w{ fill:rgba(255,255,255,.9); stroke:none; }
.cta__hive .ch-y{ fill:var(--yellow); stroke:#000; stroke-width:2; }
.cta__beam{
  position:absolute; z-index:-1; left:50%; bottom:-62%;
  width:150vw; max-width:1400px; aspect-ratio:2/1; translate:-50% 0;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(closest-side, rgba(46,107,255,.45), rgba(6,20,46,0));
}
.cta h2{ font-size:clamp(34px,6.8vw,78px); line-height:1.04; letter-spacing:-.05em; max-width:17ch; margin-inline:auto; }
.cta__sub{ margin:24px auto 0; max-width:56ch; color:var(--t-md); font-size:clamp(15px,1.7vw,18.5px); line-height:1.6; }
.cta__actions{ margin-top:38px; display:flex; flex-direction:column; align-items:center; gap:18px; }
.cta__phone{
  font-family:var(--font-mono); font-size:14px; font-weight:500;
  letter-spacing:.06em; color:var(--white);
  border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:3px;
  transition:border-color .2s;
}
.cta__phone:hover{ border-color:var(--white); }
.cta__assure{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; margin-top:34px; font-size:13.5px; color:var(--t-md); }
.cta__assure li{ display:flex; align-items:center; gap:8px; }
.cta__assure svg{ width:18px; height:18px; padding:3px; border-radius:50%; background:var(--yellow); color:var(--navy-900); stroke-width:3; }

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  position:relative; z-index:1; overflow:hidden;
  background:linear-gradient(180deg, #050F24 0%, var(--black) 70%); color:var(--t-md);
  padding-top:64px; font-size:14px;
  border-radius:var(--stack) var(--stack) 0 0;
  margin-top:calc(var(--stack) * -1);
  border-top:1px solid var(--line-dark);
}
.footer__grid{ display:grid; gap:36px; padding-bottom:40px; }
.footer__logo{ width:132px; height:auto; fill:var(--white); }
.footer__sub{ margin-top:5px; font-family:var(--font-mono); font-size:8.5px; font-weight:500; letter-spacing:.5em; text-transform:uppercase; color:var(--t-lo); }
.footer__tag{ margin-top:18px; max-width:30ch; font-size:14.5px; }
.footer__wa{ margin-top:20px; }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__col h3{ font-family:var(--font-mono); font-size:10.5px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--t-lo); margin-bottom:6px; }
.footer__col a{ align-self:flex-start; min-height:24px; transition:color .2s, translate .25s var(--ease); }
.footer__col a:hover{ color:var(--white); translate:3px 0; }
.footer__bar{
  padding-top:24px; border-top:1px solid var(--line-dark);
  display:flex; flex-direction:column; gap:10px;
  font-size:12.5px; color:var(--t-lo);
}
.footer__credit b{ color:var(--white); font-weight:600; }
.footer__credit a{ margin-left:4px; color:var(--yellow); font-family:var(--font-mono); font-size:12px; border-bottom:1px solid rgba(255,214,10,.35); transition:border-color .2s; }
.footer__credit a:hover{ border-color:var(--yellow); }
.footer__giant{ padding:28px var(--pad) calc(18px + env(safe-area-inset-bottom)); max-width:calc(var(--container) + 120px); margin-inline:auto; }
.footer__giant svg{ width:100%; height:auto; overflow:visible; will-change:transform; }
.footer__giant path{ stroke:rgba(255,255,255,.16); stroke-width:1; vector-effect:non-scaling-stroke; }
@media (min-width: 768px){
  .footer{ padding-top:88px; }
  .footer__grid{ grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; }
  .footer__bar{ flex-direction:row; justify-content:space-between; }
  .footer__giant{ padding-top:48px; padding-bottom:0; margin-bottom:-1.2%; }
}

/* =========================================================
   WHATSAPP FLUTUANTE — verde
   ========================================================= */
.wa-float{
  position:fixed; z-index:90;
  right:16px; bottom:calc(16px + env(safe-area-inset-bottom));
  display:inline-flex; align-items:center; gap:9px;
  min-height:56px; padding:14px 22px 14px 18px; border-radius:999px;
  background:linear-gradient(180deg, var(--wa) 0%, var(--wa-2) 100%); color:#fff;
  font-family:var(--font-display); font-size:15px; font-weight:600;
  text-shadow:0 1px 1px rgba(0,60,25,.35);
  box-shadow:0 16px 40px -8px rgba(19,160,77,.6), 0 4px 12px rgba(0,0,0,.25);
  transform:translateY(100px); opacity:0;
  transition:transform .5s var(--ease), opacity .35s, box-shadow .3s;
}
.wa-float.is-visible{ transform:none; opacity:1; }
.wa-float.is-visible:active{ transform:scale(.94); }
.wa-float:hover{ box-shadow:0 20px 50px -8px rgba(19,160,77,.75), 0 0 0 6px rgba(37,211,102,.18); }
.wa-float svg{ width:24px; height:24px; position:relative; z-index:1; }
.wa-float__label{ position:relative; z-index:1; }
.wa-float__ring{
  position:absolute; inset:0; border-radius:999px;
  border:2px solid var(--wa);
  animation:waRing 2.8s var(--ease) infinite; pointer-events:none;
}
@keyframes waRing{ 0%{ transform:scale(1); opacity:.8; } 70%,100%{ transform:scale(1.3); opacity:0; } }
@media (min-width: 768px){ .wa-float{ right:26px; bottom:26px; } }

/* =========================================================
   ESTADOS DE ANIMAÇÃO — só escondem se o GSAP carregou
   ========================================================= */
html.has-gsap .reveal,
html.has-gsap .pop,
html.has-gsap [data-hero],
html.has-gsap .scroll-cue{ opacity:0; }
html.has-gsap [data-msg]{ opacity:0; }

@media (prefers-reduced-motion: reduce){
  html.has-gsap .reveal,
  html.has-gsap .pop,
  html.has-gsap [data-hero],
  html.has-gsap .scroll-cue,
  html.has-gsap [data-msg]{ opacity:1 !important; transform:none !important; }
  html.has-gsap .w__i{ transform:none !important; }
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  html{ scroll-behavior:auto; }
}
