/* =========================================================
   POLIMATADEV GROUP — tokens
   Identidade única e intencional: preto profundo + champagne
   metálico, extraídos da marca. Sem alternância de tema —
   compromisso deliberado com um único universo visual.
   ========================================================= */
:root{
  --black:        #050505;
  --black-soft:   #0a0a0b;
  --graphite:     #141416;
  --graphite-2:   #1d1d20;
  --line:         #2a2a2d;
  --off-white:    #f3efe6;
  --white:        #ffffff;
  --gray:         #8d897f;
  --gray-dim:     #5c584f;
  --gold:         #c9a868;
  --gold-bright:  #f2d99a;
  --gold-dim:     #8a7143;
  --gold-glow:    rgba(201,168,104,.35);

  --font-display: 'Unbounded', 'Arial Black', sans-serif;
  --font-body:    'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    'JetBrains Mono', 'Courier New', monospace;

  --gutter: clamp(20px, 6vw, 96px);
  --fs-hero: clamp(2.5rem, 8vw, 7.4rem);
  --fs-h2:   clamp(2.1rem, 5.4vw, 4.6rem);
  --fs-h3:   clamp(1.3rem, 2.4vw, 2rem);
  --fs-lead: clamp(1.05rem, 1.4vw, 1.3rem);
  --fs-body: clamp(.98rem, 1vw, 1.08rem);
  --fs-eyebrow: .72rem;

  --ease: cubic-bezier(.16,.84,.28,1);
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ background:var(--black); }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }

body{
  margin:0;
  background:var(--black);
  color:var(--off-white);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
  cursor:default;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,p{ margin:0; }
h1,h2,h3{ font-family:var(--font-display); text-wrap:balance; letter-spacing:-.01em; }
::selection{ background:var(--gold); color:var(--black); }

.wrap{ padding-inline:var(--gutter); }
.gold{ color:var(--gold); }
.not-italic{ font-style:normal; }
.section-title-spaced{ margin-top:18px; }
.mono{ font-family:var(--font-mono); }

.eyebrow{
  font-family:var(--font-mono);
  font-size:var(--fs-eyebrow);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  display:flex; align-items:center; gap:.7em;
}
.eyebrow::before{
  content:""; width:22px; height:1px; background:var(--gold-dim);
  display:inline-block;
}

/* focus visibility */
a:focus-visible, button:focus-visible{ outline:1px solid var(--gold); outline-offset:4px; }

/* reduced motion base */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* =========================== INTRO (cinematic open) =========================== */
#intro{
  position:fixed; inset:0; z-index:9999; background:var(--black);
  overflow:hidden; will-change:opacity;
}
#intro-canvas{ position:absolute; inset:0; }
#intro-logo-wrap{
  position:absolute; top:50%; left:50%; width:clamp(64px,12vw,108px); height:clamp(64px,12vw,108px);
  transform:translate(-50%,-50%) scale(.55); opacity:0; will-change:transform, opacity, filter;
}
#intro-logo-wrap img{ width:100%; height:100%; display:block; object-fit:contain; }
#intro-shine{
  position:absolute; inset:-30%;
  background:linear-gradient(115deg, transparent 42%, rgba(242,217,154,.9) 50%, transparent 58%);
  mix-blend-mode:screen; transform:translateX(-160%); pointer-events:none;
}
#intro-blackout{ position:absolute; inset:0; background:var(--black); opacity:0; will-change:opacity; }
#intro.done{ pointer-events:none; }

/* =========================== CURSOR =========================== */
#cursor-dot, #cursor-ring{
  position:fixed; top:0; left:0; z-index:9000; pointer-events:none;
  border-radius:50%; transform:translate(-50%,-50%);
}
#cursor-dot{ width:5px; height:5px; background:var(--gold-bright); }
#cursor-ring{ width:34px; height:34px; border:1px solid var(--gold-dim); transition:width .25s var(--ease), height .25s var(--ease), border-color .25s var(--ease), opacity .25s; opacity:.8; }
#cursor-ring.big{ width:64px; height:64px; border-color:var(--gold); opacity:1; }
@media (hover:none), (pointer:coarse){ #cursor-dot,#cursor-ring{ display:none; } }

/* =========================== HEADER =========================== */
header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  padding:22px var(--gutter);
  display:flex; align-items:center; justify-content:space-between;
  transition:background .5s var(--ease), border-color .5s var(--ease), backdrop-filter .5s var(--ease), padding .4s var(--ease);
  border-bottom:1px solid transparent;
}
header.scrolled{
  background:rgba(5,5,5,.72);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line);
  padding-block:14px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand img{ width:34px; height:34px; object-fit:contain; }
