/* Regras existentes de fonte, cabeçalho e hero; ordem original preservada. */
@font-face { font-family: Sora; src: url("sora-latin.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Sora Fallback"; src: local("Arial"); size-adjust: 111.775%; ascent-override: 86.7814%; descent-override: 25.945%; line-gap-override: 0%; font-weight: 100 900; font-style: normal; }
:root { --ink: #120B16; --wine: #5C1041; --wine-light: #F7F5F8; --muted: #625865; --line: #DED6E0; --paper: #F7F5F8; --font: Sora,'Sora Fallback',Arial,sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 32px; }
body { margin: 0px; font-family: var(--font); color: var(--ink); background: rgb(255, 255, 255); font-size: 16px; line-height: 1.75; }
a { color: inherit; }
a:focus-visible { outline: rgb(247,245,248) solid 3px; outline-offset: 6px; }
::selection { background: rgb(247,245,248); color: var(--ink); }
.skip { position: absolute; left: 20px; top: -80px; padding: 12px; background: white; z-index: 20; }
.skip:focus { top: 12px; }
.site-header { min-height: 108px; display: flex; align-items: center; justify-content: space-between; padding: 22px max(5vw, 24px); gap: 32px; }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand img { object-fit: contain; }
.brand > span { font-size: 25px; font-weight: 550; letter-spacing: 0.2em; line-height: 1.3; }
.brand small { display: block; font-size: 12px; letter-spacing: 0.12em; font-weight: 500; margin-top: 6px; }
.site-header nav { display: flex; gap: 32px; align-items: center; font-size: 14px; }
.site-header nav a { text-decoration: none; }
.site-header nav a:hover { color: var(--wine); }
.nav-contact { border-bottom: 1px solid var(--wine); padding: 8px 0px; }
.hero { background: var(--ink); color: rgb(255, 255, 255); padding: 80px max(5vw, 24px) 28px; position: relative; }
.hero::before { content: none; }
.hero > * { position: relative; }
.hero-copy { max-width: 830px; }
.hero h1 { font-size: clamp(44px, 5.2vw, 78px); font-weight: 500; line-height: 1.08; letter-spacing: -0.065em; margin: 0px 0px 28px; }
.accent { color: rgb(247,245,248); }
.hero p { font-size: 17px; line-height: 1.8; color: rgb(217, 218, 220); max-width: 700px; margin: 0px 0px 20px; }
.hero p:last-of-type { font-size: 12px; color: rgb(185, 189, 196); max-width: 580px; }
.cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--wine); color: white; text-decoration: none; font-size: 14px; line-height: 1.5; font-weight: 500; padding: 20px 25px; border: 1px solid rgb(59,12,42); border-radius: 3px; transition: background 0.2s, transform 0.2s; }
.cta:hover { background: rgb(59,12,42); transform: translateY(-2px); }
@media (min-width: 1600px) {.hero { padding-left: calc(-720px + 50vw); padding-right: calc(-720px + 50vw); }}
@media (max-width: 1000px) {.hero { column-gap: 5vw; }.hero h1 { font-size: 54px; }.site-header nav { gap: 18px; }.site-header nav a:not(.nav-contact) { display: none; }}
@media (max-width: 720px) {.site-header { min-height: 86px; padding: 18px 22px; }.brand img { width: 38px; height: 34px; }.brand > span { font-size: 19px; }.brand small { font-size: 12px; }.nav-contact { font-size: 12px; max-width: 98px; line-height: 1.5; }.hero { display: block; padding: 48px 24px 25px; }.hero h1 { font-size: clamp(41px, 10.6vw, 66px); letter-spacing: -0.065em; }.hero p { font-size: 16px; }.cta { width: 100%; padding: 18px 20px; font-size: 13px; gap: 14px; }}
@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }.cta { transition: none; }}
@media print {.site-header nav, .hero-diagram, .hero-bottom, .cta, .skip { display: none; }.hero, .section-3 { background: white; color: black; }.hero p, .hero p strong, .section-3 .section-body p, .section-3 blockquote p, .accent { color: black; }.hero h1 { font-size: 38px; }.content-section, .hero { padding: 25px 0px; }a[href]::after { content: none; }}
@media (max-width: 720px) {.brand small { display: none; }}
.nav-contact { transition: color 0.2s; }
@keyframes accent-in { 
  0% { transform: scaleX(0); }
  100% { transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {.hero .accent::after { animation: auto ease 0s 1 normal none running none; }}
@media print {.hero .accent::after { display: none; }}
.mobile-shortcuts { display: none; }
@media (max-width: 720px) {html { scroll-padding-top: 20px; }body { font-size: 1rem; line-height: 1.65; }.site-header { padding: 16px 20px; gap: 16px; min-height: 78px; }.site-header .nav-contact { font-size: 0.875rem; max-width: 102px; min-height: 44px; display: flex; align-items: center; line-height: 1.4; }.mobile-shortcuts { display: flex; justify-content: space-between; gap: 12px; padding: 0px 20px 8px; background: rgb(255, 255, 255); border-bottom: 1px solid var(--line); }.mobile-shortcuts a { font-size: 0.875rem; text-decoration: none; min-height: 44px; display: flex; align-items: center; color: var(--wine); }.hero { padding: 32px 20px 24px; }.hero h1 { font-size: clamp(2.25rem, 10.2vw, 3rem); line-height: 1.12; letter-spacing: -0.045em; margin-bottom: 26px; }.hero p { font-size: 1rem; line-height: 1.65; margin-bottom: 20px; }.hero p:last-of-type { font-size: 0.875rem; line-height: 1.6; color: rgb(199, 201, 206); }.hero .cta, .cta { font-size: 1rem; min-height: 54px; padding: 16px 18px; gap: 12px; }}
@media print {.mobile-shortcuts { display: none; }}
@media (max-width: 720px) {.hero .hero-copy > p { font-size: 1rem; }.hero .hero-copy > p:last-child { font-size: 0.875rem; }}
:root { --radius: 12px; }
.hero { padding-top: 64px; }
@media (max-width: 720px) {.hero { padding-top: 28px; }.hero h1 { margin-bottom: 22px; }.hero .hero-copy > p { margin-bottom: 16px; }}
@media (max-width: 720px) {.site-header { min-height: 64px; padding: 8px 20px; }.site-header .nav-contact { padding: 0px; min-height: 44px; }.mobile-shortcuts { padding-bottom: 0px; gap: 10px; }.mobile-shortcuts a { font-size: 0.8125rem; min-height: 44px; }.hero { padding-top: 24px; }}
.hero { grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 0.85fr); gap: 4.5vw; padding-top: 54px; }
.hero-copy { align-self: center; }
.hero h1 { font-size: clamp(42px, 4.6vw, 68px); max-width: 820px; line-height: 1.1; }
.hero .hero-copy > p:first-of-type { font-size: 17px; line-height: 1.75; }
.hero .hero-copy > p:last-of-type { font-size: 14px; }
@media (max-width: 1000px) and (min-width: 721px) {.hero h1 { font-size: 43px; }}
@media (max-width: 720px) {.hero { display: block; padding-top: 24px; }.hero h1 { font-size: clamp(2rem, 9.5vw, 2.8rem); line-height: 1.12; margin-bottom: 22px; }.hero .hero-copy > p:first-of-type { font-size: 16px; line-height: 1.65; }}
.hero .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; }
@media (max-width: 720px) {.hero .hero-actions { gap: 4px; }}
@media (prefers-reduced-motion: no-preference) {@keyframes radar-reveal { 
  0% { opacity: 0; }
  100% { opacity: 1; }
}}
:root { --hero-c: min(1240px,100vw - 2*max(5vw,24px)); --mock-overlap: calc(var(--hero-c)*.219 + 20px); }
.site-header { padding-left: max(5vw, 24px, -620px + 50vw); padding-right: max(5vw, 24px, -620px + 50vw); }
.site-header nav { gap: 32px; }
.site-header .nav-contact, .site-header .nav-contact:hover { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0px 24px; border: 1px solid rgb(222,214,224); border-radius: 999px; background: transparent; color: rgb(18,11,22); font-size: 14px; font-weight: 500; line-height: 1; max-width: none; text-decoration: none; }
.site-header .nav-contact:hover { background: transparent; border-color: rgb(92,16,65); color: rgb(92,16,65); }
.hero { display: flex; flex-direction: column; align-items: center; text-align: center; overflow: visible; z-index: 2; background: rgb(18,11,22); padding: 44px max(5vw, 24px, -620px + 50vw) 0px; gap: 0px; }
.hero > * { position: relative; }
.hero-copy { width: 100%; max-width: 1240px; margin: 0px auto; display: flex; flex-direction: column; align-items: center; align-self: center; }
.hero .hero-tag { display: inline-flex; align-items: center; min-height: 36px; padding: 0px 16px; border: 1px solid rgb(98,88,101); border-radius: 999px; color: rgb(247,245,248); font-size: 13px; font-weight: 500; line-height: 1; letter-spacing: 0.01em; margin: 0px 0px 20px; }
.hero h1 { max-width: 1240px; margin: 0px 0px 20px; font-size: min(80px, 5.8vw); font-weight: 600; line-height: 1.02; letter-spacing: -0.04em; color: rgb(255, 255, 255); text-wrap: balance; }
.hero h1 .accent, .hero .accent { display: inline; position: static; color: rgb(247,245,248); }
.hero .accent::after { content: none; display: none; animation: auto ease 0s 1 normal none running none; }
.hero .hero-copy > p, .hero .hero-copy > p:first-of-type { max-width: 70ch; margin: 0px auto 24px; font-size: 16px; line-height: 1.6; color: rgb(247,245,248); }
.hero .hero-actions, .hero .hero-copy > p.hero-actions { display: flex; justify-content: center; align-items: center; gap: 0px; max-width: none; margin: 0px; }
.hero .cta, .hero .cta:hover, .hero .cta:focus-visible { display: inline-flex; align-items: center; justify-content: center; gap: 0px; width: auto; min-height: 52px; padding: 0px 32px; border: 0px; border-radius: 999px; background: rgb(92,16,65); color: rgb(255, 255, 255); font-size: 16px; font-weight: 500; line-height: 1; text-decoration: none; transform: none; }
.hero .cta:hover, .hero .cta:focus-visible { background: rgb(59,12,42); }
@media (max-width: 720px) {:root { --hero-c: calc(100vw - 40px); --mock-overlap: calc(var(--hero-c)*.1875 + 11px); }.site-header { padding: 12px 20px; }.site-header .nav-contact, .site-header .nav-contact:hover { min-height: 44px; padding: 0px 18px; font-size: 13px; max-width: none; line-height: 1; }.hero { display: flex; padding: 40px 20px 0px; }.hero .hero-tag { min-height: 32px; font-size: 12px; margin-bottom: 20px; }.hero h1 { font-size: clamp(40px, 11.5vw, 48px); line-height: 1.04; letter-spacing: -0.04em; margin-bottom: 20px; }.hero .hero-copy > p, .hero .hero-copy > p:first-of-type { font-size: 16px; line-height: 1.6; margin-bottom: 24px; }.hero .hero-actions, .hero .hero-copy > p.hero-actions { width: 100%; }.hero .cta, .hero .cta:hover, .hero .cta:focus-visible { width: 100%; min-height: 56px; padding: 0px 24px; font-size: 16px; }}
:root { --radius: 20px; }
.site-header nav a:not(.nav-contact) { position: relative; padding-bottom: 4px; }
.site-header nav a:not(.nav-contact)::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 1px; background: rgb(92,16,65); transform: scaleX(0); transform-origin: left center; transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.25, 1); }
.site-header nav a:not(.nav-contact):hover::after, .site-header nav a:not(.nav-contact):focus-visible::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {.site-header nav a:not(.nav-contact)::after { transition: none; }}
.hero { position: relative; }
.hero > :not(.hero-brain) { position: relative; z-index: 1; }
@media (min-width: 1001px) {.hero .hero-copy { align-items: flex-start; text-align: left; max-width: min(600px, 45%); margin-right: auto; margin-left: max(0px, 50% - 620px); }.hero .hero-copy > h1 { text-align: left; font-size: min(72px, 5vw); max-width: 12ch; }.hero .hero-copy > p:not(.hero-actions) { text-align: left; margin-left: 0px; margin-right: 0px; }.hero .hero-actions { justify-content: flex-start; }.hero .hero-tag { align-self: flex-start; }}
@media (max-width: 1000px) {.hero { padding-top: 360px; }}
@media (min-width: 1001px) and (max-width: 1200px) {.site-header nav { gap: 20px; font-size: 13px; }.hero .hero-copy > h1 { font-size: min(60px, 5.4vw); }}
@media (max-width: 380px) {.site-header .nav-contact { white-space: nowrap; font-size: 12px; padding-left: 14px; padding-right: 14px; }}
.w > span { display: inline-block; }
@media (prefers-reduced-motion: reduce) {.w > span { display: inline; }}
.hero-brain{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:0}

