/* =========================================================
   Estúdio Winners — preto + amarelo/dourado, futurista
   ========================================================= */
:root {
  --bg: #060606;
  --surface: #0e0e0f;
  --card: rgba(255, 255, 255, .035);
  --line: rgba(255, 255, 255, .08);
  --line-y: rgba(255, 210, 63, .22);
  --text: #f5f3ee;
  --gray: #7c7a76;
  --muted: #a6a29a;
  --dim: #66635e;
  --y: #ffd23f;
  --y-2: #f5b820;
  --gold: #e0a83a;
  --bronze: #b97a1f;
  --y-grad: linear-gradient(120deg, #fff3c4 0%, #ffd23f 30%, #f5b820 55%, #ffe27a 80%, #e0a83a 100%);
  --neon: 0 0 0 1px rgba(255, 210, 63, .9), 0 0 18px rgba(255, 210, 63, .55), 0 0 48px rgba(255, 190, 40, .35), 0 0 110px rgba(255, 170, 30, .22);
  --radius: 24px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --container: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --section: clamp(44px, 5vw, 64px);
  --font-display: "Clash Display", "Sora", system-ui, sans-serif;
  --font-body: "Satoshi", "Inter", system-ui, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg); color: var(--text);
  font-family: var(--font-body); font-size: 17px; line-height: 1.65;
  overflow-x: hidden; -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
svg { fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
svg .fill { fill: currentColor; stroke: none; }
::selection { background: var(--y); color: #111; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
main, .nav, .footer { position: relative; z-index: 2; }

/* ---------- Two-tone typography (referência preto + amarelo) ---------- */
h1, h2, h3, .h2 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.01em; line-height: 1.04; }
.h2 { font-size: clamp(2.2rem, 4.6vw, 3.9rem); }
.w { color: var(--text); }
.g { color: var(--gray); }
.y { color: var(--y); }
.lead { color: var(--muted); font-size: clamp(1.02rem, 1.3vw, 1.15rem); max-width: 54ch; }
strong { color: var(--text); font-weight: 700; }

.kicker {
  display: inline-flex; align-items: center; gap: .35rem;
  font-family: var(--font-display); font-weight: 600; font-size: .8rem;
  letter-spacing: .2em; text-transform: uppercase; color: var(--text);
}
.kicker b { color: var(--y); font-size: 1.1em; }

/* ---------- Background layers ---------- */
.bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.aurora { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .55; mix-blend-mode: screen; will-change: transform; }
.a1 { width: 55vw; height: 55vw; left: -15vw; top: -20vw; background: radial-gradient(circle, rgba(255, 196, 40, .55), transparent 65%); animation: drift1 26s ease-in-out infinite alternate; }
.a2 { width: 45vw; height: 45vw; right: -12vw; top: 25vh; background: radial-gradient(circle, rgba(224, 150, 30, .45), transparent 65%); animation: drift2 32s ease-in-out infinite alternate; }
.a3 { width: 50vw; height: 40vw; left: 25vw; bottom: -25vw; background: radial-gradient(circle, rgba(255, 220, 90, .35), transparent 65%); animation: drift3 38s ease-in-out infinite alternate; }
@keyframes drift1 { to { transform: translate(18vw, 22vh) scale(1.15); } }
@keyframes drift2 { to { transform: translate(-22vw, -10vh) scale(.9); } }
@keyframes drift3 { to { transform: translate(-15vw, -30vh) scale(1.2); } }

.grid-bg {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255, 210, 63, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 210, 63, .07) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 90% 75% at 50% 35%, #000 35%, transparent 85%);
  animation: gridmove 30s linear infinite;
}
@keyframes gridmove { to { background-position: 0 72px, 72px 0; } }
.beams { position: absolute; inset: 0; }
.beam { position: absolute; top: -30vh; width: 1px; height: 26vh; background: linear-gradient(to bottom, transparent, var(--y), transparent); box-shadow: 0 0 12px var(--y); opacity: .7; animation: beam var(--d, 7s) linear infinite; animation-delay: var(--delay, 0s); }
.beam.h { top: auto; left: -30vw; width: 26vw; height: 1px; background: linear-gradient(to right, transparent, var(--y), transparent); animation-name: beamh; }
@keyframes beam { to { transform: translateY(160vh); } }
@keyframes beamh { to { transform: translateX(160vw); } }
#network { position: absolute; inset: 0; width: 100%; height: 100%; }
.grain {
  position: absolute; inset: -50%; opacity: .06;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation: grain 1.2s steps(4) infinite;
}
@keyframes grain { 25% { transform: translate(-2%, 3%); } 50% { transform: translate(3%, -1%); } 75% { transform: translate(-1%, -3%); } }
.progress { position: fixed; left: 0; top: 0; height: 2px; width: 100%; z-index: 100; transform-origin: left; transform: scaleX(0); background: var(--y-grad); box-shadow: 0 0 12px var(--y); }

/* ---------- Buttons ---------- */
.btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .65rem;
  font-family: var(--font-display); font-weight: 600; font-size: 1rem; letter-spacing: .01em;
  padding: 1.05rem 1.7rem; border-radius: 14px; overflow: hidden; white-space: nowrap;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s, border-color .35s;
}
.btn svg { width: 18px; height: 18px; flex: none; transition: transform .35s var(--ease); }
.btn svg.solid { fill: currentColor; stroke: none; }
.btn--yellow { color: #111; background: var(--y); box-shadow: 0 10px 40px -10px rgba(255, 210, 63, .7); }
.btn--yellow::after { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .75), transparent); transform: skewX(-20deg); transition: left .8s var(--ease); }
.btn--yellow:hover { transform: translateY(-3px); box-shadow: var(--neon); }
.btn--yellow:hover::after { left: 140%; }
.btn--yellow:hover svg { transform: translateX(4px); }
.btn--ghost { color: var(--text); border: 1px solid var(--line); background: rgba(255, 255, 255, .03); backdrop-filter: blur(10px); }
.btn--ghost:hover { border-color: var(--y); transform: translateY(-3px); box-shadow: 0 0 24px rgba(255, 210, 63, .25); }
.btn__ring { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--y); color: var(--y); margin-left: -.4rem; }
.btn__ring svg { width: 14px; height: 14px; }
.btn--ghost:hover .btn__ring { background: var(--y); color: #111; }
.btn--sm { padding: .8rem 1.25rem; font-size: .9rem; border-radius: 12px; }

/* ---------- Nav ---------- */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; transition: background .4s, border-color .4s; border-bottom: 1px solid transparent; }
.nav__inner { max-width: calc(var(--container) + 80px); margin: 0 auto; padding: 18px var(--gutter); display: flex; align-items: center; justify-content: space-between; gap: 2rem; transition: padding .4s var(--ease); }
.nav.scrolled { background: rgba(6, 6, 6, .7); backdrop-filter: blur(18px) saturate(140%); border-color: rgba(255, 210, 63, .12); }
.nav.scrolled .nav__inner { padding-block: 10px; }
.nav__brand img { height: 58px; width: auto; transition: height .4s var(--ease); }
.nav.scrolled .nav__brand img { height: 46px; }
.nav__links { display: flex; gap: 2.4rem; font-size: .95rem; font-weight: 500; color: #cfcbc3; }
.nav__links a { position: relative; transition: color .3s; }
.nav__links a::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; height: 2px; border-radius: 2px; background: var(--y); box-shadow: 0 0 10px var(--y); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease); }
.nav__links a:hover, .nav__links a.active { color: var(--y); }
.nav__links a:hover::after, .nav__links a.active::after { transform: scaleX(1); transform-origin: left; }
.nav__toggle { display: none; background: none; border: 0; width: 44px; height: 44px; cursor: pointer; position: relative; }
.nav__toggle span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--y); border-radius: 2px; transition: transform .35s var(--ease), top .35s; }
.nav__toggle span:first-child { top: 17px; }
.nav__toggle span:last-child { top: 25px; }
.nav__toggle[aria-expanded="true"] span:first-child { top: 21px; transform: rotate(45deg); }
.nav__toggle[aria-expanded="true"] span:last-child { top: 21px; transform: rotate(-45deg); }