.brand span{ font-family:var(--font-display); font-size:.86rem; letter-spacing:.06em; font-weight:600; }
.brand span b{ color:var(--gold); font-weight:600; }

nav.primary-nav{ display:flex; gap:38px; }
nav.primary-nav a{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gray); position:relative; padding-bottom:3px;
}
nav.primary-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold);
  transition:width .35s var(--ease);
}
nav.primary-nav a:hover{ color:var(--off-white); }
nav.primary-nav a:hover::after{ width:100%; }

.header-actions{ display:flex; align-items:center; gap:22px; }
.ig-link{ display:flex; align-items:center; gap:7px; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em; color:var(--gray); }
.ig-link svg{ width:15px; height:15px; }
.ig-link:hover{ color:var(--gold); }

.btn{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  padding:13px 26px; border-radius:100px; display:inline-flex; align-items:center; gap:10px;
  position:relative; overflow:hidden; white-space:nowrap;
}
.btn-gold{ background:var(--gold); color:var(--black); font-weight:600; }
.btn-gold svg{ transition:transform .35s var(--ease); }
.btn-gold:hover svg{ transform:translate(3px,-3px); }
.btn-outline{ border:1px solid var(--line); color:var(--off-white); }
.btn-outline:hover{ border-color:var(--gold-dim); color:var(--gold-bright); }
.btn-lg{ padding:22px 40px; font-size:.78rem; }

/* =========================== PILL CTA (botão premium animado) =========================== */
@keyframes pill-spin{ to{ transform:rotate(360deg); } }
@keyframes pill-orbit-spin{ to{ transform:rotate(360deg); } }