/* Início da faixa seguinte, visível antes da folha completa no desktop. */
main .content-section.numbers-band{background:#120B16;color:#F7F5F8;border:0;box-shadow:none;background-image:none;padding:120px max(5vw,24px)}
main .numbers-band .section-wrap{display:block;max-width:1240px;margin:0 auto;gap:0}
main .numbers-band .section-heading{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1240px;margin:0 auto 56px;gap:0}
main .content-section.numbers-band .eyebrow{display:inline-flex;align-items:center;justify-content:center;min-height:0;padding:8px 16px;border:1px solid #625865;border-radius:999px;background:transparent;color:#F7F5F8;font-size:13px;font-weight:500;line-height:1.2;letter-spacing:0;text-transform:none;margin:0 0 20px}
main .content-section.numbers-band h2,main .numbers-band .section-heading h2{font-size:clamp(32px,2.6vw,40px);font-weight:600;line-height:1.15;letter-spacing:-.03em;text-align:center;max-width:none;margin:0 auto;color:#FFFFFF;text-wrap:balance}
main .numbers-band .section-heading>p{font-size:18px;line-height:1.6;color:#F7F5F8;max-width:70ch;margin:20px auto 0;text-align:center;white-space:normal}
@media(max-width:720px){main .content-section.numbers-band{padding:72px 20px}main .content-section.numbers-band h2,main .numbers-band .section-heading h2{font-size:28px}main .numbers-band .section-heading>p{font-size:16px;margin-top:16px;max-width:none}}

/* A captura fiel ocupa o mesmo plano do canvas; não cobre texto nem recebe interação. */
.brain-preview{position:fixed;inset:0;height:100vh;height:100lvh;z-index:-1;overflow:hidden;pointer-events:none;opacity:var(--preview-scroll,1);transition:opacity .5s ease}
.brain-preview[hidden]{display:none}
.brain-preview img{position:absolute;display:block;width:min(72vw,1050px);height:auto;max-width:none;left:73%;top:48.6%;transform:translate(-50%,-50%);mask-image:radial-gradient(closest-side,#000 85%,transparent 100%)}
html[data-brain-preview] body{background:#120B16}
html[data-brain-preview] main .hero,html[data-brain-preview] main .content-section.numbers-band{background:transparent}
html[data-brain-preview="loading"] .palco{opacity:0}
html[data-brain-preview] .palco{transition:opacity .5s ease}
html[data-brain-preview="ready"] .brain-preview{opacity:0}
@media(max-width:1000px){.brain-preview img{width:min(102.565vw,450px);left:50%;top:32px;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.brain-preview,html[data-brain-preview] .palco{transition:none}}
@media print{.brain-preview{display:none}}

/* Antes do WebGL, preservar o cabeçalho claro; sem JS a captura continua visível. */
html[data-brain-preview]:not([data-palco="live"]) body>.site-header,html:not(.has-menu) body>.site-header{background:#fff}
html:not(.has-menu) body{background:#120B16}
html:not(.has-menu) main .hero,html:not(.has-menu) main .content-section.numbers-band{background:transparent}
@media(max-width:720px){html:not(.has-menu) .brain-preview img{top:76px}}
