:root {
    --vinho: #7f1422;
    --vinho-2: #5f0d18;
    --vinho-3: #3f0910;
    --dourado: #d4af37;
    --dourado-soft: #f6e8a9;
    --bg: #f6f8fb;
    --panel: #ffffff;
    --panel-2: #fbfcfe;
    --line: #e7edf4;
    --text: #172033;
    --muted: #69758a;
    --success-bg: #dcfce7;
    --success-text: #166534;
    --warning-bg: #fef3c7;
    --warning-text: #92400e;
    --danger-bg: #fee2e2;
    --danger-text: #991b1b;
    --shadow-sm: 0 8px 20px rgba(17, 24, 39, 0.05);
    --shadow-md: 0 18px 40px rgba(17, 24, 39, 0.08);
    --radius: 18px;
}

/* A apresentação e a composição da CPA pertencem à visão geral. */
.cpa-overview {
    scroll-margin-top: 96px;
    overflow: hidden;
}

.presentation-points { display: grid; gap: .75rem; margin-top: 1.4rem; }
.presentation-points > div { display: flex; gap: .8rem; padding: .9rem; border-radius: 12px; background: #f8fafc; }
.presentation-points i { width: 20px; margin-top: .2rem; color: var(--vinho); text-align: center; }
.presentation-points p, .presentation-points strong, .presentation-points span { display: block; margin: 0; }
.presentation-points strong { color: var(--text); font-size: .86rem; }
.presentation-points span { margin-top: .2rem; color: var(--muted); font-size: .8rem; line-height: 1.5; }

.goal-summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.goal-summary p { margin: 0; color: var(--muted); }
.goal-target { color: var(--vinho); font-size: clamp(1.5rem, 4vw, 2.7rem); white-space: nowrap; }
.goal-progress { height: 12px; margin: 1.2rem 0 .55rem; overflow: hidden; border-radius: 999px; background: #edf1f5; }
.goal-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--vinho), #c62d43); }
.participation-goal-card > small { color: var(--muted); }
.results-pending { display: flex; align-items: center; gap: 1.2rem; border-style: dashed; background: #fbfcfe; }
.results-pending > i { display: grid; place-items: center; width: 54px; height: 54px; flex: 0 0 auto; border-radius: 15px; color: var(--vinho); background: #f3e5e7; font-size: 1.3rem; }
.results-pending h4 { margin: .55rem 0 .35rem; }
.results-pending p { margin: 0; color: var(--muted); }

.insight-grid, .engagement-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.annual-bars { display: grid; gap: .8rem; }
.annual-bar-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) 42px; align-items: center; gap: .7rem; font-size: .82rem; }
.annual-bar-row b { text-align: right; color: var(--vinho); }
.annual-bar-track { height: 12px; overflow: hidden; border-radius: 999px; background: #edf1f5; }
.annual-bar-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--vinho), #c62d43); }
.growth-goal { display: flex; gap: .8rem; margin-top: 1.4rem; padding: 1rem; border-radius: 12px; background: #fff7e5; color: #6f4a00; }
.growth-goal i { margin-top: .2rem; }
.growth-goal strong, .growth-goal span { display: block; }
.growth-goal span { margin-top: .2rem; font-size: .78rem; line-height: 1.5; }

.dimension-table-wrap { overflow-x: auto; }
.dimension-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.dimension-table th { padding: .7rem; color: var(--muted); background: #f8fafc; text-align: left; }
.dimension-table td { padding: .75rem .7rem; border-top: 1px solid var(--line); }
.dimension-table td:last-child { color: var(--vinho); white-space: nowrap; }
.dimension-note { display: flex; gap: .5rem; margin: 1rem 0 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }

.instrument-list { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; counter-reset: instruments; }
.instrument-list li { display: flex; align-items: center; gap: .8rem; padding: .8rem; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; }
.instrument-list i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: var(--vinho); background: #f3e5e7; }
.instrument-list strong, .instrument-list small { display: block; }
.instrument-list strong { color: var(--text); font-size: .84rem; }
.instrument-list small { margin-top: .12rem; color: var(--muted); font-size: .72rem; }

.official-email { display: flex; align-items: center; gap: .8rem; margin: 1rem 0; padding: .9rem; border-radius: 12px; color: var(--vinho); background: #fff4f5; }
.official-email > i { font-size: 1.2rem; }
.official-email small, .official-email strong { display: block; }
.official-email small { color: var(--muted); font-size: .68rem; }
.suggestion-form { display: grid; gap: .55rem; }
.suggestion-form label { margin-top: .25rem; color: var(--text); font-size: .78rem; font-weight: 800; }
.suggestion-form select, .suggestion-form textarea { width: 100%; padding: .75rem; border: 1px solid #dce2e9; border-radius: 10px; color: var(--text); background: #fff; font: inherit; }
.suggestion-form textarea { resize: vertical; }
.suggestion-form button { padding: .78rem 1rem; border: 0; border-radius: 10px; color: #fff; background: var(--vinho); font-weight: 800; }
.suggestion-form > small { color: var(--muted); line-height: 1.5; }
.suggestion-honeypot { position: absolute !important; left: -9999px !important; }
.suggestion-success { margin-bottom: .8rem; padding: .75rem; border-radius: 10px; color: #166534; background: #dcfce7; font-size: .82rem; }

.annual-calendar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.annual-calendar-grid .timeline-month-shell { padding: 1rem; }
.annual-calendar-grid .timeline-month-head { margin-bottom: .8rem; }
.annual-calendar-grid .timeline-month-list { display: grid; grid-template-columns: 1fr; gap: .7rem; }
.calendar-empty { margin: 0; padding: .7rem; color: var(--muted); background: #f8fafc; border-radius: 9px; font-size: .76rem; }

.cpa-overview-head,
.commission-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
}

.cpa-overview-head .section-heading { max-width: 760px; }

.cpa-contact-link {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    flex: 0 0 auto;
    padding: .72rem .9rem;
    border: 1px solid rgba(127, 20, 34, .16);
    border-radius: 10px;
    color: var(--vinho);
    background: #fff;
    font-size: .84rem;
    font-weight: 800;
}

.cpa-contact-link:hover { background: #f9f2f3; color: var(--vinho); }

.cpa-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 2rem 0 2.25rem;
}

.cpa-role-item {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    padding: 1rem;
    border: 1px solid #e8edf2;
    border-radius: 14px;
    background: #f8fafc;
}

.cpa-role-item > i { margin-top: .2rem; color: var(--vinho); }
.cpa-role-item strong, .cpa-role-item span { display: block; }
.cpa-role-item strong { margin-bottom: .25rem; color: #202735; }
.cpa-role-item span { color: var(--muted); font-size: .84rem; line-height: 1.5; }

.commission-block {
    padding-top: 2rem;
    border-top: 1px solid #e8edf2;
}

.commission-count {
    padding: .42rem .7rem;
    border-radius: 999px;
    color: var(--vinho);
    background: #f7eaec;
    font-size: .76rem;
    font-weight: 800;
}

.commission-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.25rem;
}

.composition-panel { min-height: 100%; }
.commission-list-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.25rem; }
.commission-list-compact .commission-person { padding: .7rem; }
.commission-list-compact .member-silhouette { width: 36px; height: 36px; min-width: 36px; font-size: 1rem; }
.composition-note { display: flex; gap: .45rem; margin: 1rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.overview-metrics-wide .overview-metrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.overview-metrics-wide .metric-card { min-height: 170px; }

.commission-person {
    position: relative;
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: .8rem;
    border-radius: 12px;
    background: #f8fafc;
}

.commission-person.is-president {
    border: 1px solid rgba(196, 145, 27, .34);
    background: linear-gradient(135deg, #fffaf0, #fff);
    box-shadow: inset 3px 0 #d0a32b;
}

.commission-person.is-president .member-silhouette {
    color: #65101c;
    background: linear-gradient(145deg, #ffe7a3, #d5a62e);
    box-shadow: 0 0 0 4px rgba(213, 166, 46, .15), 0 6px 14px rgba(127, 20, 34, .14);
}

.president-badge {
    display: inline-flex !important;
    align-items: center;
    gap: .25rem;
    margin-left: auto;
    padding: .28rem .42rem;
    border-radius: 999px;
    color: #76520a !important;
    background: #fff0bd;
    font-size: .6rem !important;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
}

.commission-person .member-silhouette {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #bd263b, var(--vinho));
    box-shadow: 0 6px 14px rgba(127, 20, 34, .16);
    font-size: 1.2rem;
}

.commission-person strong,
.commission-person span { display: block; }
.commission-person strong { color: #202735; font-size: .84rem; line-height: 1.25; }
.commission-person span { margin-top: .18rem; color: var(--muted); font-size: .72rem; }

@media (max-width: 991px) {
    .commission-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .annual-calendar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .overview-metrics-wide .overview-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
    .cpa-overview-head,
    .commission-heading { flex-direction: column; gap: 1rem; }
    .cpa-role-grid { grid-template-columns: 1fr; }
    .insight-grid, .engagement-grid, .annual-calendar-grid { grid-template-columns: 1fr; }
    .commission-list-compact { grid-template-columns: 1fr; }
    .goal-summary { align-items: flex-start; flex-direction: column; }
    .results-pending { align-items: flex-start; }
}

@media (max-width: 520px) {
    .commission-list { grid-template-columns: 1fr; }
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(127,20,34,0.05), transparent 28%),
        radial-gradient(circle at top right, rgba(212,175,55,0.06), transparent 20%),
        linear-gradient(180deg, #f8fafc 0%, #f5f7fb 100%);
    color: var(--text);
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: -0.03em;
}

a {
    text-decoration: none;
}

/* Animações */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes pulseSoft {
    0%, 100% { box-shadow: 0 0 0 0 rgba(212,175,55,0.18); }
    50% { box-shadow: 0 0 0 14px rgba(212,175,55,0.00); }
}

@keyframes gradientPan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes bgMove {
    0% { background-position: 0% 0%, center center; }
    50% { background-position: 100% 100%, center center; }
    100% { background-position: 0% 0%, center center; }
}

@keyframes heroDrift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes heroLogoFloat {
    0% {
        transform: translateX(-1%) scale(1.02);
        opacity: 0.20;
    }
    50% {
        transform: translateX(1%) scale(1.04);
        opacity: 0.26;
    }
    100% {
        transform: translateX(-1%) scale(1.02);
        opacity: 0.20;
    }
}

@keyframes goldShimmer {
    0% { transform: translateX(-100%) translateY(-100%) rotate(30deg); opacity: 0; }
    20% { opacity: 0.15; }
    50% { transform: translateX(100%) translateY(100%) rotate(30deg); opacity: 0; }
    100% { opacity: 0; }
}

.animate-up {
    animation: fadeUp .7s cubic-bezier(.2,.8,.2,1) forwards;
    opacity: 0;
}

.delay-1 { animation-delay: .08s; }
.delay-2 { animation-delay: .16s; }
.delay-3 { animation-delay: .24s; }

/* Topbar */
.navbar-top {
    position: sticky;
    top: 0;
    z-index: 1040;
    backdrop-filter: blur(18px);
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(231,237,244,0.9);
    border-radius: 0 0 30px 30px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
    padding: .75rem 0;
}

.brand-logo {
    height: 58px;
    width: auto;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,0.08));
}

.brand-block {
    border-left: 2px solid var(--dourado);
    padding-left: 14px;
    margin-left: 14px;
    line-height: 1.05;
}

.brand-block .brand-main {
    color: var(--vinho);
    font-weight: 900;
    font-size: 1.15rem;
}

.brand-block .brand-sub {
    color: var(--muted);
    font-weight: 700;
    font-size: .75rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nav-premium {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: .4rem;
}

.nav-premium .nav-link {
    color: var(--muted);
    font-weight: 700;
    font-size: .84rem;
    border-radius: 16px;
    padding: .9rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
    min-width: 108px;
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
    background: transparent;
}

.nav-premium .nav-link i {
    font-size: 1.08rem;
}

.nav-premium .nav-link:hover,
.nav-premium .nav-link.active {
    color: var(--vinho);
    background: linear-gradient(180deg, rgba(127,20,34,0.08), rgba(127,20,34,0.02));
    transform: translateY(-1px);
}

.top-actions-premium {
    gap: .75rem;
}

.btn-top {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border-radius: 999px;
    padding: .78rem 1rem;
    font-weight: 800;
    font-size: .85rem;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
    border: 1px solid transparent;
    will-change: transform;
}

.btn-top i {
    font-size: .95rem;
}

.btn-top-outline {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #fff0bf, #f3c65e 58%, #d9991a);
    border-color: rgba(255, 223, 148, 0.88);
    color: #481300;
    box-shadow: 0 18px 34px rgba(240, 185, 73, 0.34);
    animation: pulseSoft 2.8s ease-in-out infinite;
}

.btn-top-outline:hover {
    background: linear-gradient(135deg, #fff5cf, #ffd36b 58%, #e1a323);
    color: #3d1000;
    transform: translateY(-2px);
    box-shadow: 0 22px 40px rgba(240, 185, 73, 0.40);
}

.btn-top-outline,
.btn-top-outline span,
.btn-top-outline i {
    color: #4f1800;
}

.btn-top-solid {
    background: linear-gradient(135deg, var(--vinho), #a31c2d);
    color: white;
    box-shadow: 0 12px 24px rgba(127,20,34,0.18);
}

.btn-top-solid,
.btn-top-solid span,
.btn-top-solid i {
    color: #fff;
}

.btn-top-solid:hover {
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(127,20,34,0.24);
}

.nav-premium .nav-link:active,
.btn-top:active,
.btn-shell:active,
.mobile-link:active,
.hub-card:active {
    transform: translateY(1px) scale(0.98);
}

.btn-shell,
.mobile-link,
.hub-card {
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
    will-change: transform;
}

.page-section {
    scroll-margin-top: 126px;
}

/* Hero */
.hero-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: 92px 0 110px;
    margin-bottom: 10px;
    border-radius: 34px;
    box-shadow: 0 26px 48px rgba(127, 10, 24, 0.20);
    color: white;
    background-image: linear-gradient(135deg, #7d0916 0%, #9d1020 32%, #b01224 58%, #7f0a18 100%);
    background-size: 220% 220%;
    background-position: 0% 50%;
    background-repeat: no-repeat;
    animation: none;
}

.hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(circle at 85% 25%, rgba(199, 154, 67, 0.14), transparent 42%),
        radial-gradient(circle at 15% 85%, rgba(255, 255, 255, 0.06), transparent 32%);
    pointer-events: none;
    animation: none;
    z-index: 1;
}

.hero-section::after {
    display: none;
}

.hero-inner {
    position: relative;
    z-index: 2;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.4rem;
    min-height: 420px;
    justify-items: center;
}

.hero-copy {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    backdrop-filter: blur(8px);
    border-radius: 999px;
    padding: .55rem 1rem;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: 1.2rem;
}

.hero-title {
    font-size: clamp(1.7rem, 4vw, 2.5rem);
    margin-bottom: .4rem;
    font-weight: 500;
    opacity: .92;
}

.hero-highlight {
    font-size: clamp(2.2rem, 5vw, 3.3rem);
    font-weight: 900;
    line-height: 1.05;
    background: linear-gradient(90deg, #FFFFFF, #FFE6A0, #FFFFFF);
    background-size: 200% auto;
    color: transparent;
    -webkit-background-clip: text;
    animation: gradientPan 3s linear infinite;
    display: inline-block;
}

.hero-subtitle {
    margin: 1rem auto 0;
    max-width: 760px;
    font-size: 1rem;
    line-height: 1.75;
    color: rgba(255,255,255,0.84);
}

.dynamic-text-container {
    font-size: 1.32rem;
    font-weight: 600;
    margin-top: 1.4rem;
    margin-bottom: 2rem;
}

.hero-actions {
    justify-content: center;
}

.hero-signature {
    margin-top: 1.2rem;
}

.hero-signature .portal-identity-item {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 30px rgba(40, 8, 13, 0.14);
}

.hero-signature .portal-identity-item strong {
    color: #fff5d9;
    font-size: 1.18rem;
}

.hero-signature .portal-identity-item span {
    color: rgba(255, 255, 255, 0.76);
}

#dynamic-word {
    color: var(--dourado-soft);
    border-bottom: 2px dashed rgba(212,175,55,0.85);
    padding-bottom: .1rem;
    display: inline-block;
    font-weight: 800;
    transition: opacity .35s ease, transform .35s ease;
}


/* Botões */
.btn-shell {
    border-radius: 999px;
    padding: .95rem 1.45rem;
    font-weight: 800;
    transition: .25s ease;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
}

.btn-primary-soft {
    background: linear-gradient(135deg, #fff4d1, #ffd983 52%, #f0b84a);
    color: #4a1400;
    border: 1px solid rgba(255, 235, 190, 0.94);
    box-shadow: 0 20px 36px rgba(66, 8, 14, 0.24);
}

.btn-primary-soft,
.btn-primary-soft span,
.btn-primary-soft i {
    color: #4a1804;
}

.btn-primary-soft:hover {
    transform: translateY(-2px);
    color: #341001;
    background: linear-gradient(135deg, #fff7de, #ffdf93 52%, #f4bf53);
    box-shadow: 0 24px 40px rgba(66, 8, 14, 0.26);
}

.btn-outline-glass {
    color: #fffdf8;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.30);
    backdrop-filter: blur(8px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.btn-outline-glass,
.btn-outline-glass span,
.btn-outline-glass i {
    color: #fffdf8;
}

.btn-outline-glass:hover {
    color: #fff;
    transform: translateY(-2px);
    background: rgba(255,255,255,0.18);
    border-color: rgba(255,255,255,0.40);
}

/* Layout das seções */
.page-sections {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.page-section {
    scroll-margin-top: 110px;
}

.section-shell {
    padding: 1.4rem 0;
    border-top: 1px solid rgba(127,20,34,0.08);
}

.page-section:first-child .section-shell {
    border-top: none;
    padding-top: 0;
}

/* Links mobile */
.mobile-section-links {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.mobile-link {
    padding: .8rem 1rem;
    border-radius: 999px;
    background: white;
    border: 1px solid var(--line);
    color: var(--vinho);
    font-weight: 800;
    box-shadow: var(--shadow-sm);
}

.mobile-link.active {
    background: linear-gradient(135deg, var(--vinho), #a31c2d);
    color: #fff;
    border-color: transparent;
}

.menu-hub {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: .9rem;
}

.hub-card {
    border-radius: 16px;
    border: 1px solid var(--line);
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
    padding: 1rem .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    color: var(--vinho);
    font-weight: 800;
    box-shadow: var(--shadow-sm);
    min-height: 78px;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}

.hub-card i {
    font-size: 1rem;
}

.hub-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    background: linear-gradient(180deg, #fff7f8 0%, #ffffff 100%);
}

.hub-card.active {
    background: linear-gradient(120deg, var(--vinho), #a31c2d);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 15px 25px rgba(127,20,34,0.2);
}

.hub-card span {
    position: relative;
}

.hub-card.active span::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.35rem;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(255,255,255,0.18), rgba(255,236,184,0.95), rgba(255,255,255,0.18));
}

/* Cards */
.surface-card {
    background: linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    overflow: hidden;
    isolation: isolate;
    position: relative;
}

.surface-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(212,175,55,0.8), rgba(127,20,34,0.14), transparent 85%);
    pointer-events: none;
}

.surface-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
    border-color: rgba(127,20,34,0.16);
}

.panel-header {
    background: linear-gradient(135deg, var(--vinho), var(--vinho-2));
    color: white;
    padding: 1rem 1.2rem;
    border-bottom: none;
}

.section-heading {
    margin-bottom: 1.4rem;
}

.section-heading .eyebrow {
    display: inline-block;
    background: rgba(127,20,34,0.08);
    color: var(--vinho);
    font-weight: 800;
    padding: .4rem .8rem;
    border-radius: 999px;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .7rem;
}

.section-heading h3,
.section-heading h4,
.section-heading h5 {
    margin-bottom: .35rem;
    letter-spacing: -0.04em;
}

.section-heading p {
    color: var(--muted);
    margin-bottom: 0;
    font-size: .96rem;
}

.info-card {
    border-left: 4px solid var(--dourado);
    background: linear-gradient(180deg, #fffdfd 0%, #fff7f8 100%);
}

.spotlight-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.spotlight-card::after {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(212,175,55,0.16), transparent 65%);
    pointer-events: none;
}

.lead-copy {
    font-size: 1rem;
    line-height: 1.9;
}

.overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 1.2rem;
    align-items: stretch;
}

.overview-story {
    min-height: 100%;
    border-color: rgba(176, 18, 36, 0.16);
    background: linear-gradient(180deg, #fffdfd 0%, #fff7f8 100%);
}

.overview-purpose {
    margin-top: 1.5rem;
    padding: 1rem 1.1rem;
    border-left: 3px solid var(--vinho);
    border-radius: 0 12px 12px 0;
    background: #f8fafc;
}

.overview-purpose strong {
    display: block;
    margin-bottom: .4rem;
    color: var(--vinho);
    font-size: .86rem;
}

.overview-purpose p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.6;
}

.overview-story-footer {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.overview-story-pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .72rem 1rem;
    border-radius: 999px;
    background: rgba(127,20,34,0.06);
    border: 1px solid rgba(127,20,34,0.10);
    color: var(--vinho);
    font-size: .82rem;
    font-weight: 800;
}


.metric-reading-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1.15rem;
}

.metric-reading-item {
    padding: 1rem 1.05rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(127,20,34,0.05), rgba(127,20,34,0.02));
    border: 1px solid rgba(127,20,34,0.08);
}

.metric-reading-item strong {
    display: block;
    color: var(--vinho);
    font-size: .86rem;
    margin-bottom: .35rem;
}

.metric-reading-item span {
    display: block;
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.6;
}

.overview-metrics-shell {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 1.4rem;
    color: var(--text);
    background: #fff;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--line);
}

.overview-metrics-shell::before { display: none; }

.overview-metrics-head {
    position: relative;
    z-index: 1;
    margin-bottom: 1rem;
}

.overview-metrics-head .eyebrow {
    background: #f7eaec;
    color: var(--vinho);
}

.overview-metrics-head h4,
.overview-metrics-head p {
    color: var(--text);
}

.overview-metrics-head p {
    opacity: .82;
}

.overview-metrics-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .95rem;
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 188px;
    padding: 1.25rem;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
}

.metric-card-interactive {
    appearance: none;
    width: 100%;
    border: 0;
    cursor: pointer;
}

.metric-card-front,
.metric-reveal {
    position: relative;
    z-index: 1;
}

.metric-card-front {
    transition: transform .28s ease, opacity .28s ease;
}

.metric-reveal {
    position: absolute;
    inset: 0;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .85rem;
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .28s ease, transform .28s ease;
}

.metric-card-interactive:hover .metric-card-front,
.metric-card-interactive.is-open .metric-card-front {
    opacity: 0;
    transform: translateY(-8px);
}

.metric-card-interactive:hover .metric-reveal,
.metric-card-interactive.is-open .metric-reveal {
    opacity: 1;
    transform: translateY(0);
}

.metric-reveal-label {
    display: inline-flex;
    width: fit-content;
    padding: .38rem .7rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.metric-reveal p {
    margin: 0;
    color: rgba(255,255,255,0.88);
    font-size: .85rem;
    line-height: 1.6;
}

.metric-mini-chart {
    display: flex;
    align-items: end;
    gap: .5rem;
}

.metric-bars-vertical {
    min-height: 86px;
}

.metric-bars-vertical span {
    flex: 1;
    min-width: 0;
    border-radius: 999px 999px 8px 8px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,215,96,0.58));
}

.metric-progress-chart {
    flex-direction: column;
    align-items: stretch;
    gap: .55rem;
}

.metric-progress-track {
    height: 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.14);
    overflow: hidden;
}

.metric-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffe29a, #ffffff);
}

.metric-progress-chart span {
    color: rgba(255,255,255,0.94);
    font-size: .84rem;
    font-weight: 800;
}

.metric-card-vivid {
    background: #f8fafc;
    border: 1px solid var(--line);
    box-shadow: none;
}

.metric-card-vivid::before { display: none; }

.metric-card-vivid::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.10));
    opacity: 0;
    transition: opacity .28s ease;
    pointer-events: none;
}

.metric-card-interactive:hover::after,
.metric-card-interactive.is-open::after {
    opacity: 1;
}

.metric-card-highlight {
    background: #fff7f8;
    border-color: rgba(127,20,34,.18);
    box-shadow: none;
}

.metric-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f3e5e7;
    color: var(--vinho);
    font-size: 1.08rem;
    margin-bottom: 1rem;
}

.metric-card-highlight .metric-icon-wrap {
    background: rgba(127,20,34,0.10);
    color: var(--vinho);
}

.metric-title {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--vinho);
    font-weight: 800;
}

.metric-value {
    font-size: clamp(2rem, 3.4vw, 3.1rem);
    font-weight: 900;
    line-height: .95;
    color: var(--text);
    margin-top: .75rem;
}

.metric-foot {
    font-size: .84rem;
    color: var(--muted);
    font-weight: 700;
    margin-top: auto;
    padding-top: 1rem;
}

.metric-card-highlight .metric-title,
.metric-card-highlight .metric-value,
.metric-card-highlight .metric-foot {
    color: var(--vinho);
}

.metric-card-highlight .metric-reveal-label {
    background: rgba(127,20,34,0.10);
    color: var(--vinho);
}

.metric-card-highlight .metric-reveal p,
.metric-card-highlight .metric-progress-chart span {
    color: rgba(95,13,24,0.88);
}

.metric-card-highlight .metric-progress-track {
    background: rgba(127,20,34,0.12);
}

.metric-card-highlight .metric-progress-fill {
    background: linear-gradient(90deg, #7f1422, #c0152c);
}

.chart-card {
    border-radius: 28px;
}

.chart-card-feature {
    border-color: rgba(127,20,34,0.12);
    background: linear-gradient(180deg, #ffffff 0%, #fff8f8 100%);
}

.chart-card-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.4rem;
    margin-bottom: 1.6rem;
    flex-wrap: wrap;
}

.dimension-signal-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    min-width: min(100%, 360px);
}

.dimension-signal-growth {
    min-width: min(100%, 420px);
}

.dimension-signal-item {
    padding: .95rem 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(127,20,34,0.08), rgba(127,20,34,0.02));
    border: 1px solid rgba(127,20,34,0.10);
    text-align: left;
}