.pill-group{ display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.pill{
  position:relative; display:inline-flex; align-items:center; gap:16px;
  padding:9px 30px 9px 9px; border-radius:999px;
  background:rgba(7,7,8,.82); isolation:isolate;
}
.pill-ring{
  position:absolute; inset:0; border-radius:inherit; padding:1.5px; z-index:0; pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.pill-primary .pill-ring{
  background:conic-gradient(from 0deg, transparent 0deg, var(--gold-bright) 26deg, var(--gold) 46deg, transparent 78deg, transparent 300deg, var(--gold) 338deg, var(--gold-bright) 352deg, transparent 360deg);
  animation:pill-spin 3.6s linear infinite;
}
.pill-secondary .pill-ring{
  background:conic-gradient(from 0deg, transparent 0deg, rgba(243,239,230,.85) 22deg, transparent 55deg, transparent 300deg, rgba(243,239,230,.45) 340deg, transparent 360deg);
  animation:pill-spin 4.4s linear infinite reverse;
}
.pill-icon{
  position:relative; z-index:1; flex:none; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 35% 30%, #1c1c1f, #050505 75%); border:1px solid var(--gold-dim); color:var(--gold-bright);
}
.pill-primary .pill-icon{ border-color:var(--gold); }
.pill-secondary .pill-icon{ border-color:rgba(243,239,230,.5); color:var(--off-white); }
.pill-icon svg{ width:15px; height:15px; transition:transform .4s var(--ease); }
.pill:hover .pill-icon svg{ transform:translate(3px,-3px); }
.pill-divider{ position:relative; z-index:1; width:1px; align-self:stretch; margin-block:2px; background:linear-gradient(rgba(201,168,104,0), rgba(201,168,104,.5), rgba(201,168,104,0)); flex:none; }
.pill-text{ position:relative; z-index:1; display:flex; flex-direction:column; gap:3px; }
.pill-eyebrow{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gray); }
.pill-primary .pill-eyebrow{ color:var(--gold-dim); }
.pill-label{ font-family:var(--font-display); font-size:.92rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; color:var(--off-white); }
.pill-primary .pill-label{ color:var(--gold-bright); }
.pill-arrow{ position:relative; z-index:1; font-size:1.05rem; color:var(--gray); margin-left:2px; transition:transform .4s var(--ease), color .4s var(--ease); }
.pill:hover .pill-arrow{ transform:translate(3px,-3px); color:var(--off-white); }
.pill{ box-shadow:0 12px 30px -16px rgba(0,0,0,.8); transition:box-shadow .4s var(--ease), transform .35s var(--ease); }
.pill-primary{ box-shadow:0 12px 36px -12px var(--gold-glow), 0 12px 30px -16px rgba(0,0,0,.8); }
.pill:hover{ transform:translateY(-2px); }
.pill-primary:hover{ box-shadow:0 16px 48px -10px var(--gold-glow), 0 12px 30px -16px rgba(0,0,0,.8); }
.pill-caption{ font-family:var(--font-mono); font-size:.63rem; letter-spacing:.13em; text-transform:uppercase; color:var(--gray-dim); padding-left:8px; }

.pill-orbit{
  position:absolute; left:-34px; top:-24px; width:64px; height:64px; z-index:0; pointer-events:none;
  border-radius:50%; border:1px solid rgba(201,168,104,.4); border-right-color:transparent; border-bottom-color:transparent;
  animation:pill-orbit-spin 7s linear infinite;
}
.pill-orbit i{
  position:absolute; top:-3.5px; left:50%; width:7px; height:7px; margin-left:-3.5px; border-radius:50%;
  background:var(--gold-bright); box-shadow:0 0 9px 1px var(--gold-bright);
}
@media (max-width:700px){ .pill-orbit{ display:none; } }

/* compact pill — header / mobile-nav CTA (mesma linguagem, escala reduzida) */
.pill-compact{
  padding:11px 21px; gap:9px; background:rgba(7,7,8,.88);
}
.pill-compact .pill-ring{
  background:conic-gradient(from 0deg, transparent 0deg, var(--gold-bright) 28deg, var(--gold) 50deg, transparent 84deg, transparent 300deg, var(--gold) 336deg, var(--gold-bright) 350deg, transparent 360deg);
  animation:pill-spin 3.4s linear infinite;
}
.pill-compact .pill-label{
  position:relative; z-index:1; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; font-weight:600; color:var(--gold-bright); white-space:nowrap;
}
.pill-compact .pill-arrow{
  position:relative; z-index:1; font-size:.92rem; margin-left:0; color:var(--gold);
}
.pill-compact:hover{ transform:translateY(-1px); }
.pill-compact:hover .pill-arrow{ color:var(--gold-bright); }
#mobile-nav .pill-compact{ padding:16px 30px; gap:11px; }
#mobile-nav .pill-compact .pill-label{ font-size:.82rem; letter-spacing:.12em; }
#mobile-nav .pill-compact .pill-arrow{ font-size:1.05rem; }

.menu-toggle{ display:none; width:26px; height:18px; position:relative; }
.menu-toggle span{ position:absolute; left:0; right:0; height:1px; background:var(--off-white); transition:transform .3s var(--ease), opacity .3s var(--ease); }
.menu-toggle span:nth-child(1){ top:0; }
.menu-toggle span:nth-child(2){ top:50%; margin-top:-.5px; }
.menu-toggle span:nth-child(3){ bottom:0; }
.menu-toggle.open span:nth-child(1){ transform:translateY(8.5px) rotate(45deg); }
.menu-toggle.open span:nth-child(2){ opacity:0; }
.menu-toggle.open span:nth-child(3){ transform:translateY(-8.5px) rotate(-45deg); }

#mobile-nav{
  position:fixed; inset:0; z-index:490; background:var(--black);
  display:flex; flex-direction:column; justify-content:center; gap:26px; padding:0 var(--gutter);
  transform:translateY(-100%); transition:transform .55s var(--ease);
}
#mobile-nav.open{ transform:translateY(0); }
#mobile-nav a{ font-family:var(--font-display); font-size:2rem; font-weight:500; color:var(--off-white); }
#mobile-nav a:hover{ color:var(--gold); }
#mobile-nav .mn-actions{ margin-top:20px; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }

