:root {
    /* 
    ***
    *** CORES PRIMÁRIAS - 3 TONS
    ***
    */
    /* TEAL */
    --teal: #2FBEC9;
    --teal-rgba: rgba(78, 212, 175, 0.20);
    /* TEAL DEEP */
    --teal-deep: #2096B4;
    /* TEAL FAINT */
    --teal-faint: #E8F7F9;
    /* TEAL SOFT */
    --teal-soft: #A8E5EB;
    /* TEAL SATURADO */
    --teal-saturado-hex: #32B9CD;
    --teal-saturado-rgb: rgb(50, 185, 205);
    /* TEAL INTERMEDIÁRIO */
    --teal-intermediario-hex: #87DBE6;
    --teal-intermediario-rgb: rgb(135, 219, 230);
    /* TEAL CLARO */
    --teal-claro-hex: #DCFDFF;
    --teal-claro-rgb: rgb(220, 253, 255);

    /* CORAL */
    --coral: #FF8A6A;
    --coral-rgba: rgba(255, 138, 106, 0.18);
    /* CORAL DEEP */
    --coral-deep: #FF8A6A;
    /* CORAL FAINT */
    --coral-faint: #FFF1EC;
    /* CORAL BG SOFT */
    --coral-bg-soft: rgba(255, 138, 106, 0.12);
    /* CORAL SOFT */
    --coral-soft: #FFD3C5;
    /* CORAL SATURADO */
    --coral-saturado-hex: #FF8A6A;
    --coral-saturado-rgb: rgb(255, 138, 106);
    /* CORAL INTERMEDIÁRIO */
    --coral-intermediario-hex: #FFB098;
    --coral-intermediario-rgb: rgb(255, 176, 152);
    /* CORAL CLARO */
    --coral-claro-hex: #FFD6C5;
    --coral-claro-rgb: rgb(255, 214, 197);
    /* 
    ***
    *** CORES SECUNDÁRIAS - 3 TONS
    ***
    */
    /* AMARELO */
    --amarelo: #FFF980;
    --amarelo-rgba: rgba(255, 199, 60, 0.25);
    /* AMARELO DEEP */
    --amarelo-deep: #FFF87F;
    /* AMARELO FAINT */
    --amarelo-faint: #FBF3CC;
    /* AMARELO SATURADO */
    --amarelo-saturado-hex: #FFF87F;
    --amarelo-saturado-rgb: rgb(255, 248, 127);
    /* AMARELO INTERMEDIÁRIO */
    --amarelo-intermediario-hex: #FFFAA5;
    --amarelo-intermediario-rgb: rgb(255, 250, 165);
    /* AMARELO CLARO */
    --amarelo-claro-hex: #FFFBCB;
    --amarelo-claro-rgb: rgb(255, 251, 203);

    /* VERDE */
    --verde:#2FBE8A;
    /* VERDE DEEP */
    --verde-deep:#1F9D72;
    /* VERDE FAINT */
    --verde-faint:#E6F7EF;

    /* AMBER */
    --amber:#F4B940;
    /* AMBER DEEP */
    --amber-deep:#D69216;
    /* AMBER FAINT */
    --amber-faint:#FCF3DE;

    /* VERDE ÁGUA */
    --verde-agua: #4FD3B0;
    --verde-agua-rgba: rgba(78, 212, 175, 0.22);
    /* VERDE ÁGUA DEEP */
    --verde-agua-deep: #4ED4AF;
    /* VERDE ÁGUA FAINT */
    --verde-agua-faint: #E0F7EE;
    /* VERDE ÁGUA SATURADO */
    --verde-agua-saturado-hex: #4ED4AF;
    --verde-agua-saturado-rgb: rgb(78, 212, 175);
    /* VERDE ÁGUA INTERMEDIÁRIO */
    --verde-agua-intermediario-hex: #82DFC4;
    --verde-agua-intermediario-rgb: rgb(130, 223, 196);
    /* VERDE ÁGUA CLARO */
    --verde-agua-claro-hex: #B5EADA;
    --verde-agua-claro-rgb: rgb(181, 234, 218);

    /* VERDE ESCURO */
    --verde-escuro: #1FA585;
    --verde-escuro-rgba: rgba(78, 212, 175, 0.22);

    /* AZUL */
    --azul: #5A9BD4;
    /* AZUL DEEP */
    --azul-deep: #3674AD;
    /* AZUL FAINT */
    --azul-faint: #E6F0F9;

    /* AZUL PISCINA */
    --azul-piscina: #2395B4;
    --azul-piscina-rgba: rgba(47, 190, 201, 0.16);
    /* AZUL PISCINA DEEP */
    --azul-piscina-deep: #2096B4;
    /* AZUL PISCINA FAINT */
    --azul-piscina-faint: #DDEDF6;
    /* AZUL PISCINA SATURADO */
    --azul-piscina-saturado-hex: #2096B4;
    --azul-piscina-saturado-rgb: rgb(32, 150, 180);
    /* AZUL PISCINA INTERMEDIÁRIO */
    --azul-piscina-intermediario-hex: #5CB5CB;
    --azul-piscina-intermediario-rgb: rgb(92, 181, 203);
    /* AZUL PISCINA CLARO */
    --azul-piscina-claro-hex: #99D4E2;
    --azul-piscina-claro-rgb: rgb(153, 212, 226);

    /* AZUL ESCURO */
    --azul-escuro: #4059AD;
    --azul-escuro-rgba: rgba(0, 102, 166, 0.14);
    /* AZUL ESCURO DEEP */
    --azul-escuro-deep: #0066A6;
    /* AZUL ESCURO SATURADO */
    --azul-escuro-saturado-hex: #0066A6;
    --azul-escuro-saturado-rgb: rgb(0, 102, 166);
    /* AZUL ESCURO INTERMEDIÁRIO */
    --azul-escuro-intermediario-hex: #3E90BC;
    --azul-escuro-intermediario-rgb: rgb(62, 144, 188);
    /* AZUL ESCURO CLARO */
    --azul-escuro-claro-hex: #7DBBD2;
    --azul-escuro-claro-rgb: rgb(125, 187, 210);

    /* ÍNDIGO */
    --indigo: #0066A5;
    --indigo-rgba: rgba(63, 87, 175, 0.14);
    /* ÍNDIGO DEEP */
    --indigo-deep: #3F57AF;
    /* ÍNDIGO SOFT */
    --indigo-soft: #B5A6E5;
    /* ÍNDIGO FAINT */
    --indigo-faint: #F0EDFB;
    /* ÍNDIGO SATURADO */
    --indigo-saturado-hex: #3F57AF;
    --indigo-saturado-rgb: rgb(63, 87, 175);
    /* ÍNDIGO INTERMEDIÁRIO */
    --indigo-intermediario-hex: #8094D6;
    --indigo-intermediario-rgb: rgb(128, 148, 214);
    /* ÍNDIGO CLARO */
    --indigo-claro-hex: #C0D1FD;
    --indigo-claro-rgb: rgb(192, 209, 253);

    /* LAVANDA */
    /* --lavanda: #BDADEA;*/
    --lavanda: #6F4FB8;
    --lavanda-rgba: rgba(189, 174, 231, 0.30);
    /* LAVANDA DEEP */
    --lavanda-deep: #6E5DC2;
    /* LAVANDA FAINT */
    --lavanda-faint: #EFE9FA;
    /* LAVANDA SATURADO */
    --lavanda-saturado-hex: #BDAEE7;
    --lavanda-saturado-rgb: rgb(189, 174, 231);
    /* LAVANDA INTERMEDIÁRIO */
    --lavanda-intermediario-hex: #CFC4F3;
    --lavanda-intermediario-rgb: rgb(207, 196, 243);
    /* LAVANDA CLARO */
    --lavanda-claro-hex: #E1D9FF;
    --lavanda-claro-rgb: rgb(225, 217, 255);

    /* ROSE */
    --rose: #E76A8C;
    /* ROSE DEEP */
    --rose-deep: #C04968;
    /* ROSE FAINT */
    --rose-faint: #FBE6EC;

    /* VERMELHO */
    --vermelho: #FF5A5A;
    --vermelho-rgba: rgba(255, 138, 106, 0.18);
    /* VERMELHO DEEP */
    --vermelho-deep: #FF575D;
    /* VERMELHO FAINT */
    --vermelho-faint: #FFF1EC;

    /* VERMELHO SATURADO */
    --vermelho-saturado-hex: #FF575D;
    --vermelho-saturado-rgb: rgb(255, 87, 93);
    
    /* VERMELHO INTERMEDIÁRIO */
    --vermelho-intermediario-hex: #FF8085;
    --vermelho-intermediario-rgb: rgb(255, 128, 133);
    
    /* VERMELHO CLARO */
    --vermelho-claro-hex: #FFAAAD;
    --vermelho-claro-rgb: rgb(255, 170, 173);

    /* VERMELHO ESCURO */
    --vermelho-escuro: #E0383E;
    --vermelho-escuro-rgba: rgba(255, 87, 93, 0.14);

    --black: #000;
    --white: #fff;
    --red: #ff0000;
    --gray: #808080;
    --black_opacity: rgba(0, 0, 0, 0.7);
    --white_opacity: rgba(255, 255, 255, 0.7);
    --red_opacity: rgba(255, 0, 0, 0.7);
    --gray_opacity: rgba(128, 128, 128, 0.7);
    --bg_black_opacity: rgba(0, 0, 0, 0.8);
    --bg_white_opacity: rgba(255, 255, 255, 0.8);
    --bg_red_opacity: rgba(255, 0, 0, 0.8);
    --bg_gray_opacity: rgba(128, 128, 128, 0.8);
    
    /* INK */
    --ink: #1d1d1f;
    /* INK SOFT */
    --ink-soft: #6e6e73;
    /* INK QUIET */
    --ink-quiet: #a1a1a6;

    --header-bg: #1B1F22;
    --sidebar-bg: #f3f3f5;

    --dourado: #c28717;
    --roxo: #7E6CC0;
    --bg: #f7f7f7;
    --bg-card: #ffffff;
    --card: #ffffff;
    --line-bg: rgba(0,0,0,0.06);
    --line: #e5e5ea;
    --track: #ececf0;
    --women-deep: #8e8e93;
}
::-webkit-scrollbar{
    background-color: #262626;
    width: 10px;
}
::-webkit-scrollbar-thumb{
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    background: var(--teal);
    -webkit-box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.5);
    -moz-box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.5);
}
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}
html,
body {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
    position: relative;
    min-height: 100%;
    height: 100%;
}
body {
    color: var(--black);
    font-size: 1.1rem;
    line-height: 1.6rem;
}
a {
    text-decoration: none;
    color: var(--teal);
}
a:hover,
a:focus {
    color: var(--coral);
}
.erro-validacao {
    color: var(--red);
    display: block;
    margin: 1rem 0;
}
input.error,
textarea.error {
    border: 1px solid #d90000;
}
.is-invalid {
    border: 1px solid #dc3545;
}
.lato-thin {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: normal;
}
.lato-light {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
}
.lato-regular {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.lato-bold {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.lato-black {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: normal;
}
.lato-thin-italic {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: italic;
}
.lato-light-italic {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: italic;
}
.lato-regular-italic {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
}
.lato-bold-italic {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: italic;
}
.lato-black-italic {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: italic;
}
/* ===== Existing top header (NOT redesigned — kept as-is for context) ===== */
.top-header {
    background: #262626;
    color: #fff;
    /* preto oficial da marca (mais suave que #000) */
    display: flex;
    align-items: center;
    height: 80px;
    padding: 0 0 0 0;
    position: relative;
}
.top-header .brand-zone {
    width: 240px;
    background: var(--teal);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* ===== Longeviver brand mark (per guia de marca) ===== */
.brand-mark {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}
.top-header nav {
    display: flex;
    gap: 48px;
    margin-left: 60px;
}
.top-header nav a {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
}
.top-header nav a.active,
.top-header nav a:hover {
    color: var(--coral);
    border-bottom: 2px solid var(--coral);
    padding-bottom: 4px
}
/* ===== Existing left sidebar (NOT redesigned — kept as-is) ===== */
.layout {
    display: flex;
    min-height: calc(100vh - 80px)
}
.sidebar {
    width: 240px;
    background: var(--sidebar-bg);
    flex-shrink: 0;
    border-right: 1px solid var(--line);
    padding: 8px 0;
}
.sidebar a {
    display: block;
    padding: 14px 20px;
    color: var(--ink);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    border-bottom: 1px solid #e8e8ec;
    line-height: 1.2;
}
.sidebar a:hover {
    background: #ebebef
}
.sidebar a.active {
    background: #D5EEF1;
    color: var(--ink);
    font-weight: 700;
    border-left: 3px solid var(--teal);
    padding-left: 17px;
}
/* MENU RESPONSIVO */
.navbar-burger {
    width: 1.9rem;
    height: 1.5rem;
    transition: .5s ease-in-out;
    cursor: pointer;
    position: fixed;
    z-index: 1100;
    top: 15px;
    right: 20px;
}
.navbar-burger, .navbar-burger span {
    display: block;
    transform: rotate(0deg);
}
.navbar-burger span {
    position: absolute;
    height: 3px;
    width: 100%;
    background: #000;
    border-radius: 3px;
    opacity: 1;
    left: 0;
    transition: .25s ease-in-out;
    margin: 3px;
}
.navbar-burger span:first-child {
    top: 0;
}
.navbar-burger span:nth-child(2) {
    top: 9px;
}
.navbar-burger span:nth-child(3) {
    top: 18px;
}
.navbar-burger.active span:first-child {
    top: 9px;
    transform: rotate(135deg);
}
.navbar-burger.active span:nth-child(2) {
    opacity: 0;
}
.navbar-burger.active span:nth-child(3) {
    top: 9px;
    transform: rotate(-135deg);
}
.navbar-burger:before {
    background-color: rgba(255, 255, 255, 0.6);
    position: absolute;
    content: '';
    height: 30px;
    width: 45px;
    right: -10px;
    top: 0;
}
#btn-menu-mobile {
    background: none;
    border: none;
    display: none;
}
#overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
}
#overlay.active {
    display: block;
}
/* Menu Mobile */
#menu-mobile {
    position: fixed;
    top: 0;
    right: -100%;
    width: 360px;
    max-width: 100%;
    height: 100vh;
    background: #fff;
    transition: right .35s ease;
    z-index: 999;
    overflow-y: auto;

    display: flex;
    flex-direction: column;
}
#menu-mobile.active {
    right: 0;
}
/* Estrutura */
.mobile-logo {
    padding: 30px;
    border-bottom: 1px solid #eee;
}
.mobile-left a {
    display: block;
    padding: 14px 20px;
    color: var(--ink);
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    border-bottom: 1px solid #e8e8ec;
    line-height: 1.2;
}
.mobile-left a:hover {
    background: #ebebef
}
.mobile-left a.active {
    background: #D5EEF1;
    color: var(--ink);
    font-weight: 700;
    border-left: 3px solid var(--teal);
    padding-left: 17px;
}
.mobile-main {
    flex-direction: column;
    background: #34495e;
    font-size: 1rem;
    display: flex;
    margin: 0;
    padding: 0;
}
.mobile-main a {
    border-bottom: 1px solid var(--teal);
    color: var(--white);
    padding: 14px 20px;
    display: block;
}
.mobile-main a.active,
.mobile-main a:active,
.mobile-main a:hover,
.mobile-main a:focus {
    background-color: #dcfdff;
    color: var(--teal);
}
.degrade:before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 100%;
    height: 100%;
    background: linear-gradient(
        180deg,
        rgba(0,0,0,0.42) 0%,
        rgba(0,0,0,0.18) 50%,
        rgba(0,0,0,0.00) 100%
    );
    pointer-events: none;
}
.degrade.overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.16);
    pointer-events: none;
    z-index: 0;
}
.degrade.overlay {
    filter: saturate(0.88);
}
/* ===== Main content (REDESIGNED) ===== */
.main {
    flex: 1;
    background: var(--bg);
    min-width: 0
}
/* --- Hero --- */
.hero {
    position: relative;
    min-height: 520px;
    background: #0F1620;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.hero .bg-photo {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 30%;
    opacity: .75;
}
/* Soft tonal wash + brand halos (photo is already dark-treated) */
.hero .bg-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(15, 22, 32, 0.45) 0%, rgba(15, 22, 32, 0.20) 55%, rgba(15, 22, 32, 0.05) 100%), radial-gradient(circle at 80% 30%, rgba(47, 190, 201, 0.16), transparent 50%), radial-gradient(circle at 20% 80%, rgba(255, 138, 106, 0.10), transparent 45%);
}
.hero h1,
.hero p {
    text-shadow: 0 2px 14px rgba(15, 22, 32, 0.45), 0 1px 4px rgba(15, 22, 32, 0.25);
}
.hero-content {
    position: relative;
    z-index: 2;
    padding: 88px 64px;
    max-width: 920px;
}
.hero .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 138, 106, 0.22);
    border: 1px solid rgba(255, 138, 106, 0.55);
    color: #fff;
    /* texto branco para ficar mais punchy */
    padding: 9px 22px;
    border-radius: 999px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 24px;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 14px rgba(255, 138, 106, 0.18);
}
.hero .eyebrow .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--coral);
    box-shadow: 0 0 0 5px rgba(255, 138, 106, 0.30);
}
.hero h1 {
    color: #fff;
    font-size: clamp(45px, 1.4vw, 48px);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.1;
    margin-bottom: 22px;
}
/* "oportunidades de desenvolvimento" — gradient FORTE (saturado, sem esmaecer) */
.hero h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 900;
    text-shadow: none;
    filter: saturate(1.35) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
}
.hero h1 .accent .t,
.hero h1 .accent .c {
    color: inherit;
    font-weight: inherit;
}
.hero p {
    color: rgba(255, 255, 255, .95);
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    /* lede em bold */
    line-height: 1.5;
    /*max-width: 680px;*/
    margin-bottom: 36px;
}
.hero p.lede-strong {
    font-weight: 700;
    color: #ffffff;
}
.hero .cta-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center
}
/* Hero photo banner — proporcao do home (min-height 520px) */
.hero-banner {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background: #0F1620;
}
.hero-banner .bg-photo {
    position: absolute;
    inset: 0;
    background-size: cover;
    /*background-position: center 30%;*/
    background-position: center 78%;
    opacity: .75;
}
/* Wash sutil pra integrar com o header escuro */
.hero-banner .bg-wash {
    position: absolute;
    inset:0;
    background: linear-gradient(180deg, rgba(38,38,38,0.18) 0%, rgba(38,38,38,0) 22%), radial-gradient(circle at 80% 30%, rgba(47,190,201,0.10), transparent 50%), radial-gradient(circle at 20% 80%, rgba(255,138,106,0.08), transparent 45%);
}
.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--coral), var(--coral-deep));
    color: #fff;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(255, 87, 93, 0.35);
    transition: transform .15s ease, box-shadow .15s ease;
    font-family: inherit;
}
.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(255, 87, 93, 0.45)
}
.btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 14px 22px;
    border-radius: 999px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .25);
    transition: background .15s ease;
}
.btn-ghost:hover {
    background: rgba(255, 255, 255, .08)
}
.hero-stats {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 56px;
    padding: 0 64px 72px;
}
.hs {
    color: #fff
}
.hs .v {
    font-size: 46px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1
}
.hs .v .u {
    font-size: 18px;
    font-weight: 600;
    color: rgba(255, 255, 255, .75);
    margin-left: 4px;
    display: block;
    margin-top: 4px
}
.hs .l {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    margin-top: 10px
}
.hs.t .v {
    background: linear-gradient(135deg, #A8E5EB, var(--teal));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}
.hs.c .v {
    background: linear-gradient(135deg, #FFD3C5, var(--coral));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}
.hs.w .v {
    background: linear-gradient(135deg, #7BE5C2 0%, #2FBE8A 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}
/* verde agua — mais nitido no escuro */
/* --- "O que somos" --- */
.section {
    padding: 96px 64px
}
.section-eyebrow {
    display: inline-block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.section-title {
    font-size: clamp(35px, 1.4vw, 38px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 16px;
    /*max-width: 780px;*/
}
.section-lead {
    font-size: clamp(16px, 1.4vw, 17px);
    color: var(--ink-soft);
    font-weight: 400;
    line-height: 1.5;
    /*max-width: 680px;*/
    margin-bottom: 48px;
}
#o-que-somos .section-title span {
    color: var(--teal-deep);
    font-style: normal;
}
#o-que-somos .qsomos-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}
#o-que-somos .qsomos-statement {
    font-size: clamp(20px, 1.4vw, 26px);
    font-weight: 300;
    line-height: 1.35;
    letter-spacing: -.01em;
    color: var(--ink);
}
#o-que-somos .qsomos-statement span {
    font-weight: 700;
    background: linear-gradient(135deg, var(--teal-deep), var(--teal));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
#o-que-somos .qsomos-body {
    font-size: clamp(14.5px, 1.4vw, 15.5px);
    color: var(--ink);
    line-height: 1.7;
}
#o-que-somos .qsomos-body span {
    font-weight: 700;
}
.qsomos-body p+p {
    margin-top: 14px
}
.pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 64px;
}
.pillar {
    background: var(--card);
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 12px 32px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
}
.pillar .pi {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}
.pillar.a .pi {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.pillar.b .pi {
    background: var(--coral-faint);
    color: var(--coral-deep)
}
.pillar.c .pi {
    background: #F0EDFB;
    color: var(--indigo)
}
.pillar h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 6px;
}
.pillar p {
    font-size: clamp(13.5px, 1.4vw, 14.5px);
    color: var(--ink-soft);
    line-height: 1.5;
}
/* --- "Nosso propósito" (photo card) --- */
.proposito-wrap {
    padding: 24px 64px 96px
}
.proposito {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    min-height: 380px;
    padding: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1B2330;
}
.proposito .bg {
    background-image: url('../images/bg-nosso-proposito.jpg');
    background-size: cover;
    background-position: center 30%;
    position: absolute;
    opacity: .55;
    inset: 0;
}
.proposito .ov {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(27, 35, 48, 0.78) 0%, rgba(27, 35, 48, 0.4) 50%, rgba(27, 35, 48, 0.78) 100%), radial-gradient(circle at 70% 30%, rgba(47, 190, 201, 0.18), transparent 55%);
}
.proposito-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 760px;
}
.proposito .ey {
    display: inline-block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    padding: 6px 14px;
    border-radius: 999px;
    backdrop-filter: blur(8px);
    margin-bottom: 22px;
}
.proposito h2 {
    color: #fff;
    font-size: clamp(34px, 1.4vw, 35px);
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -.015em;
}
.proposito h2 b {
    font-weight: 700;
    background: linear-gradient(135deg, var(--teal-soft), var(--coral-soft));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
/* --- Access cards (Saiba mais / Observatório) --- */
.access {
    padding: 0 64px 96px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}
.acard {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: var(--card);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 12px 32px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    min-height: 280px;
    text-decoration: none;
    color: inherit;
    transition: transform .2s ease, box-shadow .2s ease;
}
.acard * {
    text-decoration: none
}
.acard:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04), 0 20px 40px rgba(0, 0, 0, 0.08)
}
.acard.coral {
    background: linear-gradient(135deg, #FFE4D9 0%, #FFF1EC 60%, #FFFAF7 100%);
}
.acard.teal {
    background: linear-gradient(135deg, #D5F2F6 0%, #E8F7F9 60%, #F5FBFC 100%);
}
.acard .ac-art {
    position: absolute;
    right: -20px;
    top: -20px;
    width: 280px;
    height: 280px;
    opacity: .6;
}
.acard .ac-body {
    position: relative;
    z-index: 2;
    padding: 34px 32px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.acard .ac-tag {
    display: inline-block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 5px 11px;
    border-radius: 999px;
    margin-bottom: 14px;
    width: fit-content;
}
.acard.coral .ac-tag {
    background: #fff;
    color: var(--coral-deep)
}
.acard.teal .ac-tag {
    background: #fff;
    color: var(--teal-deep)
}
.acard h3 {
    font-size: clamp(24px, 1.4vw, 25px);
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--ink);
    margin-bottom: 10px;
    max-width: 80%;
}
.acard .ac-desc {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.5;
    margin-bottom: 24px;
    max-width: 84%;
    flex: 1;
}
.acard .ac-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    font-size: clamp(13.5px, 1.4vw, 14.5px);
    font-weight: 700;
    padding: 11px 20px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff;
}
.acard.coral .ac-cta {
    background: linear-gradient(135deg, var(--coral), var(--coral-deep));
    box-shadow: 0 6px 18px rgba(255, 87, 93, 0.28);
}
.acard.teal .ac-cta {
    background: linear-gradient(135deg, var(--teal), var(--teal-deep));
    box-shadow: 0 6px 18px rgba(47, 190, 201, 0.28);
}
.theme-intro {
    padding: 64px 64px 32px;
    /*max-width: 980px;*/
}
.theme-accordion {
    padding: 0 64px 32px 64px;
    /*max-width: 980px;*/
}
.accordion {
    width: 100%;
}
.accordion .accordion-card {
    background: linear-gradient(135deg, var(--teal-deep), var(--teal));
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    margin-bottom: 12px;
}
.accordion .accordion-card:hover,
.accordion .accordion-card.active {
	background: linear-gradient(135deg, #D5EEF1, var(--teal));
}
.accordion .accordion-card .accordion-header {
    padding: 0.3rem 0.6rem;
    display: flex;
    align-items: center;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: bold;
    color: var(--white);
	border-radius: 2rem;
	cursor: pointer;
}
.accordion .accordion-card:hover .accordion-header,
.accordion .accordion-card.active .accordion-header {
	color: var(--teal-deep);
}
.accordion .accordion-card .accordion-header:before {
    content: "";
    background-image: url("../images/icone-seta-right.svg");
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    width: 12px;
    height: 12px;
    transition: transform 0.3s;
    padding: 0.5rem;
    margin: 0.5rem;
}
.accordion .accordion-card.active .accordion-header:before {
    transform: rotate(90deg);
}
.accordion .accordion-card .accordion-content {
    display: none;
    background: #f6f6f5;
    border-radius: 0 0 25px 25px;
}
.accordion .accordion-card.active .accordion-content {
    border-top: 2px solid #e6e6e6;
    padding: 1.5rem;
    display: block;
}
.accordion .accordion-card.active .accordion-content .header .eyebrow.coral {
    color: var(--coral);
}
.accordion .accordion-card.active .accordion-content .header .eyebrow.coral::before {
    background: var(--coral);
    content: "";
    width: 20px;
    height: 2px;
}
.accordion .accordion-card.active .accordion-content .header h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.accordion .accordion-card.active .accordion-content .header .eyebrow.teal {
    color: var(--teal);
}
.accordion .accordion-card.active .accordion-content .header .eyebrow.teal::before {
    background: var(--teal);
    content: "";
    width: 20px;
    height: 2px;
}
.accordion .accordion-card.active .accordion-content .header h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* TEMAS */
/* ===== Page header (sem foto, apenas título) ===== */
.page-head {
    padding: 72px 64px 28px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.page-head .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.page-head h1 {
    font-size: 48px;
    font-weight: 700;
    letter-spacing: -.03em;
    color: var(--ink);
    line-height: 1.1;
    margin-bottom: 12px;
}
.page-head h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.page-head p.lede {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
}
/* ===== Themes grid (Opção 2 — Clean Grid: 3 em cima, 2 embaixo) ===== */
.themes-wrap {
    padding: 24px 64px 80px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.themes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
/* Cards 4 e 5 (segunda linha) — 2 colunas centralizadas, mesmo tamanho */
.themes-grid .tcard:nth-child(4),
.themes-grid .tcard:nth-child(5) {
    grid-column: span 1;
}
.themes-grid::after {
    content: "";
}
/* Centraliza a segunda linha (2 cards): empurra o primeiro da seg linha para coluna 1, mas com offset */
.themes-grid {
    grid-template-areas: "a b c" "d e .";
}
.themes-grid .tcard:nth-child(1) {
    grid-area: a
}
.themes-grid .tcard:nth-child(2) {
    grid-area: b
}
.themes-grid .tcard:nth-child(3) {
    grid-area: c
}
.themes-grid .tcard:nth-child(4) {
    grid-area: d
}
.themes-grid .tcard:nth-child(5) {
    grid-area: e
}
.tcard {
    background: var(--card);
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 4px 14px rgba(0, 0, 0, 0.045);
    transition: transform .25s ease, box-shadow .25s ease;
    border: 1px solid #ececef;
}
.tcard * {
    text-decoration: none
}
.tcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 16px 36px rgba(0, 0, 0, 0.09);
}
.tcard .photo {
    aspect-ratio: 16/10;
    background-size: cover;
    background-position: center;
    position: relative;
}
/* Stripe colorida (faixa accent acima do conteúdo) */
.tcard .stripe {
    height: 5px;
    width: 100%;
}
.tcard .body {
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.tcard .tag {
    align-self: flex-start;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
}
.tcard h3 {
    font-size: clamp(18px, 1.4vw, 19px);
    font-weight: 700;
    letter-spacing: -.018em;
    color: var(--ink);
    line-height: 1.25;
}
.tcard .arrow {
    font-size: clamp(13px, 1.4vw, 14px);
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: var(--ink-soft);
}
.tcard:hover .arrow {
    color: var(--ink)
}
.tcard .arrow .ar {
    display: inline-block;
    transition: transform .2s ease;
}
.tcard:hover .arrow .ar {
    transform: translateX(3px)
}
/* Cores por tema */
.tcard.c-teal .stripe {
    background: linear-gradient(90deg, var(--teal) 0%, var(--teal-deep) 100%)
}
.tcard.c-teal .tag {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.tcard.c-teal .arrow:hover {
    color: var(--teal-deep)
}
.tcard.c-vermelho .stripe {
    background: linear-gradient(90deg, var(--vermelho) 0%, var(--vermelho-deep) 100%)
}
.tcard.c-vermelho .tag {
    background: var(--vermelho-faint);
    color: var(--vermelho-deep)
}
.tcard.c-verde .stripe {
    background: linear-gradient(90deg, #7BE5C2 0%, var(--verde) 100%)
}
.tcard.c-verde .tag {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
.tcard.c-amber .stripe {
    background: linear-gradient(90deg, #F9D27A 0%, var(--amber) 100%)
}
.tcard.c-amber .tag {
    background: var(--amber-faint);
    color: var(--amber-deep)
}
.tcard.c-lavanda .stripe {
    background: linear-gradient(90deg, #BDB1EE 0%, var(--lavanda) 100%)
}
.tcard.c-lavanda .tag {
    background: var(--lavanda-faint);
    color: var(--lavanda-deep)
}
/* O ENVELHECER FEMININO */
/* Theme intro section */
.o-envelhecer-feminino.theme-intro .intro .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.o-envelhecer-feminino.theme-intro h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.o-envelhecer-feminino.theme-intro h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.o-envelhecer-feminino.theme-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
}
.o-envelhecer-feminino.theme-intro p strong {
    color: var(--ink);
    font-weight: 700;
}
.o-envelhecer-feminino .section-title {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    text-align: center;
}
/* Theme accordion section */
.o-envelhecer-feminino.theme-accordion .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.o-envelhecer-feminino.theme-accordion .eyebrow.teal {
    color: var(--teal-deep);
    background: var(--teal-faint);
}
.o-envelhecer-feminino.theme-accordion .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint);
}
.o-envelhecer-feminino.theme-accordion h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.o-envelhecer-feminino.theme-accordion h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.o-envelhecer-feminino.theme-accordion h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.o-envelhecer-feminino.theme-accordion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.o-envelhecer-feminino.theme-accordion p strong {
    color: var(--ink);
    font-weight: 700;
}
.o-envelhecer-feminino .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.o-envelhecer-feminino .stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.o-envelhecer-feminino .stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 8px 22px rgba(0,0,0,0.05);
}
.o-envelhecer-feminino .stat .num {
    font-size: clamp(40px, 5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.95;
    display: inline-block;
    margin-bottom: 10px;
}
.o-envelhecer-feminino .stat .num.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.o-envelhecer-feminino .stat .num.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.o-envelhecer-feminino .stat .num .unit { font-size: 0.4em; font-weight: 600; margin-left: 3px; }
.o-envelhecer-feminino .stat p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.45;
}
.o-envelhecer-feminino .stat p strong { font-weight: 600; }
.o-envelhecer-feminino .stat p .quiet { color: var(--ink-soft); font-weight: 400; }
/* qualitative card */
.o-envelhecer-feminino .stat.qualitative .headline {
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin-bottom: 8px;
}
.o-envelhecer-feminino .stat.qualitative .headline.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* why */
.o-envelhecer-feminino .why {
    background: linear-gradient(135deg, rgba(47,190,201,0.06), rgba(255,138,106,0.04));
    border-radius: 16px;
    padding: 22px 24px;
}
.o-envelhecer-feminino .why h3 {
    font-size: clamp(18px, 1.4vw, 20px)
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.o-envelhecer-feminino .why h3 .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.o-envelhecer-feminino .why p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-bottom: 8px;
}
.o-envelhecer-feminino .why p:last-child { margin-bottom: 0; }
.o-envelhecer-feminino .why p strong { color: var(--ink); font-weight: 700; }
.o-envelhecer-feminino .accordion-1 .cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.o-envelhecer-feminino .accordion-1 .card {
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 22px 20px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: flex;
    flex-direction: column;
}
.o-envelhecer-feminino .accordion-1 .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 8px 22px rgba(0,0,0,0.05);
}
.o-envelhecer-feminino .accordion-1 .tag {
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 600;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--ink-quiet); margin-bottom: 14px;
}
.o-envelhecer-feminino .accordion-1 .viz {
    height: 110px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 16px;
    position: relative;
}
.o-envelhecer-feminino .accordion-1 .card h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 4px;
}
.o-envelhecer-feminino .accordion-1 .card p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.o-envelhecer-feminino .accordion-1 .card p strong { color: var(--ink); font-weight: 500; }
/* Card 1 — hours */
.o-envelhecer-feminino .accordion-1 .hours-display { text-align: center; }
.o-envelhecer-feminino .accordion-1 .hours-num {
    font-size: 56px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.9;
    display: inline-block;
}
.o-envelhecer-feminino .accordion-1 .hours-num.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.o-envelhecer-feminino .accordion-1 .hours-num .h-unit { font-size: 0.45em; }
.o-envelhecer-feminino .accordion-1 .hours-sub {
    font-size: 10px; font-weight: 500;
    color: var(--ink-soft);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 4px;
}
.o-envelhecer-feminino .accordion-1 .hours-pill {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 10px;
    background: rgba(255, 87, 93, 0.1);
    border-radius: 99px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    letter-spacing: -0.005em;
}
.o-envelhecer-feminino .accordion-1 .hours-pill.coral {
    color: var(--coral-deep);
}
/* Card 2 — donut */
.o-envelhecer-feminino .accordion-1 .donut-wrap { position: relative; width: 110px; height: 110px; }
.o-envelhecer-feminino .accordion-1 .donut-svg { transform: rotate(-90deg); width: 100%; height: 100%; }
.o-envelhecer-feminino .accordion-1 .donut-track { fill: none; stroke: var(--track); stroke-width: 10; }
.o-envelhecer-feminino .accordion-1 .donut-progress {
    fill: none; stroke: url(#coral-grad); stroke-width: 10; stroke-linecap: round;
    stroke-dasharray: 314.16; stroke-dashoffset: 146.71; /* 53.3% filled */
    transition: stroke-dashoffset 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.o-envelhecer-feminino .accordion-1 .donut-center {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
}
.o-envelhecer-feminino .accordion-1 .donut-pct {
    font-size: 24px; font-weight: 700;
    letter-spacing: -0.03em; color: var(--ink);
}
.o-envelhecer-feminino .accordion-1 .donut-pct .small { font-size: 0.55em; font-weight: 600; }
.o-envelhecer-feminino .accordion-1 .donut-label {
    font-size: 9px; font-weight: 500;
    color: var(--ink-soft);
    letter-spacing: 0.05em; text-transform: uppercase;
    margin-top: 1px;
}
/* Card 3 — bars */
.o-envelhecer-feminino .accordion-1 .bars { width: 100%; display: flex; flex-direction: column; gap: 10px; }
.o-envelhecer-feminino .accordion-1 .bar-row {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    align-items: center; gap: 8px;
}
.o-envelhecer-feminino .accordion-1 .bar-label {
    font-size: clamp(13px, 1.4vw, 13px);
    font-weight: 500;
    color: var(--ink-soft);
}
.o-envelhecer-feminino .accordion-1 .bar-track {
    height: 8px;
    background: var(--track);
    border-radius: 99px;
    overflow: hidden;
}
.o-envelhecer-feminino .accordion-1 .bar-fill {
    height: 100%;
    border-radius: 99px;
    width: 0;
    transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.o-envelhecer-feminino .accordion-1 .bar-fill.women { background: linear-gradient(90deg, #BFBFC7, #9a9aa3); width: 81.4%; }
.o-envelhecer-feminino .accordion-1 .bar-fill.men.coral   { background: linear-gradient(90deg, var(--coral), var(--coral-deep)); width: 100%; }
.o-envelhecer-feminino .accordion-1 .bar-value {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    color: var(--ink);
    min-width: 50px;
    text-align: right;
}
.o-envelhecer-feminino .accordion-1 .gap-pill {
    display: inline-flex; align-items: center; gap: 4px;
    margin: 8px auto 0;
    background: rgba(47, 190, 201, 0.1);
    padding: 4px 10px;
    border-radius: 99px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
}
.o-envelhecer-feminino .accordion-1 .gap-pill.teal {
    color: var(--teal-deep);
}
.o-envelhecer-feminino .accordion-1 .gap-pill svg { width: 10px; height: 10px; }
/* Insight banner */
.o-envelhecer-feminino .accordion-2 .insight {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 12px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.o-envelhecer-feminino .accordion-2 .insight .big {
    font-size: clamp(56px, 8vw, 88px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.9;
    display: inline-block;
}
.o-envelhecer-feminino .accordion-2 .insight .big.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.o-envelhecer-feminino .accordion-2 .insight .big .unit { font-size: 0.4em; font-weight: 600; margin-left: 4px; }
.o-envelhecer-feminino .accordion-2 .insight .caption {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.02em;
    margin-top: 6px;
}
.o-envelhecer-feminino .accordion-2 .insight .caption .quiet { color: var(--ink-soft); font-weight: 400; }
/* Chart card */
.o-envelhecer-feminino .accordion-2 .chart-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 24px 28px 20px;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.o-envelhecer-feminino .accordion-2 .chart-header {
    display: flex; justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 18px;
    flex-wrap: wrap; gap: 8px;
}
.o-envelhecer-feminino .accordion-2 .chart-title {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.o-envelhecer-feminino .accordion-2 .chart-subtitle {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    margin-top: 2px;
}
.o-envelhecer-feminino .accordion-2 .chart-axis-label {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    color: var(--ink-quiet);
    letter-spacing: 0.16em; text-transform: uppercase;
}
.o-envelhecer-feminino .accordion-2 .bars { display: flex; flex-direction: column; gap: 12px; }
.o-envelhecer-feminino .accordion-2 .bar-row {
    display: grid;
    grid-template-columns: 78px 1fr;
    align-items: center; gap: 14px;
}
.o-envelhecer-feminino .accordion-2 .bar-country .name {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    color: var(--ink); letter-spacing: -0.015em;
    display: block;
}
.o-envelhecer-feminino .accordion-2 .bar-country .desc {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-quiet);
    font-weight: 500;
}
.o-envelhecer-feminino .accordion-2 .bar-track { position: relative; height: 30px; display: flex; align-items: center; }
.o-envelhecer-feminino .accordion-2 .bar-fill {
    height: 30px; border-radius: 8px;
    width: 0;
    transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1);
    display: flex; align-items: center; justify-content: flex-end;
    padding-right: 12px;
    color: #fff;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
}
.o-envelhecer-feminino .accordion-2 .bar-fill.coral.france  { background: linear-gradient(90deg, var(--coral) 0%, var(--coral-deep) 100%); width: 100%; }
.o-envelhecer-feminino .accordion-2 .bar-fill.teal.usa     { background: linear-gradient(90deg, var(--teal) 0%, var(--teal-deep) 100%); width: 60%; }
.o-envelhecer-feminino .accordion-2 .bar-fill.brazil  { background: linear-gradient(90deg, #2a2a2e 0%, #1d1d1f 100%); width: 26.1%; }
.o-envelhecer-feminino .accordion-2 .bar-fill .u { font-size: 0.7em; font-weight: 500; margin-left: 3px; opacity: 0.85; }
.o-envelhecer-feminino .accordion-2 .bar-badge.coral {
    margin-left: 8px;
    background: rgba(255, 87, 93, 0.1);
    color: var(--coral-deep);
    padding: 3px 9px;
    border-radius: 99px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    white-space: nowrap;
}
.o-envelhecer-feminino .accordion-2 .closing {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    text-align: center;
    padding: 4px 8px 0;
}
.o-envelhecer-feminino .accordion-2 .closing .quiet { color: var(--ink-soft); }
.o-envelhecer-feminino .accordion-2 .closing strong { font-weight: 500; }

/* Step card */
.o-envelhecer-feminino .accordion-3 .step {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.o-envelhecer-feminino .accordion-3 .step-tag.teal {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--teal);
    margin-bottom: 10px;
}
.o-envelhecer-feminino .accordion-3 .step-tag .num.teal {
    background: var(--teal);
    color: #fff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: clamp(16px, 1.4vw, 16px);
    letter-spacing: 0;
}
.o-envelhecer-feminino .accordion-3 .step h2 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 4px;
}
.o-envelhecer-feminino .accordion-3 .step p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.5;
    margin-bottom: 16px;
}
.o-envelhecer-feminino .accordion-3 .step p strong { color: var(--ink); font-weight: 500; }
/* Chart legend */
.o-envelhecer-feminino .accordion-3 .legend {
    display: flex; gap: 14px;
    margin-bottom: 10px; flex-wrap: wrap;
}
.o-envelhecer-feminino .accordion-3 .legend-item {
    display: flex; align-items: center; gap: 5px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 500;
    color: var(--ink-soft);
}
.o-envelhecer-feminino .accordion-3 .legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.o-envelhecer-feminino .accordion-3 .legend-dot.women { background: var(--women-deep); }
.o-envelhecer-feminino .accordion-3 .legend-dot.coral.men   { background: var(--coral); }
.o-envelhecer-feminino .accordion-3 .legend-dot.coral.gap   {
    background: var(--coral-bg-soft);
    border: 1px solid var(--coral);
}
/* Line chart SVG */
.o-envelhecer-feminino .accordion-3 .chart-svg {
    width: 100%; height: auto; display: block;
    margin-bottom: 12px;
}
.o-envelhecer-feminino .accordion-3 .line-path {
    fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.o-envelhecer-feminino .accordion-3 .line-women { stroke: var(--women-deep); }
.o-envelhecer-feminino .accordion-3 .line-men   { stroke: var(--coral-deep); }
.o-envelhecer-feminino .accordion-3 .gap-area   { fill: url(#gap-gradient); }
.o-envelhecer-feminino .accordion-3 .axis-label { font-size: clamp(14px, 1.4vw, 15px); fill: var(--ink-quiet); font-weight: 500; text-anchor: middle; }
.o-envelhecer-feminino .accordion-3 .grid-line  { stroke: var(--line-bg); stroke-width: 1; stroke-dasharray: 4 4; }
.o-envelhecer-feminino .accordion-3 .data-label { font-size: clamp(10px, 1.4vw, 10px); fill: var(--ink); font-weight: 600; text-anchor: middle; }
/* Insight chip */
.o-envelhecer-feminino .accordion-3 .chip.coral {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    background: var(--coral-bg-soft);
    color: var(--coral-deep);
    border-radius: 99px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    letter-spacing: -0.005em;
}
.o-envelhecer-feminino .accordion-3 .chip.teal {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    background: rgba(47, 190, 201, 0.1);
    color: var(--teal-deep);
    border-radius: 99px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    letter-spacing: -0.005em;
}
.o-envelhecer-feminino .accordion-3 .chip svg { width: 11px; height: 11px; }
/* Step pair */
.o-envelhecer-feminino .accordion-3 .step-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
/* Mini bars */
.o-envelhecer-feminino .accordion-3 .compare-bars { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.o-envelhecer-feminino .accordion-3 .compare-row {
    display: grid;
    grid-template-columns: 76px 1fr 56px;
    align-items: center; gap: 10px;
}
.o-envelhecer-feminino .accordion-3 .compare-label {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 500;
    color: var(--ink-soft);
}
.o-envelhecer-feminino .accordion-3 .compare-track {
    height: 8px;
    background: var(--track);
    border-radius: 99px;
    overflow: hidden;
}
.o-envelhecer-feminino .accordion-3 .compare-fill {
    height: 100%;
    border-radius: 99px;
    width: 0;
    transition: width 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.o-envelhecer-feminino .accordion-3 .compare-fill.gray   { background: linear-gradient(90deg, #BFBFC7, #8e8e93); }
.o-envelhecer-feminino .accordion-3 .compare-fill.teal   { background: linear-gradient(90deg, var(--teal), var(--teal-deep)); }
.o-envelhecer-feminino .accordion-3 .compare-fill.coral  { background: linear-gradient(90deg, var(--coral), var(--coral-deep)); }
.o-envelhecer-feminino .accordion-3 .compare-value {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    color: var(--ink);
    text-align: right;
}
.o-envelhecer-feminino .accordion-3 .step:hover .compare-fill.women,
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="women"] .compare-fill { width: 90.3%; }
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="avg"]   .compare-fill { width: 94.7%; }
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="men"]   .compare-fill { width: 100%; }
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="women-pct"] .compare-fill { width: 85%; }
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="avg-pct"]   .compare-fill { width: 81%; }
.o-envelhecer-feminino .accordion-3 .compare-row[data-key="men-pct"]   .compare-fill { width: 77%; }
.o-envelhecer-feminino .accordion-3 .closing {
    font-size: clamp(14px, 1.4vw, 17px);
    color: var(--ink);
    line-height: 1.5;
    text-align: center;
    padding: 12px 8px 0;
    margin-top: 4px;
}
.o-envelhecer-feminino .accordion-3 .closing .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 600;
}
.o-envelhecer-feminino .accordion-3 .closing strong { font-weight: 500; }
/* QUEM SÃO OS 60+ NO BRASIL */
/* Theme intro section */
.quem-sao-os-60-no-brasil.theme-intro .intro .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-intro h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-intro h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quem-sao-os-60-no-brasil.theme-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-intro p strong {
    color: var(--ink);
    font-weight: 700;
}
/* Theme accordion section */
.quem-sao-os-60-no-brasil.theme-accordion .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-accordion .eyebrow.teal {
    color: var(--teal-deep);
    background: var(--teal-faint);
}
.quem-sao-os-60-no-brasil.theme-accordion .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint);
}
.quem-sao-os-60-no-brasil.theme-accordion h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-accordion h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quem-sao-os-60-no-brasil.theme-accordion h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quem-sao-os-60-no-brasil.theme-accordion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil.theme-accordion p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Hero stat (32,1 mi) ============================================== */
.quem-sao-os-60-no-brasil .hero-stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 18px;
    padding: 24px 28px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.quem-sao-os-60-no-brasil .hero-stat .big.coral {
    font-size: clamp(48px, 6vw, 72px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.95;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    flex-shrink: 0;
}
.quem-sao-os-60-no-brasil .hero-stat .big .unit { font-size: 0.4em; font-weight:600; margin-left:4px; }
.quem-sao-os-60-no-brasil .hero-stat .desc h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 2px;
}
.quem-sao-os-60-no-brasil .hero-stat .desc p {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 500;
    color: var(--ink-quiet);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
/* === Proportion (1 em cada 6) ========================================= */
.quem-sao-os-60-no-brasil .proportion {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 18px;
    padding: 28px;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.quem-sao-os-60-no-brasil .proportion h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}
.quem-sao-os-60-no-brasil .proportion h3 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .proportion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    margin-bottom: 18px;
}
.quem-sao-os-60-no-brasil .people-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}
.quem-sao-os-60-no-brasil .person { width: 36px; height: 36px; }
.quem-sao-os-60-no-brasil .person svg { width: 100%; height: 100%; display:block; }
.quem-sao-os-60-no-brasil .person.gray svg path { fill: #d8d8dc; }
.quem-sao-os-60-no-brasil .person.teal svg path { fill: var(--teal); }
.quem-sao-os-60-no-brasil .person.teal { position: relative; }
.quem-sao-os-60-no-brasil .person.teal::after {
    content:"";
    position: absolute;
    inset: -4px;
    border: 1.5px solid var(--teal);
    border-radius:50%;
    animation: pulse 2.4s ease-in-out infinite;
}
@keyframes pulse {
    0%,100% { opacity:0; transform:scale(1); }
    50%     { opacity:0.45; transform:scale(1.12); }
}
/* === Two stats row ==================================================== */
.quem-sao-os-60-no-brasil .row-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
.quem-sao-os-60-no-brasil .stat-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 18px;
    padding: 22px 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
}
.quem-sao-os-60-no-brasil .stat-card .label {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    margin-bottom: 8px;
}
.quem-sao-os-60-no-brasil .stat-card .num.teal {
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1;
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 8px;
    display: inline-block;
}
.quem-sao-os-60-no-brasil .stat-card .num .unit { font-size: 0.42em; font-weight:600; margin-left:3px; }
.quem-sao-os-60-no-brasil .stat-card h4 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 4px;
}
.quem-sao-os-60-no-brasil .stat-card p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.45;
}
.quem-sao-os-60-no-brasil .stat-card p strong { color: var(--ink); font-weight: 500; }
/* === Why ============================================================== */
.quem-sao-os-60-no-brasil .why {
    background: linear-gradient(135deg, rgba(47,190,201,0.06), rgba(255,138,106,0.04));
    border-radius: 18px;
    padding: 22px 24px;
}
.quem-sao-os-60-no-brasil .why h3 {
    font-size: clamp(18px, 1.4vw, 20px)
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.quem-sao-os-60-no-brasil .why h3 .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .why p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-bottom: 8px;
}
.quem-sao-os-60-no-brasil .why p:last-child { margin-bottom: 0; }
.quem-sao-os-60-no-brasil .why p strong { color: var(--ink); font-weight: 700; }
/* === Top stat row ===================================================== */
.quem-sao-os-60-no-brasil .top-stats {
    display: grid;
    grid-template-columns: 1fr 1fr 1.3fr;
    gap: 10px;
    margin-bottom: 12px;
}
.quem-sao-os-60-no-brasil .top-stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 16px 18px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
}
.quem-sao-os-60-no-brasil .top-stat .label {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 500;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    margin-bottom: 6px;
}
.quem-sao-os-60-no-brasil .top-stat .label strong {
    font-weight: 900;
    color: var(--ink);
}
.quem-sao-os-60-no-brasil .top-stat.featured .label strong {
    color: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .top-stat .val {
    font-size: clamp(24px, 3.2vw, 34px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
}
.quem-sao-os-60-no-brasil .top-stat.teal .val {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .top-stat.coral .val {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .top-stat .ctx {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    margin-top: 2px;
}
/* "1 em cada 6" tile — soft teal */
.quem-sao-os-60-no-brasil .top-stat.featured {
    background: #E8F7F9;
}
.quem-sao-os-60-no-brasil .top-stat.featured .label.teal {
    color: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .top-stat.featured .val {
    font-size: clamp(20px, 2.6vw, 26px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}
.quem-sao-os-60-no-brasil .top-stat.featured .val .big {
    font-size: 1.6em;
    font-weight: 900;
    display: block;
    line-height: 1;
}
.quem-sao-os-60-no-brasil .top-stat.featured .val .small {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    background: none;
    -webkit-text-fill-color: var(--ink-soft);
    font-weight: 500;
}
/* === Chart card ======================================================= */
.quem-sao-os-60-no-brasil .chart-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px 18px;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
}
.quem-sao-os-60-no-brasil .chart-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}
.quem-sao-os-60-no-brasil .chart-title {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.quem-sao-os-60-no-brasil .chart-subtitle {
    font-size: clamp(12px, 1.4vw, 13px);
    color: var(--ink-soft);
    margin-top: 2px;
}
.quem-sao-os-60-no-brasil .legend {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.quem-sao-os-60-no-brasil .legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    color: var(--ink);
}
.quem-sao-os-60-no-brasil .legend-swatch {
    width: 16px;
    height: 2.5px;
    border-radius: 2px;
}
.quem-sao-os-60-no-brasil .legend-swatch.teal {
    background: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .legend-swatch.coral {
    background: transparent;
    border-top: 2.5px dashed var(--coral-deep);
    height: 0;
}
/* SVG chart */
.quem-sao-os-60-no-brasil .chart-svg {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 4px;
}
.quem-sao-os-60-no-brasil .grid-line {
    stroke: var(--line-bg);
    stroke-width: 1;
}
.quem-sao-os-60-no-brasil .grid-line.dashed {
    stroke-dasharray: 3 4;
}
.quem-sao-os-60-no-brasil .axis-label {
    font-size: 10px;
    fill: var(--ink-quiet);
    font-weight: 500;
}
.quem-sao-os-60-no-brasil .line-path {
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.quem-sao-os-60-no-brasil .line-60-plus.teal {
    stroke: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .line-60-minus.coral {
    stroke: var(--coral-deep);
    stroke-dasharray: 5 5;
}
.quem-sao-os-60-no-brasil .area-60-plus {
    fill: url(#teal-area);
}
.quem-sao-os-60-no-brasil .data-dot {
    stroke-width: 2;
    fill: #fff;
}
.quem-sao-os-60-no-brasil .data-dot.teal {
    stroke: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .data-dot.coral {
    stroke: var(--coral-deep);
}
.quem-sao-os-60-no-brasil .data-label {
    font-size: 10px;
    font-weight: 700;
    text-anchor: middle;
}
.quem-sao-os-60-no-brasil .data-label.teal {
    fill: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .data-label.coral {
    fill: var(--coral-deep);
}
.quem-sao-os-60-no-brasil .chart-source {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-quiet);
    text-align: center;
    margin-top: 8px;
    font-style: italic;
}
.quem-sao-os-60-no-brasil .section-head {
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil .section-head h2 {
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 6px;
}
.quem-sao-os-60-no-brasil .section-head h2 .teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .section-head h2 .coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .section-head p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.5;
    /*max-width: 70ch;*/
}
.quem-sao-os-60-no-brasil .section-head p strong {
    color: var(--ink);
    font-weight: 700;
}
.quem-sao-os-60-no-brasil .section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil .section-tag.teal {
    color: var(--teal);
    background: var(--teal-faint);
}
.quem-sao-os-60-no-brasil .section-tag.coral {
    color: var(--coral);
    background: var(--coral-faint);
}
/* === Stats grid (4 cards) ============================================== */
.quem-sao-os-60-no-brasil .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}
.quem-sao-os-60-no-brasil .stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 16px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.quem-sao-os-60-no-brasil .stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quem-sao-os-60-no-brasil .stat .num {
    font-size: clamp(24px, 3.2vw, 34px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1;
    display: inline-block;
    margin-bottom: 8px;
}
.quem-sao-os-60-no-brasil .stat.teal .num {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .stat.coral .num {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .stat .num .small {
    font-size: 0.55em;
    font-weight: 700;
    margin-left: 2px;
}
.quem-sao-os-60-no-brasil .stat .ctx {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.4;
}
.quem-sao-os-60-no-brasil .stat .ctx strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Section divider =================================================== */
.quem-sao-os-60-no-brasil .divider {
    height: 1px;
    background: var(--line-bg);
    margin: 8px 0 24px;
}
/* === Profile cards ===================================================== */
.quem-sao-os-60-no-brasil .profiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil .profile {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 20px 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    display: grid;
}
.quem-sao-os-60-no-brasil .profile:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
/* top accent bar */
.quem-sao-os-60-no-brasil .profile::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
}
.quem-sao-os-60-no-brasil .profile.coral.t1::before {
    background: linear-gradient(90deg, var(--coral), var(--coral-deep));
}
.quem-sao-os-60-no-brasil .profile.teal.t2::before {
    background: linear-gradient(90deg, var(--teal), var(--teal-deep));
}
.quem-sao-os-60-no-brasil .profile.t3::before {
    background: linear-gradient(90deg, var(--lavanda), var(--lavanda-deep));
}
.quem-sao-os-60-no-brasil .profile-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.quem-sao-os-60-no-brasil .profile.coral.t1 .profile-tag {
    color: var(--coral-deep);
}
.quem-sao-os-60-no-brasil .profile.teal.t2 .profile-tag {
    color: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .profile.lavanda.t3 .profile-tag {
    color: var(--lavanda-deep);
}
.quem-sao-os-60-no-brasil .profile-step {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
}
.quem-sao-os-60-no-brasil .profile.t1 .profile-step {
    background: var(--coral-deep);
}
.quem-sao-os-60-no-brasil .profile.t2 .profile-step {
    background: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .profile.t3 .profile-step {
    background: var(--lavanda-deep);
}
/* big stat */
.quem-sao-os-60-no-brasil .profile-stat {
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1;
    display: inline-block;
    margin-bottom: 4px;
}
.quem-sao-os-60-no-brasil .profile.t1 .profile-stat {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .profile.t2 .profile-stat {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .profile.t3 .profile-stat {
    background: linear-gradient(135deg, var(--lavanda) 0%, var(--lavanda-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .profile-stat .small {
    font-size: 0.55em;
    font-weight: 700;
    margin-left: 2px;
}
.quem-sao-os-60-no-brasil .profile-name {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 2px;
}
.quem-sao-os-60-no-brasil .profile-age {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 500;
    color: var(--ink-quiet);
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil .profile-divider {
    height: 1px;
    background: var(--line-bg);
    margin: 0 -20px 14px;
}
.quem-sao-os-60-no-brasil .profile-headline {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 10px;
}
.quem-sao-os-60-no-brasil .profile-headline em {
    font-style: normal;
}
.quem-sao-os-60-no-brasil .profile.t1 .profile-headline em {
    color: var(--coral-deep);
}
.quem-sao-os-60-no-brasil .profile.t2 .profile-headline em {
    color: var(--teal-deep);
}
.quem-sao-os-60-no-brasil .profile.t3 .profile-headline em {
    color: var(--lavanda-deep);
}
.quem-sao-os-60-no-brasil .profile-body {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.quem-sao-os-60-no-brasil .profile-body strong {
    color: var(--ink);
    font-weight: 700;
}
.quem-sao-os-60-no-brasil .section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    margin-top: 4px;
    flex-wrap: wrap;
}
.quem-sao-os-60-no-brasil .section-title h2 {
    font-size: clamp(20px, 2.4vw, 25px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.quem-sao-os-60-no-brasil .section-title h2 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quem-sao-os-60-no-brasil .section-title .count {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.quem-sao-os-60-no-brasil .section-lede {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    margin-bottom: 16px;
    line-height: 1.55;
    /*max-width: 70ch;*/
}
.quem-sao-os-60-no-brasil .section-lede strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Dimensions grid ================================================== */
.quem-sao-os-60-no-brasil .dims {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 14px;
}
.quem-sao-os-60-no-brasil .dim {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 16px 16px 14px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
}
.quem-sao-os-60-no-brasil .dim:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quem-sao-os-60-no-brasil .dim-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.quem-sao-os-60-no-brasil .dim.azul-piscina {
    --tone-bg: var(--azul-piscina-rgba);
    --tone-fg: var(--azul-piscina);
}
.quem-sao-os-60-no-brasil .dim.teal {
    --tone-bg: var(--teal-rgba);
    --tone-fg: var(--teal);
}
.quem-sao-os-60-no-brasil .dim.vermelho {
    --tone-bg: var(--vermelho-rgba);
    --tone-fg: var(--vermelho);
}
.quem-sao-os-60-no-brasil .dim.amarelo {
    --tone-bg: var(--amarelo-rgba);
    --tone-fg: var(--dourado);
}
.quem-sao-os-60-no-brasil .dim.lavanda {
    --tone-bg: var(--lavanda-rgba);
    --tone-fg: var(--roxo);
}
.quem-sao-os-60-no-brasil .dim.azul-escuro {
    --tone-bg: var(--azul-escuro-rgba);
    --tone-fg: var(--azul-escuro);
}
.quem-sao-os-60-no-brasil .dim.vermelho-escuro {
    --tone-bg: var(--vermelho-escuro-rgba);
    --tone-fg: var(--vermelho-escuro);
}
.quem-sao-os-60-no-brasil .dim.indigo {
    --tone-bg: var(--indigo-rgba);
    --tone-fg: var(--indigo);
}
.quem-sao-os-60-no-brasil .dim-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
}
.quem-sao-os-60-no-brasil .dim-icon svg {
    width: 20px;
    height: 20px;
}
.quem-sao-os-60-no-brasil .dim-num {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 900;
    color: var(--tone-fg);
    letter-spacing: 0.06em;
    background: var(--tone-bg);
    padding: 3px 7px;
    border-radius: 99px;
}
.quem-sao-os-60-no-brasil .dim h4 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 4px;
    line-height: 1.25;
}
.quem-sao-os-60-no-brasil .dim p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.4;
}
/* === Closing line ===================================================== */
.quem-sao-os-60-no-brasil .closing.teal {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(47, 190, 201, 0.02));
    border-left: 3px solid var(--teal);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 14px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    font-style: italic;
}
.quem-sao-os-60-no-brasil .closing strong {
    font-weight: 700;
}
.quem-sao-os-60-no-brasil .closing .quiet {
    color: var(--ink-soft);
    font-weight: 400;
}
/* BRASIL: UM DOS ECOSSISTEMAS MAIS AVANÇADOS DO MUNDO PARA O ENVELHECIMENTO */
/* Theme intro section */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-intro .intro .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-intro h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-intro h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-intro p strong {
    color: var(--ink);
    font-weight: 700;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title {
    margin-top: 8px;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title h2 {
    font-size: clamp(20px, 2.4vw, 25px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title h2 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.5;
}
/* Theme accordion section */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion .eyebrow.teal {
    color: var(--teal-deep);
    background: var(--teal-faint);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion h1 .accent.default {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento.theme-accordion p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Ecosystem ========================================================= */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .ecosystem {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 120px 1fr;
    grid-template-rows: auto auto;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}
/* connection lines behind cards */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .links {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .links line {
    stroke-dasharray: 4 6;
    stroke-width: 1.5;
    fill: none;
    vector-effect: non-scaling-stroke;
    opacity: 0.55;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
/* grid placement */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.azul-escuro {
    grid-column: 1;
    grid-row: 1;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.azul-piscina {
    grid-column: 3;
    grid-row: 1;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.vermelho {
    grid-column: 1;
    grid-row: 2;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.verde-agua {
    grid-column: 3;
    grid-row: 2;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub {
    grid-column: 2;
    grid-row: 1 / 3;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.azul-escuro,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.vermelho {
    border-right: 3px solid var(--tone-fg);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.azul-piscina,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.verde-agua {
    border-left: 3px solid var(--tone-fg);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.azul-escuro {
    --tone-bg: var(--azul-escuro-rgba);
    --tone-fg: var(--azul-escuro);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento  .pillar.azul-piscina {
    --tone-bg: var(--azul-piscina-rgba);
    --tone-fg: var(--azul-piscina);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.vermelho {
    --tone-bg: var(--vermelho-rgba);
    --tone-fg: var(--vermelho);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar.verde-agua {
    --tone-bg: var(--verde-agua-rgba);
    --tone-fg: var(--verde-agua);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
    margin-bottom: 12px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar-icon svg {
    width: 22px;
    height: 22px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar h4 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 6px;
    line-height: 1.25;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.45;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .pillar p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Hub ============================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub {
    position: relative;
    z-index: 2;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub-circle {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(47, 190, 201, 0.20), transparent 60%), radial-gradient(circle at 70% 70%, rgba(255, 138, 106, 0.16), transparent 60%), #fff;
    border: 1.5px solid rgba(47, 190, 201, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--teal-deep);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04), inset 0 0 40px rgba(255, 138, 106, 0.05);
    position: relative;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub-circle::before {
    content: "";
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 1px dashed rgba(47, 190, 201, 0.35);
    animation: spin 25s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub-circle svg {
    width: 44px;
    height: 44px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub-label {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    line-height: 1.2;
    margin-top: 2px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hub-label .sub {
    display: block;
    color: var(--ink-quiet);
    font-weight: 700;
    font-size: clamp(11px, 1.4vw, 12px);
    letter-spacing: 0.16em;
    margin-top: 2px;
}
/* === Bridge line ====================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .bridge.teal {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(47, 190, 201, 0.02));
    border-left: 3px solid var(--teal);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 14px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    font-style: italic;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .bridge strong {
    font-weight: 700;
    font-style: normal;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .bridge .quiet {
    color: var(--ink-soft);
    font-weight: 400;
}
/* === Why ============================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why {
    background: linear-gradient(135deg, rgba(47,190,201,0.06), rgba(255,138,106,0.04));
    border-radius: 16px;
    padding: 22px 24px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why h3 {
    font-size: clamp(18px, 1.4vw, 20px)
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why h3 .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why .tagline {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 14px;
    line-height: 1.5;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why .tagline em {
    font-style: normal;
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-bottom: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why p:last-child { margin-bottom: 0; }
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .why p strong { color: var(--ink); font-weight: 700; }
/* === Network card ===================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 18px;
    padding: 20px 18px;
    margin-bottom: 14px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 6px 22px rgba(0, 0, 0, 0.04);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-title {
    text-align: center;
    margin-bottom: 12px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-title h2 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-title h2 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* legend */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-bottom: 14px;
    flex-wrap: wrap;
    font-size: clamp(10px, 1.4vw, 11px);
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--ink-quiet);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend-dot.l-coral {
    background: var(--coral-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend-dot.l-teal {
    background: var(--teal-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .legend-dot.l-gray {
    background: #9a9aa3;
}
/* === Layout: 3 columns (secundários esq | rede | secundários dir) ==== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-layout {
    display: grid;
    grid-template-columns: 96px 1fr 96px;
    gap: 16px;
    align-items: stretch;
}
/* secondary side columns */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .sec-col {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .sec-col-label {
    font-size: clamp(10px, 1.4vw, 11px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--line-bg);
    line-height: 1.5;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .sec-chip {
    background: #f3f3f5;
    color: var(--ink-soft);
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 6px 5px;
    border-radius: 6px;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.04);
    line-height: 1.2;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* === Network main area ============================================ */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-main {
    position: relative;
    aspect-ratio: 660 / 540;
    width: 100%;
}
/* SVG lines — ALL dotted */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-svg path,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .network-svg line {
    fill: none;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
}
/* órbita: hub → corais — pontilhada CINZA escuro */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .orbit-line line {
    stroke: #7e7e85;
    stroke-dasharray: 1.6 3.2;
    stroke-width: 1.2;
    opacity: 0.55;
}
/* cadeia institucional — pontilhada coral suave */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .chain-line path,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .chain-line line {
    stroke: var(--coral);
    stroke-dasharray: 1.8 3.6;
    stroke-width: 1.6;
    opacity: 0.65;
}
/* satélite teal → coral — pontilhada teal suave */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .satellite-line path,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .satellite-line line {
    stroke: var(--teal);
    stroke-dasharray: 1.8 3.6;
    stroke-width: 1.6;
    opacity: 0.65;
}
/* HUB centered */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub {
    position: absolute;
    top: 44%;
    left: 52%;
    transform: translate(-50%, -50%);
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #fff 0%, #f0fbfc 60%, #e5f6f8 100%);
    border: 1.5px solid rgba(47, 190, 201, 0.25);
    box-shadow: 0 4px 16px rgba(47, 190, 201, 0.18), inset 0 0 30px rgba(255, 138, 106, 0.04);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 3;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub::before {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1px dashed rgba(47, 190, 201, 0.32);
    animation: spin 35s linear infinite;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub::after {
    content: "";
    position: absolute;
    inset: -18px;
    border-radius: 50%;
    border: 1px dotted rgba(255, 138, 106, 0.20);
    animation: spin-rev 50s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes spin-rev {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(-360deg);
    }
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub-brand {
    font-size: clamp(10px, 1.4vw, 11px);
    font-weight: 400;
    color: var(--ink);
    line-height: 1.1;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub-brand strong,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub-brand span {
    font-weight: 900;
    color: var(--teal-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub-label {
    margin-top: 0;
    font-size: clamp(8px, 1.4vw, 10px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
/* === Actor chips =================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .actor {
    position: absolute;
    transform: translate(-50%, -50%);
    padding: 6px 6px;
    border-radius: 8px;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.18;
    text-align: center;
    background: #fff;
    border: 1.4px solid var(--tone-fg);
    color: var(--tone-fg);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    z-index: 2;
    width: 92px;
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .actor:hover {
    transform: translate(-50%, calc(-50% - 2px));
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.10);
    z-index: 4;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .actor.g-coral {
    --tone-fg: var(--coral-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .actor.g-teal {
    --tone-fg: var(--teal-deep);
}
/* === Posições — viewBox 660 × 540 ================================== */
/* CORAL — orbitam o hub (chain à esquerda) */
/* COORDENADORIA */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p1 {
    top: 17%;
    left: 28%;
}
/* CONSELHO */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p2 {
    top: 33.3%;
    left: 28%;
}
/* COMISSÃO PROJETOS */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p3 {
    top: 51.9%;
    left: 28%;
}
/* FUNDO */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p4 {
    top: 70.4%;
    left: 39%;
}
/* EMPRESAS */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p5 {
    top: 17%;
    left: 74%;
}
/* UNIVERSIDADES */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p6 {
    top: 38.9%;
    left: 79%;
}
/* MINISTÉRIO PÚB. */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .p7 {
    top: 61.1%;
    left: 74%;
}
/* TEAL — satélites externos */
/* SEC. DESENV. SOCIAL */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .t1 {
    top: 5.6%;
    left: 28%;
}
/* OSCs */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .t2 {
    top: 51.9%;
    left: 12%;
}
/* SEC. JUSTIÇA */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .t3 {
    top: 87%;
    left: 24%;
}
/* SEC. FINANÇAS */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .t4 {
    top: 87%;
    left: 53%;
}
@media (prefers-reduced-motion: reduce) {
    .brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub::before,
    .brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-1 .hub::after {
        animation: none;
    }
}
/* === Gears visual ====================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gears-stage {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 28px 20px 20px;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    text-align: center;
    overflow: hidden;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gears-svg {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
    margin: 0 auto 8px;
}
/* gear positions */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .g1 {
    transform: translate(70px, 70px);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .g2 {
    transform: translate(180px, 70px);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .g3 {
    transform: translate(290px, 70px);
}
/* spinning animations applied to inner group */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .spinner {
    transform-origin: 0px 0px;
    transform-box: view-box;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .spin-cw {
    animation: spin 26s linear infinite;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .spin-ccw {
    animation: spin-rev 26s linear infinite;
}
@keyframes spin {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(360deg);
    }
}
@keyframes spin-rev {
    from {
        transform: rotate(0);
    }
    to {
        transform: rotate(-360deg);
    }
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-labels {
    display: flex;
    justify-content: space-around;
    max-width: 420px;
    margin: 0 auto;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-quiet);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-labels span:nth-child(1) {
    color: var(--teal-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-labels span:nth-child(2) {
    color: var(--verde-escuro);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-labels span:nth-child(3) {
    color: var(--coral-deep);
}
/* === Engrenagem cards ================================================ */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gears-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-top: 3px solid var(--tone-fg);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card.azul-piscina {
    --tone-bg: var(--azul-piscina-rgba);
    --tone-fg: var(--azul-piscina);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card.verde-escuro {
    --tone-bg: var(--verde-escuro-rgba);
    --tone-fg: var(--verde-escuro);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card.vermelho-escuro {
    --tone-bg: var(--vermelho-escuro-rgba);
    --tone-fg: var(--vermelho-escuro);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card .role {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--tone-fg);
    margin-bottom: 12px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card .role-icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: var(--tone-bg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card .role-icon svg {
    width: 14px;
    height: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card h4 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--ink);
    margin-bottom: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card .sub {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    color: var(--tone-fg);
    line-height: 1.4;
    margin-bottom: 10px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .gear-card p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Bridge line ===================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .bridge.coral {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(255, 138, 106, 0.04));
    border-left: 3px solid var(--coral);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 14px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    font-style: italic;
}
/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .spin-cw,
    .brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .spin-ccw {
        animation: none;
    }
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap {
    background: linear-gradient(135deg, rgba(255, 138, 106, 0.10), rgba(255, 87, 93, 0.05));
    border: 1px solid rgba(255, 87, 93, 0.15);
    border-radius: 16px;
    padding: 24px 28px;
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    align-items: center;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap .big.coral {
    font-size: clamp(72px, 9vw, 110px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 0.85;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap .big .small {
    font-size: 0.45em;
    font-weight: 800;
    margin-left: 2px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap .desc.coral {
    border-left: 3px solid var(--coral);
    padding-left: 18px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap .label.coral {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 900;
    color: var(--coral-deep);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap h3 {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    color: var(--ink);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap h3 strong {
    color: var(--coral-deep);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .hero-gap .source {
    margin-top: 6px;
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title h2 .accent {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .section-title p {
    margin-top: 4px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
}
/* === Cascade ========================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .cascade {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 16px 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    position: relative;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-quiet);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage-top .step.coral {
    color: var(--coral-deep);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage-top .step.coral::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--coral);
    display: inline-block;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage .num {
    font-size: clamp(26px, 3.2vw, 36px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6px;
    display: inline-block;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage .num .small {
    font-size: 0.55em;
    font-weight: 700;
    margin-left: 2px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.45;
    margin-bottom: 10px;
    min-height: 3.6em;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage p strong {
    color: var(--ink);
    font-weight: 700;
}
/* progress bar showing severity */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage-bar {
    height: 4px;
    background: var(--track);
    border-radius: 99px;
    overflow: hidden;
    position: relative;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage-fill.coral {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--coral) 0%, var(--coral-deep) 100%);
    transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage.s1 .stage-fill {
    width: 20%;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage.s2 .stage-fill {
    width: 37%;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage.s3 .stage-fill {
    width: 60%;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .stage.s4 .stage-fill {
    width: 69%;
}
/* === Pipeline title =================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .pipeline-title {
    text-align: center;
    margin-bottom: 14px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    color: var(--ink-quiet);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .pipeline-title::before,
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .pipeline-title::after {
    content: "";
    flex: 1;
    max-width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--line-bg), transparent);
}
/* === Pipeline ========================================================= */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .pipeline {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: 6px;
    align-items: stretch;
    margin-bottom: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-top: 3px solid var(--tone-fg);
    display: flex;
    flex-direction: column;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step.azul-piscina {
    --tone-bg: var(--azul-piscina-rgba);
    --tone-fg: var(--azul-piscina);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step.verde-escuro {
    --tone-bg: var(--verde-escuro-rgba);
    --tone-fg: var(--verde-escuro);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step.lavanda {
    --tone-bg: var(--lavanda-rgba);
    --tone-fg: var(--roxo);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step.vermelho {
    --tone-bg: var(--vermelho-rgba);
    --tone-fg: var(--vermelho);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
    flex-shrink: 0;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step-icon svg {
    width: 18px;
    height: 18px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step-num {
    font-size: clamp(13px, 1.4vw, 14px);
    font-weight: 900;
    color: var(--tone-fg);
    letter-spacing: 0.10em;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step h4 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 4px;
    line-height: 1.2;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step .sub {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    color: var(--tone-fg);
    line-height: 1.35;
    margin-bottom: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.45;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .step p strong {
    color: var(--ink);
    font-weight: 700;
}
/* connector chevrons */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .chev {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink-quiet);
    align-self: center;
    padding: 0 2px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .chev svg {
    width: 14px;
    height: 14px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .chev.c1 {
    color: rgba(47, 190, 201, 0.5);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .chev.c2 {
    color: rgba(78, 212, 175, 0.5);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .chev.c3 {
    color: rgba(189, 174, 231, 0.7);
}
/* === Closing text ==================================================== */
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(255, 138, 106, 0.06));
    border-radius: 10px;
    padding: 18px 22px;
    margin-bottom: 14px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    font-style: italic;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing p {
    margin-bottom: 8px;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing p:last-child {
    margin-bottom: 0;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing strong {
    font-weight: 700;
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing .quiet {
    color: var(--ink-soft);
}
.brasil-um-dos-ecossistemas-mais-avancados-do-mundo-para-o-envelhecimento .accordion-4 .closing .gradient {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
/* QUANDO O INCENTIVO FISCAL SE TORNA MOTOR DE INVESTIMENTO SOCIAL */
/* Theme intro section */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro .intro .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro .intro .sub-title {
    font-size: clamp(15px, 2.4vw, 16px);
    font-weight: 700;
    color: var(--teal-deep);
    letter-spacing: -0.005em;
    margin-bottom: 16px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro h1 .accent {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-intro p strong {
    color: var(--ink);
    font-weight: 700;
}
/* Theme accordion section */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion .eyebrow.teal {
    color: var(--teal-deep);
    background: var(--teal-faint);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion h1 .accent.default {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social.theme-accordion p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Hero stat ======================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(47, 190, 201, 0.02));
    border: 1px solid rgba(47, 190, 201, 0.18);
    border-radius: 16px;
    padding: 22px 26px;
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 24px;
    align-items: center;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat .big.teal {
    font-size: clamp(48px, 7vw, 72px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 0.95;
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat .big .unit {
    font-size: 0.4em;
    font-weight: 800;
    margin-left: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat .desc {
    border-left: 3px solid var(--teal);
    padding-left: 18px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat .label.teal {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 800;
    color: var(--teal-deep);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.35;
    color: var(--ink);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .hero-stat h3 strong {
    color: var(--teal-deep);
}
/* === Section title ==================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .section-title {
    margin: 10px 0 12px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .section-title h2 {
    font-size: clamp(20px, 2.4vw, 25px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .section-title h2 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .section-title h2 .teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .section-title p {
    margin-top: 4px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
}
/* === Gap cascade (3 stats) ============================================ */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .cascade {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-quiet);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage-top .step.coral {
    color: var(--coral-deep);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage-top .step::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--coral);
    display: inline-block;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage .num.coral {
    font-size: clamp(40px, 5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.95;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 8px;
    display: inline-block;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage .num .small {
    font-size: 0.55em;
    font-weight: 800;
    margin-left: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.5;
    margin-bottom: 10px;
    min-height: 4em;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage p strong {
    color: var(--ink);
    font-weight: 700;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage-bar {
    height: 4px;
    background: var(--track);
    border-radius: 99px;
    overflow: hidden;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage-fill {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--coral) 0%, var(--coral-deep) 100%);
    transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage.s1 .stage-fill {
    width: 2%;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage.s2 .stage-fill {
    width: 1.6%;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .stage.s3 .stage-fill {
    width: 31%;
}
/* why */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why {
    background: linear-gradient(135deg, rgba(47,190,201,0.06), rgba(255,138,106,0.04));
    border-radius: 16px;
    padding: 22px 24px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why h3 {
    font-size: clamp(18px, 1.4vw, 20px)
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why h3 .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-bottom: 8px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why p:last-child { margin-bottom: 0; }
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .why p strong { color: var(--ink); font-weight: 700; }
/* === Section title ==================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .section-title h2 {
    font-size: clamp(20px, 2.4vw, 25px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .section-title h2 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .section-title .count {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
/* === Actors grid ====================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actors {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 20px 18px 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-top: 3px solid var(--tone-fg);
    position: relative;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.azul-piscina {
    --tone-bg: var(--azul-piscina-rgba);
    --tone-fg: var(--azul-piscina);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.verde-escuro {
    --tone-bg: var(--verde-escuro-rgba);
    --tone-fg: var(--verde-escuro);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.verde-agua {
    --tone-bg: var(--verde-agua-rgba);
    --tone-fg: var(--verde-agua);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.azul-escuro {
    --tone-bg: var(--azul-escuro-rgba);
    --tone-fg: var(--azul-escuro);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.vermelho {
    --tone-bg: var(--vermelho-rgba);
    --tone-fg: var(--vermelho);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor.lavanda {
    --tone-bg: var(--lavanda-rgba);
    --tone-fg: var(--roxo);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
    flex-shrink: 0;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor-icon svg {
    width: 22px;
    height: 22px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor-role {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1.1;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor-role .quiet {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    display: block;
    margin-top: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .actor p strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Closing line ==================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .closing {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(255, 138, 106, 0.06));
    border-radius: 14px;
    padding: 18px 22px;
    margin-top: 4px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.55;
    font-style: italic;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .closing strong {
    font-weight: 700;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .accordion-1 .closing .gradient.default {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
/* === Top stats (Municípios) =========================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    text-align: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat .label {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    margin-bottom: 6px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat .num {
    font-size: clamp(34px, 4vw, 46px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1;
    display: inline-block;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat .num .small {
    font-size: 0.55em;
    font-weight: 800;
    margin-left: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat.t1 .num {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat.t2 .num {
    background: linear-gradient(135deg, #FFB58C 0%, var(--coral) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .top-stat.t3 .num {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* === Bridge text ====================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bridge.coral {
    background: linear-gradient(135deg, rgba(255, 138, 106, 0.08), rgba(255, 87, 93, 0.04));
    border-left: 3px solid var(--coral);
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 14px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.5;
    font-style: italic;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bridge strong {
    font-weight: 700;
}
/* === Comparison cards (PF vs PJ) ====================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 22px 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    border-top: 3px solid var(--tone-fg);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-card.pf {
    --tone-bg: var(--verde-escuro-rgba);
    --tone-fg: var(--verde-escuro);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-card.pj {
    --tone-bg: rgba(0, 102, 166, 0.13);
    --tone-fg: var(--indigo);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-head {
    display: flex;
    align-items: center;
    gap: 10px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-icon {
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
    flex-shrink: 0;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-icon svg {
    width: 20px;
    height: 20px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-title {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ink);
    line-height: 1.1;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-title .quiet {
    font-size: 10px;
    font-weight: 900;
    color: var(--tone-fg);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    display: block;
    margin-top: 2px;
}
/* Big potencial number */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-hero {
    border-top: 1px solid var(--line-bg);
    padding-top: 14px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-hero .big {
    font-size: clamp(40px, 5vw, 56px);
    font-weight: 900;
    letter-spacing: -0.01em;
    line-height: 1;
    color: var(--tone-fg);
    display: block;
    margin-bottom: 4px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-hero .big .small {
    font-size: 0.45em;
    font-weight: 800;
    margin-left: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-hero p {
    font-size: clamp(15px, 1.4vw, 16px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .compare-hero p strong {
    color: var(--ink);
    font-weight: 700;
}
/* Mini stats inside compare card */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat {
    background: var(--tone-bg);
    border-radius: 10px;
    padding: 12px 12px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat .mlabel {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 900;
    color: var(--tone-fg);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat .mnum {
    font-size: clamp(22px, 1.4vw, 23px);
    font-weight: 900;
    letter-spacing: -0.01em;
    color: var(--tone-fg);
    line-height: 1;
    margin-bottom: 4px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat .mnum .small {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 800;
    margin-left: 2px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat .mctx {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.35;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .mini-stat .mctx strong {
    color: var(--ink);
    font-weight: 700;
}
/* === Closing line ===================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .closing {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(255, 138, 106, 0.06));
    border-radius: 14px;
    padding: 16px 22px;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.55;
    text-align: center;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .closing strong {
    font-weight: 700;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .closing .gradient {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .closing .source {
    display: inline-block;
    margin-top: 6px;
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-quiet);
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
}
/* === Chart card base ================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px 18px;
    margin-bottom: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-head h2 {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    line-height: 1.25;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-head h2 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-head .meta {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    color: var(--ink-quiet);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}
/* growth chip */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .growth-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: -0.01em;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .growth-chip.up {
    background: var(--verde-escuro-rgba);
    color: var(--verde-escuro);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .growth-chip.down {
    background: rgba(255, 87, 93, 0.13);
    color: var(--coral-deep);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .growth-chip svg {
    width: 11px;
    height: 11px;
}
/* SVG bar chart */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bar-chart {
    width: 100%;
    height: auto;
    display: block;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bar-chart .grid-line {
    stroke: var(--line-bg);
    stroke-width: 1;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bar-chart .axis-label {
    font-size: 10px;
    fill: var(--ink-quiet);
    font-weight: 700;
    text-anchor: middle;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bar-chart .value-label {
    font-size: 11px;
    font-weight: 900;
    text-anchor: middle;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .bar-chart rect.bar {
    transition: height 1.2s cubic-bezier(0.22, 1, 0.36, 1), y 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-caption {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--line-bg);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-caption strong {
    color: var(--ink);
    font-weight: 700;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .chart-caption .source {
    display: block;
    margin-top: 8px;
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-quiet);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    font-weight: 700;
    font-style: normal;
}
/* === Two charts side by side ======================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .two-charts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
/* === Strategy cards =================================================== */
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategies {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    border-top: 3px solid var(--tone-fg);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy.pf {
    --tone-bg: var(--verde-escuro-rgba);
    --tone-fg: var(--verde-escuro);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy.pj {
    --tone-bg: rgba(0, 102, 166, 0.13);
    --tone-fg: var(--indigo);
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--tone-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tone-fg);
    flex-shrink: 0;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy-icon svg {
    width: 20px;
    height: 20px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy-title {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 900;
    color: var(--tone-fg);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy h4 {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.3;
    color: var(--ink);
    margin-bottom: 8px;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy p {
    font-size: clamp(15px, 1.4vw, 16px);
    color: var(--ink-soft);
    line-height: 1.5;
}
.quando-o-incentivo-fiscal-se-torna-motor-de-investimento-social .strategy p strong {
    color: var(--ink);
    font-weight: 700;
}
/* CIDADES INCLUSIVAS E AMIGAS DA PESSOA IDOSA */
/* Theme intro section */
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-intro .intro .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(11px, 2.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-intro h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-intro h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-intro p strong {
    color: var(--ink);
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 4px 14px rgba(0,0,0,0.03);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 2px rgba(0,0,0,0.02), 0 8px 22px rgba(0,0,0,0.05);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat .num {
    font-size: clamp(40px, 5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.95;
    display: inline-block;
    margin-bottom: 10px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat .num.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat .num.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat .num .unit { font-size: 0.4em; font-weight: 600; margin-left: 3px; }
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.45;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .stat p strong { font-weight: 600; }
/* Quote card */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .quote-card.coral {
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    border-left: 3px solid var(--coral);
    margin-bottom: 22px;
    position: relative;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .quote-card.coral::before {
    content: "\201C";
    position: absolute;
    top: 4px;
    left: 14px;
    font-size: 56px;
    /*font-family: Georgia, serif;*/
    color: var(--coral);
    opacity: 0.2;
    line-height: 1;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .quote-card p {
    font-size: clamp(16px, 1.4vw, 18px);
    margin-bottom: 0;
    color: var(--ink);
    line-height: 1.5;
    font-weight: 400;
    font-style: italic;
    padding-left: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .quote-card p strong {
    font-weight: 700;
    font-style: normal;
}
/* Theme accordion section */
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: clamp(13px, 1.4vw, 14px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion .eyebrow.teal {
    color: var(--teal-deep);
    background: var(--teal-faint);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion h1 {
    font-size: clamp(20px, 2.4vw, 28px);
    font-weight: 700;
    letter-spacing: -.025em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion h1 .accent.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion h1 .accent.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.25);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.6;
    /*max-width: 680px;*/
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa.theme-accordion p strong {
    color: var(--ink);
    font-weight: 700;
}
/* Section title */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-title {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    margin: 18px 0 12px;
    text-align: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-title.bigger {
    font-size: clamp(12px, 1.4vw, 13px);
    color: var(--ink-soft);
}
/* 3 pillars grid */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillars-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 18px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 20px 18px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar h3 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.005em;
    padding: 6px 12px;
    border-radius: 999px;
    width: fit-content;
    margin-bottom: 16px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.teal h3 {
    background: var(--teal-faint);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.indigo h3 {
    background: var(--indigo-faint);
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.coral h3 {
    background: var(--coral-faint);
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar li {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink);
    line-height: 1.45;
    padding-left: 16px;
    position: relative;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.teal li::before {
    background: var(--teal);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.indigo li::before {
    background: var(--indigo-soft);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .pillar.coral li::before {
    background: var(--coral);
}
/* Why importa block */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.06), rgba(255, 138, 106, 0.04));
    border-radius: 16px;
    padding: 22px 24px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why h3 {
    font-size: clamp(18px, 1.4vw, 20px)
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why h3 .gradient.coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    margin-bottom: 8px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why p:last-child {
    margin-bottom: 0;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why p strong {
    color: var(--ink);
    font-weight: 600;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    align-items: start;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item:first-of-type {
    padding-top: 0;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag {
    display: inline-block;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 5px 10px;
    border-radius: 999px;
    text-align: center;
    width: fit-content;
    justify-self: center;
    line-height: 1.5;
    /* centraliza o tag dentro da coluna do grid */
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag.teal {
    background: var(--teal-faint);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag.indigo {
    background: var(--indigo-faint);
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag.coral {
    background: var(--coral-faint);
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag.green {
    background: #E5F8F1;
    color: #1A9A6E;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item .tag.lavanda {
    background: var(--lavanda-faint);
    color: var(--lavanda);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .why-item p strong {
    color: var(--ink);
    font-weight: 600;
}
/* Key callout — about the importance */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card {
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.08), rgba(66, 87, 178, 0.05));
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 26px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card .ico {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--teal), var(--teal-deep));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 4px 14px rgba(47, 190, 201, 0.3);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.55;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p strong {
    color: var(--ink);
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p .pair {
    display: inline-flex;
    gap: 4px;
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p .pair span {
    padding: 1px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.7);
    font-size: clamp(16px, 1.4vw, 18px);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p .pair span.teal {
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .key-card p .pair span.coral {
    color: var(--coral-deep);
}
/* Section title */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-title {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    margin: 6px 0 6px;
    text-align: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-headline {
    text-align: center;
    font-size: clamp(22px, 2.4vw, 24px);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
    color: var(--ink);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-headline .min {
    background: linear-gradient(135deg, #B0B0B6 0%, #8E8E93 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-headline .max {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-intro {
    text-align: center;
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
    max-width: 56ch;
    margin: 0 auto 22px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-intro strong {
    color: var(--ink);
    font-weight: 600;
}
/* Progression scale visualization */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    padding: 0 18px;
    margin-bottom: 28px;
    position: relative;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale::before {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    top: 13px;
    height: 3px;
    background: linear-gradient(90deg, #C7C7CC 0%, #A8E5EB 25%, var(--teal) 50%, var(--indigo) 75%, var(--coral) 100%);
    border-radius: 2px;
    z-index: 0;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    box-shadow: 0 0 0 3px var(--bg-card), 0 2px 8px rgba(0, 0, 0, 0.08);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s1 .scale-dot {
    background: #B0B0B6;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s2 .scale-dot {
    background: var(--teal-soft);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s3 .scale-dot {
    background: var(--teal);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s4 .scale-dot {
    background: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s5 .scale-dot {
    background: var(--coral);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step .lbl {
    margin-top: 8px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-soft);
    text-align: center;
    line-height: 1.2;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s1 .lbl {
    color: #8E8E93;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .scale-step.s5 .lbl {
    color: var(--coral-deep);
}
/* Level cards */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .levels {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level {
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 22px;
    align-items: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level:hover {
    transform: translateY(-1px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 22px rgba(0, 0, 0, 0.05);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l1 {
    border-left: 3px solid #8E8E93;
    color: #8E8E93;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l2 {
    border-left: 3px solid var(--teal-deep);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l3 {
    border-left: 3px solid var(--teal-deep);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l4 {
    border-left: 3px solid var(--indigo);
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l5 {
    border-left: 3px solid var(--coral-deep);
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .stage {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l1 .stage {
    color: #8E8E93;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l2 .stage {
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l3 .stage {
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l4 .stage {
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l5 .stage {
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .num {
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.9;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l1 .num {
    color: #B0B0B6;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l2 .num {
    background: linear-gradient(135deg, var(--teal-soft) 0%, var(--teal) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l3 .num {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l4 .num {
    background: linear-gradient(135deg, var(--indigo-soft) 0%, var(--indigo) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level.l5 .num {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .right h4 {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 4px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .right p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    margin-bottom: 0;
    line-height: 1.5;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .level .right p strong {
    color: var(--ink);
    font-weight: 600;
}
/* Closing note */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .closing {
    margin-top: 22px;
    background: linear-gradient(135deg, rgba(47, 190, 201, 0.06), rgba(255, 138, 106, 0.05));
    border-radius: 16px;
    padding: 20px 24px;
    text-align: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .closing p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink);
    line-height: 1.55;
    max-width: 60ch;
    margin: 0 auto;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .closing p strong {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}
/* Receita Federal callout */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .rf-callout {
    background: linear-gradient(135deg, rgba(255, 138, 106, 0.06), rgba(47, 190, 201, 0.05));
    border-radius: 16px;
    padding: 18px 22px;
    margin-bottom: 24px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .rf-callout .badge {
    background: #fff;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    white-space: nowrap;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .rf-callout p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink);
    line-height: 1.5;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .rf-callout p strong {
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .section-headline .accent.default {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* Flow — 4-step process */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow {
    display: grid;
    grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1fr;
    gap: 0;
    align-items: stretch;
    margin-bottom: 26px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step {
    background: var(--bg-card);
    border-radius: 14px;
    padding: 14px 12px 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    text-align: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step.s1 {
    border-top: 3px solid var(--coral-deep);
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step.s2 {
    border-top: 3px solid var(--teal-deep);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step.s3 {
    border-top: 3px solid var(--indigo);
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step.s4 {
    border-top: 3px solid var(--verde-agua);
    color: var(--verde-agua);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .badge {
    align-self: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .badge.coral {
    background: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .badge.teal {
    background: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .badge.indigo {
    background: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .badge.verde-agua {
    background: var(--verde-agua);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .step-label {
    font-size: clamp(13px, 1.4vw, 14px);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .step-label.coral {
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .step-label.teal {
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .step-label.indigo {
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step .step-label.verde-agua {
    color: var(--verde-agua);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step h4 {
    font-size: clamp(15px, 1.4vw, 16px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin-bottom: 6px;
    line-height: 1.2;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-step p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.4;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .flow-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink-quiet);
}
/* Autodiagnostico intro */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .auto-intro {
    background: var(--bg-card);
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 22px;
    border-left: 3px solid var(--teal);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .auto-intro h3 {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--teal-deep);
    margin-bottom: 6px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .auto-intro p {
    font-size: clamp(16px, 1.4vw, 18px);
    color: var(--ink-soft);
    line-height: 1.55;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .auto-intro p strong {
    color: var(--ink);
    font-weight: 600;
}
/* 7 areas grid */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .areas-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 26px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 14px;
    align-items: start;
    transition: transform 0.3s ease;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card:hover {
    transform: translateY(-1px);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card .ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-teal .ico {
    background: var(--teal-faint);
    color: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-teal .ico svg {
    stroke: var(--teal-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-coral .ico {
    background: var(--coral-faint);
    color: var(--coral-deep);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-coral .ico svg {
    stroke: var(--coral);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-indigo .ico {
    background: var(--indigo-faint);
    color: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-indigo .ico svg {
    stroke: var(--indigo);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-verde .ico {
    background: var(--verde-agua-faint);
    color: #1A9A6E;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-verde .ico svg {
    stroke: #1A9A6E;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-lavanda .ico {
    background: var(--lavanda-faint);
    color: #6F4FB8;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-lavanda .ico svg {
    stroke: var(--lavanda);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-amarelo .ico {
    background: var(--amarelo-faint);
    color: #8B7A00;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-amarelo .ico svg {
    stroke: var(--dourado);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-azul .ico {
    background: var(--azul-piscina-faint);
    color: var(--azul-piscina);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.c-azul .ico svg {
    stroke: var(--azul-piscina);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card h4 {
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: -0.005em;
    color: var(--ink);
    margin-bottom: 4px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.45;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card p strong {
    color: var(--ink);
    font-weight: 600;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .area-card.span2 {
    grid-column: span 2;
}
/* Research stats */
.cidades-inclusivas-e-amigas-da-pessoa-idosa .research-intro {
    text-align: center;
    margin: 22px 0 12px;
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    line-height: 1.55;
    max-width: 60ch;
    margin-left: auto;
    margin-right: auto;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .research-intro strong {
    color: var(--ink);
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .research-intro .yr {
    display: inline-block;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 3px 10px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .research-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card {
    border: 1px solid rgba(0, 0, 0, 0.175);
    background: var(--bg-card);
    border-radius: 16px;
    padding: 22px 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 14px rgba(0, 0, 0, 0.03);
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card .pct {
    font-size: clamp(38px, 4.5vw, 52px);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 0.95;
    margin-bottom: 8px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card.c1 .pct {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card.c2 .pct {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card.c3 .pct {
    background: linear-gradient(135deg, var(--indigo-soft) 0%, var(--indigo) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card.c4 .pct {
    background: linear-gradient(135deg, var(--verde-agua) 0%, #1A9A6E 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card .pct .unit {
    font-size: 0.45em;
    font-weight: 700;
    margin-left: 1px;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card .desc {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink);
    line-height: 1.45;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card .desc strong {
    font-weight: 700;
}
.cidades-inclusivas-e-amigas-da-pessoa-idosa .r-card .desc .quiet {
    color: var(--ink-soft);
    font-weight: 400;
}
/* OBSERVATÓRIO */
/* Intro (sem foto) — padrão simples com eyebrow + h1 + lede + CTA */
.observatorio.intro-hero {
    padding: 80px 64px 40px;
    /*max-width: 1120px;*/
    width: 100%;
    margin: 0 auto;
}
.observatorio.intro-hero .eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px;
}
.observatorio.intro-hero h1 {
    font-size: 42px;
    font-weight: 700;
    letter-spacing: -.028em;
    line-height: 1.12;
    color: var(--ink);
    margin-bottom: 18px;
    /*max-width: 24ch;*/
}
.observatorio.intro-hero h1 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2);
}
.observatorio.intro-hero .lede {
    font-size: 17px;
    color: var(--ink-soft);
    line-height: 1.55;
    /*max-width: 620px;*/
    margin-bottom: 28px;
}
.observatorio.intro-hero .cta-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center
}
.observatorio .btn-intro {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    color: #fff;
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -.005em;
    box-shadow: 0 6px 18px rgba(50, 185, 205, 0.30);
    transition: transform .15s ease, box-shadow .15s ease;
}
.observatorio .btn-intro:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(50, 185, 205, 0.42)
}
.observatorio .btn-intro .ar {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    transition: transform .2s ease
}
.observatorio .btn-intro:hover .ar {
    transform: translateX(3px)
}
/* Content area */
.observatorio.page-wrap {
    padding: 56px 64px 80px;
    /*max-width: 1120px;*/
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
}
/* ===== Tools section (acesso rápido) ===== */
.observatorio .tools-sec {
    margin-bottom: 0
}
.observatorio .tools-sec .sec-head {
    margin-bottom: 22px;
    text-align: left
}
.observatorio .tools-sec h2 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -.022em;
    line-height: 1.2;
    color: var(--ink);
    margin-bottom: 8px;
}
.observatorio .tools-sec h2 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2);
}
.observatorio .tools-sec .sec-lede {
    font-size: 15px;
    color: var(--ink-soft);
    line-height: 1.55;
    /*max-width: 60ch;*/
}
.observatorio .tools-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}
.observatorio .tool-card {
    background: #fff;
    border: 1px solid #ececef;
    border-radius: 20px;
    padding: 26px 26px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 18px rgba(0, 0, 0, 0.045);
    transition: transform .25s ease, box-shadow .25s ease, border .25s ease;
    position: relative;
}
.observatorio .tool-card * {
    text-decoration: none
}
.observatorio .tool-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 18px 38px rgba(0, 0, 0, 0.09);
}
.observatorio .tool-card .ic {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.observatorio .tool-card .ic svg {
    width: 26px;
    height: 26px;
    stroke-width: 1.8
}
.observatorio .tool-card.t-teal .ic {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.observatorio .tool-card.t-coral .ic {
    background: var(--coral-faint);
    color: var(--coral-deep)
}
.observatorio .tool-card.t-verde .ic {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
.observatorio .tool-card .body h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--ink);
    line-height: 1.25;
    margin-bottom: 6px;
}
.observatorio .tool-card .body p {
    font-size: 13.5px;
    color: var(--ink-soft);
    line-height: 1.5;
    letter-spacing: -.002em;
}
.observatorio .tool-card .cta {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -.005em;
}
.observatorio .tool-card.t-teal .cta {
    color: var(--teal-deep)
}
.observatorio .tool-card.t-coral .cta {
    color: var(--coral-deep)
}
.observatorio .tool-card.t-verde .cta {
    color: var(--verde-deep)
}
.observatorio .tool-card .cta .ar {
    display: inline-block;
    transition: transform .2s ease;
    font-size: 15px;
    line-height: 1
}
.observatorio .tool-card:hover .cta .ar {
    transform: translateX(4px)
}
.observatorio .tool-card .sources {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    margin-top: 2px;
}
.observatorio .tool-card .sources .src {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .04em;
    background: #f3f3f5;
    color: var(--ink-soft);
    padding: 3px 8px;
    border-radius: 6px;
}
/* Section block */
.observatorio .sec {
    background: #fff;
    border: 1px solid #ececef;
    border-radius: 22px;
    padding: 36px 40px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 20px rgba(0, 0, 0, 0.04);
}
.observatorio .sec .sec-head {
    margin-bottom: 22px;
}
.observatorio .sec .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.observatorio .sec .eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint)
}
.observatorio .sec .eyebrow.verde {
    color: var(--verde-deep);
    background: var(--verde-faint)
}
.observatorio .sec .eyebrow.amber {
    color: var(--amber-deep);
    background: var(--amber-faint)
}
.observatorio .sec h2 {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -.022em;
    line-height: 1.18;
    color: var(--ink);
    margin-bottom: 10px;
}
.observatorio .sec h2 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2);
}
.observatorio .sec h2 .accent-coral {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2);
}
.observatorio .sec h2 .accent-verde {
    background: linear-gradient(135deg, #7BE5C2 0%, var(--verde-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2);
}
.observatorio .sec p {
    font-size: 16px;
    color: var(--ink-soft);
    line-height: 1.65;
    letter-spacing: -.003em;
}
.observatorio .sec p + p {
    margin-top: 14px
}
.observatorio .sec p strong {
    color: var(--ink);
    font-weight: 700
}
/* Referências grid (3 cards) */
.observatorio .ref-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 24px;
}
.observatorio .ref-card {
    background: #fbfbfd;
    border: 1px solid #ececef;
    border-radius: 16px;
    padding: 22px 22px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform .25s ease, box-shadow .25s ease;
}
.observatorio .ref-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06)
}
.observatorio .ref-card .ic {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.observatorio .ref-card .ic svg {
    width: 22px;
    height: 22px;
    stroke-width: 2
}
.observatorio .ref-card.c-teal .ic {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.observatorio .ref-card.c-verde .ic {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
.observatorio .ref-card.c-azul .ic {
    background: var(--azul-faint);
    color: var(--azul-deep)
}
.observatorio .ref-card .tag {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-quiet);
}
.observatorio .ref-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.012em;
    line-height: 1.25;
}
.observatorio .ref-card p {
    font-size: 13.5px;
    color: var(--ink-soft);
    line-height: 1.5;
    letter-spacing: -.002em;
}
/* Cidades chips */
.observatorio .cities-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.observatorio .city-pill {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 18px 11px 14px;
    background: #fbfbfd;
    border: 1px solid #ececef;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.005em;
    transition: transform .2s ease, border .2s ease, box-shadow .2s ease;
}
.observatorio .city-pill:hover {
    transform: translateY(-2px);
    border-color: var(--teal);
    box-shadow: 0 6px 16px rgba(50, 185, 205, 0.14);
}
.observatorio .city-pill .pin {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
}
.observatorio .city-pill .pin svg {
    width: 12px;
    height: 12px;
    stroke-width: 2.5
}
.observatorio .city-pill .state {
    font-size: 11px;
    color: var(--ink-quiet);
    font-weight: 600;
    letter-spacing: .06em;
    margin-left: 2px;
}
/* Áreas de política — grid de chips/cards coloridos */
.observatorio .areas-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-top: 22px;
}
.observatorio .area-tile {
    background: #fbfbfd;
    border: 1px solid #ececef;
    border-radius: 14px;
    padding: 16px 14px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease, border .25s ease;
}
.observatorio .area-tile:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}
.observatorio .area-tile .ic {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.observatorio .area-tile .ic svg {
    width: 20px;
    height: 20px;
    stroke-width: 2
}
.observatorio .area-tile .lbl {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.003em;
    line-height: 1.2;
}
/* Variações de cor para os 10 ícones */
.observatorio .area-tile.c1 .ic {
    background: var(--coral-faint);
    color: var(--coral-deep)
}
.observatorio .area-tile.c2 .ic {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.observatorio .area-tile.c3 .ic {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
.observatorio .area-tile.c4 .ic {
    background: var(--amber-faint);
    color: var(--amber-deep)
}
.observatorio .area-tile.c5 .ic {
    background: var(--lavanda-faint);
    color: var(--lavanda-deep)
}
.observatorio .area-tile.c6 .ic {
    background: var(--azul-faint);
    color: var(--azul-deep)
}
.observatorio .area-tile.c7 .ic {
    background: var(--rose-faint);
    color: var(--rose-deep)
}
.observatorio .area-tile.c8 .ic {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.observatorio .area-tile.c9 .ic {
    background: var(--coral-faint);
    color: var(--coral-deep)
}
.observatorio .area-tile.c10 .ic {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
/* Closing CTA */
.observatorio .cta-sec {
    background: linear-gradient(135deg, #FFFCFA 0%, #F0FBFD 100%);
    border: 1px solid #ececef;
    border-radius: 22px;
    padding: 36px 40px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);
}
.observatorio .cta-sec .txt h3 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.018em;
    color: var(--ink);
    line-height: 1.25;
    margin-bottom: 8px;
}
.observatorio .cta-sec .txt h3 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.observatorio .cta-sec .txt p {
    font-size: 14.5px;
    color: var(--ink-soft);
    line-height: 1.5;
    /*max-width: 56ch;*/
}
.observatorio .cta-sec .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    color: #fff;
    text-decoration: none;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -.005em;
    box-shadow: 0 6px 18px rgba(50, 185, 205, 0.30);
    transition: transform .15s ease, box-shadow .15s ease;
    white-space: nowrap;
}
.observatorio .cta-sec .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(50, 185, 205, 0.42)
}
.observatorio .cta-sec .btn .ar {
    display: inline-block;
    font-size: 16px;
    line-height: 1;
    transition: transform .2s ease
}
.observatorio .cta-sec .btn:hover .ar {
    transform: translateX(3px)
}
@media (max-width: 1080px) {
    .observatorio .areas-grid {
        grid-template-columns: repeat(3, 1fr)
    }
    .observatorio .ref-grid {
        grid-template-columns: 1fr;
        gap: 14px
    }
    .observatorio .tools-grid {
        grid-template-columns: 1fr;
        gap: 14px
    }
}
@media (max-width: 880px) {
    .observatorio.intro-hero {
        padding: 44px 22px 24px
    }
    .observatorio.intro-hero h1 {
        font-size: 28px
    }
    .observatorio.page-wrap {
        padding: 24px 22px 56px;
        gap: 22px
    }
    .observatorio .sec {
        padding: 24px 24px
    }
    .observatorio .sec h2 {
        font-size: 22px
    }
    .observatorio .areas-grid {
        grid-template-columns: repeat(2, 1fr)
    }
    .observatorio .cta-sec {
        grid-template-columns: 1fr;
        padding: 28px 24px
    }
    .observatorio .cta-sec .btn {
        justify-content: center
    }
}
/* AUTO DIAGNÓSTICO */
.autodiagnostico.intro-section {
    padding: 80px 64px 24px
}
.autodiagnostico.intro-section .eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 16px
}
.autodiagnostico.intro-section h1 {
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -.028em;
    line-height: 1.1;
    color: var(--ink);
    margin-bottom: 18px;
    /*max-width: 22ch*/
}
.autodiagnostico.intro-section h1 .accent {
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2)
}
.autodiagnostico.intro-section .lede {
    font-size: 18px;
    color: var(--ink-soft);
    line-height: 1.55;
    /*max-width: 780px*/
}
.autodiagnostico.intro-section .lede strong {
    color: var(--ink);
    font-weight: 700
}
.autodiagnostico.section {
    padding: 56px 64px
}
.autodiagnostico .section-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    background: var(--teal-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px
}
.autodiagnostico .section-eyebrow.coral {
    color: var(--coral-deep);
    background: var(--coral-faint)
}
.autodiagnostico .section-eyebrow.verde {
    color: var(--verde-deep);
    background: var(--verde-faint)
}
.autodiagnostico .section-title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.022em;
    color: var(--ink);
    line-height: 1.15;
    margin-bottom: 14px;
    /*max-width: 780px*/
}
.autodiagnostico .section-title .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2)
}
.autodiagnostico .section-lead {
    font-size: 16px;
    color: var(--ink-soft);
    font-weight: 400;
    line-height: 1.6;
    /*max-width: 780px*/
}
.autodiagnostico .section-lead strong {
    color: var(--ink);
    font-weight: 700
}
.autodiagnostico .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    margin-top: 24px
}
.autodiagnostico .two-col .statement {
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: -.01em;
    color: var(--ink)
}
.autodiagnostico .two-col .statement b {
    font-weight: 700;
    background: linear-gradient(135deg, var(--teal-deep), var(--teal));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}
.autodiagnostico .two-col .body {
    font-size: 15.5px;
    color: var(--ink-soft);
    line-height: 1.7
}
.autodiagnostico .two-col .body p + p {
    margin-top: 12px
}
.autodiagnostico .two-col .body strong {
    color: var(--ink);
    font-weight: 700
}
.autodiagnostico .opt-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 32px
}
.autodiagnostico .opt-grid.cols-3 {
    grid-template-columns: repeat(3, 1fr)
}
.autodiagnostico .opt-card {
    background: #fff;
    border: 1px solid #ececef;
    border-radius: 18px;
    padding: 24px 24px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 6px 18px rgba(0, 0, 0, 0.045);
    transition: transform .25s ease, box-shadow .25s ease
}
.autodiagnostico .opt-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 14px 32px rgba(0, 0, 0, 0.075)
}
.autodiagnostico .opt-card .ic {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}
.autodiagnostico .opt-card .ic svg {
    width: 22px;
    height: 22px;
    stroke-width: 1.8
}
.autodiagnostico .opt-card h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.015em;
    line-height: 1.25
}
.autodiagnostico .opt-card p {
    font-size: 14px;
    color: var(--ink-soft);
    line-height: 1.55
}
.autodiagnostico .opt-card.c-teal .ic {
    background: var(--teal-faint);
    color: var(--teal-deep)
}
.autodiagnostico .opt-card.c-coral .ic {
    background: var(--coral-faint);
    color: var(--coral-deep)
}
.autodiagnostico .opt-card.c-verde .ic {
    background: var(--verde-faint);
    color: var(--verde-deep)
}
.autodiagnostico .opt-card.c-amber .ic {
    background: var(--amber-faint);
    color: var(--amber-deep)
}
.autodiagnostico .opt-card.c-lavanda .ic {
    background: var(--lavanda-faint);
    color: var(--lavanda-deep)
}
.autodiagnostico .opt-card.c-azul .ic {
    background: var(--azul-faint);
    color: var(--azul-deep)
}
.autodiagnostico .partner-card {
    background: linear-gradient(135deg, #FFFCFA 0%, #F0FBFD 100%);
    border: 1px solid #ececef;
    border-radius: 24px;
    padding: 36px 40px;
    margin-top: 32px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 32px;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05)
}
.autodiagnostico .partner-card .logos {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-right: 24px;
    border-right: 1px solid var(--line);
    flex-shrink: 0
}
.autodiagnostico .partner-card .logos .brand-mark {
    align-items: flex-start
}
.autodiagnostico .partner-card .logos .brand-mark .bm-text {
    color: #262626;
    font-size: 24px
}
.autodiagnostico .partner-card .logos .plus {
    font-size: 22px;
    font-weight: 300;
    color: var(--ink-quiet)
}
.autodiagnostico .partner-card .logos .longeviver-logo {
    height: 45px;
    width: auto;
    display: block
}
.autodiagnostico .partner-card .logos .itau-logo {
    height: 60px;
    width: auto;
    display: block
}
.autodiagnostico .partner-card .txt {
    min-width: 0
}
.autodiagnostico .partner-card .txt .p-eye {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    margin-bottom: 8px
}
.autodiagnostico .partner-card .txt h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.015em;
    line-height: 1.2;
    margin-bottom: 10px
}
.autodiagnostico .partner-card .txt p {
    font-size: 14.5px;
    color: var(--ink-soft);
    line-height: 1.55
}
.autodiagnostico .partner-card .txt p strong {
    color: var(--ink);
    font-weight: 700
}
.autodiagnostico .btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--coral) 0%, var(--coral-deep) 100%);
    color: #fff;
    text-decoration: none;
    padding: 14px 26px;
    border-radius: 999px;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -.005em;
    box-shadow: 0 6px 18px rgba(255, 87, 93, 0.28);
    transition: transform .15s ease, box-shadow .15s ease;
    white-space: nowrap;
    font-family: inherit;
    border: none;
    cursor: pointer
}
.autodiagnostico .btn-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(255, 87, 93, 0.38)
}
.autodiagnostico .btn-cta .ar {
    display: inline-block;
    transition: transform .2s ease;
    font-size: 17px;
    line-height: 1
}
.autodiagnostico .btn-cta:hover .ar {
    transform: translateX(4px)
}
.autodiagnostico .btn-cta.teal {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    box-shadow: 0 6px 18px rgba(50, 185, 205, 0.30)
}
.autodiagnostico .btn-cta.teal:hover {
    box-shadow: 0 10px 26px rgba(50, 185, 205, 0.42)
}
.autodiagnostico .partner-secondary {
    margin-top: 24px;
    background: #fff;
    border: 1px solid var(--line);
    border-left: 4px solid var(--teal);
    border-radius: 14px;
    padding: 22px 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap
}
.autodiagnostico .partner-secondary .txt p {
    font-size: 15px;
    color: var(--ink-soft);
    line-height: 1.55;
    max-width: 60ch
}
.autodiagnostico .partner-secondary .txt p strong {
    color: var(--ink);
    font-weight: 700
}
.autodiagnostico .partner-secondary a.link-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--teal-deep);
    font-weight: 700;
    text-decoration: none;
    padding: 10px 16px;
    border-radius: 999px;
    border: 1.5px solid var(--teal-faint);
    background: #fff;
    font-size: 13.5px;
    white-space: nowrap;
    transition: background .15s ease, transform .15s ease
}
.autodiagnostico .partner-secondary a.link-inline:hover {
    background: var(--teal-faint);
    transform: translateY(-1px)
}
.autodiagnostico .partner-secondary a.link-inline .ar {
    transition: transform .2s ease
}
.autodiagnostico .partner-secondary a.link-inline:hover .ar {
    transform: translateX(3px)
}
.autodiagnostico.contact-cta {
    background: linear-gradient(135deg, #F0FBFD 0%, #FFFCFA 100%);
    border: 1px solid #ececef;
    border-radius: 24px;
    padding: 44px 48px;
    margin: 0 64px 80px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05)
}
.autodiagnostico.contact-cta .txt .p-eye {
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    margin-bottom: 10px
}
.autodiagnostico.contact-cta h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--ink);
    letter-spacing: -.018em;
    line-height: 1.25;
    margin-bottom: 8px
}
.autodiagnostico.contact-cta h3 .accent {
    background: linear-gradient(135deg, var(--teal) 0%, var(--coral-deep) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: saturate(1.2)
}
.autodiagnostico.contact-cta p {
    font-size: 15px;
    color: var(--ink-soft);
    line-height: 1.5;
    max-width: 54ch
}
@media (max-width: 1080px) {
    .autodiagnostico .two-col {
        grid-template-columns: 1fr;
        gap: 24px
    }
    .autodiagnostico .opt-grid,
    .autodiagnostico .opt-grid.cols-3 {
        grid-template-columns: 1fr;
        gap: 14px
    }
    .autodiagnostico .partner-card {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 28px 24px
    }
    .autodiagnostico .partner-card .logos {
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid var(--line);
        padding-bottom: 16px
    }
    .autodiagnostico.contact-cta {
        grid-template-columns: 1fr;
        padding: 32px 24px;
        margin: 0 32px 56px
    }
    .autodiagnostico.intro-section,
    .autodiagnostico.section {
        padding-left: 32px;
        padding-right: 32px
    }
}
@media (max-width: 880px) {
    .autodiagnostico.intro-section {
        padding: 52px 24px 20px
    }
    .autodiagnostico.intro-section h1 {
        font-size: 30px
    }
    .autodiagnostico.section {
        padding: 36px 24px
    }
    .autodiagnostico .section-title {
        font-size: 24px
    }
    .autodiagnostico .partner-card {
        padding: 24px 20px
    }
    .autodiagnostico .partner-card .logos {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }
    .autodiagnostico.contact-cta {
        margin: 0 24px 48px;
        padding: 28px 22px
    }
}
/* --- Contato --- */
.contact-wrap {
    padding: 0 64px 96px
}
.contact {
    background: var(--card);
    border-radius: 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 16px 40px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.3fr 0.9fr;
}
.contact-form {
    padding: 48px
}
.contact-info {
    background: linear-gradient(135deg, var(--teal) 0%, var(--teal-deep) 100%);
    color: #fff;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.contact-info::before {
    content: "";
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    right: -60px;
    top: -60px;
    pointer-events: none;
}
.ci-eyebrow {
    display: inline-block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .85);
    background: rgba(255, 255, 255, .15);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 18px;
    width: fit-content;
}
.contact-info h3 {
    font-size: clamp(24px, 1.4vw, 25px);
    font-weight: 700;
    letter-spacing: -.015em;
    line-height: 1.2;
    margin-bottom: 12px;
}
.contact-info p {
    font-size: clamp(14px, 1.4vw, 15px);
    color: rgba(255, 255, 255, .85);
    line-height: 1.55;
    margin-bottom: 30px;
}
.ci-list {
    display: flex;
    flex-direction: column;
    gap: 14px
}
.ci-item {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: clamp(14px, 1.4vw, 15px);
    font-weight: 600;
}
.ci-item a {
    text-decoration: none;
    color: var(--white);
}
.ci-item a:hover {
    color: var(--coral);
}
.ci-item .ic {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.form-eyebrow {
    display: inline-block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--coral-deep);
    background: var(--coral-faint);
    padding: 6px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
}
.form-title {
    font-size: clamp(24px, 1.4vw, 25px);
    font-weight: 700;
    letter-spacing: -.015em;
    color: var(--ink);
    margin-bottom: 8px;
}
.form-sub {
    font-size: clamp(14px, 1.4vw, 15px);
    color: var(--ink-soft);
    margin-bottom: 28px
}
.field {
    margin-bottom: 14px
}
.field label {
    display: block;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: 6px;
}
.field input,
.field textarea {
    width: 100%;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fafafc;
    color: var(--ink);
    font-size: 14px;
    font-family: inherit;
    transition: border-color .15s ease, background .15s ease;
}
.field input:focus,
.field textarea:focus {
    outline: none;
    border-color: var(--teal);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(47, 190, 201, 0.12);
}
.field textarea {
    min-height: 110px;
    resize: vertical
}
.submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    gap: 14px
}
.submit-row .lgpd {
    font-size: clamp(12px, 1.4vw, 13px);
    color: var(--ink-quiet);
    line-height: 1.4
}
.submit-row .lgpd a {
    color: var(--teal-deep);
    text-decoration: none;
    font-weight: 600
}
.submit-row .lgpd a:hover {
    color: var(--coral-deep);
}
/* --- Footer --- */
.footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 36px 64px 28px;
}
.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}
/* Footer uses the standard brand mark: black text + teal bars */
.footer-partners {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    flex-wrap: wrap;
    max-width: 780px;
}
.fp {
    display: flex;
    align-items: center;
    gap: 14px
}
.fp.realiz {
    align-items: flex-start;
    flex-wrap: nowrap
}
.fp .pl {
    font-size: clamp(12px, 1.4vw, 13px);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ink-quiet);
    white-space: nowrap;
    padding-top: 6px;
}
.fp .pn {
    font-size: 14px;
    font-weight: 700;
    color: var(--ink)
}
.fp .pn-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px
}
.fp .pn-list .pn {
    background: #f3f3f5;
    color: var(--ink);
    padding: 6px 12px;
    border-radius: 999px;
    font-size: clamp(11px, 1.4vw, 12px);
    font-weight: 700;
    letter-spacing: -.005em;
}
.fp .it-mark {
    display: inline-block;
    width: 22px;
    height: 18px;
    background: linear-gradient(135deg, #FF8A00 0%, #0064C8 50%, #00C078 100%);
    border-radius: 3px;
}
.footer-bottom {
    display: flex;
    justify-content: flex-end;
    gap: 24px;
    flex-wrap: wrap;
    padding-top: 18px;
    font-size: 11px;
    color: var(--ink-quiet);
}
.footer-bottom .fp {
    align-items: center
}
.footer-bottom .fp .pl {
    padding-top: 0
}
.footer-bottom .fp .pn {
    font-size: clamp(12px, 1.4vw, 13px);
}

/*

ESSAS CLASSES ABAIXO SERÃO EXCLUIDAS JUNTO COM O BOOTSTRAP

*/
#bg-acervo {
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    background-size: cover;
    justify-content: center;
    align-items: center;
    position: relative;
    min-height: 295px;
    display: flex;
}
#bg-acervo:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 228, 217, 0.3) 0%, rgba(255, 241, 236, 0.8) 50%, rgba(255, 250, 247, 0.9) 100%);
    pointer-events: none;
}
.temas-card a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: var(--cor_tertiary);
}
.temas-card a:hover {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: var(--teal);
}
.temas-card a .temas-img img {
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 300px;
}
.temas-card a:hover .temas-img:before {
     box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    border-radius: 1rem;
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(0,0,0,.2),
        rgba(0,0,0,.7)
    );
    height: 300px;
}
.temas-content h3 {
    font-size: 1.3rem;
    line-height: 1.3;
}
.box-files {
    align-items: stretch;
    flex-direction: row;
    display: flex;
    gap: 1.3rem;
}
.box-files .card-file {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    border: 2px solid #808080;
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    background-color: #efefef;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    font-weight: bold;
    padding: 16px 20px;
    display: flex;
    gap: .75rem;
    flex: 1;
}
.box-files .card-file:hover {
    background-color: var(--teal);
    border: 2px solid var(--teal);
    color: #fff;
}
.box-files .card-file .card-icone span {
    color: var(--teal);
    font-size: 2rem;
}
.box-files .card-file:hover .card-icone span {
    color: #fff;
}
.box-files-li li {
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    border: 3px solid var(--teal);
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    background-color: #fff;
    text-align: center;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.box-files-li li:hover {
    background-color: var(--teal);
    color: #fff;
}
.box-border-li-primary li {
    border: 2px solid var(--teal);
    color: #808080;
    font-weight: 600;
    text-align: center;
    margin: 0.5rem 0;
    padding: 1rem;
}
.box-border-white {
    border: 2px solid var(--white);
    color: var(--white);
    text-align: center;
    margin: 0.5rem;
    padding: 0.6rem;
    width: 100%;
}
.box-border-li-white li {
    border: 2px solid var(--white);
    color: var(--white);
    text-align: center;
    margin: 0.5rem 0;
    padding: 0.6rem;
}
.box-time {
    margin: 0 0.5rem;
}
.box-time img {
    border: 2px solid var(--white);
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    border-radius: 2rem;
    margin-bottom: 1rem;
}
.box-time h4 {
    color: var(--coral);
    font-weight: 700;
}
.box-time p {
    font-style: italic;
}