
            :root {
                --ink: #30362d;
                --muted: #686e63;
                --land: #637047;
                --sun: #c4973d;
                --alert: #995d46;
                --pale: #f2f4eb;
                --sand: #f7f1e6;
                --line: #ebece4;
            }

            .eyebrow {
                font-size: max(11px, 0.65em);
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: 4px;
                color: #6b6d63;
                display: block;
                margin-bottom: 16px;
            }
            .hero {
                display: grid;
                grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
                gap: 5em;
                align-items: start;
                padding-bottom: 3.6em !important;
            }
            .hero h1 {
                font-size: 3.75em;
                letter-spacing: -2.5px;
                line-height: 1.02;
                margin: 0.15em 0 0.35em;
                color: var(--ink);
            }
            .lead {
                font-size: 1.17em;
                line-height: 1.75;
                color: var(--muted);
                max-width: 810px;
            }
            .territory-orbit {
                width: 100%;
                max-width: 400px;
                aspect-ratio: 1;
                border-radius: 50%;
                position: relative;
                margin: 0;
                justify-self: center;
                overflow: hidden;
                box-sizing: border-box;
                background: #f3f0df url("/images/renovaveis-territorio.webp") center/cover no-repeat;
                box-shadow: 0 30px 80px rgba(67, 79, 49, 0.2);
            }
            .section-block {
                border-top: 1px solid var(--line);
                padding: 3.2em 0 !important;
            }
            .section-head {
                display: grid;
                grid-template-columns: 180px minmax(0, 840px);
                gap: 2em;
                margin-bottom: 2em;
            }
            .section-head h2 {
                font-size: 2em;
                letter-spacing: -0.6px;
                margin: 0;
                color: var(--ink);
            }
            .section-head p {
                margin: 0;
                color: var(--muted);
                line-height: 1.7;
            }
            .rules {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1em;
            }
            .rule {
                padding: 1.4em;
                border-radius: 14px;
                background: var(--pale);
            }
            .rule:nth-child(2n) {
                background: var(--sand);
            }
            .rule b {
                display: block;
                color: var(--land);
                margin-bottom: 0.4em;
            }
            .rule p {
                font-size: 0.87em;
                line-height: 1.58;
                color: var(--muted);
                margin: 0;
            }
            .stats {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1.1em;
            }
            .stat {
                padding: 1.55em;
                border: 1px solid var(--line);
                border-radius: 15px;
            }
            .stat small {
                display: block;
                text-transform: uppercase;
                letter-spacing: 1.2px;
                color: #6a6e66;
            }
            .stat strong {
                display: block;
                font-size: 2.15em;
                line-height: 1;
                color: var(--land);
                margin: 0.3em 0;
            }
            .stat span {
                font-size: 0.8em;
                color: var(--muted);
            }
            .warning {
                margin-top: 1em;
                background: #faf6ee;
                padding: 1em 1.2em;
                color: #746b5f;
                font-size: 0.88em;
                line-height: 1.6;
                border-radius: 12px;
            }
            .consults, .plants, .criteria, .measures, .news-list {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1.1em;
            }
            .consult, .plant, .criterion, .measure, .news-item {
                border: 1px solid var(--line);
                border-radius: 14px;
                padding: 1.45em;
                background: #fff;
            }
            .consult small, .plant small, .criterion small, .measure small {
                font-size: max(11px, 0.65em);
                text-transform: uppercase;
                letter-spacing: 1.2px;
                color: var(--alert);
            }
            .consult h3, .plant h3, .criterion h3, .measure h3, .news-item h3 {
                font-size: 1.03em;
                line-height: 1.4;
                margin: 0.4em 0;
                color: var(--ink);
            }
            .consult p, .plant p, .criterion p, .measure p {
                font-size: 0.86em;
                line-height: 1.58;
                color: var(--muted);
                margin: 0.3em 0;
            }
            .consult a {
                font-size: 0.75em;
                color: var(--land);
                font-weight: 700;
            }
            .status-open {
                color: #7d6630 !important;
            }
            .status-analysis {
                color: #82665b !important;
            }
            .potential {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 1.2em;
            }
            .potential > article {
                padding: 1.8em;
                border-radius: 16px;
                background: var(--pale);
            }
            .potential > article + article {
                background: var(--sand);
            }
            .potential strong {
                display: block;
                font-size: 2.2em;
                color: var(--land);
                line-height: 1;
            }
            .potential h3 {
                font-size: 1.05em;
                margin: 0.5em 0;
            }
            .potential p {
                font-size: 0.88em;
                line-height: 1.6;
                color: var(--muted);
            }
            .measure {
                background: #f7f8f3;
            }
            .chapters {
                display: flex;
                gap: .55em;
                flex-wrap: wrap;
            }

            .chapters a {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                padding: .8em 1.2em !important;
                border: 1px solid #e2e5df !important;
                border-radius: 999px !important;
                background: #fff !important;
                color: #676e68 !important;
                font-family: Georgia, serif !important;
                font-size: max(11px, .66em) !important;
                line-height: 1.2 !important;
                text-decoration: none !important;
                box-shadow: none !important;
            }

            .chapters a.active {
                background: #315f46 !important;
                border-color: #315f46 !important;
                color: #fff !important;
            }

            /* ======================================================
            BALANÇO ECOLÓGICO — additions
            ====================================================== */

            .ledger {
                display: grid;
                grid-template-columns: 1fr;
                border: 1px solid var(--line);
                border-radius: 16px;
                overflow: hidden;
                margin-bottom: 1.2em;
            }
            .ledger-col {
                padding: 1.8em 2em;
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                column-gap: 2.5em;
                row-gap: 1.3em;
            }
            .ledger-gain { background: #f2f7ef; }
            .ledger-loss { background: #fdf5f2; border-top: 1px solid var(--line); }
            .ledger-header {
                grid-column: 1 / -1;
                padding-bottom: 0.9em;
                border-bottom: 1px solid var(--line);
            }
            .ledger-label {
                font-size: max(11px, 0.62em);
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: 3px;
            }
            .ledger-gain .ledger-label { color: var(--land); }
            .ledger-loss .ledger-label { color: var(--alert); }
            .ledger-stat {
                display: flex;
                flex-direction: column;
                gap: 0.18em;
                min-width: 0;
            }
            .ledger-stat strong {
                display: block;
                font-size: 1.95em;
                line-height: 1;
                font-family: Georgia, serif;
            }
            .ledger-gain .ledger-stat strong { color: var(--land); }
            .ledger-loss .ledger-stat strong { color: var(--alert); }
            .ledger-stat span {
                font-size: 0.75em;
                font-weight: 700;
                text-transform: uppercase;
                letter-spacing: 0.4px;
                color: var(--ink);
                margin-top: 0.15em;
            }
            .ledger-stat p {
                font-size: 0.81em;
                line-height: 1.55;
                color: var(--muted);
                margin: 0.25em 0 0;
            }

            /* Cases */
            .cases {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1.1em;
                margin-bottom: 1.2em;
            }
            .case {
                border: 1px solid var(--line);
                border-radius: 14px;
                padding: 1.5em;
                background: #fff;
            }
            .case > small {
                font-size: max(11px, 0.62em);
                text-transform: uppercase;
                letter-spacing: 1.2px;
                color: var(--alert);
                display: block;
                margin-bottom: 0.35em;
            }
            .case > h3 {
                font-size: 1.08em;
                line-height: 1.3;
                color: var(--ink);
                margin: 0 0 1em;
            }
            .case-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 0.6em;
                margin-bottom: 0.6em;
            }
            .case-kpi {
                padding: 0.85em;
                border-radius: 10px;
            }
            .gain-kpi { background: #eff5ea; }
            .loss-kpi { background: #fdf2ee; }
            .case-kpi strong {
                display: block;
                font-size: 1.3em;
                line-height: 1;
                margin-bottom: 0.15em;
                font-family: Georgia, serif;
            }
            .gain-kpi strong { color: var(--land); }
            .loss-kpi strong { color: var(--alert); }
            .case-kpi span {
                font-size: max(11px, 0.7em);
                line-height: 1.35;
                color: var(--muted);
                display: block;
            }
            .case-source {
                font-size: max(11px, 0.73em);
                color: #696d66;
                line-height: 1.5;
                margin: 0.8em 0 0;
                padding-top: 0.8em;
                border-top: 1px solid var(--line);
            }

            /* Equivalências humanas */
            .equiv-strip {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1em;
                margin-top: 1.2em;
            }
            .equiv-card {
                background: #eef2f6;
                border-radius: 14px;
                padding: 1.4em;
            }
            .equiv-card strong {
                display: block;
                font-size: 1.9em;
                color: #3d6080;
                font-family: Georgia, serif;
                line-height: 1;
                margin-bottom: 0.25em;
            }
            .equiv-card span {
                font-size: 0.78em;
                color: var(--muted);
                line-height: 1.55;
                display: block;
            }

            /* Sátira — pills */
            .satire-pills {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1em;
                margin-bottom: 2em;
            }
            .satire-pill {
                padding: 1.6em 1.4em;
                border-radius: 14px;
                background: var(--pale);
            }
            .satire-pill:nth-child(2n) { background: var(--sand); }
            .pill-number {
                display: block;
                font-size: 2.1em;
                font-weight: 900;
                color: var(--alert);
                line-height: 1;
                font-family: Georgia, serif;
                margin-bottom: 0.35em;
            }
            .pill-label {
                display: block;
                font-size: 0.82em;
                line-height: 1.55;
                color: var(--muted);
            }

            /* Quote */
            .satire-quote blockquote {
                font-size: 1.05em;
                line-height: 1.78;
                font-family: Georgia, serif;
                font-style: italic;
                color: var(--ink);
                padding: 1.1em 1.6em;
                margin: 0;
                background: var(--pale);
                border-radius: 12px;
            }
            .satire-quote cite {
                display: block;
                margin-top: 0.8em;
                font-size: 0.76em;
                font-style: normal;
                font-family: "Source Sans Pro", sans-serif;
                color: var(--muted);
                font-weight: 700;
            }

            /* Responsive */
            @media (max-width: 1280px) {
                .cases { grid-template-columns: 1fr; }
                .satire-pills { grid-template-columns: repeat(2, 1fr); }
                .equiv-strip { grid-template-columns: 1fr; }
            }
            @media (max-width: 760px) {
                .satire-pills { grid-template-columns: 1fr; }
                .case-row { grid-template-columns: 1fr 1fr; }
                .ledger-col { grid-template-columns: 1fr; }
            }

            .news-item {
                text-decoration: none;
                color: inherit;
            }
            .news-item span {
                font-size: max(11px, 0.68em);
                color: #696d66;
            }
            .empty {
                color: #696d66;
                font-style: italic;
            }

            @media (max-width: 1280px) {

                .hero {
                    grid-template-columns: 1fr;
                }
                .territory-orbit {
                    width: 320px;
                }
                .rules, .stats {
                    grid-template-columns: repeat(2, 1fr);
                }
            }
            @media (max-width: 760px) {

                .hero h1 {
                    font-size: 2.5em;
                }
                .hero {
                    gap: 2.5em;
                }
                .territory-orbit {
                    width: 235px;
                }
                .section-head, .potential {
                    grid-template-columns: 1fr;
                }
                .section-head {
                    gap: 0.7em;
                }
                .rules, .stats, .consults, .plants, .criteria, .measures, .news-list {
                    grid-template-columns: 1fr;
                }
            }

            /* --- Ajuste da Imagem (Cinematográfica, não gigante) --- */
            .pressure-image-box {
                height: 380px; /* Altura fixa para não empurrar o texto para o fim do mundo */
                margin-bottom: 3rem !important;
            }

            .pressure-image-box img {
                height: 100%;
                object-fit: cover; /* Faz o crop inteligente da imagem */
                object-position: center 30%;
            }

            /* --- Impact Nodes (Estilo Observatório / Mongólia) --- */
            .impact-grid-4-cols {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 2.5rem;
                margin: 2rem 0;
            }

            .impact-node {
                display: flex;
                flex-direction: column;
                gap: 0.6rem;
            }

            .impact-node .node-value {
                font-family: Georgia, serif !important;
                font-size: 2.6rem;
                font-weight: 400;
                color: var(--ink);
                line-height: 1;
            }

            .impact-node .node-value small {
                font-size: 1rem;
                color: var(--muted);
            }

            .impact-node .node-label {
                font-family: "Source Sans Pro", sans-serif;
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: 1.5px;
                font-size: max(11px, 0.65rem);
                color: var(--muted);
                border-bottom: 1px solid var(--line);
                padding-bottom: 8px;
                margin-bottom: 4px;
            }

            .impact-node p {
                font-size: 0.82rem;
                line-height: 1.5;
                color: var(--muted);
                margin: 0;
            }

            /* --- Pressure Alert Variant --- */
            .pressure-alert {
                background: #fcfcf9 !important;
                border-radius: 28px !important;
                padding: 3rem !important;
            }

            @media (max-width: 1100px) {
                .impact-grid-4-cols { grid-template-columns: 1fr 1fr; }
                .pressure-image-box { height: 300px; }
            }

            .legal-deep-dive {
                border-top: 4px solid var(--line) !important;
                background: #fff !important;
                margin-top: 1rem !important;
            }

            .legal-notice-box {
                padding: 1.5rem;
                background: var(--sand);
                border-radius: 12px;
                font-size: 0.85rem;
                line-height: 1.6;
                color: var(--ink);
            }

            /* --- Ajuste de Espaçamento e Remoção de Linha Superior --- */
            .legal-report-box {
                background: #fff !important;
                border-top: 0 !important; /* Remove a linha do topo */
                border-radius: 0 0 28px 28px !important;
                margin-top: -4rem !important; /* Puxa o bloco mais para cima para reduzir o espaço branco */
                padding-top: 1rem !important; /* Reduz espaço interno superior */
            }

            /* Título das Soluções em Cinzento (Igual ao Enquadramento) */
            .grey-label {
                color: #676f63 !important;
                margin-bottom: 1.5rem !important;
            }

            /* --- Secção de Fontes --- */
            .sources-footer {
                margin-top: 3rem; /* Espaço antes da linha das fontes */
                padding-top: 1rem;
                border-top: 1px solid var(--line);
            }

            .sources-footer p {
                font-size: max(11px, 0.7rem) !important; /* Tamanho reduzido */
                color: #6c6c6c;
                line-height: 1.4;
                margin: 0;
            }

            /* Ajuste da Proactive Section para ser mais compacta */
            .proactive-section {
                margin-top: 2.5rem;
                padding-top: 2rem;
                border-top: 1px solid var(--pale);
            }

            /* --- Contentor de Impacto Compacto --- */
            .compact-report {
                padding: 2rem !important;
                border-radius: 24px 24px 0 0 !important; /* Une ao bloco de baixo */
                margin-bottom: 0 !important;
            }

            .compact-title {
                font-size: 1.8rem !important;
                margin: 0.5rem 0 1.5rem !important;
            }

            /* --- Imagem Panorâmica Controlada --- */
            .pressure-image-box-v2 {
                height: 280px; /* Altura reduzida para ser mais compacta */
                margin-bottom: 1.5rem !important;
                border-radius: 12px;
                overflow: hidden;
                border: 1px solid var(--line);
            }

            .pressure-image-box-v2 img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center 30%;
            }

            /* --- Grid de Dados Compacto --- */
            .impact-grid-4-cols-compact {
                display: grid;
                grid-template-columns: repeat(4, 1fr);
                gap: 1.5rem;
                padding-top: 1rem;
            }

            .impact-grid-4-cols-compact .node-value {
                font-family: Georgia, serif !important;
                font-size: 2.2rem;
                line-height: 1;
                color: var(--ink);
            }

            .impact-grid-4-cols-compact .node-label {
                font-family: "Source Sans Pro", sans-serif;
                font-weight: 900;
                text-transform: uppercase;
                letter-spacing: 1px;
                font-size: max(11px, 0.6rem);
                color: var(--muted);
                border-bottom: 1px solid var(--line);
                padding-bottom: 4px;
                margin: 8px 0;
            }

            .impact-grid-4-cols-compact p {
                font-size: 0.78rem;
                line-height: 1.4;
                color: var(--muted);
                margin: 0;
            }

            /* --- Fusão com o Bloco Legislativo --- */
            .legal-report-box {
                margin-top: 0 !important; /* Cola ao bloco de cima */
                border-top: 1px solid var(--line) !important;
                border-radius: 0 0 24px 24px !important;
            }
/* Participação pública: resumo do momento, sinais de atenção, como participar e factos. */
.participa-now {
    display: grid;
    gap: 0.6em;
    margin: 0 0 1.4em;
    padding: 1.3em 1.5em;
    border-radius: 14px;
    background: var(--sand);
}
.participa-now .now-figures {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6em 2.2em;
}
.participa-now .now-figures span {
    display: flex;
    align-items: baseline;
    gap: 0.45em;
    font-size: 0.86em;
    color: var(--muted);
}
.participa-now .now-figures strong {
    font-size: 1.9em;
    line-height: 1;
    color: var(--ink);
}
.participa-now p {
    margin: 0;
    font-size: 0.9em;
    line-height: 1.6;
    color: var(--ink);
    max-width: 80ch;
}
.now-date {
    font-size: max(11px, 0.72em);
    color: #6a6d63;
}
.signals {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35em;
    margin: 0.2em 0 0.5em;
}
.signal {
    display: inline-block;
    padding: 0.2em 0.65em;
    border-radius: 999px;
    font-size: max(11px, 0.68em);
    font-weight: 700;
    line-height: 1.5;
    background: var(--pale);
    color: #55603f;
}
.signal-urgent { background: #f6e3d6; color: #8a4a2c; }
.signal-phase { background: #ebf0f3; color: #3f5a68; }
.signal-cumulative { background: #f3eedf; color: #6f5a2a; }
.signal-low { background: #f1ece9; color: #7a5a4e; }
.participa-extra {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1em;
    margin-top: 1.4em;
}
.participa-how, .participa-facts {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 1.45em;
    background: #fff;
}
.participa-how small, .participa-facts small {
    font-size: max(11px, 0.65em);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--alert);
}
.participa-how h3, .participa-facts h3 {
    font-size: 1.03em;
    line-height: 1.4;
    margin: 0.4em 0 0.6em;
    color: var(--ink);
}
.participa-how ol, .participa-facts ul {
    margin: 0 0 0.8em;
    padding-left: 1.2em;
}
.participa-how li, .participa-facts li {
    font-size: 0.86em;
    line-height: 1.58;
    color: var(--muted);
    margin: 0 0 0.5em;
}
.participa-how li strong, .participa-facts li strong { color: var(--ink); }
.participa-facts p {
    font-size: 0.86em;
    line-height: 1.58;
    color: var(--ink);
    margin: 0 0 0.6em;
}
.participa-how a {
    font-size: 0.75em;
    color: var(--land);
    font-weight: 700;
}
@media (max-width: 900px) {
    .participa-extra { grid-template-columns: minmax(0, 1fr); }
}
.participa-local {
    margin: -0.6em 0 1.4em;
    padding: 1.1em 1.5em;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}
.participa-local small {
    font-size: max(11px, 0.65em);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: var(--alert);
}
.participa-local h3 { font-size: 1em; margin: 0.4em 0; color: var(--ink); }
.participa-local p { margin: 0.4em 0; font-size: 0.88em; line-height: 1.6; color: var(--muted); }
.participa-local ul { margin: 0.2em 0 0.6em; padding-left: 1.1em; }
.participa-local li { font-size: 0.86em; line-height: 1.55; margin: 0.15em 0; }
.participa-local li a { color: var(--land); font-weight: 700; }
.participa-local li span { color: #6a6d63; font-size: 0.9em; }

/* Blocos de participação a toda a largura. */
.participa-now { gap: 1em; padding: 1.6em 1.8em; }
.participa-now .now-figures {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1em;
}
.participa-now .now-figures span {
    display: grid;
    gap: 0.35em;
    align-content: start;
    padding: 1em 1.2em;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.65);
    font-size: 0.86em;
}
.participa-now .now-figures strong { font-size: 2.4em; }
.participa-now p { max-width: none; font-size: 0.95em; }
.participa-local { padding: 1.4em 1.8em; }
.local-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2em 2em;
    margin-top: 0.8em;
}
.local-col { min-width: 0; padding-top: 0.8em; border-top: 2px solid var(--pale); }
.local-col h4 {
    margin: 0 0 0.5em;
    font-size: 0.82em;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink);
}
.local-col p { margin: 0; }
.local-col ul { margin: 0; padding-left: 1.1em; }
.local-col li span { display: block; }
@media (max-width: 900px) {
    .participa-now .now-figures, .local-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Mini-gráficos coloridos (participação pública). */
.mini { display: grid; gap: 5px; margin: 0.5em 0 0.2em; }
.mini .mstack { display: flex; gap: 2px; height: 14px; }
.mini .mstack span:first-child { border-radius: 4px 0 0 4px; }
.mini .mstack span:last-child { border-radius: 0 4px 4px 0; }
.mini .mlegend { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: max(11px, 0.72rem); color: var(--muted); }
.mini .mlegend i { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 5px; }
.mini .mr { display: grid; grid-template-columns: minmax(90px, 40%) minmax(0, 1fr) auto; gap: 8px; align-items: center; font-size: max(11px, 0.74rem); }
.mini .ml { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini .mt { position: relative; height: 14px; background: #f0f2ec; border-radius: 0 4px 4px 0; }
.mini .mb { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 0 4px 4px 0; }
.mini .mv { color: var(--ink); text-align: right; min-width: 3.5em; font-variant-numeric: tabular-nums; }
.participa-now .mini { margin: 0; }
.participa-facts li { margin-bottom: 0.9em; }