/* =========================== HERO =========================== */
#hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  padding-top:140px; padding-bottom:80px; overflow:hidden;
}
#hero-canvas{ position:absolute; inset:0; z-index:0; opacity:0; transition:opacity 1.4s var(--ease); }
#hero-canvas.ready{ opacity:1; }
.hero-vignette{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 30%, transparent 0%, rgba(5,5,5,.55) 62%, var(--black) 100%);
}
.hero-inner{ position:relative; z-index:2; }
.hero-eyebrow{ margin-bottom:34px; }
.hero-title{
  font-size:var(--fs-hero); font-weight:700; line-height:.98; text-transform:uppercase; color:var(--off-white);
}
.hero-title .line{ display:block; overflow:hidden; }
.hero-title .line span{ display:inline-block; will-change:transform; }
.hero-lead{
  max-width:520px; margin-top:32px; color:var(--gray); font-size:var(--fs-lead); line-height:1.6;
}
.hero-cta{ display:flex; gap:38px; margin-top:48px; flex-wrap:wrap; align-items:flex-start; }
.scroll-cue{
  position:absolute; left:var(--gutter); bottom:38px; z-index:2;
  display:flex; align-items:center; gap:12px;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gray-dim);
}
.scroll-cue .sc-line{ width:1px; height:34px; background:linear-gradient(var(--gold), transparent); position:relative; overflow:hidden; }
.scroll-cue .sc-line i{ position:absolute; top:-100%; left:0; right:0; height:100%; background:var(--gold-bright); animation:scdrop 2.2s var(--ease) infinite; }
@keyframes scdrop{ 0%{top:-100%;} 60%,100%{top:100%;} }

/* =========================== SECTION shells =========================== */
section{ position:relative; }
.section-pad{ padding-block:clamp(90px,14vw,180px); }
.center{ text-align:center; }
.rule{ height:1px; background:var(--line); width:100%; }

/* =========================== MANIFESTO =========================== */
#manifesto{ min-height:100vh; display:flex; align-items:center; background:var(--black); }
.manifesto-text{
  font-family:var(--font-display); font-weight:600; text-transform:uppercase;
  font-size:clamp(1.7rem, 4.6vw, 4rem); line-height:1.14; max-width:1200px;
}
.manifesto-text .w{ color:var(--graphite-2); transition:color .05s linear; }

/* =========================== SERVICES (sticky) — v2 =========================== */
#services-track{ position:relative; height:600vh; }
.services-pin{
  position:sticky; top:0; height:100vh; display:flex; flex-direction:column; justify-content:center;
  overflow:hidden; background:var(--black);
}
.services-head{ margin-bottom:clamp(32px,5vw,56px); }
.services-head h2{ font-size:var(--fs-h2); font-weight:600; text-transform:uppercase; max-width:900px; }
.services-head p{ color:var(--gray); max-width:480px; margin-top:18px; font-size:var(--fs-lead); }

.svc-body-v2{
  display:grid; grid-template-columns:minmax(210px,260px) 1fr;
  grid-template-areas:"counter stage" "desc stage";
  gap:clamp(20px,3vw,40px) clamp(24px,3vw,48px);
  align-items:start;
}

