/* GDR — visual compartilhado das páginas em português */
:root{
  --purple: #7B2CBF;
  --dark: #1A0B2E;
  --panel: #2A1745;
  --panel-2: #3A2260;
  --lilac: #F1E9FA;
  --lilac-mid: #B98AF0;
  --soft: #D9C8EE;
  --muted: #B9A6CC;
  --lime: #59FF00;
  --ink-2: #5B4A70;
  --display: 'Poppins', 'Trebuchet MS', sans-serif;
  --body: 'Montserrat', system-ui, sans-serif;
  /* names used by consent.js (cookie notice) */
  --purple-panel: var(--panel);
  --dark-fg-on-panel: var(--lilac);
  --dark-fg-soft-on-panel: var(--soft);
  --dark-border-on-panel: var(--panel-2);
  --font-body: var(--body);
}
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{ margin:0; background: var(--dark); color:#fff; font-family: var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, video{ max-width:100%; display:block; }
main{ overflow-x: clip; }
h1, h2, h3{ margin:0; font-family: var(--display); }
p{ margin:0; }
a{ color: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{ outline: 3px solid var(--lime); outline-offset: 3px; border-radius: 6px; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.wrap{ max-width:1280px; margin:0 auto; padding:0 40px; }

/* ---------- Tipografia ---------- */
.eyebrow{ display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color: var(--lilac-mid); }
.eyebrow.lime{ color: var(--lime); }
.eyebrow.purple{ color: var(--purple); }
.eyebrow.ink{ color:#3A1468; }
.eyebrow .bullet{ width:10px; height:10px; border-radius:50%; background: var(--lime); flex:none; }
.display{ font-weight:800; font-size: clamp(42px, 5.4vw, 76px); line-height:1.02; letter-spacing:-2px; }
.display.xl{ font-size: clamp(46px, 6vw, 86px); line-height:.98; letter-spacing:-2.5px; }
.h2{ font-weight:800; font-size: clamp(34px, 4vw, 54px); letter-spacing:-1.5px; line-height:1.05; }
.h2.md{ font-size: clamp(32px, 3.6vw, 48px); line-height:1.08; }
.lead{ font-size:18px; line-height:1.6; color: var(--soft); max-width:540px; }
.text{ font-size:17px; line-height:1.7; color: var(--soft); }
.lime-t{ color: var(--lime); }
.lilac-t{ color: var(--lilac-mid); }
.purple-t{ color: var(--purple); }
.head{ display:flex; flex-direction:column; gap:14px; margin-bottom:48px; }

/* ---------- Botões ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-family: var(--body); font-weight:700; font-size:15px; padding:17px 30px; border-radius:999px; text-decoration:none; border:2px solid transparent; cursor:pointer; transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease; }
.btn:hover{ transform: translateY(-1px); }
.btn-lime{ background: var(--lime); color: var(--dark); }
.btn-outline{ background:transparent; border-color: var(--purple); color:#fff; font-weight:600; padding:15px 28px; }
.btn-outline:hover{ border-color: var(--lilac-mid); }
.btn-outline-light{ background:transparent; border-color:#fff; color:#fff; font-weight:600; }
.btn-outline-light:hover{ background:#fff; color: var(--purple); }
.btn.lg{ font-size:16px; padding:19px 34px; }

/* ---------- Header ---------- */
.site-header{ position:relative; z-index:20; }
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:28px; padding-bottom:28px; }
.header-tools{ display:flex; align-items:center; gap:22px; }
.logo{ font-family: var(--display); font-weight:800; font-size:30px; color:#fff; text-decoration:none; letter-spacing:-.5px; }
.logo span, .lime-dot{ color: var(--lime); }
.site-nav{ display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; }
.site-nav a{ color: var(--soft); text-decoration:none; }
.site-nav a:hover, .site-nav a[aria-current="page"]{ color: var(--lime); }
.site-nav .nav-cta{ color: var(--dark); background: var(--lime); padding:13px 22px; border-radius:999px; font-weight:700; }
.site-nav .nav-cta:hover{ color: var(--dark); }
.lang{ display:flex; gap:6px; font-size:12px; font-weight:700; color: var(--muted); }
.lang a{ color: var(--muted); text-decoration:none; }
.lang a.on{ color: var(--lime); }
.menu-toggle{ display:none; background:none; border:2px solid var(--panel-2); color:#fff; border-radius:999px; padding:9px 12px; cursor:pointer; }

/* ---------- Hero ---------- */
.hero{ padding:48px 0 110px; }
.hero .wrap{ display:flex; flex-wrap:wrap; align-items:center; gap:56px; }
.hero-text{ flex:1 1 520px; min-width:0; display:flex; flex-direction:column; gap:28px; }
.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-art{ flex:1 1 440px; min-width:0; position:relative; height:560px; display:flex; justify-content:center; align-items:center; }
.halo{ position:absolute; width:420px; height:420px; border-radius:50%; background: var(--purple); opacity:.35; }

/* celulares da home */
.phone{ position:absolute; overflow:hidden; background: var(--panel-2); animation: gdrFloat 6s ease-in-out infinite; }
.phone video, .phone img.poster{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.phone-l{ --r:-8deg; left:6%; top:70px; width:200px; height:356px; border-radius:28px; border:6px solid var(--panel-2); animation-delay:-2s; }
.phone-c{ --r:0deg; position:relative; z-index:2; width:230px; height:410px; border-radius:32px; border:7px solid #fff; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.phone-r{ --r:8deg; right:6%; top:110px; width:200px; height:356px; border-radius:28px; border:6px solid var(--panel-2); animation-delay:-4s; }
.phone .shade{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(26,11,46,.35) 0%, rgba(26,11,46,0) 30%, rgba(26,11,46,0) 70%, rgba(26,11,46,.35) 100%); }
.rec{ position:absolute; top:14px; left:14px; display:flex; align-items:center; gap:6px; background: rgba(26,11,46,.75); padding:5px 10px; border-radius:999px; font-size:10px; font-weight:700; }
.rec i{ width:8px; height:8px; border-radius:50%; background:#FF4D6D; animation: gdrBlink 1.2s steps(2) infinite; }
.viewfinder{ position:absolute; inset:22px 22px 90px; pointer-events:none; }
.viewfinder i{ position:absolute; width:26px; height:26px; border:3px solid var(--lime); }
.viewfinder i:nth-child(1){ top:0; left:0; border-right:0; border-bottom:0; }
.viewfinder i:nth-child(2){ top:0; right:0; border-left:0; border-bottom:0; }
.viewfinder i:nth-child(3){ bottom:0; left:0; border-right:0; border-top:0; }
.viewfinder i:nth-child(4){ bottom:0; right:0; border-left:0; border-top:0; }
.shutter{ position:absolute; bottom:22px; left:50%; margin-left:-28px; width:56px; height:56px; border-radius:50%; border:4px solid #fff; background: rgba(255,255,255,.25); animation: gdrSnap 3s ease-in-out infinite; }
.chip-foto{ position:absolute; top:14px; left:14px; background: var(--lime); color: var(--dark); font-size:10px; font-weight:700; padding:5px 10px; border-radius:999px; }
.story-bars{ position:absolute; top:12px; left:12px; right:12px; display:flex; gap:4px; }
.story-bars span{ flex:1; height:3px; border-radius:3px; background: rgba(255,255,255,.35); overflow:hidden; }
.story-bars span:first-child{ background:#fff; }
.story-bars b{ display:block; height:100%; background:#fff; animation: gdrProg 5s linear infinite; }
.story-label{ position:absolute; top:26px; left:12px; font-size:10px; font-weight:700; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.pill-link{ position:absolute; z-index:3; bottom:40px; left:50%; transform: translateX(-50%); background: var(--lime); color: var(--dark); font-weight:700; font-size:13px; padding:10px 18px; border-radius:999px; white-space:nowrap; display:flex; align-items:center; gap:8px; }
.pill-link::before{ content:''; width:8px; height:8px; border-radius:50%; background: var(--dark); }

/* ---------- Faixa limão ---------- */
.marquee{ background: var(--lime); color: var(--dark); overflow:hidden; padding:22px 0; transform: rotate(-1.5deg); margin:0 -20px; position:relative; z-index:2; }
.marquee-track{ display:flex; width:max-content; animation: gdrMarquee 22s linear infinite; }
.marquee-track:hover{ animation-play-state: paused; }
.marquee-item{ display:flex; align-items:center; gap:28px; padding-right:28px; font-family: var(--display); font-weight:800; font-size:28px; white-space:nowrap; letter-spacing:-.5px; }
.marquee-item::after{ content:''; width:14px; height:14px; border-radius:50%; background: var(--purple); }

/* ---------- Seções ---------- */
.sec{ padding:120px 0; }
.sec.tight-top{ padding-top:0; }
.bg-lime{ background: var(--lime); color: var(--dark); }
.bg-lilac{ background: var(--lilac); color: var(--dark); }
.bg-purple{ background: var(--purple); color:#fff; }
.bg-lilac .text, .bg-lime .text{ color:#3A2A50; }
.split{ display:flex; flex-wrap:wrap; gap:64px; align-items:center; }
.split > *{ min-width:0; }

/* +5 / Quem somos */
.big5{ flex:1 1 360px; font-family: var(--display); font-weight:800; font-size: clamp(140px, 18vw, 240px); line-height:.85; color: var(--lime); letter-spacing:-8px; }
.big5 span{ color: var(--purple); }
.about{ flex:1 1 520px; display:flex; flex-direction:column; gap:20px; }
.about .statement{ font-family: var(--display); font-weight:700; font-size: clamp(24px, 2.6vw, 34px); line-height:1.25; }

/* Dois lados */
.sides{ border-radius:32px; overflow:hidden; }
.sides-row{ display:flex; flex-wrap:wrap; position:relative; }
.side{ flex:1 1 460px; min-width:0; padding:56px 48px; display:flex; flex-direction:column; gap:28px; }
.side-purple{ background: var(--purple); color:#fff; }
.side-lime{ background: var(--lime); color: var(--dark); }
.side-label{ font-size:12px; font-weight:700; letter-spacing:3px; text-transform:uppercase; }
.side-purple .side-label{ opacity:.85; }
.side-links{ display:flex; flex-direction:column; }
.side-link{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px 0; border-top:1px solid rgba(255,255,255,.3); color:inherit; text-decoration:none; }
.side-link:last-child{ border-bottom:1px solid rgba(255,255,255,.3); }
.side-lime .side-link{ border-color: rgba(26,11,46,.25); }
.side-link .t{ display:block; font-family: var(--display); font-weight:700; font-size:24px; line-height:1.25; }
.side-link .d{ display:block; font-size:14px; margin-top:6px; color: var(--lilac); }
.side-lime .side-link .d{ color: var(--panel); }
.side-link .arrow{ font-size:26px; transition: transform .15s ease; }
.side-link:hover .arrow{ transform: translateX(4px); }
.sides-center{ position:absolute; left:50%; top:50%; transform: translate(-50%,-50%); width:64px; height:64px; border-radius:50%; background: var(--dark); border:6px solid #fff; display:flex; align-items:center; justify-content:center; font-family: var(--display); font-weight:800; font-size:22px; color: var(--lime); }
.shared-row{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; padding:36px 48px; background: var(--lilac); color: var(--dark); text-decoration:none; }
.shared-row .lbl{ display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:3px; }
.shared-row .lbl i{ width:10px; height:10px; border-radius:50%; background: var(--purple); }
.shared-row .lbl i + i{ background:#3FB800; margin-left:-6px; }
.shared-row .t{ font-family: var(--display); font-weight:700; font-size:24px; }
.shared-row .d{ font-size:14px; color:#3A2A50; }
.shared-row .arrow{ font-size:26px; }
.side.static{ gap:14px; padding:52px 48px; }
.side.static .t{ font-family: var(--display); font-weight:700; font-size:28px; line-height:1.2; }
.side.static .d{ font-size:15px; line-height:1.6; }
.side-purple.static .d{ color: var(--lilac); }
a.side.static{ text-decoration:none; }
.side-lime.static .d{ color: var(--panel); }
.side.static .more{ font-weight:700; font-size:15px; margin-top:6px; }

/* Pílulas (critérios, pilares) */
.pill-list{ display:flex; flex-wrap:wrap; gap:12px; margin:0; padding:0; list-style:none; }
.pill{ display:flex; align-items:center; gap:12px; background: var(--dark); color:#fff; font-family: var(--display); font-weight:600; font-size:19px; padding:18px 26px; border-radius:999px; }
.pill::before{ content:''; width:10px; height:10px; border-radius:50%; background: var(--lime); flex:none; }
.why-highlight{ font-family: var(--display); font-weight:700; font-size: clamp(22px, 2.4vw, 30px); line-height:1.3; }

/* Carrossel da trajetória */
.carousel{ overflow:hidden; }
.carousel-track{ display:flex; width:max-content; gap:24px; padding:8px 0 8px 24px; animation: gdrMarquee 100s linear infinite; }
.carousel-track:hover, .carousel-track:focus-within{ animation-play-state: paused; }
.tcard{ width:280px; flex:0 0 auto; background:#fff; border-radius:28px; overflow:hidden; box-shadow:0 10px 30px rgba(123,44,191,.12); display:flex; flex-direction:column; }
.tcard-top{ height:200px; position:relative; display:flex; align-items:center; justify-content:center; }
.tcard-top img{ width:120px; height:120px; border-radius:50%; object-fit:cover; border:5px solid #fff; box-shadow:0 10px 24px rgba(26,11,46,.25); background:#fff; }
.tcard .tag{ position:absolute; top:16px; left:16px; background: var(--lime); color: var(--dark); font-size:10px; font-weight:700; letter-spacing:1px; padding:6px 12px; border-radius:999px; }
.tcard-body{ padding:20px 22px 24px; display:flex; flex-direction:column; gap:6px; color: var(--dark); }
.tcard-body .n{ font-family: var(--display); font-weight:700; font-size:18px; line-height:1.25; }
.tcard-body .h{ font-size:13px; font-weight:600; color: var(--purple); }
.tcard-body .d{ font-size:13px; color: var(--ink-2); line-height:1.5; }
.c1{ background: var(--purple); } .c2{ background: var(--dark); } .c3{ background: var(--lilac-mid); } .c4{ background: var(--panel); } .c5{ background: var(--lime); }
.carousel-note{ font-size:15px; color: var(--ink-2); max-width:340px; line-height:1.6; }

/* Linhas de link */
.line-links{ display:flex; flex-direction:column; margin-top:8px; }
.line-link{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--panel-2); color:#fff; text-decoration:none; font-size:15px; }
.line-link:last-child{ border-bottom:1px solid var(--panel-2); }
.line-link strong{ font-family: var(--display); }
.line-link .s{ color: var(--soft); }
.line-link .arrow{ color: var(--lime); }

/* Mockups */
.mocks{ flex:1 1 560px; position:relative; display:flex; flex-direction:column; gap:20px; }
.mock{ background:#fff; color: var(--dark); border-radius:24px; box-shadow:0 30px 80px rgba(0,0,0,.4); overflow:hidden; }
.mock-bar{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:14px 18px; background: var(--lilac); }
.mock-bar .dots{ display:flex; align-items:center; gap:8px; }
.mock-bar .dots i{ width:10px; height:10px; border-radius:50%; background: var(--soft); }
.mock-bar .url{ margin-left:8px; font-size:12px; color: var(--ink-2); background:#fff; padding:5px 14px; border-radius:999px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.mock-bar .dots{ min-width:0; }
.badge{ font-size:10px; font-weight:700; letter-spacing:2px; padding:5px 10px; border-radius:999px; white-space:nowrap; }
.badge.lime{ background: var(--lime); color: var(--dark); }
.badge.dark{ background: var(--dark); color: var(--lime); }
.mock-body{ padding:18px 26px 22px; display:flex; flex-direction:column; }
.mrow{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-top:1px solid #EEE6F7; }
.mrow:first-child{ border-top:0; }
.who{ display:flex; align-items:center; gap:12px; }
.av{ width:34px; height:34px; border-radius:50%; background: var(--purple); color:#fff; font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; flex:none; }
.who .n{ display:block; font-weight:600; font-size:14px; }
.who .s{ display:block; font-size:12px; color: var(--ink-2); }
.st{ font-size:12px; font-weight:700; padding:6px 12px; border-radius:999px; white-space:nowrap; }
.st.ok{ background:#E4FFD6; color:#1F5C00; }
.st.wait{ background: var(--lilac); color:#5A1F8F; }
.st.late{ background:#FFE3E3; color:#9B1C1C; }
.alert-bar{ margin-top:10px; display:flex; align-items:center; gap:12px; background: var(--dark); color:#fff; border-radius:14px; padding:12px 16px; font-size:13px; }
.live{ width:10px; height:10px; border-radius:50%; background: var(--lime); flex:none; animation: gdrPulse 2s ease-in-out infinite; }
.mocks > .mock .mock-body{ padding-bottom:78px; }
.mock-creator{ align-self:flex-end; width:min(380px,100%); background: var(--purple); color:#fff; border-radius:22px; padding:18px 22px; box-shadow:0 24px 60px rgba(0,0,0,.4); margin-top:-60px; position:relative; }
.mock-creator .top{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.mock-creator .brand{ font-family: var(--display); font-weight:800; font-size:15px; }
.mock-creator .brand small{ font-weight:600; font-size:12px; color: var(--lilac); }
.mock-creator .r{ display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-top:1px solid rgba(255,255,255,.25); font-size:13px; }
.illus{ font-size:11px; color: var(--muted); align-self:flex-end; }
.bg-lilac .illus{ color: var(--ink-2); }

/* Time */
.team-grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:24px; }
.tm{ background:#fff; color: var(--dark); border-radius:28px; padding:28px 22px 26px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; box-shadow:0 10px 30px rgba(123,44,191,.12); }
.tm img{ width:132px; height:132px; border-radius:50%; object-fit:cover; object-position:center 20%; margin-bottom:12px; border:5px solid var(--lilac); }
.tm .n{ font-family: var(--display); font-weight:700; font-size:18px; line-height:1.25; }
.tm .r{ font-size:13px; font-weight:600; color: var(--purple); line-height:1.4; }
.tm .tag{ margin-top:8px; background: var(--lime); color: var(--dark); font-size:11px; font-weight:700; padding:5px 12px; border-radius:999px; }
.team-intro{ font-size:17px; line-height:1.7; color:#3A2A50; max-width:680px; }

/* Contato */
.cta-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:40px; }
.cta-title{ font-weight:800; font-size: clamp(40px, 5.5vw, 80px); letter-spacing:-2.5px; line-height:1; max-width:820px; }
.cta-title.md{ font-size: clamp(36px, 4.8vw, 68px); letter-spacing:-2px; line-height:1.02; }
.cta-sub{ font-size:18px; color: var(--lilac); margin-top:16px; }
.cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }
.contact-box{ margin-top:64px; display:grid; grid-template-columns: minmax(0,0.8fr) minmax(0,1.2fr); gap:48px; align-items:start; }
.contact-box .side-copy{ display:flex; flex-direction:column; gap:14px; }
.contact-box .side-copy p{ color: var(--lilac); }
.form{ background:#fff; color: var(--dark); border-radius:28px; padding:32px; display:flex; flex-direction:column; gap:16px; box-shadow:0 30px 80px rgba(26,11,46,.35); }
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:13px; font-weight:700; color: var(--panel); }
.field input, .field select, .field textarea{ font-family: var(--body); font-size:15px; padding:14px 16px; border-radius:14px; border:2px solid #E6DCF2; background: var(--lilac); color: var(--dark); }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color: var(--purple); background:#fff; }
.field textarea{ resize:vertical; min-height:110px; }
.form .btn{ width:100%; }
.form-note{ font-size:12px; color: var(--ink-2); }
.form-note a{ color: var(--purple); }
.form-msg{ font-size:14px; font-weight:600; color: var(--purple); min-height:1.2em; }

/* Footer */
.site-footer{ background: var(--dark); padding:40px 0; }
.site-footer .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; font-size:13px; color: var(--muted); }
.site-footer .logo{ font-size:24px; }
.site-footer nav{ display:flex; flex-wrap:wrap; gap:20px; }
.site-footer nav a{ color: var(--muted); }
.site-footer nav a:hover{ color: var(--lime); }

/* ---------- Página de marcas ---------- */
.float-card{ animation: gdrFloat 6s ease-in-out infinite; }
.crit-card{ --r:-5deg; position:absolute; left:4%; top:40px; width:210px; background: var(--panel); border:1px solid var(--panel-2); border-radius:22px; padding:18px; animation-delay:-3s; z-index:1; }
.crit-card .k{ font-size:11px; font-weight:700; letter-spacing:2px; color: var(--lilac-mid); }
.chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.chips span{ font-size:11px; font-weight:600; padding:6px 10px; border-radius:999px; background: var(--panel-2); }
.chips span.on{ background: var(--lime); color: var(--dark); }
.shortlist{ --r:0deg; position:relative; z-index:2; width:320px; background:#fff; color: var(--dark); border-radius:28px; padding:24px; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.shortlist .top{ display:flex; justify-content:space-between; align-items:center; }
.shortlist .ttl{ font-family: var(--display); font-weight:700; font-size:17px; }
.shortlist .list{ display:flex; flex-direction:column; gap:12px; margin-top:18px; }
.shortlist .it{ display:flex; gap:12px; align-items:center; }
.shortlist .it .av{ width:42px; height:42px; font-size:13px; }
.shortlist .it .x{ flex:1; }
.shortlist .it .x b{ display:block; font-size:14px; }
.shortlist .it .x span{ display:block; font-size:11px; color: var(--ink-2); }
.check{ width:22px; height:22px; border-radius:50%; background: var(--lime); display:flex; align-items:center; justify-content:center; flex:none; }
.shortlist .foot{ margin-top:18px; font-size:11px; color: var(--ink-2); border-top:1px solid #EEE6F7; padding-top:12px; }
.av.dark{ background: var(--dark); color: var(--lime); }
.av.lilac{ background: var(--lilac-mid); color: var(--dark); }

.steps{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top:1px solid var(--panel-2); }
.step{ padding:36px 32px; display:flex; flex-direction:column; gap:14px; border-right:1px solid var(--panel-2); border-bottom:1px solid var(--panel-2); }
.step:nth-child(3n){ border-right:0; padding-right:0; }
.step:nth-child(3n+1){ padding-left:0; }
.step .num{ font-family: var(--display); font-weight:800; font-size:96px; line-height:1; letter-spacing:-4px; }
.step:nth-child(3n+1) .num{ color: var(--lime); }
.step:nth-child(3n+2) .num{ color: var(--purple); }
.step:nth-child(3n) .num{ color: var(--lilac-mid); }
.step h3{ font-weight:700; font-size:24px; line-height:1.2; }

.dot-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.dot-list li{ display:flex; gap:16px; align-items:flex-start; padding:14px 0; border-top:1px solid var(--panel-2); font-size:15px; line-height:1.55; color: var(--lilac); }
.dot-list li:last-child{ border-bottom:1px solid var(--panel-2); }
.dot-list li::before{ content:''; width:10px; height:10px; border-radius:50%; background: var(--lime); margin-top:7px; flex:none; }
.dot-list b{ color:#fff; font-family: var(--display); font-weight:700; }
.insights-head{ display:flex; flex-direction:column; gap:8px; }
.insights-head .badge{ align-self:flex-start; font-size:11px; padding:6px 12px; }
.insights-head .ttl{ font-family: var(--display); font-weight:800; font-size:30px; letter-spacing:-.5px; }
.insights-head p{ font-size:15px; line-height:1.6; color: var(--soft); }
.bars{ padding:26px 28px; display:flex; flex-direction:column; gap:18px; }
.bars .top{ display:flex; justify-content:space-between; align-items:center; }
.bars .top b{ font-family: var(--display); font-size:18px; }
.bars .top span{ font-size:11px; color: var(--ink-2); }
.bar{ display:flex; flex-direction:column; gap:8px; }
.bar .l{ display:flex; justify-content:space-between; font-size:13px; font-weight:600; }
.bar .l span{ color: var(--ink-2); }
.bar .track{ height:12px; background: var(--lilac); border-radius:999px; overflow:hidden; }
.bar .track i{ display:block; height:100%; border-radius:999px; }

/* ---------- Página de agenciamento ---------- */
.agency-phone{ position:relative; z-index:1; width:240px; height:440px; border-radius:34px; background:#fff; border:7px solid #fff; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.agency-phone .pic{ flex:1; background: var(--purple); border-radius:26px 26px 0 0; display:flex; align-items:center; justify-content:center; font-family: var(--display); font-weight:800; font-size:64px; }
.agency-phone .info{ padding:16px; color: var(--dark); }
.agency-phone .info b{ display:block; font-size:15px; }
.agency-phone .info span{ display:block; font-size:12px; color: var(--ink-2); margin-top:3px; }
.notif{ position:absolute; z-index:2; border-radius:18px; padding:14px 16px; display:flex; gap:12px; align-items:center; box-shadow:0 16px 40px rgba(0,0,0,.35); }
.notif b{ display:block; font-size:13px; }
.notif span.s{ display:block; font-size:11px; }
.notif-1{ --r:-3deg; left:0; top:70px; width:230px; background:#fff; color: var(--dark); }
.notif-1 span.s{ color: var(--ink-2); }
.notif-1 .ic{ width:36px; height:36px; border-radius:10px; background: var(--lime); display:flex; align-items:center; justify-content:center; flex:none; }
.notif-2{ --r:3deg; right:0; top:230px; width:220px; background: var(--dark); border:1px solid var(--panel-2); animation-delay:-2s; }
.notif-2 .live{ width:12px; height:12px; }
.notif-2 span.s{ color: var(--soft); }
.notif-3{ --r:-2deg; left:20px; bottom:50px; width:210px; background: var(--lime); color: var(--dark); display:block; animation-delay:-4s; }
.notif-3 span.s{ color: var(--panel); }

.timeline{ position:relative; }
.timeline::before{ content:''; position:absolute; left:0; right:0; top:13px; height:2px; background: var(--panel-2); }
.timeline ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap:32px; position:relative; }
.timeline li{ display:flex; flex-direction:column; gap:14px; }
.timeline .tdot{ width:28px; height:28px; border-radius:50%; border:5px solid var(--dark); box-sizing:content-box; margin-left:-5px; }
.timeline .tn{ font-family: var(--display); font-weight:800; font-size:14px; color: var(--lime); letter-spacing:1px; }
.timeline h3{ font-weight:700; font-size:20px; line-height:1.2; }
.timeline p{ font-size:14px; line-height:1.65; color: var(--soft); }
.panel-mock{ flex:1 1 560px; background: var(--dark); color:#fff; border-radius:24px; overflow:hidden; box-shadow:0 30px 80px rgba(26,11,46,.3); }
.panel-mock .top{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:18px 24px; border-bottom:1px solid var(--panel-2); }
.panel-mock .top .brand{ font-family: var(--display); font-weight:800; font-size:18px; }
.panel-mock .top .brand small{ font-weight:600; font-size:14px; color: var(--soft); }
.panel-mock .top .illus{ align-self:auto; color: var(--muted); }
.panel-cols{ display:flex; flex-wrap:wrap; }
.panel-col{ flex:1 1 240px; min-width:0; padding:22px 24px; }
.panel-col + .panel-col{ border-left:1px solid var(--panel-2); }
.panel-col .k{ font-size:11px; font-weight:700; letter-spacing:2px; color: var(--lilac-mid); margin-bottom:12px; }
.prow{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px 0; border-top:1px solid var(--panel); }
.prow .n{ display:block; font-weight:600; font-size:14px; }
.prow .s{ display:block; font-size:12px; color: var(--muted); }
.prow .st{ font-size:11px; padding:5px 10px; }
.st.neg{ background: var(--panel-2); color: var(--lilac); }
.st.closed{ background: var(--lime); color: var(--dark); }
.st.done{ background: var(--lilac-mid); color: var(--dark); }
.erow{ display:flex; gap:10px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--panel); }
.erow i{ width:8px; height:8px; border-radius:50%; background: var(--lime); margin-top:6px; flex:none; }
.erow i.old{ background: var(--ink-2); }
.erow .n{ display:block; font-weight:600; font-size:13px; }
.erow .s{ display:block; font-size:12px; color: var(--muted); }

/* ---------- Política de privacidade ---------- */
.legal-body{ max-width:780px; color: var(--dark); }
.legal-body h2{ font-family: var(--display); font-weight:800; font-size: clamp(22px, 2.4vw, 28px); letter-spacing:-.5px; margin:40px 0 12px; }
.legal-body p{ color:#3A2A50; margin:0 0 14px; }
.legal-body ul{ list-style:none; margin:0 0 14px; padding:0; display:flex; flex-direction:column; gap:10px; }
.legal-body li{ display:flex; gap:12px; color:#3A2A50; }
.legal-body li::before{ content:''; width:10px; height:10px; border-radius:50%; background: var(--purple); margin-top:8px; flex:none; }
.legal-body b{ color: var(--dark); }
.legal-body a{ color: var(--purple); font-weight:600; }

/* ---------- Animações ---------- */
@keyframes gdrMarquee{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
@keyframes gdrFloat{ 0%,100%{ transform: translateY(0) rotate(var(--r, 0deg)); } 50%{ transform: translateY(-10px) rotate(var(--r, 0deg)); } }
@keyframes gdrPulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(89,255,0,.55); } 50%{ box-shadow:0 0 0 10px rgba(89,255,0,0); } }
@keyframes gdrBlink{ 0%,100%{ opacity:1; } 50%{ opacity:.2; } }
@keyframes gdrProg{ from{ width:0; } to{ width:100%; } }
@keyframes gdrSnap{ 0%,85%,100%{ transform: scale(1); } 90%{ transform: scale(.85); } }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation: none !important; transition: none !important; }
  .carousel{ overflow-x:auto; }
  .marquee{ overflow-x:auto; }
}

/* ---------- Responsivo ---------- */
@media (max-width: 1100px){
  .team-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .timeline::before{ display:none; }
  .timeline ol{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 900px){
  .sides-center{ display:none; }
  .contact-box{ grid-template-columns: minmax(0,1fr); }
  .steps{ grid-template-columns: minmax(0,1fr); }
  .step, .step:nth-child(3n), .step:nth-child(3n+1){ padding:28px 0; border-right:0; }
}
@media (max-width: 860px){
  .menu-toggle{ display:inline-flex; }
  .site-nav{ display:none; position:absolute; top:100%; left:20px; right:20px; flex-direction:column; align-items:stretch; gap:6px; background: var(--panel); border:1px solid var(--panel-2); border-radius:22px; padding:14px; }
  .site-nav a{ padding:12px 14px; border-radius:14px; }
  .site-nav .nav-cta{ text-align:center; margin-top:6px; }
  body.nav-open .site-nav{ display:flex; }
  .site-header .wrap{ position:relative; }
  .header-tools{ display:flex; align-items:center; gap:14px; }
}
@media (max-width: 760px){
  .wrap{ padding:0 20px; }
  .sec{ padding:84px 0; }
  .hero{ padding:24px 0 84px; }
  .hero .wrap{ gap:28px; }
  .hero-art{ height:440px; }
  .hero-art > .stage{ transform: scale(.78); }
  .side{ padding:40px 26px; }
  .shared-row{ padding:28px 26px; }
  .side-link .t, .shared-row .t{ font-size:20px; }
  .marquee-item{ font-size:22px; }
  .pill{ font-size:16px; padding:14px 20px; }
  .split{ gap:40px; }
  .form{ padding:24px; }
  .timeline ol{ grid-template-columns: minmax(0,1fr); gap:28px; }
  .timeline li{ display:grid; grid-template-columns: 38px minmax(0,1fr); column-gap:14px; row-gap:6px; }
  .timeline li .tdot{ grid-row: 1 / span 3; margin-left:0; }
  .timeline li > *:not(.tdot){ grid-column: 2; }
  .panel-col + .panel-col{ border-left:0; border-top:1px solid var(--panel-2); }
}
@media (max-width: 480px){
  .team-grid{ grid-template-columns: minmax(0,1fr); }
  .hero-art{ height:380px; }
  .hero-art > .stage{ transform: scale(.66); }
  .big5{ letter-spacing:-5px; }
}
.stage{ position:relative; width:100%; height:100%; display:flex; justify-content:center; align-items:center; transform-origin:center; }
