﻿/* ──────────────────────────────────────────────────────────
   BoothShare Landing Page — Design System
   Cores idênticas ao app.css (fonte da verdade).
   ────────────────────────────────────────────────────────── */

:root {
    --bs-ivory-0:   #FFFCF6;
    --bs-ivory-1:   #F7F2EA;
    --bs-ivory-2:   #EFE6D9;
    --bs-ivory-3:   #E3D6C4;
    --bs-ink:       #1C1C1A;
    --bs-ink-2:     #2D261E;
    --bs-muted:     #7F7568;
    --bs-faint:     #B9AFA1;
    --bs-forest:    #103B35;
    --bs-forest-2:  #072724;
    --bs-champ:     #C6A15B;
    --bs-champ-2:   #D8B66F;
    --bs-line:      rgba(39,31,22,.075);
    --bs-line-2:    rgba(39,31,22,.13);
    --bs-r-sm:      12px;
    --bs-r:         18px;
    --bs-r-lg:      24px;
    --bs-r-xl:      34px;
    --bs-shadow:    0 1px 2px rgba(39,31,22,.04), 0 10px 28px rgba(39,31,22,.055);
    --bs-shadow-2:  0 8px 24px rgba(39,31,22,.08), 0 28px 70px rgba(39,31,22,.10);
    --bs-t:         .2s cubic-bezier(.25,.46,.45,.94);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

.bs-body {
    font-family: 'Manrope', system-ui, -apple-system, sans-serif;
    background: var(--bs-ivory-0);
    color: var(--bs-ink);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    font-size: 16px;
    line-height: 1.6;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
ul { list-style: none; }

/* ── Layout helpers ── */
.bs-container {
    width: min(1152px, 100%);
    margin: 0 auto;
    padding: 0 24px;
}

.bs-section {
    padding: 88px 0;
}
.bs-section-alt {
    background: var(--bs-ivory-1);
}

/* ── Typography helpers ── */
h1, h2, h3 { font-family: 'Fraunces', Georgia, serif; line-height: 1.15; color: var(--bs-ink); }
h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); font-weight: 490; letter-spacing: -.025em; }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 520; letter-spacing: -.02em; }
h3 { font-size: clamp(1.1rem, 2vw, 1.35rem); font-weight: 540; }
p  { color: var(--bs-muted); line-height: 1.7; }

.bs-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bs-champ);
    margin-bottom: 12px;
}
.bs-eyebrow-light { color: var(--bs-champ-2); }

.bs-section-head {
    max-width: 640px;
    margin: 0 auto 56px;
    text-align: center;
}
.bs-section-head h2 { margin-bottom: 14px; }
.bs-section-head p { font-size: 1.0625rem; }

.bs-lead-text {
    font-size: 1.0625rem;
    line-height: 1.75;
    margin-bottom: 16px;
}

/* ── Buttons ── */
.bs-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: var(--bs-r-sm);
    font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: .9rem;
    letter-spacing: .01em;
    line-height: 1;
    padding: 14px 24px;
    border: 1.5px solid transparent;
    transition: background var(--bs-t), border-color var(--bs-t), color var(--bs-t), transform var(--bs-t), box-shadow var(--bs-t);
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}
.bs-btn:hover { transform: translateY(-1px); }
.bs-btn:active { transform: translateY(0); }

.bs-btn-primary {
    background: var(--bs-forest);
    color: #fff;
    border-color: var(--bs-forest);
    box-shadow: 0 4px 14px rgba(16,59,53,.28);
}
.bs-btn-primary:hover {
    background: var(--bs-forest-2);
    border-color: var(--bs-forest-2);
    box-shadow: 0 6px 20px rgba(16,59,53,.38);
}

.bs-btn-champ {
    background: var(--bs-champ);
    color: var(--bs-forest-2);
    border-color: var(--bs-champ);
    font-weight: 800;
    box-shadow: 0 4px 14px rgba(198,161,91,.35);
}
.bs-btn-champ:hover {
    background: var(--bs-champ-2);
    border-color: var(--bs-champ-2);
    box-shadow: 0 6px 20px rgba(198,161,91,.45);
}

.bs-btn-ghost {
    background: transparent;
    color: var(--bs-ink);
    border-color: var(--bs-line-2);
}
.bs-btn-ghost:hover {
    background: var(--bs-ivory-2);
    border-color: var(--bs-faint);
}

.bs-btn-ghost-light {
    background: rgba(255,255,255,.10);
    color: rgba(255,255,255,.9);
    border-color: rgba(255,255,255,.22);
}
.bs-btn-ghost-light:hover {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.38);
}

.bs-btn-sm  { padding: 10px 18px; font-size: .8125rem; }
.bs-btn-lg  { padding: 17px 32px; font-size: .9375rem; }
.bs-btn-block { display: flex; width: 100%; justify-content: center; }

/* ── Tags ── */
.bs-tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.bs-tag {
    padding: 6px 13px;
    background: var(--bs-ivory-1);
    border: 1px solid var(--bs-line-2);
    border-radius: 100px;
    font-size: .78rem;
    font-weight: 600;
    color: var(--bs-muted);
}

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
.bs-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 200;
    background: transparent;
    transition: background var(--bs-t), box-shadow var(--bs-t), backdrop-filter var(--bs-t);
}
.bs-header.is-scrolled {
    background: rgba(255,252,246,.9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 1px 0 var(--bs-line), 0 4px 16px rgba(39,31,22,.04);
}

.bs-header-inner {
    width: min(1152px, 100%);
    margin: 0 auto;
    padding: 0 24px;
    height: 68px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.bs-logo-link { display: flex; align-items: center; flex-shrink: 0; }
.bs-logo-img  { height: 40px; width: auto; }

.bs-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.bs-nav-links {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-right: 8px;
}
.bs-nav-links a {
    padding: 8px 14px;
    border-radius: var(--bs-r-sm);
    font-size: .875rem;
    font-weight: 600;
    color: var(--bs-ink);
    transition: background var(--bs-t), color var(--bs-t);
}
.bs-nav-links a:hover { background: var(--bs-ivory-1); }
.bs-nav-login {
    padding: 8px 14px;
    border-radius: var(--bs-r-sm);
    font-size: .875rem;
    font-weight: 600;
    color: var(--bs-forest);
    transition: background var(--bs-t);
}
.bs-nav-login:hover { background: var(--bs-ivory-1); }

.bs-lang-switcher {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-right: 4px;
}
.bs-lang-btn {
    padding: 4px 8px;
    border-radius: 6px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    color: var(--bs-faint);
    text-decoration: none;
    transition: background var(--bs-t), color var(--bs-t);
}
.bs-lang-btn:hover { background: var(--bs-ivory-2); color: var(--bs-muted); }
.bs-lang-btn.is-active { background: var(--bs-ivory-2); color: var(--bs-ink); }

.bs-burger {
    display: none;
    margin-left: auto;
    width: 44px;
    height: 44px;
    background: none;
    border: none;
    padding: 12px;
    border-radius: var(--bs-r-sm);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
}
.bs-burger span,
.bs-burger span::before,
.bs-burger span::after {
    display: block;
    width: 20px;
    height: 1.5px;
    background: var(--bs-ink);
    border-radius: 2px;
    transition: transform .2s, opacity .2s;
}
.bs-burger span { position: relative; }
.bs-burger span::before, .bs-burger span::after { content: ''; position: absolute; }
.bs-burger span::before { top: -6px; }
.bs-burger span::after  { top:  6px; }
.bs-burger.is-open span { background: transparent; }
.bs-burger.is-open span::before { transform: translateY(6px) rotate(45deg); }
.bs-burger.is-open span::after  { transform: translateY(-6px) rotate(-45deg); }

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.bs-hero {
    padding-top: 88px;
    min-height: 100svh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.bs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 55% at 10% 70%, rgba(198,161,91,.09) 0%, transparent 70%),
        radial-gradient(ellipse 50% 50% at 90% 15%, rgba(16,59,53,.05) 0%, transparent 70%);
    pointer-events: none;
}

.bs-hero-inner {
    width: min(1152px, 100%);
    margin: 0 auto;
    padding: 60px 24px 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}

.bs-hero-copy { max-width: 560px; }

.bs-eyebrow-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.bs-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bs-champ);
    flex-shrink: 0;
}