/* ---- ESQUERDA: contador de precisão ---- */
.svc-counter-block{ grid-area:counter; display:flex; flex-direction:column; gap:20px; }
.svc-counter{ position:relative; width:min(180px,75%); aspect-ratio:1; display:flex; align-items:center; justify-content:center; }
.svc-rings{ position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.svc-rings .ring{ fill:none; stroke:rgba(201,168,104,.22); stroke-width:.6; }
.svc-rings .ring-1{ stroke-dasharray:180 450; transform-origin:110px 110px; animation:svc-ring-spin 38s linear infinite; }
.svc-rings .ring-2{ stroke-dasharray:70 480; stroke:rgba(201,168,104,.32); transform-origin:110px 110px; animation:svc-ring-spin 26s linear infinite reverse; }
.svc-rings .ring-3{ stroke-dasharray:30 400; stroke:rgba(243,239,230,.14); transform-origin:110px 110px; animation:svc-ring-spin 19s linear infinite; }
.svc-rings .tick{ stroke:rgba(201,168,104,.4); stroke-width:1; }
.svc-rings .tick-dot{ fill:var(--gold); }
.svc-rings .td-2, .svc-rings .td-3{ fill:rgba(201,168,104,.4); }
@keyframes svc-ring-spin{ to{ transform:rotate(360deg); } }

.svc-num-wrap{ position:relative; z-index:1; overflow:hidden; height:clamp(3rem,6vw,4.6rem); display:flex; align-items:center; }
.svc-num-track{ position:relative; }
.svc-num-d{
  display:block; font-family:var(--font-mono); font-weight:500; line-height:1;
  font-size:clamp(3rem,6vw,4.6rem);
  background:linear-gradient(155deg, var(--gold-bright) 0%, var(--gold) 45%, var(--gold-dim) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.svc-etapa{ display:flex; flex-direction:column; gap:4px; }
.svc-etapa-label{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gray-dim); }
.svc-etapa-val{ font-family:var(--font-mono); font-size:.84rem; letter-spacing:.05em; color:var(--off-white); }
.svc-etapa-val span{ color:var(--gold-bright); font-weight:600; }

.svc-dots{ display:flex; gap:8px; align-items:center; }
.svc-dots i{ width:5px; height:5px; border-radius:50%; background:var(--line); transition:background .4s var(--ease), box-shadow .4s var(--ease); }
.svc-dots i.on{ background:var(--gold); box-shadow:0 0 6px var(--gold-glow); }

.svc-active-desc{ grid-area:desc; position:relative; min-height:118px; max-width:290px; }
.svc-active-desc p{
  position:absolute; inset:0; opacity:0; transform:translateY(10px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  font-size:.9rem; line-height:1.55; color:var(--gray);
}
.svc-active-desc p b{
  display:block; font-family:var(--font-display); font-size:.76rem; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--off-white); margin-bottom:8px;
}
.svc-active-desc p.active{ opacity:1; transform:translateY(0); }

/* ---- DIREITA: palco (lista em linha + 3D grande, com sangria) ---- */
.svc-stage{ grid-area:stage; position:relative; min-height:clamp(320px,42vw,540px); align-self:center; }
#svc3d-canvas{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; transition:opacity 1.1s var(--ease); pointer-events:none;
}
#svc3d-canvas.ready{ opacity:1; }

.svc-list{
  position:relative; z-index:2; display:flex; flex-wrap:wrap; align-items:baseline;
  gap:8px clamp(10px,1.1vw,20px); padding-top:clamp(8px,1.4vw,18px); pointer-events:none;
}
.svc-list .svc-name{
  position:relative; font-family:var(--font-display); font-weight:500; text-transform:uppercase;
  font-size:clamp(.64rem,.78vw,.84rem); letter-spacing:.01em; white-space:nowrap;
  color:var(--graphite-2); transition:color .4s var(--ease);
}
.svc-list .svc-name.active{ color:var(--off-white); }
.svc-list .svc-name .dash{
  display:inline-block; width:14px; height:1px; background:var(--gold); margin-right:8px;
  transform:scaleX(0); transform-origin:left center; transition:transform .45s var(--ease);
  vertical-align:middle;
}
.svc-list .svc-name.active .dash{ transform:scaleX(1); }

.svc-connector{
  position:absolute; top:50%; left:0; height:1px; width:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, var(--gold) 0%, rgba(201,168,104,.15) 80%, transparent 100%);
  transition:width .5s var(--ease), left .5s var(--ease), top .5s var(--ease), opacity .5s var(--ease);
  opacity:0;
}

.svc-progress{ margin-top:clamp(36px,5vw,58px); height:1px; background:var(--line); position:relative; }
.svc-progress i{ position:absolute; inset:0; width:0%; background:var(--gold); transition:width .1s linear; }