.dimension-signal-label {
    display: block;
    font-size: .72rem;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 800;
    margin-bottom: .4rem;
}

.dimension-signal-item strong {
    font-size: 1.55rem;
    line-height: 1;
    color: var(--vinho);
}

.chart-box-integrated {
    height: clamp(300px, 44vw, 390px);
    padding: 1rem 1rem .35rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(127,20,34,0.04), rgba(255,255,255,0.80));
    border: 1px solid rgba(127,20,34,0.08);
    min-height: 300px;
}

.chart-card-feature canvas {
    width: 100% !important;
    height: 100% !important;
}

.chart-box {
    position: relative;
    height: 320px;
    width: 100%;
    min-height: 320px;
}

.chart-box-lg {
    height: 360px;
    min-height: 360px;
}

.nps-shell {
    position: relative;
    height: 200px;
}

.nps-number-wrap {
    position: absolute;
    left: 50%;
    top: 65%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.nps-score {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    color: var(--vinho);
}

.nps-label {
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: .35rem;
}

.legend-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .45rem 0;
}

.status-badge {
    border-radius: 999px;
    padding: .45rem .85rem;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.status-success {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-warning {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.action-board-featured .status-success {
    background: rgba(220,252,231,0.92);
}

.action-board-featured .status-warning {
    background: rgba(254,243,199,0.96);
}

.status-danger {
    background: var(--danger-bg);
    color: var(--danger-text);
}

.badge-date {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .48rem .8rem;
    border-radius: 999px;
    background: #fff7ed;
    color: #b45309;
    border: 1px solid #fed7aa;
    font-size: .78rem;
    font-weight: 800;
}

.kpi-mini {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border: 1px solid rgba(255,255,255,0.13);
    background: rgba(255,255,255,0.07);
    border-radius: 999px;
    padding: .55rem .9rem;
    font-size: .82rem;
    font-weight: 700;
    color: rgba(255,255,255,.9);
}

.gold-dot {
    width: 9px;
    height: 9px;
    background: var(--dourado);
    border-radius: 999px;
    animation: pulseSoft 1.8s infinite;
}

/* Ações */
.action-board {
    border-radius: 26px;
}

.action-board-featured {
    position: relative;
    border-color: rgba(127,20,34,0.14);
    background: linear-gradient(135deg, rgba(127,20,34,0.98), rgba(166,20,39,0.95));
    box-shadow: 0 26px 46px rgba(127,20,34,0.18);
}

.action-board-featured::before {
    content: "";
    position: absolute;
    inset: auto -60px -70px auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(255,216,122,0.24), transparent 68%);
    pointer-events: none;
}

.action-board-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.action-board-featured .section-heading .eyebrow {
    background: rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.94);
}

.action-board-featured .section-heading h4,
.action-board-featured .section-heading p,
.action-board-featured .action-text {
    color: white;
}

.action-board-featured .section-heading p {
    opacity: .84;
}

.action-board-featured .helper-muted {
    color: rgba(255,255,255,0.82);
}

.action-board-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .82rem 1rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.16);
    color: white;
    font-size: .82rem;
    font-weight: 800;
    white-space: nowrap;
}

