/* ============================================================
   Parça — Site V3 ("O Veredito") additive hi-fi layer.
   Loads AFTER parca.css. Reuses its tokens, buttons, nav, type.
   ============================================================ */

/* ── nav active + section rhythm ── */
.nav-links a.active{ color:var(--ink); background:var(--surface); box-shadow:var(--shadow); }

/* ── site-wide "testes em andamento" announcement bar ── */
.testbar{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;
  background:linear-gradient(90deg, var(--green-dark), var(--green)); color:#fff; text-decoration:none;
  font-size:13.5px; font-weight:600; padding:10px 20px; position:relative; overflow:hidden; z-index:70; }
.testbar::after{ content:''; position:absolute; top:0; bottom:0; left:-30%; width:30%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent); transform:skewX(-20deg);
  animation:tbShimmer 5s ease-in-out infinite; pointer-events:none; }
@keyframes tbShimmer{ 0%{ left:-30%; } 55%,100%{ left:130%; } }
.testbar .tb-dot{ width:8px; height:8px; border-radius:50%; background:#fff; flex-shrink:0;
  box-shadow:0 0 0 0 rgba(255,255,255,0.6); animation:tbPulse 1.8s ease-out infinite; }
@keyframes tbPulse{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,0.55);} 70%{ box-shadow:0 0 0 8px rgba(255,255,255,0);} 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0);} }
.testbar .tb-lbl{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; }
.testbar .tb-txt{ opacity:0.92; }
.testbar .tb-cta{ display:inline-flex; align-items:center; gap:6px; font-weight:700; background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.35); padding:5px 13px; border-radius:999px; transition:background .15s; }
.testbar:hover .tb-cta{ background:rgba(255,255,255,0.3); }
.testbar .tb-cta svg{ width:14px; height:14px; transition:transform .15s; }
.testbar:hover .tb-cta svg{ transform:translateX(3px); }
@media (max-width:680px){ .testbar .tb-txt{ display:none; } .testbar{ gap:10px; padding:9px 14px; } }
@media (prefers-reduced-motion:reduce){ .testbar::after, .testbar .tb-dot{ animation:none; } }
section.tight{ padding:64px 0; }
.lead-hand{ font-family:var(--hand); font-weight:700; font-size:clamp(28px,3.4vw,40px); color:var(--green-dark); line-height:0.95; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

/* ── HERO phone: real trip card on TOP, ride-app offer at BOTTOM ── */
.v3-phone{ position:relative; width:332px; height:684px; border-radius:52px;
  background:linear-gradient(145deg,#3a3d42 0%,#16181b 26%,#0a0b0d 60%,#000 100%);
  padding:13px;
  box-shadow:0 40px 84px rgba(20,28,40,0.34), 0 12px 24px rgba(20,28,40,0.14),
    inset 0 1px 1.5px rgba(255,255,255,0.22), inset 0 -1px 2px rgba(0,0,0,0.6); }
/* polished metal rim seating the glass */
.v3-phone::before{ content:''; position:absolute; inset:6px; border-radius:46px; pointer-events:none;
  background:linear-gradient(150deg,rgba(255,255,255,0.16),rgba(255,255,255,0) 18%,rgba(255,255,255,0) 82%,rgba(255,255,255,0.10));
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.65); z-index:9; }
/* side buttons */
.v3-btn{ position:absolute; z-index:0; background:linear-gradient(180deg,#34373b,#0e1013); border-radius:2px;
  box-shadow:inset 0 1px 1px rgba(255,255,255,0.18), 0 1px 2px rgba(0,0,0,0.4); }
.v3-btn.silent{ left:-2.5px; top:118px; width:3.5px; height:26px; border-radius:3px 0 0 3px; }
.v3-btn.volup{ left:-2.5px; top:162px; width:3.5px; height:48px; border-radius:3px 0 0 3px; }
.v3-btn.voldn{ left:-2.5px; top:222px; width:3.5px; height:48px; border-radius:3px 0 0 3px; }
.v3-btn.power{ right:-2.5px; top:196px; width:3.5px; height:74px; border-radius:0 3px 3px 0; }
.v3-screen{ width:100%; height:100%; border-radius:40px; overflow:hidden; position:relative; background:#E6EAEC;
  box-shadow:inset 0 0 0 2px #000; }
.v3-screen .map{ position:absolute; inset:0; background:#E3E7EA;
  background-image:radial-gradient(circle at 26% 24%, #CBD6DC 0%, transparent 42%), radial-gradient(circle at 76% 66%, #D6DDE1 0%, transparent 42%); }
.v3-screen .map svg{ position:absolute; inset:0; width:100%; height:100%; }
/* dynamic island */
.v3-island{ position:absolute; top:13px; left:50%; transform:translateX(-50%); width:106px; height:31px;
  background:#040506; border-radius:999px; z-index:8; box-shadow:inset 0 0 3px rgba(255,255,255,0.06); }
.v3-island::after{ content:''; position:absolute; right:13px; top:50%; transform:translateY(-50%);
  width:9px; height:9px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #3a4654 0%, #11161d 55%, #040506 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,0.05), inset 0 0 1px rgba(120,160,220,0.5); }
/* glass sheen */
.v3-screen::after{ content:''; position:absolute; inset:0; pointer-events:none; z-index:7;
  background:linear-gradient(125deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0) 30%); }
.v3-status{ position:absolute; top:0; left:0; right:0; height:56px; display:flex; align-items:center; justify-content:space-between; padding:0 27px 0 30px; color:#0e1216; z-index:6; }
.v3-status .t{ font-family:var(--mono); font-size:14px; font-weight:700; letter-spacing:0.01em; }
.v3-status .sig{ display:flex; align-items:center; gap:6px; }
.v3-status .sig svg{ display:block; fill:currentColor; }
.v3-pop-wrap{ position:absolute; top:50px; left:14px; right:14px; z-index:6; }
.v3-pop-flag{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.96); padding:5px 12px 5px 6px; border-radius:999px; box-shadow:0 6px 16px rgba(0,0,0,0.16); margin-bottom:10px; }
.v3-pop-flag .sq{ width:20px; height:20px; border-radius:6px; background:var(--green); display:grid; place-items:center; }
.v3-pop-flag .nm{ font-family:var(--hand); font-size:17px; font-weight:700; line-height:1; }
.v3-pop-flag .live{ display:flex; align-items:center; gap:5px; padding-left:8px; border-left:1px solid var(--rule); }
.v3-pop-flag .live .pd{ width:6px; height:6px; border-radius:50%; background:var(--green); animation:carpulse 1.4s ease-in-out infinite; }
.v3-pop-flag .live .st{ font-family:var(--mono); font-size:8px; font-weight:700; letter-spacing:0.14em; color:var(--green); }

/* Clássico+ card (the real app popup) */
.v3-card{ background:#fff; border:2.5px solid var(--green); border-radius:16px; overflow:hidden; box-shadow:0 18px 44px rgba(0,0,0,0.22); }
.v3-card.bad{ border-color:var(--negative); }
.v3-kpis{ display:grid; grid-template-columns:1fr 1fr 1fr; }
.v3-kpis .k{ padding:14px 6px; display:flex; flex-direction:column; align-items:center; gap:7px; min-height:80px; justify-content:center; }
.v3-kpis .k + .k{ border-left:1px solid var(--rule); }
.v3-kpis .kl{ font-size:11px; font-weight:700; color:var(--ink); line-height:1; }
.v3-kpis .kv{ font-size:24px; font-weight:800; line-height:1; font-variant-numeric:tabular-nums; color:var(--ink); }
.v3-kpis .kv.good{ color:var(--green); } .v3-kpis .kv.bad{ color:var(--negative); } .v3-kpis .kv.amber{ color:#C68A14; }
.v3-cfoot{ display:grid; grid-template-columns:auto minmax(0,1.6fr); column-gap:14px; padding:12px 15px; border-top:1px solid #e5e7eb; background:#f7f9fc; }
.v3-kpis .kv-face{ display:flex; align-items:center; justify-content:center; }
.v3-cfoot .cl,.v3-cfoot .cr{ display:flex; flex-direction:column; gap:6px; min-width:0; }

/* ── Planos (teaser de preços) ── */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:720px; margin:40px auto 0; }
@media (max-width:680px){ .plans{ grid-template-columns:1fr; max-width:340px; } }
.plan{ position:relative; background:var(--surface); border:1px solid var(--rule); border-radius:18px; padding:24px 18px 20px; text-align:center; box-shadow:var(--shadow); }
.plan.feat{ border-color:var(--green); box-shadow:var(--shadow-green); }
.plan-name{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.plan-price{ margin-top:10px; display:flex; align-items:baseline; justify-content:center; gap:2px; color:var(--ink); }
.plan-price .cur{ font-size:15px; font-weight:700; }
.plan-price .val{ font-size:36px; font-weight:800; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums; }
.plan-price .per{ font-size:14px; font-weight:600; color:var(--muted); }
.plan-bill{ margin-top:7px; font-size:12.5px; color:var(--muted); }
.plan-tag{ position:absolute; top:12px; right:12px; font-family:var(--mono); font-size:10px; font-weight:700; color:var(--green-dark); background:var(--green-soft); padding:3px 8px; border-radius:999px; }
.plan-badge{ position:absolute; top:-11px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.1em; color:#fff; background:var(--green); padding:4px 12px; border-radius:999px; box-shadow:var(--shadow-green); white-space:nowrap; }
.plans-foot{ margin-top:30px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.plans-benefits{ display:flex; flex-wrap:wrap; justify-content:center; gap:9px 14px; max-width:660px; }
.plans-benefits span{ font-size:14px; font-weight:600; color:var(--ink2); display:inline-flex; align-items:center; }
.plans-benefits span::before{ content:''; width:15px; height:15px; margin-right:7px; flex-shrink:0; border-radius:50%; background:var(--green-soft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230FAE6E' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='4 12 10 18 20 6'/%3E%3C/svg%3E"); background-size:11px; background-position:center; background-repeat:no-repeat; }
.v3-cfoot .cr{ padding-left:14px; border-left:1px solid var(--rule); }
.v3-cfoot .r{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v3-cfoot .r svg{ width:14px; height:14px; flex-shrink:0; color:var(--ink2); }
.v3-cfoot .r .od{ width:9px; height:9px; border-radius:50%; background:var(--green); box-shadow:0 0 0 2.5px rgba(15,174,110,0.18); flex-shrink:0; margin:0 2px; }

/* ride-app offer sheet pinned to bottom */
.v3-appoffer{ position:absolute; left:0; right:0; bottom:0; padding:16px 16px 22px; background:rgba(255,255,255,0.96); border-top:1px solid var(--rule); border-radius:22px 22px 0 0; box-shadow:0 -10px 28px rgba(0,0,0,0.10); z-index:5; }
.v3-appoffer .grip{ width:40px; height:5px; border-radius:3px; background:#D6DBDF; margin:0 auto 14px; }
.v3-appoffer .ol{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted-soft); margin-bottom:10px; }
.v3-appoffer .obar{ height:11px; border-radius:6px; background:#E6E9EC; margin-bottom:8px; }
.v3-appoffer .obtn{ margin-top:14px; height:46px; border-radius:13px; background:#111417; color:#fff; display:grid; place-items:center; font-size:15px; font-weight:700; }

/* floating verdict stamps */
.v3-stamp{ position:absolute; z-index:12; display:inline-flex; align-items:center; gap:8px; font-weight:800; font-size:15px; padding:11px 17px; border-radius:13px; border:2px solid; box-shadow:var(--shadow-lg); background:#fff; }
.v3-stamp svg{ width:18px; height:18px; }
.v3-stamp.good{ color:var(--green-dark); border-color:var(--green); top:206px; left:-58px; transform:rotate(-5deg); }
.v3-stamp.bad{ color:var(--negative); border-color:var(--negative); top:420px; right:-85px; transform:rotate(5deg); }
@media (max-width:520px){ .v3-stamp.good{ left:-12px; top:236px; } .v3-stamp.bad{ left:auto; right:-10px; top:392px; } }

/* back-home on its own line in page heros */
.page-hero .back-home{ display:flex; width:-moz-fit-content; width:fit-content; }
.page-hero.center .back-home{ margin-left:auto; margin-right:auto; }

/* ── IMPACT band ── */
.impact{ display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:end; }
.impact .big{ font-weight:900; font-size:clamp(48px,7vw,84px); letter-spacing:-0.035em; line-height:0.82; font-variant-numeric:tabular-nums; }
.impact .big.g{ color:var(--green); }
.impact .cap{ font-size:15px; color:var(--muted); margin-top:12px; max-width:330px; }
.impact .ph-tag{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.06em; color:var(--orange); border:1px solid var(--orange); border-radius:6px; padding:3px 7px; vertical-align:middle; margin-left:8px; }
@media (max-width:680px){ .impact{ grid-template-columns:1fr; gap:28px; } }

/* ── DOR (dark) ── */
.dor{ background:var(--ink); color:#fff; border-radius:30px; padding:56px 48px; position:relative; overflow:hidden; }
.dor .eyebrow{ color:#FF7A6B; }
.dor h2{ font-size:clamp(30px,3.8vw,46px); margin:14px 0 0; color:#fff; letter-spacing:-0.01em; }
.dor-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.dor-card{ background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:18px; padding:24px; }
.dor-card .tag{ display:inline-flex; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#FF8B7D; border:1px solid rgba(255,123,107,0.4); background:rgba(255,123,107,0.08); border-radius:999px; padding:4px 10px; margin-bottom:16px; }
.dor-card p{ font-size:15px; color:rgba(255,255,255,0.78); margin:0; line-height:1.55; }
@media (max-width:760px){ .dor-grid{ grid-template-columns:1fr; } .dor{ padding:40px 26px; } }

/* ── BENTO ── */
.bento{ display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:18px; margin-top:48px; }
.bento .cell{ background:var(--surface); border:1px solid var(--rule-soft); border-radius:20px; padding:24px; box-shadow:var(--shadow); }
.bento .cell.hero-cell{ grid-row:span 2; display:flex; flex-direction:column; }
.bento .cell h3{ margin:0; font-weight:700; }
.bento .cell .big-h{ font-size:23px; }
.bento .cell .sm-h{ font-size:17px; }
.bento .cell p{ color:var(--muted); line-height:1.5; margin:8px 0 0; }
.bento .cell .big-p{ font-size:14.5px; }
.bento .cell .sm-p{ font-size:13.5px; }
.bento .ruler-art{ margin-top:auto; padding-top:18px; }
.bento .metric{ grid-column:1 / -1; display:flex; align-items:center; gap:24px; flex-wrap:wrap; justify-content:space-between; }
.bento .metric .mtxt{ flex:1; min-width:240px; }
.bento .metric .mstats{ display:flex; gap:30px; }
.bento .metric .mstats .n{ font-size:40px; font-weight:900; letter-spacing:-0.02em; line-height:1; font-variant-numeric:tabular-nums; }
.bento .metric .mstats .c{ font-size:12.5px; color:var(--muted); margin-top:6px; }
@media (max-width:860px){ .bento{ grid-template-columns:1fr 1fr; } .bento .cell.hero-cell{ grid-row:auto; grid-column:1 / -1; } }
@media (max-width:560px){ .bento{ grid-template-columns:1fr; } }

/* mini faixa pills (bento hero art) */
.pillbar{ display:flex; gap:4px; height:16px; }
.pillbar .s{ flex:1; border-radius:5px; }

/* ── COMPARE bruto × líquido (inside green section) ── */
.compare{ display:flex; flex-direction:column; align-items:stretch; gap:12px; max-width:300px; }
.cmp{ background:#fff; border-radius:16px; padding:18px 20px; width:100%; box-shadow:var(--shadow-lg); }
.cmp.win{ border:2px solid transparent; }
.cmp .cl{ font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.cmp.win .cl{ color:var(--green-dark); }
.cmp .amt{ font-weight:900; font-size:34px; letter-spacing:-0.02em; line-height:1; margin-top:8px; font-variant-numeric:tabular-nums; color:var(--ink); }
.cmp.win .amt{ color:var(--green-dark); }
.cmp .km{ display:flex; justify-content:space-between; font-size:13px; color:var(--muted); border-top:1px solid var(--rule); margin-top:12px; padding-top:9px; }
.cmp .km b{ color:var(--ink); } .cmp.win .km b{ color:var(--green-dark); }

/* ── two examples side by side ── */
.compare-pair{ display:flex; gap:36px; align-items:stretch; }
.compare-pair .compare{ flex:1; max-width:none; }
@media (max-width:560px){ .compare-pair{ flex-direction:column; } }

/* ── dark variant (second example) ── */
.compare.dark .cmp{ background:#161b27; box-shadow:0 14px 34px rgba(0,0,0,.4); }
.compare.dark .cmp .cl{ color:rgba(255,255,255,.5); }
.compare.dark .cmp .amt{ color:#fff; }
.compare.dark .cmp .km{ color:rgba(255,255,255,.55); border-top-color:rgba(255,255,255,.12); }
.compare.dark .cmp .km b{ color:#fff; }
.compare.dark .cmp.win .cl,.compare.dark .cmp.win .amt,.compare.dark .cmp.win .km b{ color:var(--green); }

/* ── compare minus chip (centered between cards, accent) ── */
.cmp-minus{ align-self:center; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; font-weight:800; font-size:18px; padding:4px 8px; position:relative; z-index:2; }
.cmp-minus span{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:5px; line-height:1.3; }

/* ── FAIXA RULER (O App "Valor das faixas") ── */
.fxpanel{ background:var(--surface); border-radius:22px; padding:28px 30px; box-shadow:var(--shadow-lg); max-width:600px; }
.fxpanel .fxt{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.fxpanel .fxt .t{ font-size:19px; font-weight:800; }
.fxpanel .fxt .a{ font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
.fxrow + .fxrow{ margin-top:26px; }
.fxrow .h{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.fxrow .h .nm{ font-size:16px; font-weight:700; }
.fxrow .h .cfg{ font-size:12.5px; color:var(--muted); }
.fxrow .h .cfg b{ color:var(--green-dark); font-weight:600; }
.fxscale{ position:relative; height:13px; font-family:var(--mono); font-size:10px; color:var(--muted); margin-bottom:9px; }
.fxscale span{ position:absolute; top:0; transform:translateX(-50%); white-space:nowrap; }
.fxscale span:first-child{ left:0; transform:none; }
.fxscale span:last-child{ right:0; left:auto; transform:none; }
.fxbar{ position:relative; height:20px; }
.fxtrack{ display:flex; height:100%; border-radius:999px; overflow:hidden; }
.fxtrack .s{ flex:1; border-right:1.5px solid #fff; }
.fxtrack .s:last-child{ border-right:0; }
.fxbar .mk{ position:absolute; top:-11px; transform:translateX(-50%); width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; }
.fxbar .mk.acc{ border-top:9px solid var(--green); }
.fxbar .mk.ana{ border-top:9px solid var(--negative); }
.fxleg{ display:flex; gap:4px; margin-top:11px; }
.fxleg .it{ flex:1; display:flex; align-items:center; justify-content:center; gap:7px; font-size:12.5px; color:var(--ink2); }
.fxleg .it .d{ width:9px; height:9px; border-radius:50%; }
.fxfoot{ display:flex; gap:20px; flex-wrap:wrap; margin-top:20px; padding-top:16px; border-top:1px solid var(--rule); }
.fxfoot .it{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink2); font-weight:600; }
.fxfoot .tri{ width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; }
.fxfoot .tri.acc{ border-top:9px solid var(--green); }
.fxfoot .tri.ana{ border-top:9px solid var(--negative); }

/* ── generic split (image + text) ── */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
.split.rev > *:first-child{ order:2; }
@media (max-width:860px){ .split{ grid-template-columns:1fr; gap:30px; } .split.rev > *:first-child{ order:0; } }
.media-ph{ position:relative; border-radius:20px; overflow:hidden; background:repeating-linear-gradient(135deg,#ECEAE1 0 14px,#F1EFE7 14px 28px); border:1.5px dashed var(--muted-soft); display:grid; place-items:center; min-height:280px; }
.media-ph .tag{ font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); background:var(--surface); border:1px solid var(--rule); border-radius:8px; padding:6px 12px; text-align:center; }
.media-ph.round{ border-radius:50%; }

/* feature list w/ checks */
.flist{ display:flex; flex-direction:column; gap:13px; margin-top:8px; }
.flist .fi{ display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--ink2); }
.flist .fi .ck{ width:24px; height:24px; border-radius:50%; background:var(--green-soft); color:var(--green-dark); display:grid; place-items:center; flex-shrink:0; }

/* in-app referral mock screen */
.appref{ display:flex; flex-direction:column; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 18px 40px rgba(20,28,40,0.18), 0 2px 6px rgba(20,28,40,0.08); }
.appref .hd{ background:var(--green); color:#fff; padding:20px 18px 18px; }
.appref .hd .t{ font-family:var(--hand); font-size:26px; font-weight:700; line-height:1; }
.appref .hd .s{ font-family:var(--mono); font-size:9px; letter-spacing:0.14em; opacity:0.85; margin-top:3px; }
.appref .bd{ padding:18px; display:flex; flex-direction:column; gap:14px; }
.appref .codebox{ display:flex; align-items:center; justify-content:space-between; gap:10px; background:#fff; border:1.5px dashed var(--green); border-radius:14px; padding:14px 16px; }
.appref .codebox .c{ font-family:var(--mono); font-weight:700; letter-spacing:0.16em; font-size:16px; color:var(--green-dark); }
.appref .codebox .cp{ font-family:var(--mono); font-size:10px; font-weight:700; color:var(--green-dark); }
.appref .wa{ background:#25D366; color:#fff; border-radius:13px; text-align:center; padding:13px; font-weight:700; font-size:14px; }
.appref .stat-row{ display:flex; justify-content:space-between; font-size:13px; color:var(--muted); }
.appref .stat-row b{ color:var(--ink); }

/* investor numbers band on paper */
.tese{ max-width:780px; }
.tese h2{ font-size:clamp(28px,3.6vw,42px); letter-spacing:-0.015em; margin:12px 0 0; }
.invgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.invcard{ background:var(--surface); border:1px solid var(--rule-soft); border-radius:18px; padding:24px; box-shadow:var(--shadow); }
.invcard .il{ font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }
@media (max-width:760px){ .invgrid{ grid-template-columns:1fr; } }

/* divider smile */
.smile-row{ display:flex; }
.smile-row.center{ justify-content:center; }

/* ── IMPACT band (reworked) ── */
.impact-band{ background:var(--surface); border:1px solid var(--rule-soft); border-radius:28px; padding:44px 44px 40px; box-shadow:var(--shadow); position:relative; overflow:hidden; }
.impact-band::after{ content:""; position:absolute; right:-60px; bottom:-70px; width:240px; height:240px; border-radius:50%; background:radial-gradient(circle, rgba(15,174,110,.10), transparent 70%); pointer-events:none; }
.impact-band .ib-head{ max-width:640px; }
.impact-band .ib-title{ font-size:clamp(26px,3vw,38px); margin:12px 0 0; letter-spacing:-0.01em; line-height:1.05; }
.ib-stats{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px; position:relative; z-index:1; }
.ib-card{ background:var(--bg); border:1px solid var(--rule-soft); border-radius:20px; padding:26px 28px; position:relative; }
.ib-card.feat{ border-color:var(--green); box-shadow:0 0 0 1px var(--green) inset; }
.ib-card .ib-ic{ width:44px; height:44px; border-radius:13px; display:grid; place-items:center; background:var(--green-soft); color:var(--green-dark); margin-bottom:18px; }
.ib-card .big{ font-weight:900; font-size:clamp(40px,5vw,62px); letter-spacing:-0.035em; line-height:0.9; font-variant-numeric:tabular-nums; }
.ib-card .big.g{ color:var(--green); }
.ib-card .cap{ font-size:14.5px; color:var(--muted); margin-top:12px; max-width:300px; }
.ib-card .ph-tag{ position:absolute; top:18px; right:18px; }
@media (max-width:680px){ .ib-stats{ grid-template-columns:1fr; } .impact-band{ padding:32px 24px; } }

/* ── coração gauge extras (markers + scale + legend) ── */
.gbars{ position:relative; }
.gmk{ position:absolute; top:-9px; transform:translateX(-50%); width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; z-index:2; }
.gmk.acc{ border-top:9px solid var(--green); }
.gmk.ana{ border-top:9px solid var(--negative); }
.gscale{ display:flex; justify-content:space-between; font-family:var(--mono); font-size:10px; color:var(--muted); margin-top:9px; }
.glegend{ display:flex; gap:18px; flex-wrap:wrap; margin-top:24px; padding-top:18px; border-top:1px solid var(--rule-soft); }
.glegend .it{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink2); font-weight:600; }
.glegend .it b{ margin-left:2px; }
.glegend .tri{ width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; }
.glegend .tri.acc{ border-top:9px solid var(--green); }
.glegend .tri.ana{ border-top:9px solid var(--negative); }

/* ── compare minus chip ── */
.cmp-minus{ display:flex; flex-direction:column; align-items:center; justify-content:center; align-self:center; font-weight:800; font-size:18px; color:#fff; min-width:96px; padding:0 4px; }
.cmp-minus span{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:rgba(255,255,255,.78); margin-top:6px; text-align:center; line-height:1.3; }

/* ── 4-up features ── */
.feat4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .feat4{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .feat4{ grid-template-columns:1fr; } }

/* ============================================================
   BETA / TESTES — home call-out + signup form
   ============================================================ */

/* ── call-out banner (home) ── */
.beta-call{ position:relative; overflow:hidden; display:flex; align-items:center; gap:30px; flex-wrap:wrap;
  background:linear-gradient(150deg, var(--green-soft), #F2FBF7 60%); border:1px solid rgba(15,174,110,0.22);
  border-radius:24px; padding:30px 34px; }
.beta-call::after{ content:""; position:absolute; right:-50px; top:-60px; width:220px; height:220px; border-radius:50%; background:radial-gradient(circle, rgba(15,174,110,.14), transparent 70%); pointer-events:none; }
.beta-call .bc-main{ flex:1; min-width:260px; position:relative; z-index:1; }
.beta-badge{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--green-dark); background:var(--surface); border:1px solid rgba(15,174,110,0.3); border-radius:999px; padding:6px 12px; }
.beta-badge .pulse{ width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(15,174,110,0.5); animation:betapulse 1.8s ease-out infinite; }
@keyframes betapulse{ 0%{ box-shadow:0 0 0 0 rgba(15,174,110,0.45);} 70%{ box-shadow:0 0 0 9px rgba(15,174,110,0);} 100%{ box-shadow:0 0 0 0 rgba(15,174,110,0);} }
.beta-call h3{ font-size:clamp(22px,2.6vw,30px); margin:14px 0 0; letter-spacing:-0.01em; line-height:1.08; }
.beta-call p{ font-size:15.5px; color:var(--ink2); margin:10px 0 0; max-width:520px; line-height:1.55; }
.beta-call .bc-cta{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.beta-call .bc-cta .note{ font-size:12.5px; color:var(--muted); display:flex; align-items:center; gap:6px; }
@media (max-width:680px){ .beta-call{ padding:26px 24px; } }

/* ── signup form section ── */
.beta-form-wrap{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:start; margin-top:50px; }
@media (max-width:880px){ .beta-form-wrap{ grid-template-columns:1fr; gap:34px; } }
.beta-aside .perks{ display:flex; flex-direction:column; gap:16px; margin-top:26px; }
.beta-aside .perk{ display:flex; gap:13px; align-items:flex-start; }
.beta-aside .perk .ic{ width:38px; height:38px; border-radius:11px; flex-shrink:0; display:grid; place-items:center; background:var(--green-soft); color:var(--green-dark); }
.beta-aside .perk b{ display:block; font-size:15px; color:var(--ink); }
.beta-aside .perk span{ font-size:13.5px; color:var(--muted); line-height:1.5; }

.beta-form{ background:var(--surface); border:1px solid var(--rule-soft); border-radius:24px; padding:32px 32px 30px; box-shadow:var(--shadow-lg); position:relative; }
@media (max-width:520px){ .beta-form{ padding:24px 20px; } }
.beta-form .fld{ margin-bottom:18px; }
.beta-form label{ display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.beta-form label .opt{ font-weight:500; color:var(--muted); font-size:12px; }
.beta-form input[type=text],.beta-form input[type=email],.beta-form input[type=tel],.beta-form textarea{
  width:100%; font-family:var(--sans); font-size:15px; color:var(--ink); background:var(--bg);
  border:1.5px solid var(--rule); border-radius:13px; padding:13px 15px; transition:border-color .15s, box-shadow .15s; }
.beta-form textarea{ resize:vertical; min-height:130px; line-height:1.5; }
.beta-form input::placeholder,.beta-form textarea::placeholder{ color:var(--muted-soft); }
.beta-form input:focus,.beta-form textarea:focus{ outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(15,174,110,0.12); background:var(--surface); }
.beta-form .fhead{ font-size:13px; font-weight:700; color:var(--ink); margin-bottom:12px; }
.beta-form .fhead .opt{ font-weight:500; color:var(--muted); font-size:12px; }

/* app checkbox chips */
.app-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width:520px){ .app-grid{ grid-template-columns:1fr; } }
.app-opt{ position:relative; cursor:pointer; }
.app-opt input{ position:absolute; opacity:0; width:0; height:0; }
.app-opt .box{ display:flex; align-items:center; gap:11px; border:1.5px solid var(--rule); border-radius:13px; padding:12px 14px; transition:border-color .15s, background .15s; background:var(--bg); height:100%; }
.app-opt .tick{ width:22px; height:22px; border-radius:7px; border:1.5px solid var(--rule); display:grid; place-items:center; flex-shrink:0; background:var(--surface); transition:background .15s, border-color .15s; }
.app-opt .tick svg{ width:13px; height:13px; color:#fff; opacity:0; transform:scale(.6); transition:opacity .15s, transform .15s; }
.app-opt .nm{ font-size:14px; font-weight:600; color:var(--ink2); line-height:1.2; }
.app-opt .sub{ display:block; font-size:11px; font-weight:500; color:var(--muted); margin-top:2px; }
.app-opt:hover .box{ border-color:var(--green); }
.app-opt input:checked + .box{ border-color:var(--green); background:var(--green-soft); }
.app-opt input:checked + .box .tick{ background:var(--green); border-color:var(--green); }
.app-opt input:checked + .box .tick svg{ opacity:1; transform:scale(1); }
.app-opt input:checked + .box .nm{ color:var(--ink); }
.app-opt input:focus-visible + .box{ box-shadow:0 0 0 4px rgba(15,174,110,0.12); }
/* JS-driven mirror (robust across engines that skip :checked + sibling repaint) */
.app-opt.is-on .box{ border-color:var(--green); background:var(--green-soft); }
.app-opt.is-on .tick{ background:var(--green); border-color:var(--green); }
.app-opt.is-on .tick svg{ opacity:1; transform:scale(1); }
.app-opt.is-on .nm{ color:var(--ink); }

.beta-form .submit-row{ margin-top:24px; }
.beta-form .submit-row .btn{ width:100%; }
.beta-form .ok{ display:none; flex-direction:column; align-items:center; text-align:center; padding:18px 10px; }
.beta-form.is-done .form-body{ display:none; }
.beta-form.is-done .ok{ display:flex; }
.beta-form .ok .ic{ width:60px; height:60px; border-radius:50%; background:var(--green-soft); color:var(--green-dark); display:grid; place-items:center; margin-bottom:18px; }
.beta-form .ok h3{ font-size:24px; font-family:var(--hand); color:var(--green-dark); }
.beta-form .ok p{ font-size:15px; color:var(--ink2); margin:10px 0 0; max-width:340px; line-height:1.55; }
.beta-form .priv{ font-size:12px; color:var(--muted); margin-top:14px; text-align:center; line-height:1.5; }

/* ── RECURSOS · feature rows alternados ─────────────────── */
.frow{ align-items:center; }
.frow + .frow{ margin-top:72px; }
.fcopy .fnum{ font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:0.14em; color:var(--green); }
.fcopy h3{ font-size:clamp(25px,2.9vw,34px); letter-spacing:-0.01em; margin:12px 0 0; color:var(--ink); line-height:1.12; }
.fcopy p{ font-size:16px; color:var(--muted); margin:15px 0 0; line-height:1.6; max-width:44ch; }
.fcopy p b{ color:var(--ink); font-weight:700; }
.fmedia{ position:relative; display:grid; place-items:center; min-height:300px; }
.mglow{ position:absolute; width:62%; height:62%; border-radius:50%; background:var(--green); opacity:0.14; filter:blur(60px); z-index:0; }
.mglow.alert{ background:var(--negative); opacity:0.12; }
.fmedia > :not(.mglow){ position:relative; z-index:1; }
/* minus do comparativo agora fica sobre fundo claro */
.fmedia .cmp-minus{ color:var(--ink); }
.fmedia .cmp-minus span{ color:var(--muted); }

/* card real no palco (filtro de bairro · destino evitado em vermelho, igual ao app) */
.tc-stage{ width:282px; max-width:88%; }
.tc-stage .tc{ box-shadow:0 20px 44px rgba(20,28,40,.22); }
.tc-row.dest.avoid{ color:#ef4444; }
.tc-row.dest.avoid .pin{ color:#ef4444; }

/* histórico (chart) */
.histpanel{ width:340px; max-width:100%; }
.hbig{ display:flex; align-items:flex-end; gap:10px; margin:6px 2px 16px; }
.hbig .big{ font-size:44px; font-weight:900; line-height:0.9; letter-spacing:-0.03em; color:var(--ink); font-variant-numeric:tabular-nums; }
.hbig .big.g{ color:var(--green); }
.hbig .hsub{ font-size:13px; color:var(--muted); padding-bottom:6px; }
.hbars{ display:flex; gap:6px; align-items:flex-end; height:64px; }
.hbars span{ flex:1; background:var(--rule); border-radius:5px; transition:height .8s cubic-bezier(.22,1,.36,1), background-color .45s ease; }
.hbars span.peak{ background:var(--green); }
.hbig .big{ transition:color .45s ease; }
@media (prefers-reduced-motion:reduce){ .hbars span{ transition:none; } }

/* ── palco emoldurado (variação F) ──────────────────────── */
.fmedia.framed{ background:var(--surface); border:1px solid var(--rule-soft); border-radius:24px; box-shadow:var(--shadow); min-height:360px; overflow:hidden; }
.fmedia.framed .mglow{ opacity:0.10; filter:blur(50px); }
.fmedia.framed .fm-cap{ position:absolute; top:16px; left:18px; z-index:3; font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted-soft); }
.fmedia.framed::before{ content:''; position:absolute; inset:0; z-index:0;
  background-image:radial-gradient(var(--rule-soft) 1.4px, transparent 1.4px); background-size:20px 20px;
  -webkit-mask:radial-gradient(120% 120% at 50% 42%, #000 28%, transparent 72%);
          mask:radial-gradient(120% 120% at 50% 42%, #000 28%, transparent 72%); opacity:0.7; }

/* real TripCards extras usados no coverflow (p1 clássico+, p2 stripe) */
.tc.p1{ background:#fff; border:1px solid var(--rule); --tc-sep:var(--rule); }
.tc.p1 .tc-head3 .tc-cell + .tc-cell{ border-left:1px solid var(--rule); }
.tc.p1 .tc-lbl{ color:var(--ink); }
.tc.p1 .tc-val{ color:var(--ink); }
.tc.p1 .tc-val.f-good{ color:var(--green); }
.tc.p1 .tc-foot{ border-top:1px solid var(--rule); color:var(--ink); background:#fff; }
.tc.p2{ background:#fff; border:1px solid var(--rule); --tc-sep:var(--rule); }
.tc.p2 .tc-head3 .tc-cell + .tc-cell{ border-left:1px solid var(--rule); }
.tc.p2 .tc-cell{ padding-bottom:8px; gap:8px; min-height:102px; }
.tc.p2 .tc-lbl{ color:var(--ink); }
.tc.p2 .tc-val{ color:var(--ink); }
.tc.p2 .tc-stripe{ height:4px; width:70%; border-radius:2px; background:var(--rule-soft); margin-top:4px; }
.tc.p2 .tc-stripe.f-good{ background:var(--green); }
.tc.p2 .tc-foot{ border-top:1px solid var(--rule); color:var(--ink); background:#fff; }

/* coverflow 3D */
.cflow{ position:relative; width:100%; height:300px; display:grid; place-items:center; perspective:1300px; }
.cf-card{ position:absolute; width:282px; transition:transform .8s cubic-bezier(.55,.06,.2,1), opacity .8s ease; transform-style:preserve-3d; will-change:transform,opacity; }
.cf-card .tc{ width:100%; box-shadow:0 20px 44px rgba(20,28,40,.22); }
.cf-card.s-c { transform:translateX(0) translateZ(70px) rotateY(0deg) scale(1); opacity:1; z-index:5; }
.cf-card.s-l { transform:translateX(-54%) translateZ(-30px) rotateY(34deg) scale(.84); opacity:.55; z-index:4; }
.cf-card.s-r { transform:translateX(54%) translateZ(-30px) rotateY(-34deg) scale(.84); opacity:.55; z-index:4; }
.cf-card.s-ll{ transform:translateX(-86%) translateZ(-110px) rotateY(46deg) scale(.7); opacity:0; z-index:1; }
.cf-card.s-rr{ transform:translateX(86%) translateZ(-110px) rotateY(-46deg) scale(.7); opacity:0; z-index:1; }
@media (max-width:600px){
  .cflow{ height:270px; }
  .cf-card{ width:248px; }
  .cf-card.s-l, .cf-card.s-r{ opacity:0; }
}

/* ponto verde "ao vivo" pulsante (eyebrows) */
.live-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--green); margin-right:7px; vertical-align:middle; box-shadow:0 0 0 0 rgba(15,174,110,0.5); animation:livePulse 1.8s ease-out infinite; }
@keyframes livePulse{ 0%{ box-shadow:0 0 0 0 rgba(15,174,110,0.5);} 70%{ box-shadow:0 0 0 8px rgba(15,174,110,0);} 100%{ box-shadow:0 0 0 0 rgba(15,174,110,0);} }
@media (prefers-reduced-motion:reduce){ .live-dot{ animation:none; box-shadow:0 0 0 4px rgba(15,174,110,0.18); } }