/* =========================== RESULTS =========================== */
#results-track{ position:relative; height:420vh; background:var(--black); }
.results-pin{ position:sticky; top:0; height:100vh; overflow:hidden; }
#results-canvas{ position:absolute; inset:0; z-index:0; display:block; width:100%; height:100%; }
.results-fg{
  position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center;
  pointer-events:none;
}
.results-headline{ max-width:900px; }
.results-headline .rh{ font-size:var(--fs-h2); font-weight:600; text-transform:uppercase; line-height:1.06; position:absolute; inset:auto var(--gutter) auto var(--gutter); top:50%; transform:translateY(-50%); opacity:0; }
.results-headline{ position:relative; height:1px; }
.results-counter{
  position:absolute; left:var(--gutter); bottom:clamp(60px,10vw,110px); z-index:2;
  opacity:0;
}
.results-counter .rc-label{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; color:var(--gray); text-transform:uppercase; margin-bottom:10px; }
.results-counter .rc-value{ font-family:var(--font-display); font-weight:700; font-size:clamp(2.6rem,7vw,6.2rem); color:var(--off-white); font-variant-numeric:tabular-nums; }
.results-counter .rc-value b{ color:var(--gold); }
.results-counter .rc-sub{ color:var(--gray); max-width:340px; margin-top:10px; font-size:.95rem; }

.results-bgline{
  position:absolute; right:var(--gutter); top:14%; z-index:1;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gray-dim); opacity:0; max-width:220px; text-align:right; line-height:1.6;
}
.results-nodes{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.res-node{
  position:absolute; top:0; left:0; display:grid; grid-template-columns:auto auto auto; align-items:center; column-gap:5px;
  transform:translate(-50%,-210%); opacity:0; white-space:nowrap; will-change:transform, opacity;
  padding:0; border:0; background:transparent; box-shadow:none;
}
.res-node i{ width:5px; height:5px; border-radius:50%; background:var(--gold-bright); box-shadow:0 0 8px var(--gold-bright); flex:none; }
.res-node small{ font-family:var(--font-display); font-size:clamp(.74rem,1vw,.9rem); line-height:1; font-weight:700; letter-spacing:.04em; color:var(--off-white); }
.res-node span{ font-family:var(--font-display); font-size:clamp(.82rem,1.1vw,1.02rem); line-height:1; font-weight:700; letter-spacing:.045em; color:var(--gold); }
.res-node em{ grid-column:2 / 4; margin-top:5px; font-family:var(--font-mono); font-style:normal; font-size:.46rem; letter-spacing:.19em; color:var(--gray); }

.results-final{
  position:absolute; z-index:2; top:0; left:0; text-align:center;
  transform:translate(-50%,-165%); opacity:0; pointer-events:none;
}
.results-final .rf-value{ display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(1.2rem,2.6vw,1.9rem); color:var(--off-white); letter-spacing:.02em; }
.results-final .rf-value span{ color:var(--gold); }
.results-final .rf-label{ display:block; margin-top:4px; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gray); }

/* =========================== METRICS =========================== */
#metrics{ background:var(--black-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.metrics-row{ display:flex; flex-direction:column; }
.metric{
  display:flex; align-items:baseline; gap:clamp(20px,4vw,56px); padding-block:clamp(20px,3.6vw,40px);
  border-bottom:1px solid var(--line); will-change:transform;
}
.metrics-row .metric:last-child{ border-bottom:0; }
.metric .m-num{
  font-family:var(--font-display); font-weight:700; font-size:clamp(3.2rem,9vw,8rem); color:var(--off-white);
  line-height:.9; white-space:nowrap; font-variant-numeric:tabular-nums;
}
.metric .m-num span{ color:var(--gold); }
.metric .m-label{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gray); }

/* =========================== POLIMATA =========================== */
#polimata{ min-height:100vh; display:flex; align-items:center; background:var(--black); }
.polimata-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.polimata-copy h2{ font-size:var(--fs-h2); font-weight:600; text-transform:uppercase; line-height:1.08; }
.polimata-copy p{ color:var(--gray); max-width:440px; margin-top:22px; font-size:var(--fs-lead); }
.polimata-copy p + p{ margin-top:14px; }

