:root {
    --ink: #07110c;
    --ink-2: #0c1811;
    --green-950: #052b19;
    --green-900: #063d23;
    --green-800: #075731;
    --green-700: #007d42;
    --green-600: #00a052;
    --lime: #8ff800;
    --lime-2: #b5ff3f;
    --mint: #dff7e8;
    --soft: #f2f6f3;
    --line: #dce5df;
    --white: #fff;
    --text: #15231a;
    --muted: #5a6c61;
    --radius: 22px;
    --radius-lg: 34px;
    --shadow: 0 24px 70px rgba(4, 42, 24, .14);
}

html { scroll-behavior: smooth; }
body {
    color: var(--text);
    background: var(--white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
section { scroll-margin-top: 82px; }
::selection { background: var(--lime); color: var(--ink); }


.site-nav .container {
    max-width: 1200px;
}

.site-nav .container {
    max-width: 1200px;
}

.img-logo {
    width: 340px;
    max-width: 100%;
    height: auto;
    display: block;
}

.site-nav .navbar-nav {
    flex-wrap: nowrap;
}

.site-nav .nav-link {
    white-space: nowrap;
    font-size: 0.88rem;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.site-nav .btn {
    white-space: nowrap;
    font-size: 0.82rem;
    padding: 10px 18px !important;
}

.site-nav .navbar-brand {
    margin-right: 35px;
    flex-shrink: 0;
}

.site-nav .collapse {
    min-width: 0;
}


.img-logo {
    width: 310px;
    max-width: 100%;
    height: auto;
    display: block;
}

.site-nav .navbar-nav {
    flex-wrap: nowrap;
}

.site-nav .nav-link {
    white-space: nowrap;
    font-size: 0.88rem;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.site-nav .btn {
    white-space: nowrap;
    font-size: 0.82rem;
    padding: 10px 18px !important;
}

.site-nav .navbar-brand {
    margin-right: 35px;
    flex-shrink: 0;
}

.site-nav .collapse {
    min-width: 0;
}
.site-nav {
    padding: .85rem 0;
    transition: background .25s ease, box-shadow .25s ease, padding .25s ease;
}
.site-nav.is-scrolled {
    background: rgba(7,17,12,.92);
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px rgba(0,0,0,.16);
    padding: .55rem 0;
}
.brand-lockup { display: flex; align-items: baseline; gap: .5rem; font-weight: 900; letter-spacing: -.04em; }
.brand-name { font-size: .98rem; }
.brand-number { color: var(--lime); font-size: 1.45rem; line-height: 1; }
.navbar .nav-link { color: rgba(255,255,255,.72); font-weight: 650; font-size: .8rem; padding: .55rem .7rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: #fff; }

.btn { border-radius: 999px; font-weight: 800; letter-spacing: -.01em; padding: .72rem 1.2rem; }
.btn-lg { padding: .9rem 1.35rem; }
.btn-lime { background: var(--lime); color: var(--ink); border-color: var(--lime); box-shadow: 0 9px 28px rgba(143,248,0,.14); }
.btn-lime:hover { background: var(--lime-2); color: var(--ink); border-color: var(--lime-2); transform: translateY(-1px); }


.hero-section {
    min-height: 100vh;
    color: #fff;
    background:
    radial-gradient(circle at 82% 24%, rgba(0,160,82,.26), transparent 31%),
    radial-gradient(circle at 68% 80%, rgba(143,248,0,.08), transparent 25%),
    linear-gradient(125deg, #60ca95 0%, #145030 44%, #052b19 100%);
}
.hero-grid {
    position:absolute; inset:0; opacity:.13;
    background-image: linear-gradient(rgba(255,255,255,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.13) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.hero-glow { position:absolute; width:420px; height:420px; border-radius:50%; filter:blur(70px); opacity:.2; }
.hero-glow-1 { background:#00bd61; right:-140px; top:10%; }
.hero-glow-2 { background:#8ff800; left:20%; bottom:-300px; }
.eyebrow, .section-kicker { font-size: .76rem; letter-spacing: .16em; font-weight: 900; color: var(--green-700); }
.eyebrow { color: var(--lime); }
.display-hero { font-weight: 950; line-height: .91; letter-spacing: -.055em; font-size: clamp(3rem, 7.1vw, 6.9rem); max-width: 850px; }
.display-hero span { display:block; color: rgba(255,255,255,1); font-size: .35em; line-height: 1.05; margin-top: .45rem; letter-spacing: -.02em; }
.hero-number { display:inline-block; color: var(--lime); font-size: clamp(3.5rem, 7vw, 7rem); line-height: .8; font-weight: 1000; letter-spacing: -.075em; }
.hero-lead { max-width: 650px; color: rgba(255,255,255,.74); font-size: clamp(1.05rem, 1.6vw, 1.28rem); line-height: 1.55; }
.stat-card { height:100%; border-top:1px solid rgba(255,255,255,.14); padding-top:1rem; }
.stat-card strong { display:block; color:#fff; font-size:clamp(1.05rem,2vw,1.55rem); line-height:1; }
.stat-card span { display:block; color:rgba(255,255,255,.48); font-size:.78rem; margin-top:.42rem; }
.hero-media-wrap { position:relative; max-width:620px; margin-inline:auto; }
.hero-media-card {
    position:relative; overflow:hidden; min-height: 610px; border-radius: 44px;
    border:1px solid rgba(255,255,255,.14); box-shadow:0 55px 100px rgba(0,0,0,.36);
    background:#0b2718;
}
.hero-media-card::before { content:""; position:absolute; inset:0; z-index:2; border:1px solid rgba(255,255,255,.12); border-radius:inherit; pointer-events:none; }
.hero-media-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position: 42% center; transform: scale(1.18); filter:saturate(1.08) contrast(1.03); }
.hero-media-shade { position:absolute; inset:0; background: linear-gradient(180deg, rgba(7,17,12,.05), rgba(7,17,12,.15) 45%, rgba(7,17,12,.92) 100%); }
.hero-media-caption { position:absolute; z-index:3; left:2rem; right:2rem; bottom:2rem; }
.hero-media-caption .mini-kicker { display:block; color:var(--lime); font-weight:900; font-size:.72rem; letter-spacing:.14em; margin-bottom:.45rem; }
.hero-media-caption strong { display:block; font-size:clamp(1.55rem,3vw,2.5rem); letter-spacing:-.04em; }
.floating-proof { position:absolute; z-index:5; border-radius:18px; box-shadow:var(--shadow); backdrop-filter:blur(12px); }
.proof-top { top:60px; right:-28px; background:rgba(255,255,255,.94); color:var(--ink); padding:.85rem 1rem; font-weight:800; font-size:.86rem; }
.proof-top span { color:var(--green-600); margin-right:.3rem; }
.proof-bottom { bottom:48px; left:-36px; background:var(--lime); color:var(--ink); padding:1rem 1.1rem; display:flex; align-items:center; gap:.65rem; }
.proof-bottom strong { font-size:2rem; letter-spacing:-.05em; }
.proof-bottom small { max-width:82px; line-height:1.05; font-weight:800; }
.scroll-cue { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); width:34px; height:52px; border:1px solid rgba(255,255,255,.28); border-radius:999px; }
.scroll-cue span { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--lime); top:11px; left:50%; transform:translateX(-50%); animation:scrollCue 1.8s ease infinite; }
@keyframes scrollCue { 0%{opacity:0;transform:translate(-50%,0)} 30%{opacity:1} 100%{opacity:0;transform:translate(-50%,20px)} }

.section { padding: clamp(5rem, 8vw, 8rem) 0; }
.section-light { background:#fff; }
.section-soft { background:var(--soft); }
.section-dark { background:var(--ink); color:#fff; }
.section-title { font-size:clamp(2.55rem,5.5vw,5.2rem); font-weight:950; letter-spacing:-.055em; line-height:.95; margin-top:.65rem; }
.section-title span { color:var(--green-600); }
.section-intro { color:var(--muted); font-size:1.07rem; line-height:1.7; }
.quote-card { border-left:5px solid var(--lime); background:var(--ink); color:#fff; padding:1.5rem; border-radius:0 18px 18px 0; }
.quote-card p { font-size:1.18rem; font-weight:750; line-height:1.45; margin:0 0 .65rem; }
.quote-card span { color:rgba(255,255,255,.5); font-size:.86rem; }
.story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.story-card { border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; min-height:245px; background:#fff; transition:transform .2s ease, box-shadow .2s ease, border .2s ease; }
.story-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent; }
.story-card-accent { background:var(--green-900); color:#fff; border-color:transparent; }
.story-index { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--mint); color:var(--green-800); font-weight:900; margin-bottom:2.3rem; font-size:.78rem; }
.story-card-accent .story-index { background:var(--lime); color:var(--ink); }
.story-card h3 { font-weight:850; font-size:1.25rem; letter-spacing:-.025em; }
.story-card p { color:var(--muted); line-height:1.6; margin-bottom:0; }
.story-card-accent p { color:rgba(255,255,255,.66); }

.impact-card { height:100%; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.6rem; transition:.2s ease; }
.impact-card:hover { transform:translateY(-4px); border-color:rgba(0,160,82,.35); box-shadow:0 20px 50px rgba(4,42,24,.08); }
.impact-icon { width:52px; height:52px; border-radius:15px; display:grid; place-items:center; background:var(--mint); color:var(--green-800); font-weight:950; margin-bottom:1.5rem; }
.impact-card h3 { font-weight:850; letter-spacing:-.03em; font-size:1.22rem; }
.impact-card p { color:var(--muted); line-height:1.6; margin-bottom:0; }
.impact-card-dark { background:var(--ink); color:#fff; border-color:transparent; }
.impact-card-dark .impact-icon { background:var(--lime); color:var(--ink); width:auto; padding:0 .8rem; }
.impact-card-dark p { color:rgba(255,255,255,.58); }
.legacy-band { border-radius:var(--radius-lg); background:var(--lime); color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1.8rem 2rem; }
.legacy-band small { font-weight:900; letter-spacing:.12em; }
.legacy-band h3 { margin:.35rem 0 0; font-size:clamp(1.35rem,2.2vw,2rem); font-weight:900; letter-spacing:-.035em; }

.section-kicker-lime { color:var(--lime); }
.federal-orbit, .manifesto-ring { position:absolute; border:1px solid rgba(143,248,0,.12); border-radius:50%; }
.orbit-1 { width:620px; height:620px; right:-240px; top:-140px; }
.orbit-2 { width:340px; height:340px; right:20%; bottom:-220px; }
.priority-list { border-top:1px solid rgba(255,255,255,.12); }
.priority-item { display:grid; grid-template-columns:64px 1fr; gap:1rem; padding:1.35rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.priority-item > span { color:var(--lime); font-size:.75rem; font-weight:900; letter-spacing:.09em; padding-top:.18rem; }
.priority-item h3 { font-weight:850; font-size:1.3rem; letter-spacing:-.02em; margin-bottom:.35rem; }
.priority-item p { color:rgba(255,255,255,.55); margin:0; line-height:1.55; }
.priority-chips { display:flex; flex-wrap:wrap; gap:.6rem; }
.priority-chips span { border:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.72); border-radius:999px; padding:.65rem 1rem; font-size:.85rem; }

.street-card { border-radius:var(--radius); background:var(--soft); min-height:260px; padding:1.5rem; position:relative; overflow:hidden; }
.street-card::after { content:""; position:absolute; width:120px; height:120px; border-radius:50%; background:var(--lime); opacity:.18; right:-45px; bottom:-45px; }
.street-num { color:var(--green-700); font-weight:900; font-size:.75rem; margin-bottom:4rem; letter-spacing:.1em; }
.street-card h3 { font-weight:900; letter-spacing:-.03em; font-size:1.3rem; }
.street-card p { color:var(--muted); line-height:1.6; margin:0; }
.street-cta { display:flex; justify-content:space-between; align-items:center; gap:1rem; background:var(--mint); border-radius:18px; padding:1rem 1.2rem; }
.street-cta strong, .street-cta span { display:block; }
.street-cta span { color:var(--muted); font-size:.9rem; }

.contact-section { background:linear-gradient(135deg,var(--green-900),var(--green-700)); color:#fff; }
.contact-panel { border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-lg); padding:clamp(1.8rem,4vw,3.4rem); background:rgba(3,28,16,.2); box-shadow:0 28px 80px rgba(0,0,0,.18); }
.contact-panel h2 { font-size:clamp(2rem,4vw,4rem); font-weight:950; letter-spacing:-.05em; line-height:1; margin:.55rem 0 1rem; }
.contact-panel p { color:rgba(255,255,255,.7); max-width:720px; margin-bottom:0; font-size:1.05rem; }

.download-list { display:grid; gap:.7rem; }
.download-list > div { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:1rem; background:#fff; border:1px solid var(--line); border-radius:18px; padding:1rem; }
.download-list > div > span { width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--ink); color:var(--lime); font-size:.75rem; font-weight:900; }
.download-list p { margin:0; }
.download-list strong, .download-list small { display:block; }
.download-list small { color:var(--muted); margin-top:.18rem; }
.mission-card { background:var(--lime); color:var(--ink); border-radius:var(--radius-lg); padding:clamp(1.8rem,4vw,3rem); box-shadow:var(--shadow); }
.mission-card > small { font-weight:900; letter-spacing:.14em; }
.mission-card h3 { font-size:clamp(2rem,4vw,3.5rem); font-weight:950; line-height:.95; letter-spacing:-.05em; margin:.65rem 0 1.5rem; }
.mission-card ol { margin:0 0 1.8rem; padding-left:1.2rem; font-weight:750; }
.mission-card li { padding:.35rem 0; }

.manifesto-section { background:#fff; }
.manifesto-ring { border-color:rgba(0,160,82,.12); }
.ring-a { width:700px; height:700px; left:-360px; top:-240px; }
.ring-b { width:300px; height:300px; left:34%; bottom:-200px; }
.manifesto-points { margin-top:2rem; border-top:1px solid var(--line); }
.manifesto-points > div { display:grid; grid-template-columns:64px 1fr; align-items:center; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.manifesto-points b { color:var(--green-700); font-size:.75rem; letter-spacing:.08em; }
.manifesto-points span { font-weight:820; }
.manifesto-form { background:var(--green-900); color:#fff; border-radius:var(--radius-lg); padding:clamp(1.5rem,4vw,2.5rem); box-shadow:0 35px 80px rgba(4,42,24,.2); }
.form-topline { color:var(--lime); font-weight:900; letter-spacing:.12em; font-size:.74rem; margin-bottom:1.2rem; }
.manifesto-form .form-label { color:rgba(255,255,255,.72); font-size:.83rem; font-weight:700; }
.manifesto-form .form-control { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; border-radius:14px; }
.manifesto-form .form-control:focus { background:rgba(255,255,255,.1); border-color:var(--lime); box-shadow:0 0 0 .22rem rgba(143,248,0,.12); color:#fff; }
.manifesto-form .form-control::placeholder { color:rgba(255,255,255,.32); }
.manifesto-form .form-check-input:checked { background-color:var(--lime); border-color:var(--lime); }
.form-privacy { color:rgba(255,255,255,.4); font-size:.72rem; line-height:1.5; }

.site-footer { background:var(--ink); color:rgba(255,255,255,.5); padding:2.2rem 0; }
.footer-brand { color:#fff; font-weight:900; letter-spacing:-.03em; margin-bottom:.25rem; }
.footer-brand strong { color:var(--lime); font-size:1.3rem; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 991.98px) {
    .site-nav { background:rgba(7,17,12,.9); backdrop-filter:blur(14px); }
    .navbar-collapse { padding:1rem 0 .35rem; }
    .hero-section { min-height:auto; padding-top:5rem; }
    .hero-media-card { min-height:520px; }
    .proof-top { right:10px; }
    .proof-bottom { left:10px; }
    .scroll-cue { display:none; }
}
@media (max-width: 767.98px) {
    .section { padding:4.2rem 0; }
    .story-grid { grid-template-columns:1fr; }
    .story-card { min-height:auto; }
    .hero-media-card { min-height:430px; border-radius:30px; }
    .hero-media-caption { left:1.35rem; bottom:1.35rem; }
    .floating-proof { position:static; margin-top:.75rem; display:inline-flex; }
    .hero-media-wrap { display:flex; flex-direction:column; }
    .legacy-band, .street-cta { flex-direction:column; align-items:flex-start; }
    .legacy-band .btn, .street-cta .btn { width:100%; }
    .priority-item { grid-template-columns:44px 1fr; }
}

/* ===== Conteúdo integral / ajustes de fidelidade ===== */
.hero-copy { max-width: 720px; color: rgba(255,255,255,1); line-height: 1.65; font-size: .95rem; }
.content-heading { font-size: clamp(1.25rem, 2.2vw, 1.8rem); font-weight: 900; letter-spacing: -.035em; }
.gama-band { background: var(--green-800); padding: 2rem 0; }
.gama-band .section-kicker { font-size: clamp(.9rem, 2vw, 1.2rem); }
.priority-meta { margin-top: .65rem !important; color: rgba(255,255,255,.78) !important; }
.source-checklist { list-style: none; padding: .5rem 0 0; margin: 0; color: rgba(255,255,255,.62); }
.source-checklist li { padding: .28rem 0; line-height: 1.5; }
.priority-card { height:100%; border:1px solid rgba(255,255,255,.12); border-radius:18px; padding:1.15rem; background:rgba(255,255,255,.035); }
.priority-card h4 { color:#fff; font-size:.9rem; font-weight:900; line-height:1.3; }
.priority-card p { color:rgba(255,255,255,.5); margin:0; font-size:.88rem; }
.federal-why { border:1px solid rgba(255,255,255,.12); border-radius:var(--radius); padding:clamp(1.4rem,3vw,2.3rem); background:rgba(255,255,255,.035); }
.federal-why blockquote { color:#fff; font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.55; font-weight:700; margin:1rem 0 0; }
.info-card { height:100%; border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; background:#fff; }
.info-card h3 { font-weight:900; font-size:1.16rem; }
.info-card p { color:var(--muted); line-height:1.65; margin:0; }
.contact-list { display:grid; gap:.75rem; }
.contact-list article { display:grid; grid-template-columns:52px 1fr; gap:1rem; padding:1.15rem; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(3,28,16,.18); }
.contact-list article > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:var(--ink); font-size:.75rem; font-weight:900; }
.contact-list h3 { font-size:1.05rem; font-weight:900; margin:.1rem 0 .35rem; }
.contact-list p { margin:0 0 .85rem; font-size:.92rem; line-height:1.55; }
.contact-list .btn { font-size:.82rem; }
.contact-commitment { border-top:1px solid rgba(255,255,255,.14); padding-top:1.6rem; }
.contact-commitment > span { color:var(--lime); font-weight:900; letter-spacing:.02em; }
.contact-commitment blockquote { font-size:clamp(1.1rem,2vw,1.45rem); line-height:1.55; font-weight:700; margin:.7rem 0 0; }
.download-list small + small { margin-top:.5rem; }
.inline-action { display:inline-block; margin-top:.75rem; color:var(--green-800); font-weight:900; text-decoration:none; font-size:.85rem; }
.inline-action:hover { color:var(--green-600); }
.elite-card { border-radius:var(--radius-lg); padding:clamp(1.6rem,3vw,2.4rem); background:var(--ink); color:#fff; }
.elite-card h3 { font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.05; letter-spacing:-.04em; font-weight:900; margin:.7rem 0 1.5rem; }
.after-sign { border-top:1px solid rgba(255,255,255,.14); padding-top:1.2rem; color:rgba(255,255,255,.72); font-size:.86rem; line-height:1.55; }
.after-sign > strong { color:var(--lime); display:block; margin-bottom:.55rem; }
.after-sign blockquote { border-left:3px solid var(--lime); padding-left:.9rem; color:#fff; margin:1rem 0 0; font-weight:700; }
.dropdown-menu { border:0; border-radius:16px; padding:.55rem; box-shadow:var(--shadow); }
.dropdown-item { border-radius:10px; font-weight:700; font-size:.9rem; padding:.65rem .8rem; }
.dropdown-item:active { background:var(--green-700); }

.campaign-modal { border:0; border-radius:28px; overflow:hidden; box-shadow:0 35px 100px rgba(0,0,0,.28); }
.campaign-modal .modal-header { padding:1.8rem 1.8rem .8rem; }
.campaign-modal .modal-body { padding:1rem 1.8rem 1.5rem; color:var(--text); }
.campaign-modal .modal-footer { padding:1rem 1.8rem 1.8rem; }
.campaign-modal .modal-title { font-size:clamp(2rem,4vw,3.8rem); line-height:.95; letter-spacing:-.05em; font-weight:950; margin-top:.45rem; }
.campaign-modal .modal-body p { color:var(--muted); line-height:1.75; }
.campaign-modal .modal-body h3 { font-weight:900; letter-spacing:-.03em; margin:1.5rem 0 .6rem; }
.campaign-modal .modal-body blockquote { border-left:5px solid var(--lime); background:var(--soft); border-radius:0 14px 14px 0; padding:1.15rem 1.3rem; font-size:1.08rem; font-weight:750; line-height:1.6; }
.modal-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.thank-step { display:grid; grid-template-columns:46px 1fr; gap:1rem; border-top:1px solid var(--line); padding:1.2rem 0; }
.thank-step > span { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--lime); color:var(--ink); font-weight:900; }
.thank-step h4 { font-weight:900; font-size:1.1rem; margin:.15rem 0 .35rem; }
.thank-message { background:var(--green-900); color:#fff; border-radius:18px; padding:1.3rem; }
.thank-message strong { color:var(--lime); }
.thank-message blockquote { border:0 !important; background:transparent !important; color:#fff; padding:0 !important; margin:.6rem 0 0 !important; }

@media (max-width: 991.98px) {
    .contact-list article { grid-template-columns:42px 1fr; }
}
@media (max-width: 767.98px) {
    .contact-list article { grid-template-columns:1fr; }
    .contact-list article > span { width:38px; height:38px; }
    .campaign-modal .modal-header { padding:1.3rem 1.3rem .6rem; }
    .campaign-modal .modal-body { padding:.8rem 1.3rem 1.2rem; }
    .campaign-modal .modal-footer { padding:.8rem 1.3rem 1.3rem; }
}

/* =========================================================
V2 REFINADA — 1440PX + CTAs FLUIDOS + FONT AWESOME
Mantém a estrutura visual/conteúdo da versão 2.
Fundos continuam full-width; o conteúdo central respeita 1440px.
========================================================= */

/* Conteúdo central em até 1440px; sections/BGs permanecem 100% da viewport. */
.container {
    --bs-gutter-x: 2rem;
}
@media (min-width: 1200px) {
    .container {
        max-width: 1440px;
    }
}

/* Navegação: ícone social discreto e alinhado ao restante do menu. */
.nav-social {
    width: 38px;
    height: 38px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: 0 !important;
    margin-inline: .2rem;
}
.nav-social i {
    font-size: 1rem;
}
.nav-social:hover {
    border-color: rgba(143,248,0,.5);
    background: rgba(143,248,0,.08);
    color: var(--lime) !important;
}

/* CTAs com escala mais refinada e comportamento fluido. */
.btn {
    min-height: 42px;
    padding: .62rem 1rem;
    font-size: .88rem;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .48rem;
    white-space: normal;
    text-align: center;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn-lg {
    min-height: 46px;
    padding: .72rem 1.08rem;
    font-size: .96rem;
}
.btn-sm {
    min-height: 36px;
    padding: .46rem .78rem;
    font-size: .8rem;
}
.btn:hover {
    transform: translateY(-1px);
}
.btn:active {
    transform: translateY(0);
}
.btn i {
    flex: 0 0 auto;
    font-size: .92em;
}

/* Ícones inline minimalistas. */
.icon-inline {
    width: 1em;
    text-align: center;
    margin-right: .12rem;
    vertical-align: -.04em;
}
.content-heading .icon-inline,
.info-card h3 .icon-inline {
    color: var(--green-700);
}
.section-dark .content-heading .icon-inline,
.contact-section .content-heading .icon-inline {
    color: var(--lime);
}

.impact-icon {
    font-size: 1.05rem;
    line-height: 1;
}
.impact-icon i,
.street-num i {
    display: block;
}
.street-num {
    font-size: 1rem;
    letter-spacing: 0;
    margin-bottom: 3.3rem;
}
.info-card h3 i {
    width: 1.1rem;
}
.source-checklist li .icon-inline {
    color: var(--lime);
    margin-right: .42rem;
}
.form-topline .icon-inline,
.contact-commitment > span .icon-inline,
.mission-card > small .icon-inline,
.after-sign > strong .icon-inline,
.thank-message > strong .icon-inline {
    color: inherit;
}
.proof-top i {
    color: var(--green-600);
    margin-right: .3rem;
}

/* Longos CTAs permanecem elegantes sem virar blocos visualmente pesados. */
.legacy-band .btn,
.street-cta .btn,
.modal-actions .btn,
.contact-list .btn,
.campaign-modal .btn {
    max-width: 100%;
}

/* Um pouco mais de respiro horizontal em telas grandes sem aumentar a altura dos componentes. */
@media (min-width: 1440px) {
    .section {
        padding-left: 0;
        padding-right: 0;
    }
    .hero-media-wrap {
        max-width: 650px;
    }
}

@media (max-width: 991.98px) {
    .nav-social {
        margin: .35rem 0 .55rem;
    }
}

@media (max-width: 767.98px) {
    .container {
        --bs-gutter-x: 1.5rem;
    }
    .legacy-band .btn,
    .street-cta .btn {
        width: auto;
        align-self: flex-start;
    }
    .btn-lg {
        min-height: 44px;
        padding: .68rem 1rem;
        font-size: .92rem;
    }
}

@media (max-width: 575.98px) {
    .d-flex.flex-column.flex-sm-row > .btn {
        width: auto;
        align-self: flex-start;
    }
    .btn {
        max-width: 100%;
    }
}

/* =========================================================
V4 — evolução da V2
Conteúdo central em 1200px; backgrounds/elementos decorativos full width.
========================================================= */
@media (min-width: 1200px) {
    .container { max-width: 1200px !important; }
}

/* CTAs: mais leves e controlados */
.btn { min-height: 40px; padding: .58rem .92rem; font-size: .86rem; box-shadow: none; }
.btn-lg { min-height: 44px; padding: .68rem 1rem; font-size: .92rem; }
.btn-sm { min-height: 34px; padding: .42rem .7rem; font-size: .78rem; }
.btn-lime { box-shadow: 0 8px 22px rgba(143,248,0,.10); }
.section-cta-center { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.7rem; text-align:center; }



.mt-10 {margin-top: 100px;}
/* Quem é Daniel */
.btn-story-more { background: var(--green-700); color:#fff; border-color:var(--green-700); }
.btn-story-more:hover, .btn-story-more:focus { background:var(--lime); color:var(--ink); border-color:var(--lime); }
.quote-card-clean { position:relative; background:#f8fbf9; color:var(--text); border:1px solid var(--line); border-left:2px solid var(--lime); border-radius:18px; padding:1.3rem 1.35rem 1.2rem 3rem; box-shadow:none; }
.quote-card-clean .quote-mark { position:absolute; left:1.15rem; top:1.35rem; color:var(--green-600); font-size:1.05rem; }
.quote-card-clean p { font-size:1rem; font-weight:650; line-height:1.65; margin-bottom:.45rem; }
.quote-card-clean span { color:var(--green-700); font-weight:800; font-size:.8rem; }

/* Modal mais editorial, com respiro real */
.campaign-modal .modal-header { padding: 50px 50px 16px; }
.campaign-modal .modal-body { padding: 18px 50px 36px; }
.campaign-modal .modal-footer { padding: 16px 50px 50px; }
.campaign-modal .modal-body p { max-width: 930px; }

/* O Legado */
.impact-card-featured { display:grid; grid-template-columns:minmax(150px,220px) 1fr; align-items:center; gap:2rem; background:linear-gradient(125deg,var(--green-900),var(--green-700)); color:#fff; border:0; padding:2rem clamp(1.5rem,4vw,3rem); }
.impact-card-featured:hover { border-color:transparent; }
.impact-card-featured .featured-law-number { color:var(--lime); font-size:clamp(4.5rem,9vw,8.8rem); line-height:.78; font-weight:1000; letter-spacing:-.08em; }
.impact-card-featured .impact-icon { background:rgba(255,255,255,.10); color:var(--lime); margin-bottom:.8rem; border:1px solid rgba(255,255,255,.12); }
.impact-card-featured h3 { color:#fff; font-size:clamp(1.8rem,4vw,3.3rem); margin-bottom:.55rem; }
.impact-card-featured p { color:rgba(255,255,255,.76); max-width:760px; }
.legacy-quote-band { flex-direction:column; justify-content:center; text-align:center; padding:clamp(2rem,5vw,3.4rem); }
.legacy-quote-band h3 { max-width:900px; margin:0 auto; line-height:1.35; }
.legacy-quote-band .btn { margin-top:.35rem; }

/* Galeria contínua / feed fotográfico */
.photo-feed-section { position:relative; overflow:hidden; background:#fff; padding:3.2rem 0 0; }
.photo-feed-section-dark { background:var(--ink); color:#fff; }
.photo-feed-head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.photo-feed-head p { margin:0; color:var(--muted); font-size:.86rem; }
.photo-feed-section-dark .photo-feed-head p { color:rgba(255,255,255,.48); }
.photo-feed { width:100%; overflow:hidden; border-block:1px solid rgba(7,17,12,.08); }
.photo-feed-section-dark .photo-feed { border-color:rgba(255,255,255,.08); }
.photo-feed-track { display:flex; width:max-content; animation:photoFeedMove 42s linear infinite; will-change:transform; }
.photo-feed-reverse .photo-feed-track { animation-direction:reverse; animation-duration:48s; }
.photo-feed:hover .photo-feed-track { animation-play-state:paused; }
.photo-feed-item { width:clamp(220px,22vw,360px); height:clamp(220px,24vw,360px); margin:0; flex:0 0 auto; overflow:hidden; background:var(--soft); border-right:1px solid rgba(255,255,255,.12); }
.photo-feed-item img { width:100%; height:100%; object-fit:cover; filter:saturate(.9); transform:scale(1.01); transition:transform .5s ease, filter .5s ease; }
.photo-feed-item:hover img { transform:scale(1.045); filter:saturate(1.05); }
@keyframes photoFeedMove { from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* Elementos parallax da causa animal */
.parallax-paw { position:absolute; z-index:1; color:var(--green-600); opacity:.065; pointer-events:none; will-change:transform; }
.parallax-paw i { font-size:clamp(5rem,10vw,10rem); }
.parallax-paw-a { right:4%; top:5%; transform:rotate(18deg); }
.parallax-paw-b { right:6%; top:-55%; color:#fff; opacity:.08; transform:rotate(-18deg); }
.parallax-paw-c { left:4%; top:8%; color:var(--lime); opacity:.06; transform:rotate(16deg); }

/* Gama mais claro e com ícones clean */
.gama-band { background:linear-gradient(90deg,var(--green-700),var(--green-600)); padding:2.5rem 0; }
.gama-content { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:1rem; }
.gama-content .section-kicker { font-size:clamp(.9rem,2vw,1.15rem); }
.gama-icon { color:rgba(255,255,255,.75); font-size:1rem; }

/* Daniel nas ruas */
.info-card { transition:border-color .2s ease, transform .2s ease; }
.info-card-highlight { border:1px solid rgba(143,248,0,.8); box-shadow:inset 4px 0 0 var(--lime); background:linear-gradient(135deg,#fff,#fbfff4); }
.info-card-highlight h3 i { color:var(--green-700); }
.street-cta-centered { flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:1.5rem clamp(1rem,4vw,2.2rem); }
.street-cta-copy { max-width:820px; }
.street-cta-copy strong { font-size:1.05rem; margin-bottom:.3rem; }

/* Fale com Daniel — foto humana */
.contact-photo { margin:0; border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05); }
.contact-photo img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.contact-photo figcaption { padding:.75rem .9rem; font-size:.72rem; color:rgba(255,255,255,.48); }

/* Formulário */
.manifesto-form .form-select { background-color:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); color:#fff; border-radius:14px; }
.manifesto-form .form-select:focus { border-color:var(--lime); box-shadow:0 0 0 .22rem rgba(143,248,0,.12); }
.manifesto-form .form-select option { color:var(--ink); background:#fff; }

/* Ícones mais lineares / discretos em superfícies */
.impact-icon, .street-num, .download-list > div > span { box-shadow:none; }
.impact-icon { border:1px solid rgba(0,125,66,.10); background:transparent; color:var(--green-700); }
.street-num { font-size:1.05rem; }
.street-card::after { opacity:.10; }

@media (max-width: 767.98px) {
    .campaign-modal .modal-header { padding:28px 24px 12px; }
    .campaign-modal .modal-body { padding:14px 24px 26px; }
    .campaign-modal .modal-footer { padding:12px 24px 28px; }
    .impact-card-featured { grid-template-columns:1fr; gap:1rem; }
    .impact-card-featured .featured-law-number { font-size:5rem; }
    .photo-feed-head { align-items:flex-start; flex-direction:column; padding-inline:1rem; }
    .photo-feed-item { width:72vw; height:72vw; }
    .parallax-paw { display:none; }
}

@media (prefers-reduced-motion: reduce) {
    .photo-feed-track { animation:none; }
    .parallax-paw { transform:none !important; }
}