/* ---------- Sections ---------- */
.section { padding-block: var(--section); position: relative; }
.head-split { display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem 5rem; align-items: end; margin-bottom: clamp(30px, 3.6vw, 44px); }
.head-split > div { display: grid; gap: 1.2rem; }
.head-split .lead { justify-self: end; padding-bottom: .4rem; }
.head-center { display: grid; justify-items: center; text-align: center; gap: 1.2rem; margin: 0 auto clamp(30px, 3.6vw, 44px); max-width: 780px; }

/* ---------- Hero ---------- */
.hero { position: relative; padding: 150px 0 24px; overflow: hidden; }
.hero__bigword {
  position: absolute; left: 50%; top: 92px; transform: translateX(-50%);
  font-family: var(--font-display); font-weight: 700; font-size: clamp(6rem, 22vw, 20rem); line-height: 1; letter-spacing: -.02em;
  color: transparent; -webkit-text-stroke: 1px rgba(255, 210, 63, .12); white-space: nowrap; pointer-events: none; user-select: none;
}
.hero__copy { position: relative; display: grid; justify-items: center; text-align: center; gap: 1.8rem; }
.hero__title { font-size: clamp(2.8rem, 7vw, 6rem); font-weight: 600; line-height: 1; }
.hero__title .y { text-shadow: 0 0 40px rgba(255, 210, 63, .35); }
.hero__sub { color: var(--muted); font-size: clamp(1.05rem, 1.4vw, 1.22rem); max-width: 60ch; }
.hero__ctas { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.hero__facts { list-style: none; display: flex; gap: 0; margin-top: .6rem; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, .025); backdrop-filter: blur(10px); }
.hero__facts li { display: flex; align-items: center; gap: .85rem; padding: .9rem 1.6rem; text-align: left; }
.hero__facts li + li { border-left: 1px solid var(--line); }
.hero__facts b { font-family: var(--font-display); font-size: 2rem; font-weight: 600; color: var(--y); line-height: 1; }
.hero__facts span { font-size: .8rem; line-height: 1.3; color: var(--muted); }