.orbit-wrap{ position:relative; aspect-ratio:1/1; max-width:560px; margin-inline:auto; width:100%; }

.orbit-ring{ position:absolute; inset:0; border:1px solid rgba(201,168,104,.1); border-radius:50%; z-index:1; }
.orbit-ring.ring-a{ transform:rotate(-14deg) scaleY(.8); }
.orbit-ring.ring-b{ inset:9%; border-color:rgba(201,168,104,.16); transform:rotate(11deg) scaleY(.72); }

/* estátua — busto clássico 3D real (GLTF/GLB), renderizado via Three.js.
   Ver módulo "POLIMATA — busto 3D (GLTF)" no script no final do arquivo
   para o caminho exato onde o arquivo .glb deve ser colocado. */
.statue-stage{
  position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
#statue-canvas{
  width:63%; max-width:350px; aspect-ratio:3/4; display:block;
  opacity:0; transition:opacity 1.3s var(--ease);
}
#statue-canvas.in{ opacity:1; }

.orbit-core{
  position:absolute; left:50%; bottom:3%; transform:translate(-50%,0); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
.orbit-core-rule{ width:26px; height:1px; background:var(--gold-dim); opacity:.7; }
.orbit-core-text{ position:relative; text-align:center; }
.orbit-core-text .oc-a, .orbit-core-text .oc-b{
  font-family:var(--font-display); font-weight:700; font-size:clamp(.95rem,2vw,1.35rem); letter-spacing:.1em; text-transform:uppercase;
}
.orbit-core-text .oc-a{ color:var(--off-white); }
.orbit-core-text .oc-b{ color:var(--gold); position:absolute; inset:0; opacity:0; }
.orbit-core-tag{ font-family:var(--font-mono); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gray-dim); }

.orbit-item{
  position:absolute; top:50%; left:50%; z-index:2; will-change:transform, opacity; pointer-events:none;
  display:flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gray);
  white-space:nowrap;
}
.orbit-item i{ display:inline-block; width:4px; height:4px; border-radius:50%; background:rgba(201,168,104,.75); flex:none; }

/* =========================== PROCESS =========================== */
#process{ background:var(--black); }
.process-head h2{ font-size:var(--fs-h2); font-weight:600; text-transform:uppercase; max-width:700px; }
.process-line-wrap{ margin-top:clamp(60px,8vw,100px); position:relative; }
.process-line-wrap svg{ width:100%; height:auto; display:block; }
.process-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:34px; }
.p-step{ opacity:.4; transition:opacity .5s var(--ease), transform .5s var(--ease); transform:translateY(6px); }
.p-step.active{ opacity:1; transform:translateY(0); }
.p-step .p-num{ font-family:var(--font-mono); color:var(--gold); font-size:.85rem; margin-bottom:14px; display:block; }
.p-step h3{ font-family:var(--font-display); font-size:1.15rem; font-weight:600; text-transform:uppercase; margin-bottom:10px; }
.p-step p{ color:var(--gray); font-size:.94rem; max-width:260px; }

/* =========================== POSITIONING =========================== */
#positioning{ min-height:80vh; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--black); }
.pos-stage{ position:relative; height:clamp(140px,26vw,240px); display:flex; align-items:center; justify-content:center; width:100%; }
.pos-line{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:var(--fs-h2); font-weight:700; text-transform:uppercase; line-height:1.05;
  opacity:0; transform:translateY(24px) scale(.96);
}
.pos-line b{ color:var(--gold); font-weight:700; }
.pos-line.show{ opacity:1; }