.bs-h1 { margin-bottom: 20px; }

.bs-hero-lead {
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--bs-muted);
    margin-bottom: 32px;
    max-width: 500px;
}

.bs-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 18px;
}

.bs-hero-note {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: .8125rem;
    color: var(--bs-faint);
    font-weight: 500;
}
.bs-note-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--bs-champ);
    opacity: .7;
    flex-shrink: 0;
}

/* Hero visual */
.bs-hero-visual {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.bs-hero-stage {
    position: relative;
    width: 100%;
    max-width: 520px;
}

.bs-hero-img {
    width: 100%;
    border-radius: var(--bs-r-xl);
    box-shadow: var(--bs-shadow-2);
    position: relative;
    z-index: 1;
}

/* Float cards */
.bs-float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bs-ivory-0);
    border: 1px solid var(--bs-line-2);
    border-radius: var(--bs-r);
    padding: 11px 16px;
    box-shadow: var(--bs-shadow);
    z-index: 10;
    white-space: nowrap;
    min-width: 180px;
}
.bs-float-card div { display: flex; flex-direction: column; gap: 2px; }
.bs-float-card strong { font-size: .8125rem; font-weight: 700; color: var(--bs-ink); }
.bs-float-card span  { font-size: .72rem; color: var(--bs-muted); }

.bs-float-icon {
    width: 32px;
    height: 32px;
    border-radius: var(--bs-r-sm);
    background: rgba(16,59,53,.10);
    color: var(--bs-forest);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bs-float-icon svg { width: 16px; height: 16px; }
.bs-float-icon-champ { background: rgba(198,161,91,.15); color: var(--bs-champ); }
.bs-float-icon-muted { background: var(--bs-ivory-2); color: var(--bs-muted); }

.bs-fc-1 { top: 12%;  left: -40px; }
.bs-fc-2 { bottom: 22%; left: -48px; }
.bs-fc-3 { top: 8%;   right: -36px; }
.bs-fc-4 { bottom: 10%; right: -40px; }

/* ════════════════════════════════════════
   TRUST STRIP
════════════════════════════════════════ */
.bs-trust {
    background: var(--bs-forest);
    padding: 14px 0;
}
.bs-trust-inner {
    width: min(1152px, 100%);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 22px;
    font-size: .8125rem;
    font-weight: 600;
    color: rgba(255,252,246,.75);
    letter-spacing: .01em;
}
.bs-trust-sep {
    width: 1px;
    height: 14px;
    background: rgba(255,252,246,.18);
    display: inline-block;
    flex-shrink: 0;
}
.bs-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.bs-trust-item svg {
    width: 14px;
    height: 14px;
    opacity: .55;
    flex-shrink: 0;
}

/* ════════════════════════════════════════
   SEÇÃO CABEÇALHO CLARO (em fundo escuro)
════════════════════════════════════════ */
.bs-section-head-light h2 { color: rgba(255,252,246,.95); }
.bs-section-head-light p  { color: rgba(255,252,246,.58); }

/* ════════════════════════════════════════
   PROBLEMA — dark grid
════════════════════════════════════════ */
.bs-prob-section {
    background: var(--bs-forest-2);
    padding: 88px 0;
}

.bs-prob-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 40px 0;
}

.bs-prob-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px 20px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: var(--bs-r-lg);
    transition: background var(--bs-t), border-color var(--bs-t);
}
.bs-prob-card:hover {
    background: rgba(255,255,255,.07);
    border-color: rgba(255,255,255,.11);
}
.bs-prob-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(198,161,91,.12);
    border: 1px solid rgba(198,161,91,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--bs-champ);
}
.bs-prob-card-icon svg { width: 18px; height: 18px; }
.bs-prob-card b {
    font-size: .875rem;
    font-weight: 700;
    color: rgba(255,252,246,.82);
    line-height: 1.35;
}

.bs-prob-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 28px 32px;
    background: rgba(198,161,91,.08);
    border: 1px solid rgba(198,161,91,.18);
    border-radius: var(--bs-r-lg);
    flex-wrap: wrap;
}
.bs-prob-cta p {
    color: rgba(255,252,246,.65);
    font-size: .9375rem;
    max-width: 520px;
    margin: 0;
}

/* ════════════════════════════════════════
   Prob section head — parágrafo descritivo único
════════════════════════════════════════ */
.bs-prob-section .bs-section-head p {
    color: rgba(255,252,246,.62);
    font-size: .9375rem;
    line-height: 1.7;
    max-width: 620px;
    margin: 0 auto;
}

/* ════════════════════════════════════════
   COMPARE — label row
════════════════════════════════════════ */
.bs-compare-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.bs-compare-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.bs-compare-dot-muted { background: var(--bs-faint); }
.bs-compare-dot-champ { background: var(--bs-champ); }
.bs-compare-label h3 { margin: 0; }

/* ════════════════════════════════════════
   SPLIT — layout
════════════════════════════════════════ */
.bs-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}
.bs-split-center-v { align-items: center; }

.bs-split-copy h2 { margin-bottom: 16px; }
.bs-split-copy p  { margin-bottom: 14px; }
.bs-split-copy .bs-eyebrow { margin-bottom: 10px; }

/* (prob-list removed — replaced by bs-prob-grid above) */

/* ════════════════════════════════════════
   TRANSFORMAÇÃO — compare
════════════════════════════════════════ */
.bs-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.bs-compare-before,
.bs-compare-after {
    border-radius: var(--bs-r-lg);
    padding: 32px;
}
.bs-compare-before h3 { margin-bottom: 8px; font-size: 1.1rem; }
.bs-compare-before p  { font-size: .875rem; margin-bottom: 20px; }
.bs-compare-after  h3 { margin-bottom: 8px; font-size: 1.1rem; }
.bs-compare-after  p  { font-size: .875rem; margin-bottom: 20px; }

.bs-compare-before {
    background: var(--bs-ivory-2);
    border: 1px solid var(--bs-line-2);
}
.bs-compare-after {
    background: var(--bs-forest);
    color: rgba(255,252,246,.85);
}
.bs-compare-after h3,
.bs-compare-after p { color: rgba(255,252,246,.85); }

.bs-compare-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: .875rem;
    color: var(--bs-ink);
}
.bs-compare-after .bs-compare-list { color: rgba(255,252,246,.8); }

.bs-compare-list li {
    display: flex;
    align-items: baseline;
    gap: 10px;
}
.bs-cx {
    font-size: .75rem;
    font-weight: 800;
    color: var(--bs-muted);
    flex-shrink: 0;
    line-height: 1.6;
}
.bs-ck {
    font-size: .875rem;
    font-weight: 800;
    color: var(--bs-champ);
    flex-shrink: 0;
    line-height: 1.6;
}

/* ════════════════════════════════════════
   RECURSOS — feature grid
════════════════════════════════════════ */
.bs-feat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.bs-feat-card {
    background: var(--bs-ivory-0);
    border: 1px solid var(--bs-line);
    border-radius: var(--bs-r-lg);
    padding: 28px;
    box-shadow: var(--bs-shadow);
    transition: transform var(--bs-t), box-shadow var(--bs-t);
}
.bs-feat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--bs-shadow-2);
}