/* Stage */
.stage { position: relative; width: 100%; max-width: 1100px; height: 560px; margin: 48px auto 0; padding-inline: var(--gutter); }
.stage__links { position: absolute; inset: 0; width: 100%; height: 100%; }
.stage__links path { vector-effect: non-scaling-stroke; }
.stage__links .base path { stroke: rgba(255, 210, 63, .25); stroke-width: 1.2; }
.stage__links .flow path { stroke: url(#lg); stroke-width: 2.4; stroke-dasharray: 70 520; animation: flow 3s linear infinite; filter: drop-shadow(0 0 6px var(--y)); }
.stage__links .flow path:nth-child(2) { animation-delay: -.75s; }
.stage__links .flow path:nth-child(3) { animation-delay: -1.5s; }
.stage__links .flow path:nth-child(4) { animation-delay: -2.25s; }
@keyframes flow { from { stroke-dashoffset: 590; } to { stroke-dashoffset: 0; } }

.orb-wrap { position: absolute; left: 50%; top: 50%; width: 520px; height: 520px; transform: translate(-50%, -50%); }
.orbit { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px dashed rgba(255, 210, 63, .22); transform: translate(-50%, -50%); }
.orbit--outer { width: 500px; height: 500px; --r: 250px; --spin: 46s; }
.orbit--inner { width: 350px; height: 350px; --r: 175px; --spin: 30s; border-style: solid; border-color: rgba(255, 210, 63, .14); }
.orbit { animation: orbit var(--spin) linear infinite; }
.orbit--inner { animation-direction: reverse; }
@keyframes orbit { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(360deg); } }
.planet { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(calc(var(--i) * 90deg + 45deg)) translateX(var(--r)); }
.orbit--inner .planet { transform: rotate(calc(var(--i) * 90deg)) translateX(var(--r)); }
.planet i {
  position: absolute; left: -24px; top: -24px; width: 48px; height: 48px; border-radius: 14px;
  display: grid; place-items: center; color: var(--y);
  background: linear-gradient(160deg, rgba(40, 32, 10, .9), rgba(10, 10, 10, .95));
  border: 1px solid rgba(255, 210, 63, .45);
  box-shadow: 0 0 22px rgba(255, 210, 63, .25);
  animation: counter var(--spin) linear infinite;
}
.orbit--inner .planet i { animation-direction: reverse; }
.planet i svg { width: 24px; height: 24px; }
/* Mantém os ícones na vertical enquanto a órbita gira */
.orbit--outer .planet i { --base: calc(-1 * (var(--i) * 90deg + 45deg)); }
.orbit--inner .planet i { --base: calc(-1 * var(--i) * 90deg); }
@keyframes counter { from { transform: rotate(var(--base)); } to { transform: rotate(calc(var(--base) - 360deg)); } }
.planet--lg i { left: -30px; top: -30px; width: 60px; height: 60px; border-radius: 16px; background: var(--y); color: #111; box-shadow: var(--neon); }
.planet--lg i svg { width: 30px; height: 30px; stroke-width: 2; }

.orb { position: absolute; left: 50%; top: 50%; width: 220px; height: 220px; transform: translate(-50%, -50%); }
.orb__core {
  position: absolute; inset: 18px; border-radius: 50%;
  display: grid; place-content: center; justify-items: center; gap: .3rem;
  background: radial-gradient(circle at 35% 28%, rgba(255, 236, 170, .35), transparent 42%), radial-gradient(circle at 50% 55%, #2a1d05 0%, #0b0803 72%);
  box-shadow: 0 0 60px rgba(255, 200, 50, .55), 0 0 160px rgba(255, 180, 30, .35), inset 0 0 40px rgba(255, 210, 63, .45);
  animation: breathe 5s ease-in-out infinite;
}
.orb__core img { width: 118px; height: auto; filter: drop-shadow(0 0 14px rgba(255, 190, 60, .5)); }
.orb__core small { font-family: var(--font-display); font-size: .62rem; letter-spacing: .34em; text-transform: uppercase; color: var(--y); }
.orb__ring { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(255, 210, 63, .5); }
.orb__ring.r1 { border-top-color: transparent; border-bottom-color: transparent; animation: spin 7s linear infinite; }
.orb__ring.r2 { inset: -14px; border-color: transparent; border-left-color: var(--y); border-right-color: rgba(255, 210, 63, .3); animation: spin 11s linear infinite reverse; filter: drop-shadow(0 0 6px var(--y)); }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes breathe { 50% { box-shadow: 0 0 90px rgba(255, 200, 50, .75), 0 0 200px rgba(255, 180, 30, .45), inset 0 0 55px rgba(255, 210, 63, .6); } }

.fcard {
  position: absolute; width: 240px; padding: 1.1rem 1.2rem; text-align: left;
  border-radius: 18px; border: 1px solid var(--line-y);
  background: linear-gradient(160deg, rgba(36, 30, 14, .7), rgba(10, 10, 10, .85));
  backdrop-filter: blur(14px);
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .9);
  animation: bob 6s ease-in-out infinite;
}
.fc1 { left: var(--gutter); top: 70px; }
.fc2 { left: var(--gutter); top: 370px; animation-delay: -1.5s; }
.fc3 { right: var(--gutter); top: 70px; animation-delay: -3s; }
.fc4 { right: var(--gutter); top: 370px; animation-delay: -4.5s; }
@keyframes bob { 50% { transform: translateY(-10px); } }
.fcard__head { display: flex; align-items: center; gap: .65rem; font-family: var(--font-display); font-weight: 600; font-size: 1rem; margin-bottom: .85rem; }
.fcard__ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #111; background: var(--y); }
.fcard__ico svg { width: 17px; height: 17px; stroke-width: 2; }
.chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.chip { font-size: .74rem; padding: .3rem .65rem; border-radius: 99px; border: 1px solid var(--line); color: #cfcbc3; background: rgba(255, 255, 255, .03); }
.chip.on { color: var(--y); border-color: rgba(255, 210, 63, .4); background: rgba(255, 210, 63, .08); }
.chip.on::before { content: "✓ "; }
.bars { display: flex; align-items: flex-end; gap: 6px; height: 56px; }
.bars i { flex: 1; height: var(--h); border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg, var(--y), rgba(185, 122, 31, .3)); transform-origin: bottom; animation: grow 1.4s var(--ease) both; }
.bars i:nth-child(6) { box-shadow: 0 0 16px rgba(255, 210, 63, .7); }
@keyframes grow { from { transform: scaleY(0); } }

/* ---------- Ticker ---------- */
.ticker { position: relative; z-index: 2; overflow: hidden; padding: 1.6rem 0; margin-top: 24px; background: var(--y); transform: rotate(-1.5deg) scale(1.03); box-shadow: 0 0 60px rgba(255, 210, 63, .25); }
.ticker__track { display: flex; align-items: center; gap: 2.6rem; width: max-content; animation: marquee 45s linear infinite; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.2rem, 2.2vw, 1.9rem); color: #111; white-space: nowrap; }
.ticker__track em { font-style: normal; font-weight: 400; }
.ticker__track .o { color: transparent; -webkit-text-stroke: 1.2px #111; }
.ticker__track b { font-size: .9em; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- Essência ---------- */
.essence .container { display: grid; gap: clamp(28px, 3.5vw, 44px); }
.statement { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.9rem, 4.4vw, 3.9rem); line-height: 1.12; letter-spacing: -.01em; max-width: 22ch; }
.statement .word { color: rgba(255, 255, 255, .14); transition: color .35s ease, text-shadow .35s ease; }
.statement .word.lit { color: var(--text); }
.statement .hl .word.lit { color: var(--y); text-shadow: 0 0 30px rgba(255, 210, 63, .35); }
.statement .strike { position: relative; display: inline-block; }
.statement .strike::after { content: ""; position: absolute; left: -2%; top: 55%; height: .09em; width: 104%; background: var(--y); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease); box-shadow: 0 0 12px var(--y); }
.statement .strike.lit::after { transform: scaleX(1); }

.compare { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: stretch; }
.cmp { border-radius: var(--radius); padding: clamp(28px, 3.5vw, 44px); display: grid; gap: 1.6rem; align-content: start; border: 1px solid var(--line); background: var(--card); transition: transform .5s var(--ease), box-shadow .5s, border-color .5s; }
.cmp header { display: grid; gap: .9rem; }
.cmp h3 { font-size: clamp(1.5rem, 2.3vw, 2rem); }
.cmp__tag { justify-self: start; font-family: var(--font-display); font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding: .4rem .8rem; border-radius: 99px; border: 1px solid var(--line); color: var(--muted); }
.cmp ul { list-style: none; display: grid; gap: .95rem; }
.cmp li { display: flex; gap: .9rem; align-items: flex-start; color: var(--muted); }
.cmp li::before { flex: none; display: grid; place-items: center; width: 24px; height: 24px; margin-top: .1rem; border-radius: 50%; font-size: .75rem; font-weight: 700; }
.cmp--off li { text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .25); }
.cmp--off li::before { content: "✕"; color: var(--gray); border: 1px solid var(--line); }
.cmp--on { border-color: rgba(255, 210, 63, .45); background: linear-gradient(160deg, rgba(255, 210, 63, .13), rgba(255, 210, 63, .02) 60%); }
.cmp--on .cmp__tag { color: #111; background: var(--y); border-color: var(--y); }
.cmp--on li { color: #e4e0d8; }
.cmp--on li::before { content: "✓"; color: #111; background: var(--y); }
.cmp--on:hover { transform: translateY(-6px) scale(1.02); box-shadow: var(--neon); }
.cmp__vs { align-self: center; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-family: var(--font-display); font-weight: 700; color: var(--y); border: 1px solid var(--line-y); background: #0b0b0b; box-shadow: 0 0 30px rgba(255, 210, 63, .2); }

/* ---------- Pilares 01 02 03 (futuristas + neon) ---------- */
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.pillar { position: relative; display: flex; transition: transform .55s var(--ease), filter .55s var(--ease); cursor: default; }
.pillar__body {
  --clip: 28px;
  position: relative; isolation: isolate; min-height: 360px; width: 100%; overflow: hidden;
  padding: 44px 36px 40px; display: flex; flex-direction: column; gap: 1rem;
  clip-path: polygon(var(--clip) 0, 100% 0, 100% calc(100% - var(--clip)), calc(100% - var(--clip)) 100%, 0 100%, 0 var(--clip));
  background:
    linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .01) 55%),
    repeating-linear-gradient(0deg, rgba(255, 210, 63, .035) 0 1px, transparent 1px 6px),
    #0c0c0c;
}
/* borda em gradiente animado */
.pillar__body::before {
  content: ""; position: absolute; inset: 0; z-index: -1; padding: 1px;
  clip-path: inherit;
  background: conic-gradient(from var(--ang, 0deg), rgba(255, 210, 63, .1), rgba(255, 210, 63, .7), rgba(255, 210, 63, .1) 30%, rgba(255, 210, 63, .1) 70%, rgba(255, 210, 63, .6), rgba(255, 210, 63, .1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
  animation: rotateBorder 6s linear infinite;
}
@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes rotateBorder { to { --ang: 360deg; } }
.pillar .hud { position: absolute; width: 18px; height: 18px; border: 2px solid var(--y); opacity: .7; transition: all .5s var(--ease); }
.hud.tl { top: 14px; left: 34px; border-right: 0; border-bottom: 0; }
.hud.tr { top: 14px; right: 14px; border-left: 0; border-bottom: 0; }
.hud.bl { bottom: 14px; left: 14px; border-right: 0; border-top: 0; }
.hud.br { bottom: 14px; right: 34px; border-left: 0; border-top: 0; }
.pillar__scan { position: absolute; left: 0; right: 0; top: -40%; height: 40%; background: linear-gradient(to bottom, transparent, rgba(255, 210, 63, .12), transparent); animation: scan 4.5s ease-in-out infinite; pointer-events: none; }
@keyframes scan { to { top: 120%; } }
.pillar__n { font-family: var(--font-display); font-weight: 700; font-size: 3.2rem; line-height: 1; color: var(--y); text-shadow: 0 0 24px rgba(255, 210, 63, .4); }
.pillar h3 { font-size: 1.6rem; line-height: 1.12; margin-top: .4rem; }
.pillar p { color: var(--muted); }
.pillar__line { margin-top: auto; height: 2px; width: 48px; background: var(--y); box-shadow: 0 0 10px var(--y); transition: width .6s var(--ease); align-self: flex-start; }
.pillar--hot .pillar__body { background: linear-gradient(155deg, #ffe066, var(--y) 40%, #f2b11c); color: #111; }
.pillar--hot .pillar__body::before { background: conic-gradient(from var(--ang, 0deg), #fff6c8, #b97a1f, #fff6c8); }
.pillar--hot .pillar__n { color: #111; text-shadow: none; }
.pillar--hot p { color: #3b2e08; }
.pillar--hot .hud { border-color: #111; }
.pillar--hot .pillar__scan { background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, .35), transparent); }
.link { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--font-display); font-weight: 600; margin-top: auto; padding-top: 1rem; }
.link svg { width: 18px; height: 18px; transition: transform .3s; }
.link:hover svg { transform: translateX(5px); }

/* hover: neon + cresce */
.pillar:hover { transform: translateY(-10px) scale(1.06); z-index: 3; filter: drop-shadow(0 0 22px rgba(255, 210, 63, .65)) drop-shadow(0 0 60px rgba(255, 180, 30, .35)); }
.pillar:hover .pillar__body::before { background: conic-gradient(from var(--ang, 0deg), #ffd23f, #fff3c4, #ffd23f, #f5b820, #ffd23f); animation-duration: 2s; }
.pillar:hover .hud { opacity: 1; width: 26px; height: 26px; filter: drop-shadow(0 0 6px var(--y)); }
.pillar:hover .pillar__n { text-shadow: 0 0 12px var(--y), 0 0 40px var(--y); }
.pillar--hot:hover .pillar__n { text-shadow: 0 0 18px rgba(255, 255, 255, .8); }
.pillar:hover .pillar__line { width: 100%; }

/* ---------- Serviços ---------- */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.svc {
  position: relative; padding: 36px 32px 32px; border-radius: var(--radius);
  border: 1px solid var(--line); background: linear-gradient(170deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012));
  display: flex; flex-direction: column; gap: 1rem; overflow: hidden;
  transition: border-color .4s, transform .5s var(--ease), box-shadow .5s;
  transform-style: preserve-3d;
}
.svc::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 210, 63, .16), transparent 45%); opacity: 0; transition: opacity .4s; }
.svc:hover { border-color: var(--y); box-shadow: 0 0 0 1px rgba(255, 210, 63, .5), 0 0 40px rgba(255, 210, 63, .22), 0 30px 70px -30px rgba(255, 180, 50, .4); }
.svc:hover::before { opacity: 1; }
.svc__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.svc__ico { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; border: 1px solid rgba(255, 210, 63, .35); background: rgba(255, 210, 63, .07); color: var(--y); transition: transform .5s var(--ease), background .4s, color .4s, box-shadow .4s; }
.svc__ico svg { width: 26px; height: 26px; }
.svc:hover .svc__ico { transform: rotate(-8deg) scale(1.08); background: var(--y); color: #111; box-shadow: 0 0 30px rgba(255, 210, 63, .55); }
.svc__n { font-family: var(--font-display); font-size: 2.8rem; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(255, 210, 63, .4); transition: color .4s; }
.svc:hover .svc__n { color: rgba(255, 210, 63, .15); }
.svc h3 { font-size: 1.4rem; line-height: 1.15; }
.svc p { color: var(--muted); font-size: .98rem; }
.svc__tag { margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--line); font-family: var(--font-display); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--y); }
.svc--hot { border-color: rgba(255, 210, 63, .45); background: linear-gradient(165deg, rgba(255, 210, 63, .16), rgba(255, 210, 63, .02) 60%); }
.svc--wide { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 2rem; padding: 36px 40px; }
.svc--wide .svc__top { margin: 0; flex-direction: column; gap: .8rem; align-items: flex-start; }
.svc__wide { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; }
.svc__wide > div { display: grid; gap: .6rem; max-width: 62ch; }


/* ---------- Método ---------- */
.method { overflow: hidden; padding-bottom: calc(var(--section) + 16px); }
.journey { position: relative; z-index: 1; }
.journey__arc { position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 140px; }
.journey__arc path { stroke: rgba(255, 210, 63, .5); stroke-width: 1.5; stroke-dasharray: 1600; stroke-dashoffset: 1600; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 2.4s var(--ease); filter: drop-shadow(0 0 6px rgba(255, 210, 63, .6)); }
.journey.in .journey__arc path { stroke-dashoffset: 0; }
.steps { position: relative; list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.5rem; }
.step { display: grid; justify-items: center; text-align: center; gap: .5rem; align-content: start; }
/* posições ao longo do arco */
.step:nth-child(1), .step:nth-child(5) { padding-top: 111px; }
.step:nth-child(2), .step:nth-child(4) { padding-top: 51px; }
.step:nth-child(3) { padding-top: 31px; }
.step i { width: 18px; height: 18px; border-radius: 50%; background: var(--y); box-shadow: 0 0 0 7px rgba(255, 210, 63, .15), 0 0 26px var(--y); margin-bottom: .8rem; animation: pulseDot 2.4s ease-in-out infinite; }
.step:nth-child(2) i { animation-delay: .3s; } .step:nth-child(3) i { animation-delay: .6s; } .step:nth-child(4) i { animation-delay: .9s; } .step:nth-child(5) i { animation-delay: 1.2s; }
@keyframes pulseDot { 50% { box-shadow: 0 0 0 12px rgba(255, 210, 63, .05), 0 0 36px var(--y); } }
.step small { font-family: var(--font-display); color: var(--gray); font-size: .8rem; letter-spacing: .2em; }
.step b { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--text); }
.step span { color: var(--muted); font-size: .92rem; max-width: 22ch; }
#wave { position: absolute; left: 0; bottom: 0; width: 100%; height: 360px; pointer-events: none; z-index: 0; }

/* ---------- IA ---------- */
.ai__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 7vw, 96px); align-items: center; }
.ai__copy { display: grid; gap: 1.4rem; justify-items: start; }
.checks { list-style: none; display: grid; gap: .9rem; margin-top: .4rem; }
.checks li { display: flex; gap: .85rem; align-items: center; color: #e4e0d8; }
.checks li::before { content: "✓"; display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 50%; font-size: .78rem; font-weight: 700; color: #111; background: var(--y); box-shadow: 0 0 14px rgba(255, 210, 63, .5); }
.panel { border: 1px solid var(--line-y); border-radius: 26px; padding: 32px; background: linear-gradient(170deg, rgba(30, 24, 8, .75), rgba(10, 10, 10, .9)); box-shadow: 0 40px 100px -40px rgba(255, 180, 30, .4); display: grid; gap: 1.6rem; transition: transform .5s var(--ease), box-shadow .5s; }
.panel:hover { transform: translateY(-6px); box-shadow: var(--neon); }
.panel__head { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--font-display); font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.panel__head em { font-style: normal; font-size: .68rem; color: var(--dim); letter-spacing: .06em; text-transform: none; font-family: var(--font-body); }
.panel__rows { display: grid; gap: 1rem; }
.prow { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 1rem; font-size: .88rem; color: #cfcbc3; }
.meter { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .06); overflow: hidden; }
.meter i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--bronze), var(--y)); box-shadow: 0 0 12px rgba(255, 210, 63, .6); transition: width 1.8s var(--ease); }
.panel.in .meter i { width: var(--w); }
.panel__chart { width: 100%; height: 130px; }
.panel__chart .area { fill: url(#area); stroke: none; }
.panel__chart .line { stroke: var(--y); stroke-width: 2.2; vector-effect: non-scaling-stroke; stroke-dasharray: 600; stroke-dashoffset: 600; transition: stroke-dashoffset 2.2s var(--ease); filter: drop-shadow(0 0 6px var(--y)); }
.panel.in .panel__chart .line { stroke-dashoffset: 0; }
.panel__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.3rem; }
.panel__foot small { display: block; color: var(--dim); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.panel__foot b { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; display: inline-flex; align-items: center; gap: .5rem; }
.live { width: 9px; height: 9px; border-radius: 50%; background: #ff5f57; box-shadow: 0 0 10px #ff5f57; animation: blink 1.2s infinite; }
@keyframes blink { 50% { opacity: .3; } }

/* ---------- CTA ---------- */
.cta__box { position: relative; overflow: hidden; text-align: center; display: grid; justify-items: center; gap: 1.6rem; padding: clamp(64px, 9vw, 120px) clamp(24px, 6vw, 96px); border-radius: 36px; border: 1px solid rgba(255, 210, 63, .35); background: radial-gradient(ellipse at 50% 0%, rgba(255, 200, 50, .22), transparent 60%), linear-gradient(180deg, #110d04, #070707); }
.cta__box .h2 { max-width: 18ch; }
.cta__box .lead { margin-inline: auto; }
.cta__glow { position: absolute; width: 640px; height: 640px; left: 50%; top: -400px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255, 210, 63, .45), transparent 65%); filter: blur(30px); animation: glow 6s ease-in-out infinite; pointer-events: none; }
@keyframes glow { 50% { opacity: .5; transform: translateX(-50%) scale(1.12); } }
.cta__brand { width: min(440px, 82%); height: auto; filter: drop-shadow(0 0 24px rgba(255, 196, 70, .5)); }
.cta .hero__ctas { margin-top: .6rem; }

/* ---------- Footer ---------- */
.footer { border-top: 1px solid rgba(255, 210, 63, .14); padding: 48px 0 96px; }
.footer__inner { display: grid; justify-items: center; gap: 1.4rem; text-align: center; }
.footer__logo { width: 150px; height: auto; }
.footer__tag { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; }
.footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; color: var(--muted); }
.footer__links a:hover { color: var(--y); }
.footer small { color: var(--dim); }

/* ---------- WhatsApp float ---------- */
.wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 60; width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; background: var(--y); color: #111; box-shadow: 0 12px 40px -6px rgba(255, 200, 50, .75); transition: transform .35s var(--ease), box-shadow .35s; }
.wa-float svg { width: 30px; height: 30px; fill: currentColor; stroke: none; }
.wa-float::before { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--y); animation: ping 2.2s var(--ease) infinite; }
.wa-float:hover { transform: scale(1.1) rotate(-6deg); box-shadow: var(--neon); }
@keyframes ping { from { transform: scale(1); opacity: .8; } to { transform: scale(1.7); opacity: 0; } }

/* ---------- Reveal ---------- */
.reveal { opacity: 0; transform: translateY(40px); filter: blur(10px); transition: opacity 1s var(--ease), transform 1s var(--ease), filter 1s var(--ease); }
.reveal[data-delay="1"] { transition-delay: .12s; }
.reveal[data-delay="2"] { transition-delay: .24s; }
.reveal[data-delay="3"] { transition-delay: .36s; }
.reveal[data-delay="4"] { transition-delay: .48s; }
.reveal:where(.in) { opacity: 1; transform: none; filter: none; }
/* depois de aparecer, o hover precisa responder sem atraso */
.reveal:where(.in.done) { transition: transform .55s var(--ease), box-shadow .55s var(--ease), filter .55s var(--ease), border-color .4s, background .5s; transition-delay: 0s; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .seg-grid { grid-template-columns: repeat(2, 1fr); }
  .fcard { width: 210px; }
  .orb-wrap { transform: translate(-50%, -50%) scale(.85); }
}
@media (max-width: 900px) {
  .nav__links {
    position: fixed; left: 0; right: 0; top: 0; padding: 110px 28px 44px;
    flex-direction: column; gap: 1.5rem; font-size: 1.5rem; font-family: var(--font-display);
    background: rgba(6, 6, 6, .97); backdrop-filter: blur(20px); border-bottom: 1px solid var(--line-y);
    transform: translateY(-105%); transition: transform .5s var(--ease); z-index: -1;
  }
  .nav__links.open { transform: none; }
  .nav__toggle { display: block; }
  .nav__cta { display: none; }
  .nav__brand img, .nav.scrolled .nav__brand img { height: 44px; }

  .head-split { grid-template-columns: 1fr; gap: 1.4rem; align-items: start; }
  .head-split .lead { justify-self: start; }

  .hero { padding-top: 130px; }
  .hero__facts li { padding: .8rem 1rem; }
  .stage { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 420px; margin-top: 40px; }
  .stage__links { display: none; }
  .orb-wrap { top: 200px; transform: translate(-50%, -50%) scale(.72); }
  .fcard { position: relative; inset: auto; width: auto; }

  .compare { grid-template-columns: 1fr; }
  .cmp__vs { justify-self: center; margin: -8px 0; }
  .pillars { grid-template-columns: 1fr; gap: 20px; }
  .pillar__body { min-height: 0; }
  .ai__grid { grid-template-columns: 1fr; }
  .svc--wide, .svc__wide { flex-direction: column; align-items: flex-start; }
  .svc--wide .svc__top { flex-direction: row; width: 100%; align-items: center; }

  .journey__arc { display: none; }
  .steps { grid-template-columns: 1fr; gap: 0; padding-left: 4px; }
  .steps::before { content: ""; position: absolute; left: 12px; top: 10px; bottom: 30px; width: 2px; background: linear-gradient(var(--y), transparent); box-shadow: 0 0 10px var(--y); }
  .step, .step:nth-child(n) { padding: 0 0 2.2rem; grid-template-columns: 18px 1fr; justify-items: start; text-align: left; column-gap: 1.3rem; row-gap: .25rem; }
  .step i { grid-row: span 3; margin: 4px 0 0; }
  .step span { max-width: none; }
  #wave { height: 240px; opacity: .7; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .svc-grid, .seg-grid { grid-template-columns: 1fr; }
  .stage { grid-template-columns: 1fr; padding-top: 380px; }
  .orb-wrap { top: 180px; transform: translate(-50%, -50%) scale(.62); }
  .hero__facts { width: 100%; }
  .hero__facts li { flex-direction: column; gap: .3rem; text-align: center; flex: 1; padding: .8rem .4rem; }
  .hero__facts span br { display: none; }
  .hero__ctas { width: 100%; }
  .hero__ctas .btn { width: 100%; white-space: normal; }
  .svc, .svc--wide { padding: 28px 24px; }
  .pillar__body { padding: 40px 28px 36px; }
  .ticker { transform: rotate(-2deg) scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; filter: none; }
  .statement .word { color: var(--text); }
}

/* Cartões mais sólidos: o fundo animado aparece, mas não disputa com o texto */
.svc, .cmp, .seg, .fcard { background-color: rgba(9, 9, 9, .78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.wa-float { outline: 3px solid rgba(6, 6, 6, .9); }

/* ---------- Segmentos atendidos ---------- */
.seg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.seg {
  position: relative; overflow: hidden; padding: 28px 26px 30px; border-radius: 20px;
  border: 1px solid var(--line); display: flex; flex-direction: column; gap: .7rem;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s;
}
.seg::after { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 40px; background: var(--y); box-shadow: 0 0 12px var(--y); transition: width .6s var(--ease); }
.seg__ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; margin-bottom: .4rem; color: var(--y); border: 1px solid rgba(255, 210, 63, .35); background: rgba(255, 210, 63, .07); transition: background .4s, color .4s, box-shadow .4s, transform .5s var(--ease); }
.seg__ico svg { width: 24px; height: 24px; }
.seg h3 { font-size: 1.25rem; line-height: 1.15; }
.seg p { color: var(--muted); font-size: .94rem; }
.seg .link { color: var(--y); font-size: .92rem; padding-top: .6rem; align-self: flex-start; white-space: nowrap; }
.seg:hover { transform: translateY(-8px) scale(1.04); border-color: var(--y); box-shadow: 0 0 0 1px rgba(255, 210, 63, .5), 0 0 36px rgba(255, 210, 63, .28); z-index: 2; }
.seg:hover::after { width: 100%; }
.seg:hover .seg__ico { background: var(--y); color: #111; box-shadow: 0 0 24px rgba(255, 210, 63, .55); transform: rotate(-6deg); }
.seg--cta { border-color: rgba(255, 210, 63, .45); background-image: linear-gradient(160deg, rgba(255, 210, 63, .14), rgba(255, 210, 63, .02) 65%); }
@media (max-width: 1080px) { .seg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .seg-grid { grid-template-columns: 1fr; } .seg { padding: 24px 22px 26px; } }
/* evita rolagem lateral causada pela faixa inclinada */
html, main { overflow-x: clip; }
/* tag acima do título no card largo */
.svc__tag--inline { margin: 0 0 .2rem; padding: 0; border: 0; }

/* =========================================================
   Seções do material Winners: frentes, portfólio,
   acompanhamento, crenças, equipe e planos
   ========================================================= */

/* ---------- Frentes de atuação ---------- */
.fronts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: clamp(32px, 3.6vw, 44px); }
.front {
  position: relative; padding: 32px 30px; border-radius: var(--radius); overflow: hidden;
  border: 1px solid var(--line-y); background: rgba(9, 9, 9, .8); backdrop-filter: blur(8px);
  display: flex; flex-direction: column; gap: 1rem;
  transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s;
}
.front::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--y-grad); box-shadow: 0 0 14px var(--y); }
.front__n { font-family: var(--font-display); font-size: .78rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--y); }
.front h3 { font-size: 1.45rem; line-height: 1.12; }
.front ul { list-style: none; display: grid; gap: .7rem; }
.front li { position: relative; padding-left: 1.4rem; color: var(--muted); font-size: .95rem; }
.front li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--y); transform: rotate(45deg); box-shadow: 0 0 8px var(--y); }
.front--hot { background-image: linear-gradient(160deg, rgba(255, 210, 63, .14), rgba(255, 210, 63, .02) 60%); border-color: rgba(255, 210, 63, .45); }
.front:hover { transform: translateY(-8px) scale(1.03); border-color: var(--y); box-shadow: var(--neon); z-index: 2; }