/* =========================== CTA FINAL =========================== */
#cta{ position:relative; padding-block:clamp(120px,18vw,220px); background:var(--black); overflow:hidden; text-align:center; }
.cta-bg-logo{
  position:absolute; left:50%; top:50%; width:min(1000px,140vw); transform:translate(-50%,-50%) scale(.9);
  opacity:.06; filter:grayscale(1) contrast(1.15); pointer-events:none; z-index:0;
}
.cta-glow{ position:absolute; width:520px; height:520px; border-radius:50%; pointer-events:none; z-index:1;
  background:radial-gradient(circle, var(--gold-glow) 0%, transparent 68%); transform:translate(-50%,-50%); opacity:0; filter:blur(10px);
}
.cta-inner{ position:relative; z-index:2; max-width:900px; margin-inline:auto; }
.cta-inner h2{ font-size:var(--fs-h2); font-weight:700; text-transform:uppercase; line-height:1.05; }
.cta-inner p{ color:var(--gray); font-size:var(--fs-lead); margin-top:26px; max-width:480px; margin-inline:auto; }
.cta-actions{ display:flex; gap:38px; justify-content:center; align-items:flex-start; margin-top:48px; flex-wrap:wrap; }
.cta-actions .pill-group{ align-items:center; }
.cta-actions .pill-caption{ padding-left:0; }
.magnetic{ display:inline-block; }

/* =========================== FOOTER =========================== */
footer{ background:var(--black-soft); border-top:1px solid var(--line); padding-block:56px; }
.footer-grid{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; flex-wrap:wrap; }
.footer-brand{ display:flex; align-items:center; gap:14px; }
.footer-brand img{ width:40px; height:40px; object-fit:contain; }
.footer-brand .fb-name{ font-family:var(--font-display); font-weight:600; letter-spacing:.03em; }
.footer-brand .fb-tag{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em; color:var(--gray); text-transform:uppercase; margin-top:4px; }
.footer-links{ display:flex; gap:20px 34px; flex-wrap:wrap; }
.footer-links a{ font-family:var(--font-mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gray); position:relative; }
.footer-links a:hover{ color:var(--gold); }
.footer-bottom{ margin-top:40px; padding-top:24px; border-top:1px solid var(--line); font-family:var(--font-mono); font-size:.68rem; color:var(--gray-dim); letter-spacing:.05em; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

/* =========================== reveal utility =========================== */
.reveal{ opacity:0; transform:translateY(34px); }
.reveal.in{ opacity:1; transform:translateY(0); transition:opacity .9s var(--ease), transform .9s var(--ease); }

/* =========================== RESPONSIVE =========================== */
@media (max-width: 980px){
  nav.primary-nav{ display:none; }
  .header-actions .btn-outline, .header-actions .ig-link{ display:none; }
  .menu-toggle{ display:block; }
  .services-head{ margin-bottom:22px; }
  .svc-body-v2{ display:flex; flex-direction:column; gap:16px; }
  .svc-counter-block{ order:1; flex-direction:row; align-items:center; flex-wrap:wrap; gap:12px 22px; }
  .svc-counter{ width:min(120px,50%); }
  .svc-stage{ order:2; min-height:190px; }
  .svc-active-desc{ order:3; max-width:none; min-height:auto; position:static; }
  .svc-active-desc p{ position:static; display:none; opacity:1; transform:none; }
  .svc-active-desc p.active{ display:block; }
  .svc-list{ padding-top:0; }
  .svc-progress{ margin-top:20px; }
  .polimata-grid{ grid-template-columns:1fr; }
  .orbit-wrap{ max-width:360px; }
  .process-steps{ grid-template-columns:1fr 1fr; }
  .footer-grid{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 720px){
  .header-actions .pill-compact{ display:none; }
  #services-track{ height:520svh; }
  .services-pin{ height:100svh; min-height:100svh; }
  #results-track{ height:420svh; }
  .results-pin{ height:100svh; min-height:100svh; }
}
@media (max-width: 560px){
  .hero-cta{ flex-direction:column; gap:26px; }
  .pill-group, .pill-group .magnetic, .pill{ width:100%; }
  .cta-actions .pill-group, .cta-actions .pill-group .magnetic, .cta-actions .pill{ width:100%; }
  .process-steps{ grid-template-columns:1fr; }
  .results-counter{ left:var(--gutter); right:var(--gutter); }
  .orbit-wrap{ max-width:280px; }
  .orbit-item{ font-size:.58rem; padding:7px 11px; gap:6px; }
}