.bs-feat-dark {
    background: var(--bs-forest-2);
    border-color: transparent;
}
.bs-feat-dark h3   { color: #fff; }
.bs-feat-dark p    { color: rgba(255,255,255,.6); }

.bs-feat-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: var(--bs-r-sm);
    background: rgba(16,59,53,.10);
    color: var(--bs-forest);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.bs-feat-icon-wrap svg { width: 20px; height: 20px; }
.bs-feat-dark .bs-feat-icon-wrap {
    background: rgba(255,255,255,.10);
    color: rgba(255,255,255,.9);
}
.bs-feat-icon-champ { background: rgba(198,161,91,.15) !important; color: var(--bs-champ) !important; }

.bs-feat-card h3 { margin-bottom: 8px; }
.bs-feat-card p  { font-size: .875rem; margin-bottom: 16px; }

.bs-feat-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.bs-feat-tags span {
    padding: 3px 10px;
    background: var(--bs-ivory-2);
    border-radius: 100px;
    font-size: .72rem;
    font-weight: 700;
    color: var(--bs-muted);
}
.bs-feat-tags-light span {
    background: rgba(255,255,255,.10);
    color: rgba(255,255,255,.7);
}

/* ════════════════════════════════════════
   FLUXO — steps
════════════════════════════════════════ */
.bs-flow {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    position: relative;
}
.bs-flow::before {
    content: '';
    position: absolute;
    top: 30px;
    left: calc(100% / 12);
    right: calc(100% / 12);
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--bs-line-2) 10%, var(--bs-line-2) 90%, transparent);
    pointer-events: none;
}

.bs-flow-step {
    padding: 0 12px;
    text-align: center;
    position: relative;
}

.bs-flow-num {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--bs-ivory-0);
    border: 1.5px solid var(--bs-line-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--bs-forest);
    margin: 0 auto 16px;
    position: relative;
    z-index: 1;
    box-shadow: var(--bs-shadow);
    transition: background var(--bs-t), border-color var(--bs-t), color var(--bs-t);
}
.bs-flow-step:hover .bs-flow-num {
    background: var(--bs-forest);
    color: #fff;
    border-color: var(--bs-forest);
}

.bs-flow-step h3 { font-size: .9375rem; margin-bottom: 6px; }
.bs-flow-step p  { font-size: .8rem; }

/* ════════════════════════════════════════
   GALERIAS — split com screenshot real
════════════════════════════════════════ */
.bs-check-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 20px 0 0;
}
.bs-check-list li {
    display: flex;
    align-items: baseline;
    gap: 10px;
    font-size: .9rem;
    color: var(--bs-ink);
}
.bs-check-list li::before {
    content: '✓';
    color: var(--bs-forest);
    font-weight: 800;
    font-size: .8rem;
    flex-shrink: 0;
}

.bs-split-visual { display: flex; align-items: flex-end; justify-content: center; }

.bs-screenshot {
    border-radius: var(--bs-r-lg);
    overflow: hidden;
    box-shadow: var(--bs-shadow-2);
    border: 1px solid var(--bs-line);
}
.bs-screenshot img { display: block; width: 100%; }
.bs-screenshot-lg {
    border-radius: var(--bs-r-xl);
    box-shadow: 0 16px 48px rgba(39,31,22,.13), 0 48px 120px rgba(39,31,22,.10);
}

/* PNG flutuante sem fundo — galeria */
.bs-gallery-float {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    padding-top: 40px;
}
.bs-gallery-float img {
    width: 100%;
    max-width: 640px;
    display: block;
    animation: bs-float 5.5s ease-in-out infinite;
    transform-origin: center bottom;
}

@keyframes bs-float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    25%       { transform: translateY(-8px) rotate(.15deg); }
    75%       { transform: translateY(-6px) rotate(-.12deg); }
}

@media (prefers-reduced-motion: reduce) {
    .bs-gallery-float img { animation: none; }
}

.bs-split-copy h2 { margin-bottom: 14px; }

/* ════════════════════════════════════════
   CAPTAÇÃO — bio phone + lead panels
════════════════════════════════════════ */
.bs-capture-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}

/* Bio phone */
.bs-bio-phone-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    padding: 32px 16px;
}

.bs-bio-phone {
    width: 210px;
    background: var(--bs-forest-2);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--bs-shadow-2);
    border: 1px solid rgba(255,255,255,.08);
    position: relative;
    z-index: 2;
}

.bs-bio-screen {
    padding: 28px 18px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.bs-bio-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--bs-champ);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Fraunces', serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--bs-forest-2);
    margin-bottom: 2px;
    box-shadow: 0 4px 12px rgba(198,161,91,.3);
}
.bs-bio-screen h3 {
    font-size: .85rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    margin: 0;
}
.bs-bio-screen p {
    font-size: .7rem;
    color: rgba(255,255,255,.5);
    text-align: center;
    line-height: 1.4;
}

.bs-bio-btn {
    width: 100%;
    text-align: center;
    padding: 9px 12px;
    border-radius: 10px;
    font-size: .72rem;
    font-weight: 700;
    color: rgba(255,255,255,.75);
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.10);
    cursor: default;
}
.bs-bio-btn-primary {
    background: var(--bs-champ);
    color: var(--bs-forest-2);
    border-color: var(--bs-champ);
    font-weight: 800;
}

.bs-bio-thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    width: 100%;
    margin-top: 4px;
}
.bs-bio-thumbs span {
    height: 38px;
    background: rgba(255,255,255,.07);
    border-radius: 8px;
    display: block;
}

/* Lead panels */
.bs-lead-panel {
    position: absolute;
    background: var(--bs-ivory-0);
    border: 1px solid var(--bs-line-2);
    border-radius: var(--bs-r);
    padding: 14px 16px;
    box-shadow: var(--bs-shadow);
    z-index: 10;
    min-width: 160px;
    max-width: 185px;
}
.bs-lead-panel strong {
    display: block;
    font-size: .78rem;
    font-weight: 700;
    color: var(--bs-ink);
    margin-bottom: 2px;
}
.bs-lead-panel small {
    font-size: .68rem;
    color: var(--bs-faint);
    display: block;
    margin-bottom: 10px;
}

.bs-lead-panel-left  { left: -24px; top: 50%; transform: translateY(-60%); }
.bs-lead-panel-right { right: -24px; top: 50%; transform: translateY(-30%); }

.bs-lead-list { display: flex; flex-direction: column; gap: 6px; }
.bs-lead-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.bs-lead-item b { font-size: .72rem; color: var(--bs-ink); font-weight: 600; }