.action-list {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.action-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.08));
    backdrop-filter: blur(10px);
    transition: .22s ease;
}

.action-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(58,8,14,0.14);
}

.action-item-left {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    min-width: 0;
}

.action-copy {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    min-width: 0;
}

.action-bullet {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--vinho), var(--dourado));
    flex-shrink: 0;
}

.action-text {
    font-weight: 700;
    color: var(--text);
}

.action-detail {
    color: rgba(255,255,255,0.82);
    font-size: .92rem;
    line-height: 1.65;
    text-wrap: pretty;
}

.timeline-months-grid {
    display: grid;
    gap: 1.25rem;
}

.timeline-month-shell {
    position: relative;
    overflow: hidden;
    padding: 1.15rem;
    border-radius: 26px;
    border: 1px solid rgba(127,20,34,0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,249,247,0.96));
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.06);
}

.timeline-month-shell::before {
    content: attr(data-month);
    position: absolute;
    right: 22px;
    bottom: -6px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(3.2rem, 10vw, 7.4rem);
    font-weight: 900;
    line-height: .85;
    letter-spacing: -0.08em;
    text-transform: uppercase;
    color: rgba(127,20,34,0.06);
    pointer-events: none;
    white-space: nowrap;
    z-index: 0;
}

.timeline-month-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .35rem .25rem 1rem;
}