.sub-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 24px; font-family: var(--font-display); font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.sub-label::before, .sub-label::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--line-y), transparent); }

/* ---------- Serviços complementares ---------- */
.extras { margin-top: 24px; padding: 32px 36px; border-radius: var(--radius); border: 1px dashed rgba(255, 210, 63, .35); background: rgba(9, 9, 9, .7); display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; align-items: center; }
.extras__head { display: grid; gap: .6rem; }
.extras__head h3 { font-size: 1.5rem; }
.extras__head p { color: var(--muted); font-size: .95rem; }
.extras__list { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; }
.extras__list li { padding: .55rem 1rem; border-radius: 99px; border: 1px solid var(--line-y); background: rgba(255, 210, 63, .05); font-size: .88rem; color: #e4e0d8; transition: background .3s, color .3s, box-shadow .3s; }
.extras__list li:hover { background: var(--y); color: #111; box-shadow: 0 0 20px rgba(255, 210, 63, .45); }

/* ---------- Portfólio ---------- */
.phones { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; align-items: start; }
.phone { display: grid; gap: 1rem; justify-items: center; transition: transform .5s var(--ease); }
.phone:nth-child(even) { margin-top: 28px; }
.phone__frame {
  position: relative; width: 100%; aspect-ratio: 9 / 19; border-radius: 30px; overflow: hidden;
  padding: 7px; background: linear-gradient(160deg, #2a2a2a, #0b0b0b); border: 1px solid rgba(255, 210, 63, .35);
  box-shadow: 0 30px 60px -25px rgba(0, 0, 0, .9), 0 0 0 1px rgba(255, 255, 255, .04) inset;
  transition: box-shadow .5s var(--ease), border-color .4s;
}
.phone__frame img { width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 24px; }
.phone__frame::after { content: ""; position: absolute; top: 12px; left: 50%; width: 34%; height: 14px; transform: translateX(-50%); border-radius: 99px; background: #050505; }
.phone figcaption { display: grid; text-align: center; gap: .1rem; }
.phone figcaption b { font-family: var(--font-display); font-weight: 600; font-size: 1rem; }
.phone figcaption span { color: var(--muted); font-size: .82rem; }
.phone:hover { transform: translateY(-10px) scale(1.04); }
.phone:hover .phone__frame { border-color: var(--y); box-shadow: var(--neon); }

/* ---------- Acompanhamento estratégico ---------- */
.follow { position: relative; z-index: 1; margin-top: clamp(32px, 3.6vw, 44px); padding: clamp(28px, 4vw, 44px); border-radius: var(--radius); border: 1px solid var(--line-y); background: rgba(9, 9, 9, .82); backdrop-filter: blur(10px); display: grid; grid-template-columns: 1fr 1.3fr; gap: 2.5rem; align-items: center; }
.follow__copy { display: grid; gap: 1rem; }
.follow__quote { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.2; }
.follow__items { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.follow__items li { padding: 20px; border-radius: 16px; border-top: 2px solid var(--y); background: rgba(255, 210, 63, .05); display: grid; gap: .45rem; align-content: start; }
.follow__items b { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; color: var(--y); }
.follow__items span { color: var(--muted); font-size: .9rem; line-height: 1.5; }

/* ---------- Crenças ---------- */
.belief-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.belief { position: relative; padding: 26px 22px; border-radius: 20px; border: 1px solid var(--line); background: rgba(9, 9, 9, .78); backdrop-filter: blur(8px); display: grid; gap: 1rem; align-content: start; min-height: 190px; transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s; }
.belief span { font-family: var(--font-display); font-weight: 700; font-size: 1.8rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--y); }
.belief p { font-family: var(--font-display); font-weight: 500; font-size: 1.12rem; line-height: 1.3; color: #d9d5cc; }
.belief p b { color: var(--y); font-weight: 600; }
.belief:hover { transform: translateY(-8px) scale(1.04); border-color: var(--y); box-shadow: var(--neon); z-index: 2; }
.belief:hover span { color: var(--y); }
.mission { margin-top: 24px; padding: 28px 36px; border-radius: var(--radius); background: var(--y); color: #111; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; box-shadow: 0 20px 60px -20px rgba(255, 200, 50, .6); }
.mission small { font-family: var(--font-display); font-weight: 600; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; }
.mission strong { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 3vw, 2.3rem); line-height: 1.1; }

/* ---------- Equipe ---------- */
.founder { display: grid; grid-template-columns: 360px 1fr; gap: clamp(28px, 4vw, 56px); align-items: center; padding: clamp(20px, 3vw, 32px); border-radius: 28px; border: 1px solid rgba(255, 210, 63, .4); background: linear-gradient(160deg, rgba(255, 210, 63, .1), rgba(9, 9, 9, .85) 55%); margin-bottom: 24px; }
.founder__photo { border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 5; box-shadow: 0 0 0 1px rgba(255, 210, 63, .5), 0 30px 60px -20px rgba(0, 0, 0, .9); }
.founder__photo img, .member__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .8s var(--ease); }
.founder:hover .founder__photo img, .member:hover .member__photo img { transform: scale(1.05); }
.founder__body { display: grid; gap: 1rem; }
.founder__role, .member__body span { font-family: var(--font-display); font-weight: 600; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase; color: var(--y); }
.founder h3 { font-size: clamp(2rem, 3.6vw, 3rem); }
.founder p { color: var(--muted); }
.founder__tags { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .4rem; }
.founder__tags li { padding: .45rem .9rem; border-radius: 99px; font-size: .82rem; font-weight: 500; color: #111; background: var(--y); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.member { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: rgba(9, 9, 9, .85); display: flex; flex-direction: column; transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s; }
.member__photo { aspect-ratio: 4 / 4.2; overflow: hidden; }
.member__body { padding: 24px 26px 28px; display: grid; gap: .6rem; }
.member h3 { font-size: 1.45rem; }
.member p { color: var(--muted); font-size: .94rem; }
.member:hover { transform: translateY(-8px); border-color: var(--y); box-shadow: var(--neon); }

/* ---------- Planos ---------- */
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.plan { position: relative; padding: 36px 32px 32px; border-radius: 26px; border: 1px solid var(--line); background: rgba(9, 9, 9, .85); backdrop-filter: blur(8px); display: flex; flex-direction: column; gap: 1rem; transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s; }
.plan__tag { font-family: var(--font-display); font-weight: 600; font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: var(--y); }
.plan h3 { font-size: 1.6rem; line-height: 1.1; }
.plan__desc { color: var(--muted); font-size: .95rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.plan ul { list-style: none; display: grid; gap: .7rem; margin-bottom: 1.4rem; }
.plan li { display: flex; gap: .7rem; font-size: .93rem; color: #ddd9d0; }
.plan li::before { content: "✓"; flex: none; display: grid; place-items: center; width: 20px; height: 20px; margin-top: .15rem; border-radius: 50%; font-size: .66rem; font-weight: 700; color: #111; background: var(--y); }
.plan .btn { margin-top: auto; align-self: stretch; }
.plan--hot { border-color: var(--y); background: linear-gradient(170deg, rgba(255, 210, 63, .16), rgba(9, 9, 9, .9) 55%); box-shadow: 0 30px 80px -30px rgba(255, 200, 50, .5); }
.plan__badge { position: absolute; top: -14px; right: 24px; padding: .4rem .9rem; border-radius: 99px; font-family: var(--font-display); font-weight: 600; font-size: .74rem; letter-spacing: .08em; color: #111; background: var(--y); box-shadow: 0 0 20px rgba(255, 210, 63, .6); }
.plan:hover { transform: translateY(-8px) scale(1.02); border-color: var(--y); box-shadow: var(--neon); z-index: 2; }
.plans__note { margin: 28px auto 0; max-width: 70ch; text-align: center; color: var(--muted); font-size: .92rem; }

.cta__box .kicker { margin-top: -.4rem; }
.footer__sign { font-family: var(--font-display); font-weight: 600; letter-spacing: .18em; text-transform: uppercase; font-size: .8rem; color: var(--y); }

/* ---------- Responsivo das novas seções ---------- */
@media (max-width: 1180px) {
  .nav__links { gap: 1.6rem; font-size: .9rem; }
}
@media (max-width: 1080px) {
  .fronts, .plan-grid { grid-template-columns: 1fr; max-width: 640px; margin-inline: auto; }
  .fronts { margin-bottom: 48px; }
  .phones { grid-template-columns: repeat(3, 1fr); }
  .phone:nth-child(even) { margin-top: 0; }
  .belief-grid { grid-template-columns: repeat(2, 1fr); }
  .belief:last-child { grid-column: 1 / -1; }
  .follow { grid-template-columns: 1fr; }
  .extras { grid-template-columns: 1fr; }
  .founder { grid-template-columns: 280px 1fr; }
  .team-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (max-width: 1040px) {
  .nav__links {
    position: fixed; left: 0; right: 0; top: 0; padding: 110px 28px 44px;
    flex-direction: column; gap: 1.4rem; font-size: 1.5rem; font-family: var(--font-display);
    background: rgba(6, 6, 6, .97); backdrop-filter: blur(20px); border-bottom: 1px solid var(--line-y);
    transform: translateY(-105%); transition: transform .5s var(--ease); z-index: -1;
  }
  .nav__links.open { transform: none; }
  .nav__toggle { display: block; }
  .nav__cta { display: none; }
}
@media (max-width: 760px) {
  .phones { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; padding-bottom: 12px; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; }
  .phones::-webkit-scrollbar { display: none; }
  .phone { flex: 0 0 62%; scroll-snap-align: center; }
  .follow__items { grid-template-columns: 1fr; }
  .founder { grid-template-columns: 1fr; }
  .founder__photo { max-width: 360px; }
  .team-grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
}
@media (max-width: 600px) {
  .belief-grid { grid-template-columns: 1fr; }
  .belief { min-height: 0; }
  .extras { padding: 26px 22px; }
  .mission { padding: 24px; }
  .plan { padding: 32px 24px 26px; }
}
.mission strong { color: #111; }
@media (max-width: 1240px) { .follow { grid-template-columns: 1fr; gap: 1.6rem; } }

/* ---------- Fundadores (Cleyton + Ana Joice) ---------- */
.founders { padding: clamp(22px, 3vw, 36px); border-radius: 30px; border: 1px solid rgba(255, 210, 63, .45); background: linear-gradient(160deg, rgba(255, 210, 63, .1), rgba(9, 9, 9, .88) 50%); box-shadow: 0 40px 100px -50px rgba(255, 190, 40, .5); margin-bottom: 24px; }
.founders__label { display: flex; align-items: center; gap: 1rem; margin-bottom: clamp(20px, 2.5vw, 28px); font-family: var(--font-display); font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--y); }
.founders__label::before, .founders__label::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 210, 63, .45), transparent); }
.founders__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 36px); }
.cofounder { display: flex; flex-direction: column; gap: 1.4rem; }
.cofounder__photo { border-radius: 22px; overflow: hidden; aspect-ratio: 5 / 5.4; box-shadow: 0 0 0 1px rgba(255, 210, 63, .5), 0 30px 60px -20px rgba(0, 0, 0, .9); transition: box-shadow .5s var(--ease); }
.cofounder__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform .8s var(--ease); }
.cofounder:hover .cofounder__photo { box-shadow: var(--neon); }
.cofounder:hover .cofounder__photo img { transform: scale(1.05); }
.cofounder__body { display: grid; gap: .85rem; align-content: start; }
.cofounder__body h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.cofounder__body p { color: var(--muted); font-size: .97rem; }
.founders__note { margin-top: clamp(22px, 3vw, 32px); padding-top: 20px; border-top: 1px solid var(--line-y); text-align: center; font-family: var(--font-display); font-weight: 500; font-size: clamp(1rem, 1.6vw, 1.2rem); color: #e4e0d8; }

.team-grid--duo { grid-template-columns: 1fr 1fr; }
.member--row { flex-direction: row; }
.member--row .member__photo { flex: 0 0 42%; aspect-ratio: auto; min-height: 260px; }
.member--row .member__body { align-content: center; }

@media (max-width: 1080px) { .team-grid--duo { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; } }
@media (max-width: 760px) {
  .founders__grid { grid-template-columns: 1fr; }
  .cofounder + .cofounder { padding-top: 28px; border-top: 1px solid var(--line-y); }
  .team-grid--duo { max-width: 420px; }
  .member--row { flex-direction: column; }
  .member--row .member__photo { flex: none; aspect-ratio: 4 / 4.2; min-height: 0; }
}

/* equaliza o respiro após a seção de IA */
.ai { padding-bottom: calc(var(--section) + 32px); }

/* ---------- Topo: logo centralizada e maior ---------- */
.nav__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem; }
.nav__brand { grid-column: 2; grid-row: 1; justify-self: center; }
.nav__links { grid-column: 1; grid-row: 1; justify-self: start; }
.nav__cta { grid-column: 3; grid-row: 1; justify-self: end; }
.nav__toggle { grid-column: 3; grid-row: 1; justify-self: end; }
.nav__brand img { height: 92px; }
.nav.scrolled .nav__brand img { height: 66px; }
@media (max-width: 1180px) { .nav__links { gap: 1.4rem; } }
@media (max-width: 1040px) {
  .nav__brand img, .nav.scrolled .nav__brand img { height: 70px; }
  .nav.scrolled .nav__brand img { height: 58px; }
}
@media (max-width: 600px) {
  .nav__inner { padding-block: 12px; }
  .nav__brand img { height: 64px; }
  .nav.scrolled .nav__brand img { height: 54px; }
}

/* ---------- Ajustes finos no celular ---------- */
@media (max-width: 600px) {
  .kicker { flex-wrap: wrap; justify-content: center; letter-spacing: .16em; }
  .cta__box .kicker { display: block; text-align: center; }
  .cta__box { padding-inline: 20px; }
  .hero__ctas .btn { font-size: .95rem; padding: 1rem 1.1rem; white-space: nowrap; }
  .footer__links { gap: .8rem 1.4rem; }
  .extras__list li { border-radius: 14px; }
}
@media (max-width: 600px) { .cta__box .kicker { font-size: .7rem; letter-spacing: .1em; } }
@media (max-width: 1040px) { .nav__links { justify-self: stretch; width: 100%; } }

/* ---------- FAQ (SEO) ---------- */
.faq__list { display: grid; gap: 14px; max-width: 980px; margin-inline: auto; }
.faq__item { border: 1px solid var(--line); border-radius: 18px; background: rgba(9, 9, 9, .78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: border-color .4s, box-shadow .4s; }
.faq__item:hover, .faq__item[open] { border-color: var(--line-y); box-shadow: 0 0 28px rgba(255, 210, 63, .08); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 22px 26px; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item h3 { font-size: clamp(1.02rem, 1.5vw, 1.2rem); line-height: 1.3; font-weight: 500; }
.faq__item summary i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line-y); transition: transform .4s var(--ease), background .4s; }
.faq__item summary i::before, .faq__item summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--y); transform: translate(-50%, -50%); }
.faq__item summary i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .4s var(--ease); }
.faq__item[open] summary i { background: rgba(255, 210, 63, .1); }
.faq__item[open] summary i::after { transform: translate(-50%, -50%) rotate(0deg); }
.faq__item p { padding: 0 26px 24px; color: var(--muted); line-height: 1.7; max-width: 820px; }
.faq__item p a { color: var(--y); text-decoration: underline; text-underline-offset: 3px; }
.footer__seo { color: var(--dim); font-size: .85rem; line-height: 1.6; max-width: 640px; text-align: center; }
.footer__seo a { color: var(--muted); }
@media (max-width: 600px) {
  .faq__item summary { padding: 18px 18px; }
  .faq__item p { padding: 0 18px 20px; }
  .faq__item summary i { width: 30px; height: 30px; }
}
.hero { padding-top: 172px; }
@media (max-width: 1040px) { .hero { padding-top: 140px; } }
@media (max-width: 600px) { .hero { padding-top: 124px; } }
@media (max-width: 600px) { .hero .kicker { display: block; text-align: center; font-size: .72rem; letter-spacing: .12em; line-height: 1.6; } }