.bs-badge-new    { padding: 2px 7px; border-radius: 100px; font-size: .65rem; font-weight: 700; background: rgba(82,123,88,.15); color: #527b58; }
.bs-badge-follow { padding: 2px 7px; border-radius: 100px; font-size: .65rem; font-weight: 700; background: rgba(160,113,46,.12); color: #A0712E; }
.bs-badge-prop   { padding: 2px 7px; border-radius: 100px; font-size: .65rem; font-weight: 700; background: rgba(16,59,53,.12); color: var(--bs-forest); }

/* Capture copy */
.bs-capture-copy h2    { margin-bottom: 16px; }
.bs-capture-features   { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.bs-cap-item { display: flex; flex-direction: column; gap: 3px; }
.bs-cap-item b     { font-size: .9375rem; font-weight: 700; color: var(--bs-ink); }
.bs-cap-item span  { font-size: .875rem; color: var(--bs-muted); line-height: 1.5; }

/* ════════════════════════════════════════
   OPERAÇÃO — ops cards
════════════════════════════════════════ */
.bs-ops-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.bs-ops-copy h2    { margin-bottom: 16px; }
.bs-ops-copy p     { margin-bottom: 14px; }
.bs-ops-copy .bs-btn { margin-top: 8px; }

.bs-ops-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 12px;
}

.bs-ops-card {
    background: var(--bs-ivory-0);
    border: 1px solid var(--bs-line);
    border-radius: var(--bs-r-lg);
    padding: 22px;
    box-shadow: var(--bs-shadow);
}
.bs-ops-wide { grid-column: 1 / -1; }

.bs-ops-label {
    display: block;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--bs-champ);
    margin-bottom: 8px;
}
.bs-ops-card h3 { font-size: 1rem; margin-bottom: 12px; }

.bs-contract-lines { display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px; }
.bs-contract-lines span {
    display: block;
    height: 8px;
    border-radius: 100px;
    background: var(--bs-ivory-2);
}
.bs-contract-lines span:first-child { width: 75%; }
.bs-contract-lines span:nth-child(2){ width: 55%; }
.bs-contract-lines span:last-child  { width: 40%; }

.bs-status-ok { font-size: .75rem; font-weight: 700; color: #527b58; }

.bs-fin-rows { display: flex; flex-direction: column; gap: 8px; }
.bs-fin-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .8125rem;
    padding: 6px 0;
    border-bottom: 1px solid var(--bs-line);
}
.bs-fin-row span { color: var(--bs-muted); }
.bs-fin-row b    { font-weight: 700; color: var(--bs-ink); }
.bs-fin-ok b     { color: #527b58; }
.bs-fin-warn b   { color: #A0712E; }

.bs-ops-kpi { margin-bottom: 8px; }
.bs-ops-kpi b    { font-family: 'Fraunces', serif; font-size: 2.2rem; font-weight: 600; color: var(--bs-forest); letter-spacing: -.03em; display: block; line-height: 1; }
.bs-ops-kpi span { font-size: .78rem; color: var(--bs-muted); }
.bs-ops-card p   { font-size: .825rem; }

/* ════════════════════════════════════════
   MOLDURAS — frame tiles
════════════════════════════════════════ */
.bs-frame-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 32px;
    justify-content: center;
}
.bs-frame-tabs-inline {
    justify-content: flex-start;
    margin-top: 24px;
    margin-bottom: 0;
}
.bs-frame-tabs button {
    padding: 8px 18px;
    border-radius: 100px;
    font-size: .8125rem;
    font-weight: 600;
    background: var(--bs-ivory-0);
    border: 1.5px solid var(--bs-line-2);
    color: var(--bs-muted);
    transition: background var(--bs-t), border-color var(--bs-t), color var(--bs-t);
}
.bs-frame-tabs button.is-active,
.bs-frame-tabs button:hover {
    background: var(--bs-forest);
    border-color: var(--bs-forest);
    color: #fff;
}

.bs-frames {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}
.bs-frames-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
}
.bs-frame {
    position: relative;
    aspect-ratio: 3/4;
    overflow: hidden;
    border-radius: var(--bs-r-lg);
    background: var(--bs-ivory-2);
    box-shadow: var(--bs-shadow);
}
.bs-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
    transition: transform .3s;
}
.bs-frame:hover img { transform: scale(1.04); }

.bs-frame-tag {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(7,39,36,.75);
    color: rgba(255,252,246,.9);
    font-size: .7rem;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 100px;
    white-space: nowrap;
    backdrop-filter: blur(6px);
}

.bs-frames-note {
    text-align: center;
    font-size: .85rem;
}

.bs-canva-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 40px;
    padding: 10px 18px;
    background: var(--bs-ivory-1);
    border: 1px solid var(--bs-line-2);
    border-radius: 100px;
    font-size: .8125rem;
    font-weight: 600;
    color: var(--bs-muted);
}
.bs-canva-badge svg {
    width: 15px;
    height: 15px;
    color: var(--bs-champ);
    flex-shrink: 0;
}

/* ════════════════════════════════════════
   POR QUE — dark section
════════════════════════════════════════ */
.bs-why-section {
    background: var(--bs-forest);
    padding: 96px 0;
}
.bs-why-section h2,
.bs-why-section p { color: rgba(255,252,246,.85); }

.bs-why-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.bs-why-copy h2 { margin-bottom: 16px; }
.bs-why-copy p  { margin-bottom: 28px; }

.bs-why-points { display: flex; flex-direction: column; gap: 20px; }
.bs-why-point  { display: flex; gap: 14px; align-items: flex-start; }

.bs-why-check {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(198,161,91,.20);
    color: var(--bs-champ);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    font-weight: 800;
    flex-shrink: 0;
    margin-top: 2px;
}

.bs-why-point b     { display: block; font-size: .9375rem; font-weight: 700; color: rgba(255,252,246,.95); margin-bottom: 3px; }
.bs-why-point small { font-size: .825rem; color: rgba(255,252,246,.55); line-height: 1.5; }

/* ════════════════════════════════════════
   PLANOS — pricing
════════════════════════════════════════ */
.bs-pricing {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    align-items: start;
}

.bs-plan {
    background: var(--bs-ivory-0);
    border: 1px solid var(--bs-line);
    border-radius: var(--bs-r-xl);
    padding: 32px 28px;
    box-shadow: var(--bs-shadow);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px;
    transition: transform var(--bs-t), box-shadow var(--bs-t);
}
.bs-plan:hover {
    transform: translateY(-4px);
    box-shadow: var(--bs-shadow-2);
}
.bs-plan-featured {
    background: var(--bs-forest);
    border-color: transparent;
    transform: translateY(-8px);
}
.bs-plan-featured:hover { transform: translateY(-12px); }

.bs-plan-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bs-champ);
    color: var(--bs-forest-2);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 100px;
    white-space: nowrap;
}

.bs-plan-top { display: flex; flex-direction: column; gap: 4px; }
.bs-plan-name { font-family: 'Fraunces', serif; font-size: 1.3rem; font-weight: 600; }
.bs-plan-featured .bs-plan-name { color: #fff; }
.bs-plan-desc { font-size: .875rem; color: var(--bs-muted); }
.bs-plan-featured .bs-plan-desc { color: rgba(255,255,255,.6); }

.bs-plan-price { margin-top: 8px; }
.bs-price-main { font-family: 'Fraunces', serif; font-size: 2.2rem; font-weight: 600; color: var(--bs-ink); letter-spacing: -.04em; }
.bs-plan-featured .bs-price-main { color: #fff; }
.bs-price-cents { font-size: 1.1rem; }
.bs-price-sub { display: block; font-size: .78rem; color: var(--bs-faint); margin-top: 4px; }
.bs-plan-featured .bs-price-sub { color: rgba(255,255,255,.45); }

.bs-plan-list { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.bs-plan-list li {
    display: flex;
    align-items: baseline;
    gap: 9px;
    font-size: .875rem;
    color: var(--bs-ink);
}
.bs-plan-list li::before {
    content: '✓';
    color: var(--bs-champ);
    font-weight: 800;
    font-size: .75rem;
    flex-shrink: 0;
    margin-top: 1px;
}
.bs-plan-featured .bs-plan-list li { color: rgba(255,255,255,.8); }
.bs-plan-featured .bs-plan-list li::before { color: var(--bs-champ); }

.bs-pricing-note {
    text-align: center;
    font-size: .825rem;
    color: var(--bs-faint);
    margin-top: 24px;
}

/* ════════════════════════════════════════
   FAQ
════════════════════════════════════════ */
.bs-faq-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 64px;
    align-items: start;
}

.bs-faq-intro h2    { margin-bottom: 14px; }
.bs-faq-intro p     { font-size: .9rem; }
.bs-faq-intro .bs-eyebrow { margin-bottom: 10px; }

.bs-faq { display: flex; flex-direction: column; }

.bs-faq-item {
    border-bottom: 1px solid var(--bs-line);
}
.bs-faq-item:first-child { border-top: 1px solid var(--bs-line); }

.bs-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: 18px 0;
    background: none;
    border: none;
    font-family: 'Manrope', sans-serif;
    font-size: .9375rem;
    font-weight: 600;
    color: var(--bs-ink);
    text-align: left;
    cursor: pointer;
    transition: color var(--bs-t);
}
.bs-faq-q:hover { color: var(--bs-forest); }

.bs-faq-icon {
    flex-shrink: 0;
    font-size: 1.4rem;
    font-weight: 300;
    color: var(--bs-faint);
    line-height: 1;
    transition: transform var(--bs-t), color var(--bs-t);
}
.bs-faq-item.is-open .bs-faq-icon {
    transform: rotate(45deg);
    color: var(--bs-forest);
}

.bs-faq-body {
    display: none;
    padding: 0 0 18px;
}
.bs-faq-body p { font-size: .875rem; max-width: 640px; }
.bs-faq-item.is-open .bs-faq-body { display: block; }

/* ════════════════════════════════════════
   CTA FINAL
════════════════════════════════════════ */
.bs-cta-section { padding: 0 0 88px; }

.bs-cta-card {
    background: var(--bs-forest-2);
    border-radius: var(--bs-r-xl);
    padding: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    box-shadow: var(--bs-shadow-2);
}

.bs-cta-body .bs-eyebrow { margin-bottom: 10px; }
.bs-cta-body h2 { color: #fff; margin-bottom: 12px; font-size: clamp(1.6rem, 2.8vw, 2.2rem); }
.bs-cta-body p  { color: rgba(255,255,255,.6); max-width: 440px; margin-bottom: 20px; }

.bs-cta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bs-cta-pills span {
    padding: 5px 13px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 100px;
    font-size: .75rem;
    font-weight: 600;
    color: rgba(255,255,255,.65);
}

.bs-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
    align-items: stretch;
    min-width: 220px;
}
.bs-cta-actions .bs-btn { justify-content: center; }

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.bs-footer {
    background: var(--bs-forest-2);
    padding: 64px 0 36px;
}

.bs-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr repeat(3, 1fr);
    gap: 40px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.bs-footer-brand p {
    color: rgba(255,252,246,.45);
    font-size: .8125rem;
    line-height: 1.7;
    max-width: 300px;
    margin-top: 12px;
}

.bs-footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.0625rem;
    font-weight: 700;
    color: rgba(255,252,246,.9);
}
.bs-footer-icon { width: 28px; height: 28px; border-radius: 7px; flex-shrink: 0; }

