/* ============================================================
   WEBINAR · CONGRESSO AO VIVO — página de captura (/) e obrigado (/obrigado/).
   Consome tokens.css (fonte única do design system) e reset.css.
   Sem Tailwind: CSS escrito à mão, só o que estas duas páginas usam.
   ============================================================ */

/* ---------- Base ---------- */
body{ font-family:var(--font-sans); font-size:16px; color:var(--text); background:var(--white); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; font-feature-settings:"ss01","cv11"; overflow-x:hidden; }
::selection{ background:var(--blue-200); color:var(--ink-900); }
h1,h2,h3{ text-wrap:balance; }
p{ text-wrap:pretty; }
a{ color:inherit; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ico{ width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.wrap{ width:100%; max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }
@media (min-width:640px){ .wrap{ padding:0 var(--gutter-sm); } }

/* ---------- Tipografia (escala do design system) ---------- */
.accent{ font-family:var(--font-serif); font-style:italic; font-weight:400; letter-spacing:-.01em; font-size:1.08em; line-height:.9; }
.wordmark{ font-family:var(--font-brand); font-weight:600; letter-spacing:-.03em; line-height:1; }
.t-eyebrow{ font-family:var(--font-mono); font-weight:500; font-size:12px; line-height:1.2; letter-spacing:.14em; text-transform:uppercase; }
.t-label{ font-family:var(--font-mono); font-weight:400; font-size:11px; line-height:1.3; letter-spacing:.1em; text-transform:uppercase; }
.t-h1{ font-weight:500; font-size:clamp(34px,4.6vw,64px); line-height:1.02; letter-spacing:-.035em; }
.t-h2{ font-weight:500; font-size:clamp(30px,4vw,52px); line-height:1.04; letter-spacing:-.03em; }
.t-h3{ font-weight:500; font-size:clamp(22px,2.4vw,28px); line-height:1.15; letter-spacing:-.02em; }
.t-body-lg{ font-size:18px; line-height:1.6; }
.t-body{ font-size:16px; line-height:1.6; }
.t-small{ font-size:14px; line-height:1.5; }
.t-stat{ font-weight:500; font-size:clamp(34px,4vw,52px); line-height:1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.muted{ color:var(--text-2); }

/* ---------- Botões (design system) ---------- */
.btn{ position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:10px; height:44px; padding:0 20px; border-radius:var(--r-pill); font-family:var(--font-sans); font-weight:500; font-size:14px; line-height:1; letter-spacing:-.005em; white-space:nowrap; cursor:pointer; text-decoration:none; border:2px solid transparent; transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out-quint); }
.btn:focus-visible{ outline:none; border-color:var(--blue-400); box-shadow:var(--ring-focus); }
.btn:active{ transform:scale(.98); }
.btn[disabled]{ cursor:progress; opacity:.7; transform:none; }
.btn-xl{ height:60px; padding:0 14px 0 28px; font-size:16px; font-weight:600; letter-spacing:.02em; }
.btn-lg{ height:52px; padding:0 12px 0 24px; font-size:15px; }
.btn-white{ background:#fff; color:var(--ink-900); box-shadow:var(--shadow-ambient); }
.btn-white:hover{ background:var(--blue-50); color:var(--blue-700); }
.btn-blue{ background:var(--blue-600); color:#fff; box-shadow:var(--shadow-blue); }
.btn-blue:hover{ background:var(--blue-700); }
.btn-primary{ background:var(--ink-900); color:#fff; box-shadow:var(--shadow-lift); }
.btn-primary:hover{ background:var(--blue-600); box-shadow:var(--shadow-blue); }
.btn-glass{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.2); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.btn-glass:hover{ background:rgba(255,255,255,.18); }
.btn-well{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--blue-600); color:#fff; font-size:16px; transition:transform var(--dur-base) var(--ease-out-quint), background var(--dur-fast); }
.btn-lg .btn-well{ width:30px; height:30px; }
.btn:hover .btn-well{ transform:translateX(3px); }
.btn-blue .btn-well{ background:rgba(255,255,255,.16); box-shadow:0 0 0 1px rgba(255,255,255,.2) inset; }
.btn-primary .btn-well{ background:rgba(255,255,255,.12); }
.btn-block{ width:100%; }

/* ---------- Faixa superior ---------- */
.topbar{ position:relative; z-index:3; background:var(--ink-950); color:rgba(255,255,255,.85); }
.topbar .wrap{ display:flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding-top:8px; padding-bottom:8px; text-align:center; }
.topbar strong{ color:#fff; font-weight:500; }
.live-mark{ position:relative; width:8px; height:8px; background:var(--error); flex-shrink:0; }
.live-mark::after{ content:""; position:absolute; inset:-4px; border:1px solid rgba(229,72,77,.55); animation:live-ring 2s var(--ease-out) infinite; }
@keyframes live-ring{ 0%{ opacity:1; transform:scale(.6);} 100%{ opacity:0; transform:scale(1.5);} }
.topbar .t-eyebrow{ letter-spacing:.12em; font-size:11px; }
@media (max-width:639px){ .topbar .qual{ display:none; } }

/* ---------- Hero: moldura escura sobre base branca (padrão Lassie) ---------- */
.hero{ position:relative; padding:12px; }
@media (min-width:1280px){ .hero{ padding:16px; } }
.hero-frame{ position:relative; overflow:hidden; isolation:isolate; border-radius:28px; background:var(--grad-ink); color:#fff; }
@media (min-width:1280px){ .hero-frame{ border-radius:36px; } }
.hero-frame::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:72px 72px; mask-image:radial-gradient(90% 80% at 50% 30%,#000 30%,transparent 100%); -webkit-mask-image:radial-gradient(90% 80% at 50% 30%,#000 30%,transparent 100%); }
.hero-glow{ position:absolute; z-index:-1; border-radius:50%; pointer-events:none; filter:blur(70px); mix-blend-mode:screen; }
.hero-glow-a{ width:720px; height:720px; right:-160px; top:-260px; background:radial-gradient(circle,rgba(46,91,255,.55),transparent 65%); animation:drift-a 24s ease-in-out infinite; }
.hero-glow-b{ width:560px; height:560px; left:-220px; bottom:-280px; background:radial-gradient(circle,rgba(0,51,255,.35),transparent 65%); animation:drift-b 30s ease-in-out infinite; }
@keyframes drift-a{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-60px,60px) scale(1.08);} }
@keyframes drift-b{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(70px,-40px) scale(1.06);} }

.hero-nav{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0; }
.brand{ display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.brand img{ width:22px; height:22px; }
.brand .wordmark{ font-size:18px; }
.hero-nav-right{ display:flex; align-items:center; gap:12px; }
.hero-nav .nav-count{ font-family:var(--font-mono); font-size:12px; letter-spacing:.06em; color:rgba(255,255,255,.7); font-variant-numeric:tabular-nums; }
@media (max-width:767px){ .hero-nav .nav-count,.hero-nav .btn{ display:none; } }

.hero-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; padding:40px 0 48px; }
@media (min-width:1024px){ .hero-grid{ grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:56px; align-items:center; padding:48px 0 64px; } }
.hero-copy{ display:flex; flex-direction:column; align-items:flex-start; }
@media (max-width:1023px){ .hero-copy{ align-items:center; text-align:center; } }

.presenter-pill{ display:inline-flex; align-items:center; gap:12px; padding:5px 16px 5px 5px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.presenter-pill img{ width:36px; height:36px; border-radius:50%; object-fit:cover; object-position:50% 20%; box-shadow:0 0 0 2px var(--blue-500); }
.presenter-pill span{ font-size:14px; color:rgba(255,255,255,.8); }
.presenter-pill strong{ color:#fff; font-weight:500; }

.hero h1{ margin-top:24px; max-width:720px; }
.hero h1 .accent{ color:var(--blue-300); }
.hero h1 .hl{ position:relative; white-space:nowrap; }
.hero h1 .hl::after{ content:""; position:absolute; left:-.06em; right:-.06em; bottom:.06em; height:.3em; border-radius:.06em; background:rgba(0,51,255,.9); z-index:-1; transform-origin:left; animation:hl-in 1s .9s var(--ease-out-quint) both; }
@keyframes hl-in{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }

/* Contagem regressiva */
.countdown{ margin-top:32px; display:flex; flex-direction:column; gap:12px; }
@media (max-width:1023px){ .countdown{ align-items:center; } }
.countdown-label{ display:inline-flex; align-items:center; gap:10px; color:rgba(255,255,255,.72); }
.countdown-label .dot{ width:8px; height:8px; background:var(--blue-400); }
.cd-tiles{ display:flex; gap:8px; }
.cd-tile{ min-width:76px; padding:12px 10px 10px; border-radius:var(--r-lg); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); text-align:center; }
.cd-tile b{ display:block; font-weight:500; font-size:34px; line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.cd-tile span{ display:block; margin-top:8px; font-family:var(--font-mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); }
@media (max-width:420px){ .cd-tile{ min-width:0; flex:1; padding:10px 6px 8px; } .cd-tile b{ font-size:28px; } }
.is-live .cd-tiles{ display:none; }

.hero-cta{ margin-top:32px; display:flex; flex-direction:column; gap:14px; }
@media (max-width:1023px){ .hero-cta{ align-items:center; width:100%; } .hero-cta .btn{ width:100%; max-width:420px; } }
.hero-cta .fine{ font-size:13px; color:rgba(255,255,255,.6); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.hero-cta .fine .sep{ width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.35); }

/* Faixa de prova (hairlines) */
.proof{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.1); }
.proof-item{ padding:28px 20px 32px; display:flex; flex-direction:column; gap:8px; }
.proof-item + .proof-item{ border-left:1px solid rgba(255,255,255,.1); }
.proof-item:first-child{ padding-left:0; }
.proof-item .t-stat{ color:#fff; white-space:nowrap; }
.proof-item .t-label{ color:rgba(255,255,255,.55); }
@media (max-width:639px){ .proof-item{ padding:22px 10px 24px; } .proof-item .t-stat{ font-size:clamp(20px,6.4vw,28px); } .proof-item .t-label{ font-size:10px; letter-spacing:.06em; } }

/* ---------- Celular ilustrativo (Google + IA → agenda) ---------- */
.device-wrap{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; }
@media (max-width:1023px){ .device-wrap{ display:none; } }
.device{ position:relative; width:320px; height:640px; border-radius:48px; padding:12px; background:linear-gradient(160deg,#2C2C3A,#0A0A0F 60%); box-shadow:0 0 0 1px rgba(255,255,255,.12) inset,0 40px 80px -20px rgba(0,0,0,.7),0 0 120px -20px rgba(46,91,255,.45); }
.device-screen{ position:relative; height:100%; border-radius:38px; overflow:hidden; background:#F7F8FB; color:var(--ink-900); display:flex; flex-direction:column; }
.device-island{ position:absolute; top:10px; left:50%; transform:translateX(-50%); width:92px; height:26px; border-radius:20px; background:#07070C; z-index:3; }
.device-status{ display:flex; justify-content:space-between; padding:14px 26px 0; font-size:12px; font-weight:600; }
.device-app{ padding:30px 16px 16px; display:flex; flex-direction:column; gap:10px; }
.app-head{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-2); }
.app-head .ai-mark{ width:22px; height:22px; border-radius:7px; background:var(--grad-blue); display:grid; place-content:center; color:#fff; font-size:12px; }
.bubble-q{ align-self:flex-end; max-width:86%; padding:10px 12px; border-radius:16px 16px 4px 16px; background:var(--ink-900); color:#fff; font-size:13px; line-height:1.4; }
.ai-answer{ padding:12px; border-radius:16px; background:#fff; box-shadow:var(--shadow-lift); outline:1px solid rgba(10,10,15,.05); font-size:12.5px; line-height:1.45; color:var(--text-2); }
.ai-answer p{ margin-bottom:10px; }
.rec{ display:flex; align-items:center; gap:10px; padding:10px; border-radius:12px; }
.rec + .rec{ margin-top:6px; }
.rec-top{ background:var(--blue-50); outline:1.5px solid var(--blue-600); }
.rec-dim{ opacity:.45; }
.rec-avatar{ width:32px; height:32px; border-radius:10px; background:var(--blue-600); color:#fff; display:grid; place-content:center; font-weight:600; font-size:12px; flex-shrink:0; }
.rec-dim .rec-avatar{ background:var(--edge); color:var(--text-2); }
.rec b{ display:block; color:var(--ink-900); font-weight:600; font-size:13px; }
.rec small{ font-size:10.5px; color:var(--text-2); white-space:nowrap; }
.rec .stars{ color:#F5A524; letter-spacing:1px; }
.rec > span:nth-child(2){ min-width:0; }
.rec-badge{ margin-left:auto; flex-shrink:0; white-space:nowrap; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--blue-700); background:#fff; padding:3px 5px; border-radius:6px; }
.notif-stack{ position:absolute; left:10px; right:10px; bottom:16px; display:flex; flex-direction:column; gap:8px; }
.notif{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:16px; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 10px 30px -10px rgba(10,10,15,.35); outline:1px solid rgba(10,10,15,.06); opacity:0; transform:translateY(16px) scale(.97); animation:notif-in 9s var(--ease-out-quint) infinite; }
.notif:nth-child(2){ animation-delay:.6s; }
.notif:nth-child(3){ animation-delay:1.2s; }
@keyframes notif-in{ 0%{ opacity:0; transform:translateY(16px) scale(.97);} 8%,86%{ opacity:1; transform:none;} 94%,100%{ opacity:0; transform:translateY(-6px) scale(.98);} }
.notif-ico{ width:30px; height:30px; border-radius:9px; display:grid; place-content:center; flex-shrink:0; color:#fff; font-size:15px; }
.notif-ico.g{ background:var(--ink-900); }
.notif-ico.w{ background:var(--success); }
.notif-ico.c{ background:var(--blue-600); }
.notif b{ display:block; font-size:12.5px; font-weight:600; line-height:1.3; }
.notif small{ display:block; font-size:11.5px; color:var(--text-2); line-height:1.3; }
.notif time{ margin-left:auto; white-space:nowrap; align-self:flex-start; font-size:10.5px; color:var(--text-3); }
.device-caption{ color:rgba(255,255,255,.4); }

/* ---------- Seções claras ---------- */
.section{ position:relative; padding:112px 0; }
@media (max-width:767px){ .section{ padding:80px 0; } }
.section-head{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin-bottom:56px; }
@media (min-width:1024px){ .section-head{ grid-template-columns:110px minmax(0,1fr); column-gap:32px; } .section-head > *{ grid-column:2; } .section-head .section-num{ grid-column:1; grid-row:1 / span 3; } }
.section-num{ font-family:var(--font-serif); font-style:italic; font-size:72px; color:var(--blue-600); line-height:.8; }
@media (max-width:1023px){ .section-num{ font-size:40px; } }
.section-head .t-eyebrow{ color:var(--blue-600); }
.section-head p{ max-width:680px; }
.section-head .accent{ color:var(--blue-600); }

/* Ambiente suave nas seções brancas */
.ambient{ position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.ambient::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(10,10,15,.07) 1px,transparent 1px); background-size:22px 22px; mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent); -webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent); }
.ambient::after{ content:""; position:absolute; width:60vw; height:60vw; right:-20vw; top:10%; border-radius:50%; background:radial-gradient(circle,rgba(199,213,255,.7),rgba(199,213,255,0) 65%); filter:blur(60px); }
main{ position:relative; z-index:0; isolation:isolate; }

/* ---------- 01 · Apresentador ---------- */
.presenter{ display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:stretch; }
@media (min-width:1024px){ .presenter{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:48px; } }
.presenter-photo{ position:relative; border-radius:var(--r-3xl); overflow:hidden; background:var(--ink-900); aspect-ratio:4/5; box-shadow:var(--shadow-ambient); }
.presenter-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 25%; }
.presenter-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(7,7,12,.85)); }
.presenter-tag{ position:absolute; left:20px; right:20px; bottom:20px; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; color:#fff; }
.presenter-tag b{ display:block; font-size:22px; font-weight:500; letter-spacing:-.02em; }
.presenter-tag span{ color:rgba(255,255,255,.7); }
.presenter-body{ display:flex; flex-direction:column; justify-content:center; gap:28px; }
.presenter-body .lead{ font-size:clamp(22px,2.4vw,30px); line-height:1.3; letter-spacing:-.02em; font-weight:400; }
.presenter-body .lead strong{ font-weight:500; }
.presenter-body .lead .accent{ color:var(--blue-600); }
.stat-tiles{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.stat-tile{ padding:22px 20px; border-radius:var(--r-xl); background:#fff; outline:1px solid rgba(10,10,15,.06); box-shadow:var(--shadow-lift); display:flex; flex-direction:column; gap:10px; }
.stat-tile .t-label{ color:var(--text-2); }
.stat-tile:first-child{ background:var(--blue-600); color:#fff; outline-color:transparent; box-shadow:var(--shadow-blue); }
.stat-tile:first-child .t-label{ color:rgba(255,255,255,.75); }
@media (max-width:639px){ .stat-tiles{ grid-template-columns:minmax(0,1fr); } .stat-tile{ flex-direction:row; align-items:baseline; justify-content:space-between; } }
.presenter-body .btn{ align-self:flex-start; }
@media (max-width:639px){ .presenter-body .btn{ align-self:stretch; } }

/* ---------- 02 · Cases em movimento ---------- */
.marquee{ position:relative; overflow:hidden; padding:14px 0; mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.marquee + .marquee{ margin-top:8px; }
.marquee-track{ display:flex; width:max-content; gap:16px; animation:marquee 60s linear infinite; will-change:transform; }
.marquee-reverse .marquee-track{ animation-direction:reverse; animation-duration:75s; }
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(calc(-50% - 8px));} }
.marquee-group{ display:flex; gap:16px; }

.case{ flex-shrink:0; background:#fff; border-radius:var(--r-xl); outline:1px solid rgba(10,10,15,.06); box-shadow:var(--shadow-lift); padding:24px; display:flex; flex-direction:column; gap:18px; transition:box-shadow var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out-quint); }
.case:hover{ box-shadow:var(--shadow-ambient); transform:translateY(-3px); }
.case-funnel{ width:420px; }
.case-google{ width:320px; }
@media (max-width:639px){ .case-funnel{ width:320px; } .case-google{ width:280px; } }
.case-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tag{ display:inline-flex; align-items:center; padding:5px 8px; border-radius:6px; font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; background:var(--mist); color:var(--text-2); white-space:nowrap; }
.tag-blue{ background:var(--blue-50); color:var(--blue-700); }
.tag-green{ background:var(--success-bg); color:var(--success-ink); }
.case-who b{ display:block; font-size:17px; font-weight:600; letter-spacing:-.01em; }
.case-who span{ font-size:14px; color:var(--text-2); }
.case-hero{ display:flex; align-items:baseline; gap:12px; }
.case-hero .t-stat{ color:var(--blue-600); }
.case-hero > span:not(.t-stat){ font-size:15px; color:var(--ink-800); line-height:1.3; }
.funnel{ display:flex; flex-direction:column; gap:8px; }
.funnel-row{ display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:center; gap:10px; font-size:13px; color:var(--text-2); }
.funnel-bar{ height:8px; border-radius:99px; background:var(--mist); overflow:hidden; }
.funnel-bar i{ display:block; height:100%; border-radius:inherit; background:var(--ink-900); width:var(--w); }
.funnel-row.is-hl .funnel-bar i{ background:var(--blue-600); }
.funnel-row b{ color:var(--ink-900); font-weight:600; font-variant-numeric:tabular-nums; }
.case-meta{ display:flex; flex-wrap:wrap; gap:6px 16px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; color:var(--text-2); }
.case-meta b{ color:var(--ink-900); font-weight:600; }
.case-google .t-stat{ font-size:44px; color:var(--ink-900); }
.case-google p{ font-size:14px; line-height:1.5; color:var(--text-2); }
.case-google .case-src{ margin-top:auto; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-3); }
.cases-note{ margin-top:32px; font-size:13px; color:var(--text-3); max-width:760px; }
@media (prefers-reduced-motion:reduce){
  .marquee{ overflow-x:auto; mask-image:none; -webkit-mask-image:none; scroll-snap-type:x mandatory; }
  .marquee-track{ animation:none; }
  .marquee-group[aria-hidden="true"],.case[aria-hidden="true"]{ display:none; }
  .case{ scroll-snap-align:start; }
}

/* ---------- 03 · CTA final (escuro) ---------- */
.final{ padding:0 12px 12px; }
@media (min-width:1280px){ .final{ padding:0 16px 16px; } }
.final-frame{ position:relative; overflow:hidden; isolation:isolate; border-radius:28px; background:var(--grad-ink); color:#fff; padding:96px 0; text-align:center; }
@media (min-width:1280px){ .final-frame{ border-radius:36px; } }
.final-frame::before{ content:""; position:absolute; inset:0; z-index:-1; background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px); background-size:20px 20px; mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent); -webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent); }
.final-frame .hero-glow-a{ right:auto; left:50%; top:auto; bottom:-420px; transform:translateX(-50%); animation:none; }
.final-frame .t-eyebrow{ color:var(--blue-300); }
.final-frame h2{ margin:20px auto 0; max-width:860px; }
.final-frame h2 .accent{ color:var(--blue-300); }
.final-frame .countdown{ align-items:center; margin-top:40px; }
.final-frame .cd-tile{ min-width:96px; padding:18px 12px 14px; }
.final-frame .cd-tile b{ font-size:48px; }
@media (max-width:480px){ .final-frame .cd-tile{ min-width:0; flex:1; padding:14px 6px 10px; } .final-frame .cd-tile b{ font-size:32px; } }
.final-frame .hero-cta{ align-items:center; }
.final-frame .fine{ justify-content:center; }

/* ---------- Rodapé ---------- */
.footer{ padding:40px 0 48px; }
.footer .wrap{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; }
.footer .brand{ color:var(--ink-900); }
.footer-legal{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:var(--text-3); line-height:1.7; }
.footer-links{ display:flex; gap:20px; font-size:13px; color:var(--text-2); }
.footer-links a{ text-decoration:none; }
.footer-links a:hover{ color:var(--blue-600); }
@media (max-width:767px){ .footer{ padding-bottom:120px; } }

/* ---------- Barra fixa no celular ---------- */
.sticky-cta{ position:fixed; left:12px; right:12px; bottom:12px; z-index:60; display:flex; align-items:center; gap:12px; padding:8px 8px 8px 16px; border-radius:20px; background:rgba(10,10,15,.88); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.12); color:#fff; box-shadow:0 20px 50px -10px rgba(0,0,0,.5); transform:translateY(140%); transition:transform .5s var(--ease-out-quint); }
.sticky-cta.is-visible{ transform:none; }
.sticky-cta .info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.sticky-cta .info b{ font-size:13px; font-weight:500; }
.sticky-cta .info span{ font-family:var(--font-mono); font-size:11px; letter-spacing:.04em; color:rgba(255,255,255,.65); font-variant-numeric:tabular-nums; }
.sticky-cta .btn{ margin-left:auto; height:44px; padding:0 18px; font-size:13px; font-weight:600; }
@media (min-width:768px){ .sticky-cta{ display:none; } }

/* ---------- Modal de inscrição ---------- */
.modal-backdrop{ position:fixed; inset:0; z-index:90; background:rgba(7,7,12,.62); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:16px; opacity:0; visibility:hidden; transition:opacity var(--dur-base), visibility 0s var(--dur-base); overflow-y:auto; }
.modal-backdrop.is-open{ opacity:1; visibility:visible; transition:opacity var(--dur-base), visibility 0s; }
.modal{ position:relative; width:100%; max-width:480px; margin:auto; background:#fff; border-radius:var(--r-2xl); box-shadow:var(--shadow-ambient); overflow:hidden; transform:translateY(16px) scale(.97); opacity:0; transition:transform .5s var(--ease-out-quint), opacity var(--dur-base); }
.modal-backdrop.is-open .modal{ transform:none; opacity:1; }
.modal-head{ position:relative; padding:24px 24px 22px; background:var(--grad-ink); color:#fff; overflow:hidden; isolation:isolate; }
.modal-head::after{ content:""; position:absolute; z-index:-1; width:360px; height:360px; right:-140px; top:-200px; border-radius:50%; background:radial-gradient(circle,rgba(46,91,255,.6),transparent 65%); filter:blur(40px); }
.modal-head .row{ display:flex; align-items:center; gap:12px; }
.modal-head img{ width:44px; height:44px; border-radius:50%; object-fit:cover; object-position:50% 20%; box-shadow:0 0 0 2px var(--blue-500); }
.modal-head .when{ font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.7); font-variant-numeric:tabular-nums; }
.modal-head h2{ margin-top:16px; font-size:26px; font-weight:500; letter-spacing:-.025em; line-height:1.1; }
.modal-head h2 .accent{ color:var(--blue-300); }
.modal-close{ position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%; display:grid; place-content:center; background:rgba(255,255,255,.1); color:#fff; border:0; cursor:pointer; font-size:18px; transition:background var(--dur-fast), transform var(--dur-base) var(--ease-out-quint); }
.modal-close:hover{ background:rgba(255,255,255,.2); transform:rotate(90deg); }
.modal-close:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--blue-400); }
.modal-body{ padding:22px 24px 24px; }
.form{ display:flex; flex-direction:column; gap:14px; }
.field{ display:flex; flex-direction:column; gap:6px; }
fieldset.field{ border:0; padding:0; margin:0; min-width:0; }
.label{ font-size:14px; font-weight:500; color:var(--ink-800); }
.label .opt{ font-weight:400; color:var(--text-3); }
.input{ width:100%; height:48px; padding:0 14px; font:inherit; font-size:16px; color:var(--ink-900); background:#fff; border:1px solid var(--edge); border-radius:var(--r-md); outline:none; transition:border-color var(--dur-fast), box-shadow var(--dur-base) var(--ease-out); }
.input::placeholder{ color:var(--text-3); }
.input:hover{ border-color:#B9C2D0; }
.input:focus{ border-color:var(--blue-600); box-shadow:var(--ring-focus); }
.field.has-error .input{ border-color:var(--error); box-shadow:0 0 0 4px rgba(229,72,77,.14); }
.field-error{ display:none; font-size:13px; color:var(--error-ink); }
.field.has-error .field-error{ display:block; }
.choices{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
@media (max-width:420px){ .choices{ grid-template-columns:minmax(0,1fr); } }
.choice{ position:relative; }
.choice input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.choice span{ display:flex; align-items:center; justify-content:center; min-height:48px; height:100%; padding:8px 10px; border-radius:var(--r-md); border:1px solid var(--edge); background:#fff; text-align:center; font-size:13.5px; font-weight:500; line-height:1.25; color:var(--ink-800); transition:border-color var(--dur-fast), background var(--dur-fast), box-shadow var(--dur-base); }
.choice:hover span{ border-color:#B9C2D0; }
.choice input:checked + span{ border-color:var(--blue-600); background:var(--blue-50); color:var(--blue-700); box-shadow:0 0 0 1px var(--blue-600) inset; }
.choice input:focus-visible + span{ box-shadow:var(--ring-focus); }
.field.has-error .choice span{ border-color:var(--error); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form .btn{ height:56px; margin-top:6px; font-size:15px; font-weight:600; letter-spacing:.02em; border-radius:var(--r-lg); }
.spinner{ width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; animation:spin .8s linear infinite; display:none; }
.is-sending .spinner{ display:block; }
.is-sending .btn-well{ display:none; }
@keyframes spin{ to{ transform:rotate(360deg);} }
.form-alert{ display:none; padding:12px 14px; border-radius:var(--r-md); background:var(--error-bg); color:var(--error-ink); font-size:14px; line-height:1.45; }
.form-alert.is-visible{ display:block; }
.form-fine{ display:flex; align-items:flex-start; gap:8px; font-size:12.5px; line-height:1.45; color:var(--text-3); }
.form-fine .ico{ margin-top:2px; color:var(--text-3); }
.form-fine a{ color:var(--text-2); }
html.modal-open{ overflow:hidden; }

/* ---------- Entradas por scroll ---------- */
.js [data-reveal]{ opacity:0; transform:translateY(24px); filter:blur(6px); transition:opacity .8s var(--ease-out), transform .9s var(--ease-out-quint), filter .8s var(--ease-out); }
.js [data-reveal].is-in{ opacity:1; transform:none; filter:none; }
.js [data-reveal][data-delay="1"]{ transition-delay:.1s; }
.js [data-reveal][data-delay="2"]{ transition-delay:.2s; }
.js [data-reveal][data-delay="3"]{ transition-delay:.3s; }
/* Entrada da primeira dobra */
.js [data-hero]{ opacity:0; transform:translateY(14px); filter:blur(6px); }
.js.is-loaded [data-hero]{ animation:hero-in .9s var(--ease-out) both; }
.js.is-loaded [data-hero="1"]{ animation-delay:.1s; }
.js.is-loaded [data-hero="2"]{ animation-delay:.25s; }
.js.is-loaded [data-hero="3"]{ animation-delay:.4s; }
.js.is-loaded [data-hero="4"]{ animation-delay:.55s; }
.js.is-loaded [data-hero="5"]{ animation-delay:.7s; }
@keyframes hero-in{ from{ opacity:0; transform:translateY(14px); filter:blur(6px);} to{ opacity:1; transform:none; filter:none;} }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .js [data-reveal],.js [data-hero]{ opacity:1; transform:none; filter:none; }
  .notif{ opacity:1; transform:none; animation:none; }
}

/* ============================================================
   OBRIGADO
   ============================================================ */
.ty .hero-frame{ padding-bottom:40px; }
.ty-center{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:40px 0 48px; }
@media (min-width:768px){ .ty-center{ padding:56px 0 72px; } }
.ty-check{ width:72px; height:72px; border-radius:50%; display:grid; place-content:center; color:var(--blue-300); font-size:30px; border:2px solid rgba(92,130,255,.55); background:rgba(0,51,255,.12); box-shadow:0 0 0 10px rgba(0,51,255,.08),0 0 60px -10px rgba(46,91,255,.8); }
.ty-check .ico{ stroke-width:2.6; }
.ty-title{ margin-top:28px; font-weight:600; font-size:clamp(44px,8vw,96px); line-height:.95; letter-spacing:-.045em; text-transform:uppercase; }
.ty-title .accent{ display:block; text-transform:none; font-size:1.12em; color:var(--blue-300); letter-spacing:-.02em; line-height:1; }
.ty-lead{ margin-top:24px; max-width:620px; font-size:clamp(17px,2vw,21px); line-height:1.5; color:rgba(255,255,255,.8); }
.ty-lead strong{ color:#fff; font-weight:600; }

/* Botão do WhatsApp: a única ação da página */
.wa-btn{ position:relative; isolation:isolate; margin-top:36px; width:100%; max-width:560px; display:flex; align-items:center; justify-content:center; gap:18px; padding:20px 28px; border-radius:var(--r-xl); background:linear-gradient(135deg,#2BD96F 0%,#1DB954 55%,#128C4A 100%); color:#fff; text-decoration:none; box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 20px 60px -12px rgba(37,211,102,.65); transition:transform var(--dur-base) var(--ease-out-quint), box-shadow var(--dur-base); animation:wa-glow 2.4s ease-in-out infinite; }
.wa-btn:hover{ transform:translateY(-2px) scale(1.01); }
.wa-btn:active{ transform:scale(.985); }
.wa-btn:focus-visible{ outline:none; box-shadow:0 0 0 4px rgba(255,255,255,.5),0 20px 60px -12px rgba(37,211,102,.65); }
@keyframes wa-glow{ 0%,100%{ box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 20px 60px -12px rgba(37,211,102,.55);} 50%{ box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 20px 80px -6px rgba(37,211,102,.85);} }
.wa-ico{ width:46px; height:46px; flex-shrink:0; filter:drop-shadow(0 2px 6px rgba(0,0,0,.2)); }
.wa-text{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; }
.wa-text small{ font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.wa-text b{ white-space:nowrap; font-size:clamp(17px,5vw,26px); font-weight:700; letter-spacing:-.01em; text-transform:uppercase; line-height:1; }
.wa-arrow{ font-size:24px; margin-left:4px; transition:transform var(--dur-base) var(--ease-out-quint); }
.wa-btn:hover .wa-arrow{ transform:translateX(4px); }
@media (max-width:420px){ .wa-btn{ padding:18px 16px; gap:12px; } .wa-ico{ width:36px; height:36px; } .wa-arrow{ font-size:20px; margin-left:0; } }

.ty-redirect{ margin-top:22px; font-size:16px; color:rgba(255,255,255,.7); }
.ty-redirect b{ display:inline-block; min-width:2.2ch; font-size:26px; font-weight:600; color:#fff; font-variant-numeric:tabular-nums; vertical-align:-3px; }

.ty-steps{ margin-top:32px; display:flex; align-items:center; gap:14px; font-size:15px; font-weight:500; color:rgba(255,255,255,.85); }
.ty-steps li{ display:flex; align-items:center; gap:10px; }
.ty-steps .n{ width:34px; height:34px; border-radius:50%; display:grid; place-content:center; font-family:var(--font-mono); font-size:13px; border:1.5px solid rgba(255,255,255,.3); }
.ty-steps .is-done .n{ background:var(--blue-600); border-color:var(--blue-600); color:#fff; font-size:15px; }
.ty-steps .is-current .n{ border-color:var(--blue-300); color:#fff; box-shadow:0 0 0 5px rgba(92,130,255,.18); }
.ty-steps .line{ width:56px; height:1px; background:rgba(255,255,255,.25); }