.timeline-month-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(127,20,34,0.10), rgba(212,175,55,0.18));
    color: var(--vinho);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.timeline-month-count {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.timeline-month-list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

/* Cards específicos das seções */
.member-card,
.timeline-card,
.news-card,
.doc-card {
    border-radius: 22px;
}

.news-card-link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.news-card-link .news-card {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.news-card-link:hover .news-card,
.news-card-link:focus-visible .news-card {
    transform: translateY(-3px);
    border-color: rgba(127,20,34,.2);
    box-shadow: 0 18px 34px rgba(56,20,31,.1);
}

.news-card-link:focus-visible { outline: 3px solid rgba(127,20,34,.2); outline-offset: 4px; border-radius: 22px; }

.news-detail {
    width: min(940px,100%);
    margin: 0 auto 3rem;
    overflow: hidden;
    border: 1px solid rgba(127,20,34,.1);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 22px 50px rgba(42,17,24,.09);
}

.news-detail-back {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 1.35rem 1.5rem;
    color: var(--vinho);
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
}

.news-detail-image { display: block; width: 100%; max-height: 480px; object-fit: cover; }
.news-detail-body { padding: clamp(1.5rem,4vw,3.3rem); }
.news-detail-date { color: var(--vinho); font-size: .78rem; font-weight: 800; }
.news-detail-body h1 { max-width: 760px; margin: .8rem 0 1rem; color: #202837; font: 800 clamp(1.8rem,4vw,2.8rem)/1.15 Manrope,sans-serif; letter-spacing: -.04em; }
.news-detail-lead { max-width: 780px; margin: 0 0 1.7rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); color: #66748a; font-size: 1.05rem; line-height: 1.7; }
.news-detail-content { max-width: 780px; color: #394556; font-size: .98rem; line-height: 1.85; overflow-wrap: anywhere; }

.timeline-card {
    border: 1px solid rgba(127,20,34,0.08);
    background: linear-gradient(180deg, #ffffff, #fff9f7);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.04);
}

.timeline-card-hoverable {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.timeline-card-hoverable:hover {
    transform: translateY(-4px);
    border-color: rgba(127,20,34,0.16);
    box-shadow: 0 22px 34px rgba(15, 23, 42, 0.08);
}

.timeline-card-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.6em;
    max-height: 4.6em;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.75;
    transition: max-height .32s ease, color .2s ease, transform .24s ease;
}

.timeline-card-hoverable:hover .timeline-card-description,
.timeline-card-hoverable:focus-within .timeline-card-description {
    -webkit-line-clamp: unset;
    max-height: 18em;
    overflow: visible;
    color: var(--text);
    transform: translateY(2px);
}

.avatar-initials {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--vinho), #ad2436);
    color: white;
    font-size: 1.35rem;
    font-weight: 900;
    box-shadow: 0 12px 24px rgba(127,20,34,0.18);
}

.news-image {
    height: 195px;
    object-fit: cover;
    width: 100%;
}

.read-more {
    color: var(--vinho);
    font-weight: 800;
    font-size: .86rem;
}

.read-more:hover {
    color: var(--vinho-2);
}

.doc-card i {
    opacity: .88;
}

.doc-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 62px;
    padding: .38rem .72rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(127,20,34,0.12), rgba(212,175,55,0.18));
    color: var(--vinho);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.doc-card:hover i {
    transform: scale(1.05);
    transition: .2s ease;
}

/* Footer */
.footer-shell {
    background: rgba(255,255,255,0.88);
    border-top: 1px solid var(--line);
}

.contact-pill {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .9rem 1.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff, #f9fbfd);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}

.helper-muted {
    color: var(--muted);
}

.surface-card h6,
.surface-card h5,
.surface-card h4 {
    color: #111827;
}

@media (max-width: 991.98px) {
    .hero-section {
        padding: 82px 0 96px;
    }

    .hero-copy {
        max-width: 100%;
    }

    .overview-grid,
    .chart-card-topline {
        grid-template-columns: 1fr;
        display: grid;
    }

    .timeline-month-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chart-card-feature {
        padding: 1.3rem;
    }

    .chart-card-topline {
        gap: 1rem;
    }

    .dimension-signal-strip {
        min-width: 0;
        width: 100%;
    }

    .chart-box,
    .chart-box-lg {
        height: 330px;
        min-height: 330px;
    }

    .chart-box-integrated {
        height: 320px;
        min-height: 320px;
    }

    .nav-premium .nav-link {
        min-width: auto;
    }

    .menu-hub {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    html, body { max-width: 100%; overflow-x: clip; }
    .navbar-top, .hero-section, .page-sections { max-width: 100%; }
    .hero-section { padding: 66px 0 78px; }
    .hero-inner, .hero-grid, .hero-copy { width: 100%; min-width: 0; max-width: 100%; }
    .hero-kicker { max-width: 100%; justify-content: center; line-height: 1.45; text-align: center; }
    .hero-title, .hero-highlight, .hero-subtitle, .dynamic-text-container { max-width: 100%; overflow-wrap: anywhere; }
    .hero-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .hero-actions .btn-shell { width: min(100%, 280px); margin-inline: auto; justify-content: center; }
    .hero-highlight {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: .94rem;
    }

    .btn-top {
        padding: .72rem .9rem;
        font-size: .82rem;
    }

    .overview-metrics-grid,
    .dimension-signal-strip,
    .metric-reading-guide {
        grid-template-columns: 1fr;
    }

    .timeline-month-head,
    .timeline-month-list {
        grid-template-columns: 1fr;
    }

    .timeline-month-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .metric-card-interactive.is-open .metric-card-front {
        opacity: 0;
    }

    .metric-value {
        font-size: 2.2rem;
    }

    .metric-card {
        min-height: 210px;
    }

    .chart-box-integrated {
        height: 300px;
        min-height: 300px;
        padding: .85rem .45rem .25rem;
    }

    .chart-box,
    .chart-box-lg {
        height: 340px;
        min-height: 340px;
    }

    .dimension-signal-item strong {
        font-size: 1.35rem;
    }

    .action-board-head,
    .action-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .contact-pill {
        flex-direction: column;
        text-align: center;
        border-radius: 24px;
    }

    .menu-hub {
        grid-template-columns: 1fr;
    }
}

/* Perfil de renderização leve: evita repintura contínua durante a rolagem. */
html { scroll-behavior: auto !important; }
.hero-section,
.hero-section::before,
.hero-section::after,
.hero-logo-watermark,
.hero-highlight,
.animate-up,
.btn-primary-soft,
.btn-top-outline,
.gold-dot,
.status-indicator,
.dynamic-text-container::after {
    animation: none !important;
}

/* Ao usar o perfil leve, os elementos não podem conservar o estado inicial
   invisível da animação de entrada. */
.animate-up {
    opacity: 1 !important;
    transform: none !important;
}

.nav-link,
.btn-shell,
.metric-card-interactive,
.menu-hub-card,
.surface-card,
.doc-card {
    will-change: auto !important;
}

.navbar-top,
.mobile-navigation-wrap,
.hero-side-card,
.hero-stat-card,
.chart-card,
.footer-shell {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.page-section > .section-shell > * {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
}

@media (hover: none), (pointer: coarse) {
    .surface-card:hover,
    .metric-card:hover,
    .menu-hub-card:hover,
    .doc-card:hover,
    .btn-shell:hover {
        transform: none !important;
        box-shadow: var(--shadow-sm) !important;
    }
}