.bs-footer-col { display: flex; flex-direction: column; gap: 10px; }
.bs-footer-col h4 {
    font-family: 'Manrope', sans-serif;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(255,252,246,.35);
    margin-bottom: 4px;
}
.bs-footer-col a {
    font-size: .875rem;
    color: rgba(255,252,246,.55);
    transition: color var(--bs-t);
}
.bs-footer-col a:hover { color: rgba(255,252,246,.9); }

.bs-footer-bottom {
    padding-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    font-size: .78rem;
    color: rgba(255,252,246,.3);
}
.bs-footer-tag {
    color: rgba(198,161,91,.5);
    font-weight: 600;
}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width: 1024px) {
    .bs-prob-grid  { grid-template-columns: repeat(2, 1fr); }
    .bs-feat-grid  { grid-template-columns: 1fr 1fr; }
    .bs-flow       { grid-template-columns: repeat(3, 1fr); }
    .bs-flow::before { display: none; }
    .bs-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 860px) {
    .bs-burger { display: flex; }

    .bs-nav {
        display: none;
        position: fixed;
        inset: 68px 0 0;
        background: var(--bs-ivory-0);
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px 32px;
        gap: 4px;
        overflow-y: auto;
        border-top: 1px solid var(--bs-line);
    }
    .bs-nav.is-open { display: flex; }
    .bs-nav-links { flex-direction: column; margin-right: 0; }
    .bs-nav-links a { padding: 14px 16px; font-size: 1rem; border-radius: var(--bs-r); }
    .bs-nav-login { padding: 14px 16px; font-size: 1rem; text-align: center; }
    .bs-btn.bs-btn-sm { font-size: .9rem; padding: 14px 16px; width: 100%; justify-content: center; }

    .bs-hero-inner { grid-template-columns: 1fr; padding: 40px 24px 60px; }
    .bs-hero-visual { display: none; }
    .bs-hero-copy { max-width: 100%; }
    .bs-h1 { font-size: 2.4rem; }

    .bs-prob-grid  { grid-template-columns: 1fr 1fr; gap: 10px; }
    .bs-prob-cta   { flex-direction: column; align-items: flex-start; gap: 20px; }
    .bs-split { grid-template-columns: 1fr; gap: 32px; }
    .bs-compare-grid { grid-template-columns: 1fr; gap: 12px; }
    .bs-feat-grid { grid-template-columns: 1fr; }
    .bs-flow { grid-template-columns: 1fr 1fr; }
    .bs-capture-grid { grid-template-columns: 1fr; }
    .bs-bio-phone-wrap { padding: 0; }
    .bs-lead-panel { display: none; }
    .bs-ops-layout { grid-template-columns: 1fr; gap: 32px; }
    .bs-frames { grid-template-columns: 1fr 1fr; }
    .bs-why-grid { grid-template-columns: 1fr; }
    .bs-pricing { grid-template-columns: 1fr; }
    .bs-plan-featured { transform: none; }
    .bs-plan-featured:hover { transform: translateY(-4px); }
    .bs-faq-layout { grid-template-columns: 1fr; gap: 32px; }
    .bs-cta-card { flex-direction: column; padding: 40px 28px; }
    .bs-cta-actions { min-width: 0; width: 100%; }
    .bs-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .bs-section { padding: 64px 0; }
    .bs-prob-section { padding: 64px 0; }
    .bs-hero-inner { padding: 32px 16px 48px; }
    .bs-container { padding: 0 16px; }
    .bs-hero-actions { flex-direction: column; }
    .bs-hero-actions .bs-btn { width: 100%; justify-content: center; }
    .bs-prob-grid { grid-template-columns: 1fr; }
    .bs-flow { grid-template-columns: 1fr; }
    .bs-frames { grid-template-columns: 1fr 1fr; gap: 10px; }
    .bs-ops-cards { grid-template-columns: 1fr; }
    .bs-ops-wide { grid-column: 1; }
    .bs-cta-card { padding: 32px 20px; }
    .bs-h1 { font-size: 2rem; }
}


/* ═══════════════════════════════════════════════════════════════
   SEÇÃO FINANCE PREMIUM
   ═══════════════════════════════════════════════════════════════ */

.bs-finance-section {
    background: linear-gradient(155deg, var(--bs-forest) 0%, var(--bs-forest-2) 100%);
    padding: 108px 0;
    position: relative;
    overflow: hidden;
}

/* glow champagne de fundo */
.bs-finance-section::before {
    content: '';
    position: absolute;
    width: 640px;
    height: 500px;
    right: -80px;
    top: 50%;
    transform: translateY(-50%);
    background: radial-gradient(ellipse at center, rgba(198,161,91,.07) 0%, transparent 65%);
    pointer-events: none;
}

.bs-finance-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
}

/* ─── Copy ─────────────────────────────────────────────────────── */

.bs-finance-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bs-font-body);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--bs-champ);
    margin-bottom: 20px;
}

.bs-finance-eyebrow::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--bs-champ);
    flex-shrink: 0;
}

.bs-finance-h2 {
    font-family: var(--bs-font-display);
    font-size: clamp(1.65rem, 3.5vw, 2.2rem);
    font-weight: 700;
    line-height: 1.18;
    color: var(--bs-ivory-0);
    margin: 0 0 20px;
    text-wrap: balance;
}

.bs-finance-lead {
    font-family: var(--bs-font-body);
    font-size: 1.02rem;
    line-height: 1.65;
    color: rgba(255,252,246,.68);
    margin: 0 0 28px;
}

.bs-finance-benefits {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bs-finance-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--bs-font-body);
    font-size: .94rem;
    color: rgba(255,252,246,.82);
    line-height: 1.4;
}

.bs-finance-check {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(198,161,91,.15);
    border: 1px solid rgba(198,161,91,.3);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    color: var(--bs-champ);
}

.bs-finance-check svg { width: 11px; height: 11px; }

/* Dual CTAs */
.bs-finance-ctas {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 22px;
}

.bs-finance-cta2 {
    font-family: var(--bs-font-body);
    font-size: .86rem;
    font-weight: 600;
    color: var(--bs-champ);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid rgba(198,161,91,.35);
    padding-bottom: 1px;
    transition: color .2s, border-color .2s;
}

.bs-finance-cta2:hover { color: var(--bs-champ-2); border-color: rgba(216,182,111,.6); }

.bs-finance-cta2 svg { width: 13px; height: 13px; }

.bs-finance-aside {
    font-family: var(--bs-font-body);
    font-size: .82rem;
    color: rgba(255,252,246,.32);
    line-height: 1.5;
    margin: 0;
}

/* ─── Visual (direita) ──────────────────────────────────────────── */

.bs-finance-visual {
    position: relative;
}

.bs-finance-card {
    background: rgba(255,252,246,.036);
    border: 1px solid rgba(198,161,91,.18);
    border-radius: 20px;
    padding: 24px 22px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    max-width: 420px;
    width: 100%;
}

.bs-finance-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.bs-finance-card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bs-font-body);
    font-size: .82rem;
    font-weight: 600;
    color: var(--bs-ivory-0);
}

.bs-finance-live {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
    animation: bsFinLivePulse 2.4s ease-in-out infinite;
}

@keyframes bsFinLivePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(74,222,128,.4); }
    50%       { box-shadow: 0 0 0 5px rgba(74,222,128,0); }
}

.bs-finance-badge {
    font-family: var(--bs-font-body);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--bs-champ);
    background: rgba(198,161,91,.1);
    border: 1px solid rgba(198,161,91,.22);
    border-radius: 20px;
    padding: 4px 11px;
}

/* KPIs */
.bs-finance-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
    transition: box-shadow .3s ease;
}

.bs-finance-kpis.kpi-glow {
    border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(74,222,128,.22), 0 0 18px rgba(74,222,128,.12);
}

.bs-finance-kpi {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.bs-finance-kpi-val {
    font-family: var(--bs-font-body);
    font-size: .88rem;
    font-weight: 700;
    color: var(--bs-ivory-0);
    font-variant-numeric: tabular-nums;
}

.bs-finance-kpi-val.kpi-green { color: #4ade80; }
.bs-finance-kpi-val.kpi-amber { color: #fbbf24; }

.bs-finance-kpi-lbl {
    font-family: var(--bs-font-body);
    font-size: .64rem;
    font-weight: 500;
    letter-spacing: .04em;
    color: rgba(255,252,246,.32);
    text-transform: uppercase;
}

/* separador */
.bs-finance-sep {
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(198,161,91,.18) 20%,
        rgba(198,161,91,.18) 80%,
        transparent 100%);
    margin-bottom: 18px;
}

/* ─── Event block ─────────────────────────────────────────────── */

.bs-finance-event-block {
    background: rgba(255,252,246,.04);
    border: 1px solid rgba(198,161,91,.14);
    border-radius: 12px;
    padding: 12px 14px 14px;
    margin-bottom: 18px;
}

.bs-finance-event-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.bs-finance-event-name {
    font-family: var(--bs-font-body);
    font-size: .82rem;
    font-weight: 600;
    color: var(--bs-ivory-0);
}

.bs-finance-event-status {
    font-family: var(--bs-font-body);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #4ade80;
    background: rgba(74,222,128,.1);
    border: 1px solid rgba(74,222,128,.22);
    border-radius: 20px;
    padding: 3px 9px;
}

.bs-finance-progress-lbl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--bs-font-body);
    font-size: .7rem;
    color: rgba(255,252,246,.46);
    margin-bottom: 7px;
}

.bs-finance-progress-track {
    height: 6px;
    background: rgba(255,252,246,.08);
    border-radius: 4px;
    overflow: hidden;
}

.bs-finance-progress-bar {
    height: 100%;
    width: 0%;
    border-radius: 4px;
    background: linear-gradient(90deg, #4ade80 0%, var(--bs-champ) 100%);
    transition: width .9s cubic-bezier(.23,1,.32,1);
}

/* ─── Timeline vertical ───────────────────────────────────────── */

.bs-finance-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 16px;
    position: relative;
}

.bs-finance-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: linear-gradient(180deg, rgba(198,161,91,.18) 0%, transparent 100%);
    pointer-events: none;
}

.bs-finance-tl-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 7px 0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .4s cubic-bezier(.25,.46,.45,.94),
                transform .4s cubic-bezier(.25,.46,.45,.94);
}

.bs-finance-tl-item.tl-visible {
    opacity: 1;
    transform: translateY(0);
}

.bs-finance-tl-item.tl-exit {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .28s ease, transform .28s ease;
}

.bs-finance-tl-dot {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bs-finance-tl-dot svg { width: 14px; height: 14px; }

.bs-fin-dot-lead     { background: rgba(198,161,91,.15); color: var(--bs-champ);  border: 1px solid rgba(198,161,91,.25); }
.bs-fin-dot-quote    { background: rgba(129,140,248,.14); color: #818cf8;          border: 1px solid rgba(129,140,248,.25); }
.bs-fin-dot-closed   { background: rgba(74,222,128,.11); color: #4ade80;           border: 1px solid rgba(74,222,128,.2); }
.bs-fin-dot-received { background: rgba(74,222,128,.18); color: #4ade80;           border: 1px solid rgba(74,222,128,.28); }
.bs-fin-dot-pdf      { background: rgba(198,161,91,.12); color: var(--bs-champ-2); border: 1px solid rgba(198,161,91,.22); }

.bs-finance-tl-content { flex: 1; min-width: 0; }

.bs-finance-tl-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 2px;
}

.bs-finance-tl-title {
    font-family: var(--bs-font-body);
    font-size: .82rem;
    font-weight: 600;
    color: var(--bs-ivory-0);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bs-finance-tl-time {
    font-family: var(--bs-font-body);
    font-size: .65rem;
    color: rgba(255,252,246,.26);
    white-space: nowrap;
    flex-shrink: 0;
}

.bs-finance-tl-body {
    font-family: var(--bs-font-body);
    font-size: .74rem;
    line-height: 1.45;
    color: rgba(255,252,246,.46);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── PDF block ───────────────────────────────────────────────── */

.bs-finance-pdf {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(198,161,91,.07);
    border: 1px solid rgba(198,161,91,.22);
    border-radius: 10px;
    padding: 11px 14px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .5s ease, transform .5s ease;
}

.bs-finance-pdf.pdf-visible {
    opacity: 1;
    transform: translateY(0);
}

.bs-finance-pdf.pdf-shimmer {
    animation: bsFinPdfShimmer .8s ease-out forwards;
}

@keyframes bsFinPdfShimmer {
    0%   { border-color: rgba(198,161,91,.22); }
    40%  { border-color: rgba(216,182,111,.72); box-shadow: 0 0 12px rgba(198,161,91,.22); }
    100% { border-color: rgba(198,161,91,.32); box-shadow: none; }
}

.bs-finance-pdf-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(198,161,91,.14);
    border: 1px solid rgba(198,161,91,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--bs-champ);
}

.bs-finance-pdf-icon svg { width: 16px; height: 16px; }

.bs-finance-pdf-info { flex: 1; min-width: 0; }

.bs-finance-pdf-name {
    font-family: var(--bs-font-body);
    font-size: .78rem;
    font-weight: 600;
    color: var(--bs-ivory-0);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    margin-bottom: 2px;
}

.bs-finance-pdf-meta {
    font-family: var(--bs-font-body);
    font-size: .64rem;
    color: rgba(255,252,246,.38);
}

.bs-finance-pdf-btn {
    font-family: var(--bs-font-body);
    font-size: .72rem;
    font-weight: 600;
    color: var(--bs-champ);
    text-decoration: none;
    white-space: nowrap;
    border: 1px solid rgba(198,161,91,.28);
    border-radius: 6px;
    padding: 5px 10px;
    transition: background .2s, border-color .2s;
}

.bs-finance-pdf-btn:hover {
    background: rgba(198,161,91,.1);
    border-color: rgba(198,161,91,.45);
}

/* ─── Responsivo ─────────────────────────────────────────────── */

@media (max-width: 920px) {
    .bs-finance-container {
        grid-template-columns: 1fr;
        gap: 52px;
    }
    .bs-finance-card { max-width: 100%; }
}

@media (max-width: 560px) {
    .bs-finance-section { padding: 72px 0; }
    .bs-finance-card { padding: 20px 18px; }
    .bs-finance-kpi-val { font-size: .82rem; }
}


/* ═══════════════════════════════════════════════════════════════
   MOBILE FIRST REFINEMENTS
   ═══════════════════════════════════════════════════════════════ */

/* ─── Scroll reveal ──────────────────────────────────────────── */
.bs-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .55s ease, transform .55s ease;
}
.bs-reveal.in {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .bs-reveal { opacity: 1; transform: none; transition: none; }
}

/* ─── Header: CTA mobile compacto ───────────────────────────── */
.bs-header-mobile-cta {
    display: none;
}

@media (max-width: 860px) {
    .bs-header-mobile-cta {
        display: inline-flex;
        margin-left: auto;
        margin-right: 8px;
        padding: 9px 16px;
        font-size: .8rem;
        border-radius: 10px;
    }
    .bs-burger {
        margin-left: 0;
    }
}

@media (max-width: 560px) {
    .bs-logo-img { height: 34px; }
    .bs-header-inner { height: 62px; }
}

/* ─── Hero mobile compacto ──────────────────────────────────── */
@media (max-width: 560px) {
    .bs-h1 {
        font-size: 2.1rem;
        line-height: 1.1;
        letter-spacing: -.02em;
    }
    .bs-hero-lead {
        font-size: .94rem;
        line-height: 1.65;
        margin-bottom: 24px;
    }
    .bs-hero-note {
        margin-top: 4px;
    }
    .bs-hero-actions {
        gap: 10px;
    }
    .bs-hero-actions .bs-btn-lg {
        padding: 15px 24px;
        font-size: .9rem;
    }
    .bs-tag-row { flex-wrap: wrap; justify-content: center; gap: 6px; }
    .bs-tag { white-space: nowrap; }
}

/* ─── Seção Problema: lista compacta no mobile ──────────────── */
@media (max-width: 560px) {
    .bs-prob-grid {
        gap: 0;
        border: 1px solid rgba(255,255,255,.08);
        border-radius: 16px;
        overflow: hidden;
        margin: 32px 0;
    }
    .bs-prob-card {
        flex-direction: row;
        align-items: center;
        gap: 14px;
        padding: 13px 16px;
        border-radius: 0;
        border: none;
        border-bottom: 1px solid rgba(255,255,255,.05);
        background: rgba(255,255,255,.03);
    }
    .bs-prob-card:hover {
        background: rgba(255,255,255,.058);
    }
    .bs-prob-card:last-child {
        border-bottom: none;
    }
    .bs-prob-card-icon {
        width: 34px;
        height: 34px;
        flex-shrink: 0;
        border-radius: 9px;
    }
    .bs-prob-card-icon svg {
        width: 16px;
        height: 16px;
    }
    .bs-prob-card b {
        font-size: .85rem;
        line-height: 1.35;
    }
    .bs-prob-cta {
        padding: 20px;
        gap: 16px;
    }
}

/* ─── Sticky CTA mobile ─────────────────────────────────────── */
.bs-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 150;
    padding: 12px 20px max(env(safe-area-inset-bottom, 0px), 12px);
    background: rgba(255,252,246,.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-top: 1px solid rgba(39,31,22,.08);
    box-shadow: 0 -4px 20px rgba(39,31,22,.07);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    transform: translateY(100%);
    transition: transform .32s cubic-bezier(.25,.46,.45,.94);
    will-change: transform;
}
.bs-sticky-cta.is-visible {
    transform: translateY(0);
}
.bs-sticky-cta .bs-btn {
    justify-content: center;
    padding: 15px 24px;
    font-size: .9375rem;
    border-radius: 12px;
}
.bs-sticky-note {
    font-size: .72rem;
    color: var(--bs-faint);
    text-align: center;
    font-weight: 500;
}
@media (min-width: 861px) {
    .bs-sticky-cta { display: none !important; }
}


/* ─── Correções críticas mobile hero ────────────────────────── */
@media (max-width: 860px) {
    /* Hero: sem visual no mobile, o min-height: 100svh cria espaço
       em branco enorme. Colapsar para altura natural do conteúdo. */
    .bs-hero {
        min-height: 0;
        padding-top: 62px;
    }
    .bs-hero-inner {
        padding-top: 40px;
        padding-bottom: 52px;
    }
}

@media (max-width: 560px) {
    /* h1 levemente menor para não cortar na direita + allow break */
    .bs-h1 {
        font-size: 1.9rem;
        overflow-wrap: break-word;
        word-break: break-word;
    }
}

/* ════════════════════════════════════════
   TRUST STRIP — marquee contínuo
════════════════════════════════════════ */
.bs-trust {
    overflow: hidden;
    position: relative;
}
.bs-trust::before,
.bs-trust::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 56px;
    z-index: 1;
    pointer-events: none;
}
.bs-trust::before { left:  0; background: linear-gradient(to right, var(--bs-forest), transparent); }
.bs-trust::after  { right: 0; background: linear-gradient(to left,  var(--bs-forest), transparent); }

.bs-trust-inner {
    width: max-content;
    margin: 0;
    padding: 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    animation: bsTrustScroll 32s linear infinite;
}
.bs-trust:hover .bs-trust-inner { animation-play-state: paused; }

@keyframes bsTrustScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .bs-trust-inner {
        animation: none;
        flex-wrap: wrap;
        width: min(1152px, 100%);
        margin: 0 auto;
        padding: 0 24px;
        justify-content: center;
    }
}

/* ────────────────────────────────────────
   Hero — corrigir overflow de grid no mobile
──────────────────────────────────────── */
@media (max-width: 860px) {
    .bs-hero-copy {
        min-width: 0;
    }
    .bs-hero-lead {
        max-width: 100%;
        overflow-wrap: break-word;
    }
}

/* ────────────────────────────────────────
   Seção Problema — eyebrow ampliado
──────────────────────────────────────── */
.bs-prob-section .bs-eyebrow {
    font-size: 26px;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.2;
    font-weight: 700;
}

/* ────────────────────────────────────────
   Hero visual — visível no mobile
──────────────────────────────────────── */
@media (max-width: 860px) {
    .bs-hero-visual {
        display: flex;
        justify-content: center;
        padding-top: 16px;
        padding-bottom: 8px;
    }
    .bs-float-card {
        display: none;
    }
    .bs-hero-stage {
        max-width: 240px;
    }
}

/* ════════════════════════════════════════
   Hero visual mobile — float cards visíveis
   (override do bloco anterior)
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-hero-visual {
        display: block;
        padding: 0 52px;
        padding-top: 28px;
        padding-bottom: 4px;
    }
    .bs-hero-stage { max-width: none; }
    .bs-float-card {
        display: flex;
        min-width: 118px;
        max-width: 152px;
        padding: 8px 10px;
        gap: 6px;
    }
    .bs-float-icon {
        width: 26px;
        height: 26px;
        min-width: 26px;
    }
    .bs-float-icon svg { width: 13px; height: 13px; }
    .bs-float-card strong { font-size: .68rem; }
    .bs-float-card span   { font-size: .62rem; }
}

/* ════════════════════════════════════════
   Captação — lead panels visíveis no mobile
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-bio-phone-wrap {
        padding: 0 52px;
    }
    .bs-lead-panel {
        display: block;
        max-width: 150px;
    }
    .bs-lead-panel strong { font-size: .72rem; }
    .bs-lead-panel small  { font-size: .63rem; }
    .bs-lead-panel-left  { left: -28px; }
    .bs-lead-panel-right { right: -28px; }
}

/* ════════════════════════════════════════
   Hero visual mobile — reorganizado e maior
   (override final)
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-hero-visual {
        display: flex !important;
        justify-content: center;
        align-items: flex-start;
        padding-top: 32px;
        padding-bottom: 16px;
        /* sem padding horizontal — centramos o stage explicitamente */
    }
    .bs-hero-stage {
        /* 62 vw garante stage grande mas deixa espaço pros cards */
        width: 62vw;
        max-width: 62vw;
        flex-shrink: 0;
    }
    .bs-float-card {
        display: flex !important;
        min-width: 108px;
        max-width: 142px;
        padding: 7px 9px;
        gap: 5px;
    }
    .bs-float-icon {
        width: 24px;
        height: 24px;
        min-width: 24px;
    }
    .bs-float-icon svg { width: 12px; height: 12px; }
    .bs-float-card strong { font-size: .64rem; }
    .bs-float-card span   { font-size: .59rem; }

    /* Offsets ajustados para caber dentro do viewport */
    .bs-fc-1 { top: 10%;    left: -34px; }
    .bs-fc-2 { bottom: 20%; left: -38px; }
    .bs-fc-3 { top: 8%;     right: -30px; left: auto; }
    .bs-fc-4 { bottom: 8%;  right: -34px; left: auto; }
}

/* ════════════════════════════════════════
   Hero visual mobile — stage +20px, quebra fc-3, fix overflow texto
════════════════════════════════════════ */
@media (max-width: 860px) {
    /* Stage 20px maior */
    .bs-hero-stage {
        width: calc(62vw + 20px);
        max-width: calc(62vw + 20px);
    }

    /* Texto dos float cards não vaza fora do card */
    .bs-float-card div {
        max-width: 98px;
        overflow: hidden;
    }
    .bs-float-card strong,
    .bs-float-card span {
        display: block;
        word-break: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }

    /* Quebra forçada: "Galeria pronta" / "com QR Code" */
    .bs-fc-3 strong {
        max-width: 88px;
    }
}

/* ════════════════════════════════════════
   Hero mobile — reduzir espaços verticais
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-hero { padding-top: 56px; }
    .bs-hero-inner {
        padding-top: 24px;
        padding-bottom: 28px;
    }
}
@media (max-width: 560px) {
    .bs-hero-lead { margin-bottom: 18px; }
    .bs-hero-note { margin-top: 2px; }
}
@media (max-width: 860px) {
    .bs-hero-visual {
        padding-top: 14px;
        padding-bottom: 0;
    }
}

/* ════════════════════════════════════════
   Hero mobile — corrigir desalinhamento visual
   (padding: 0 52px de bloco anterior ainda cascateava)
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-hero-visual {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    /* Stage centrado com margem suficiente para os cards */
    .bs-hero-stage {
        width: 58vw;
        max-width: 58vw;
    }
}

@media (max-width: 560px) {
    /* h1 levemente menor para não tocar a borda */
    .bs-h1 {
        font-size: 1.75rem;
    }
}

/* ════════════════════════════════════════
   Nav mobile — drawer redesign
════════════════════════════════════════ */

/* Backdrop: abaixo do header (z 200), acima do conteúdo */
.bs-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(16,59,53,.42);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 198;
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s;
}
.bs-nav-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 860px) {
    /* Drawer sempre montado, desliza da direita */
    .bs-nav {
        display: flex;
        position: fixed;
        top: 0; right: 0;
        width: min(296px, 86vw);
        height: 100%;
        height: 100dvh;
        flex-direction: column;
        align-items: stretch;
        padding: 68px 0 0;
        gap: 0;
        background: var(--bs-ivory-0);
        border-left: 1px solid rgba(16,59,53,.09);
        box-shadow: -10px 0 48px rgba(0,0,0,.16);
        z-index: 199;
        transform: translateX(calc(100% + 12px));
        transition: transform .28s cubic-bezier(.4,0,.2,1);
        overflow-y: auto;
        overflow-x: hidden;
    }
    .bs-nav.is-open { transform: translateX(0); }

    /* Linha de acento champanhe no topo do drawer */
    .bs-nav::after {
        content: '';
        position: absolute;
        top: 68px; left: 20px; right: 20px;
        height: 1px;
        background: linear-gradient(90deg, transparent, var(--bs-champ), transparent);
        pointer-events: none;
    }

    /* Links de navegação */
    .bs-nav-links {
        flex-direction: column;
        margin: 0;
        padding: 20px 0 20px;
        border-bottom: 1px solid rgba(16,59,53,.07);
        gap: 0;
    }
    .bs-nav-links a {
        display: flex;
        align-items: center;
        padding: 14px 28px;
        font-size: 1rem;
        font-weight: 500;
        color: rgba(16,59,53,.78);
        border-radius: 0;
        border-left: 2px solid transparent;
        letter-spacing: 0;
        transition: background .12s, border-color .12s, color .12s;
    }
    .bs-nav-links a:hover {
        background: rgba(16,59,53,.042);
        border-left-color: var(--bs-champ);
        color: var(--bs-forest);
    }

    /* Seletor de idioma */
    .bs-lang-switcher {
        padding: 20px 24px 10px;
        gap: 7px;
    }
    .bs-lang-btn {
        padding: 5px 14px;
        border-radius: 20px;
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: .03em;
        background: transparent;
        color: rgba(16,59,53,.38);
        border: 1.5px solid rgba(16,59,53,.15);
        transition: all .12s;
    }
    .bs-lang-btn.is-active {
        background: var(--bs-forest);
        color: var(--bs-ivory-0);
        border-color: var(--bs-forest);
    }

    /* Entrar */
    .bs-nav-login {
        padding: 14px 28px 6px;
        font-size: .9375rem;
        font-weight: 500;
        color: var(--bs-forest);
        text-align: left;
    }

    /* Botão CTA */
    .bs-nav .bs-btn.bs-btn-sm {
        margin: 12px 20px 40px;
        width: calc(100% - 40px);
        padding: 14px 20px;
        font-size: .9375rem;
        justify-content: center;
        border-radius: 12px;
    }
}

/* Header mobile: ajuste de padding-top para telas ≤560px */
@media (max-width: 560px) {
    .bs-nav { padding-top: 62px; }
    .bs-nav::after { top: 62px; }
}

/* ════════════════════════════════════════
   Grid de benefícios — 3 colunas desktop + descrição
════════════════════════════════════════ */
@media (min-width: 861px) {
    .bs-prob-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.bs-prob-card p {
    font-size: .8125rem;
    line-height: 1.6;
    color: rgba(255,252,246,.48);
    margin: 0;
}
@media (max-width: 560px) {
    .bs-prob-card p { display: none; }
}

/* ════════════════════════════════════════
   Hero visual mobile — stage +5px, subir imagem, cards +5px
════════════════════════════════════════ */
@media (max-width: 860px) {
    .bs-hero-visual {
        padding-top: 4px;
    }
    .bs-hero-stage {
        width: calc(58vw + 5px);
        max-width: calc(58vw + 5px);
    }
    .bs-float-card {
        min-width: 113px;
        max-width: 147px;
        padding: 8px 10px;
        gap: 6px;
    }
    .bs-float-icon {
        width: 27px;
        height: 27px;
        min-width: 27px;
        overflow: hidden;
    }
    .bs-float-icon svg { width: 14px; height: 14px; }
}
