/* Sistema editorial comum dos topos bioCulture.
   Carregado depois do CSS específico para normalizar apenas grelha, título e imagem. */

:root {
    --bio-hero-title-size: clamp(3.15rem, 4.15vw, 4.65rem);
    --bio-hero-circle: 400px;
    --bio-hero-gap: clamp(2.5rem, 4.5vw, 5rem);
    --bio-banner-standard: clamp(460px, 50vh, 500px);
}

body[data-hero-theme] {
    --hero-accent: #526b57;
}
body[data-hero-theme="water"] { --hero-accent: #347f91; }
body[data-hero-theme="air"] { --hero-accent: #638b91; }
body[data-hero-theme="soil"] { --hero-accent: #7b684d; }
body[data-hero-theme="biodiversity"] { --hero-accent: #557558; }
body[data-hero-theme="calendar"] { --hero-accent: #2f8035; }
body[data-hero-theme="wine"] { --hero-accent: #7b1730; }
body[data-hero-theme="energy"] { --hero-accent: #a97718; }
body[data-hero-theme="renewables"] { --hero-accent: #568064; }
body[data-hero-theme="mining"] { --hero-accent: #795b49; }
body[data-hero-theme="digital"] { --hero-accent: #536f84; }
body[data-hero-theme="livestock"] { --hero-accent: #7a684c; }
body[data-hero-theme="manifesto"] { --hero-accent: #526b57; }
body[data-hero-theme="pressure"] { --hero-accent: #a43a32; }

/* A mesma grelha para as páginas editoriais com imagem circular. */
body[data-hero-theme] #main .hero,
body[data-hero-theme] #main .observatory-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, var(--bio-hero-circle));
    gap: var(--bio-hero-gap);
    align-items: start;
}

/* Calendário mantém a largura necessária ao painel funcional. */
body[data-hero-theme="calendar"] #main .hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, 0.92fr);
}

/* Banner editorial normalizado: apresenta o tema sem ocupar todo o primeiro ecrã. */
body[data-hero-theme] #main .water-hero {
    min-height: var(--bio-banner-standard) !important;
    margin-bottom: 3rem !important;
    padding-top: clamp(5.6rem, 7vw, 6.6rem) !important;
    padding-bottom: 3rem !important;
}

body[data-hero-theme] #main .hero h1,
body[data-hero-theme] #main .header-left h1 {
    font-family: "Roboto Slab", serif;
    font-size: var(--bio-hero-title-size);
    font-weight: 700;
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin-top: 0.15em;
    text-wrap: balance;
}

body[data-hero-theme] #main h1 em.hero-accent,
body[data-hero-theme] #main .hero h1 > em {
    color: var(--hero-accent);
    display: block;
    font-style: normal;
}

/* Continuação editorial da abertura: tipografia e cor herdadas do tema. */
body[data-hero-theme] #main .hero-reading-bridge {
    max-width: 42rem;
    margin-top: 1.45rem;
}

body[data-hero-theme] #main .hero-reading-bridge p {
    margin: 0;
    color: var(--hero-accent);
    font-family: inherit;
    font-size: 1.17em;
    font-weight: 400;
    line-height: 1.75;
}

/* Todos os verdadeiros retratos circulares ocupam exatamente a mesma caixa. */
body[data-hero-theme] #main :is(
    .hero-image,
    .water-orbit,
    .air-orbit,
    .soil-orbit,
    .life-orbit,
    .grape-stage,
    .energy-orbit,
    .territory-orbit,
    .ore-orbit,
    .digital-orbit,
    .field-mark,
    .living-mark,
    .observatory-visual
) {
    width: var(--bio-hero-circle);
    height: var(--bio-hero-circle);
    max-width: 100%;
    aspect-ratio: 1;
    margin: 0;
    justify-self: center;
    align-self: start;
    border-radius: 50%;
    box-sizing: border-box;
}

@media screen and (max-width: 1280px) {
    :root {
        --bio-hero-title-size: clamp(2.8rem, 4.7vw, 4rem);
        --bio-hero-circle: 350px;
    }
}

@media screen and (max-width: 900px) {
    :root {
        --bio-hero-title-size: clamp(2.65rem, 8vw, 3.7rem);
        --bio-hero-circle: min(360px, 82vw);
    }
    body[data-hero-theme] #main .hero,
    body[data-hero-theme] #main .observatory-hero,
    body[data-hero-theme="calendar"] #main .hero {
        grid-template-columns: 1fr;
    }
    body[data-hero-theme] #main .water-hero {
        min-height: 450px !important;
        padding-top: 4.6rem !important;
        padding-bottom: 2.5rem !important;
    }
}

@media screen and (max-width: 480px) {
    :root {
        --bio-hero-title-size: clamp(2.35rem, 12vw, 3.1rem);
    }
    body[data-hero-theme] #main .water-hero {
        min-height: 430px !important;
        margin-bottom: 2.25rem !important;
        padding-top: 4rem !important;
        padding-bottom: 2rem !important;
    }
}

/* Banner bioCulture v2 — painel editorial + retrato circular completo.
   A classe é aplicada pelo runtime apenas quando a abertura tem imagem própria. */
body[data-hero-theme] {
    --bio-banner-panel:#16392a;
    --bio-banner-panel-end:#315c45;
    --bio-banner-em:#76907c;
}
body[data-hero-theme="water"] { --bio-banner-panel:#153b43; --bio-banner-panel-end:#2e6570; --bio-banner-em:#72a7b1; }
body[data-hero-theme="air"] { --bio-banner-panel:#203c49; --bio-banner-panel-end:#416979; --bio-banner-em:#83a9b6; }
body[data-hero-theme="soil"] { --bio-banner-panel:#3d3026; --bio-banner-panel-end:#68503b; --bio-banner-em:#a98a68; }
body[data-hero-theme="biodiversity"] { --bio-banner-panel:#173825; --bio-banner-panel-end:#3f6847; --bio-banner-em:#7e9c7b; }
body[data-hero-theme="calendar"] { --bio-banner-panel:#173c25; --bio-banner-panel-end:#386842; --bio-banner-em:#86a881; }
body[data-hero-theme="wine"] { --bio-banner-panel:#3f1723; --bio-banner-panel-end:#6a2d3e; --bio-banner-em:#b17b88; }
body[data-hero-theme="energy"] { --bio-banner-panel:#403b1d; --bio-banner-panel-end:#6c6430; --bio-banner-em:#b1a45e; }
body[data-hero-theme="renewables"] { --bio-banner-panel:#173b2c; --bio-banner-panel-end:#3f684e; --bio-banner-em:#7da087; }
body[data-hero-theme="mining"] { --bio-banner-panel:#382b24; --bio-banner-panel-end:#654b3c; --bio-banner-em:#aa836c; }
body[data-hero-theme="digital"] { --bio-banner-panel:#1c3440; --bio-banner-panel-end:#3e6070; --bio-banner-em:#83a2b1; }
body[data-hero-theme="livestock"] { --bio-banner-panel:#393224; --bio-banner-panel-end:#62563c; --bio-banner-em:#aa9970; }
body[data-hero-theme="pressure"] { --bio-banner-panel:#33211d; --bio-banner-panel-end:#674238; --bio-banner-em:#cf8e79; }
body[data-hero-theme="portugal"] { --bio-banner-panel:#18382c; --bio-banner-panel-end:#3e6352; --bio-banner-em:#7f9d89; }
body[data-hero-theme="manifesto"] { --bio-banner-panel:#183426; --bio-banner-panel-end:#496651; --bio-banner-em:#819886; }

html body[data-hero-theme] #main .bio-banner-hero {
    position:relative !important;
    display:block !important;
    min-height:540px !important;
    height:540px !important;
    margin:-30px 0 1.3rem !important;
    padding:50px 0 40px !important;
    overflow:visible !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
html body[data-hero-theme] #main .bio-banner-hero::before,
html body[data-hero-theme] #main .bio-banner-hero::after {
    display:none !important;
    content:none !important;
}
html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
    position:relative !important;
    left:clamp(-52px,-3.2vw,-28px);
    z-index:1;
    display:flex;
    width:calc(100% - 235px) !important;
    min-height:430px !important;
    height:430px !important;
    max-width:none !important;
    margin:0 !important;
    padding:clamp(3rem,4vw,4.15rem) clamp(2.7rem,5vw,5.4rem) !important;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
    border-radius:28px 0 0 28px !important;
    background:linear-gradient(100deg,var(--bio-banner-panel) 0%,var(--bio-banner-panel) 70%,var(--bio-banner-panel-end) 100%) !important;
    color:#fff !important;
}
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
    padding-top:1.65rem !important;
    padding-bottom:1.65rem !important;
}
html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left)::after,
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child::after {
    content:"" !important;
    position:absolute;
    z-index:-1;
    inset:0 -155px 0 auto;
    display:block !important;
    width:190px;
    background:linear-gradient(90deg,var(--bio-banner-panel-end),color-mix(in srgb,var(--bio-banner-panel-end) 86%,transparent));
}
html body[data-hero-theme] #main .bio-banner-hero :is(h1,h1 em,.lead,.hero-intro,.hero-copy,p,.eyebrow,.category-label) {
    position:relative;
    z-index:2;
    max-width:min(520px,calc(100% - 135px));
}
html body[data-hero-theme] #main .bio-banner-hero h1 {
    margin:.12em 0 .35em !important;
    color:#fff !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:clamp(2.9rem,3.9vw,4.35rem) !important;
    font-weight:700 !important;
    letter-spacing:-.055em !important;
    line-height:.91 !important;
}
html body[data-hero-theme] #main .bio-banner-hero h1 em {
    display:block;
    color:var(--bio-banner-em) !important;
    font-style:normal;
    font-weight:400;
}
html body[data-hero-theme] #main .bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p) {
    margin:1rem 0 0 !important;
    color:#e5eee8 !important;
    font-size:clamp(.92rem,1.15vw,1.08rem) !important;
    line-height:1.65 !important;
}
html body[data-hero-theme] #main .bio-banner-hero :is(.eyebrow,.category-label) {
    color:#bdcec2 !important;
}
html body[data-hero-theme] #main .bio-banner-hero :is(.hero-reading-bridge,.vineyard-reading-bridge) {
    max-width:520px !important;
    margin-top:.65rem !important;
}
html body[data-hero-theme] #main .bio-banner-hero :is(.hero-reading-bridge,.vineyard-reading-bridge) p {
    margin:0 !important;
    color:#a9c2b3 !important;
    font-size:.78rem !important;
    line-height:1.5 !important;
}
html body[data-hero-theme] #main .bio-banner-hero > :is(
    .water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,
    .soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,
    .digital-orbit,.field-mark,.living-mark
) {
    position:absolute !important;
    z-index:2;
    top:0 !important;
    right:clamp(-68px,-3.55vw,-38px) !important;
    left:auto !important;
    display:block !important;
    width:min(540px,45vw) !important;
    height:min(540px,45vw) !important;
    max-width:none !important;
    min-height:0 !important;
    aspect-ratio:1 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.72) !important;
    border-radius:50% !important;
    background-color:#e9eee8;
    box-shadow:0 28px 70px rgba(27,48,36,.18) !important;
    transform:none !important;
}
html body[data-hero-theme] #main .bio-banner-hero + :is(nav,.pressure-nav,.home-nav) {
    margin-top:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

@media screen and (max-width:1100px) and (min-width:761px) {
    html body[data-hero-theme] #main .bio-banner-hero { min-height:500px !important; height:500px !important; margin-top:-20px !important; padding:35px 0 !important; }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child { left:-24px; width:calc(100% - 175px) !important; min-height:430px !important; height:430px !important; padding:3rem !important; }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,.soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,.digital-orbit,.field-mark,.living-mark) { right:-28px !important; width:min(500px,48vw) !important; height:min(500px,48vw) !important; }
}
@media screen and (max-width:760px) {
    html body[data-hero-theme] #main .bio-banner-hero { min-height:650px !important; height:650px !important; margin-top:0 !important; padding:0 !important; }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child { left:0; width:100% !important; min-height:470px !important; height:470px !important; padding:3.2rem 1.6rem 6.7rem !important; border-radius:22px !important; }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left)::after,
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child::after { display:none !important; }
    html body[data-hero-theme] #main .bio-banner-hero :is(h1,h1 em,.lead,.hero-intro,.hero-copy,p,.eyebrow,.category-label) { max-width:100%; }
    html body[data-hero-theme] #main .bio-banner-hero h1 { font-size:clamp(2.65rem,12vw,3.6rem) !important; }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,.soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,.digital-orbit,.field-mark,.living-mark) { top:auto !important; right:50% !important; bottom:0; width:min(300px,82vw) !important; height:min(300px,82vw) !important; transform:translateX(50%) !important; }
}

/* bioCulture interface v4 — componentes transversais e conteúdo seguro. */
html body[data-hero-theme] #main .bio-banner-hero { isolation:isolate; }
html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child { z-index:1 !important; }
html body[data-hero-theme] #main .bio-banner-hero > :is(
    .hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,
    .soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,
    .digital-orbit,.field-mark,.living-mark
) {
    z-index:5 !important;
    filter:none !important;
    opacity:1 !important;
    background-blend-mode:normal !important;
    background-color:transparent !important;
    background-position:center !important;
    background-size:cover !important;
}
html body[data-hero-theme] #main .bio-banner-hero > :is(
    .hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,
    .soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,
    .digital-orbit,.field-mark,.living-mark
)::before,
html body[data-hero-theme] #main .bio-banner-hero > :is(
    .hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,
    .soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,
    .digital-orbit,.field-mark,.living-mark
)::after { content:none !important; display:none !important; }

body[data-hero-theme="water"] .bio-banner-hero .water-hero-image { background-image:url('/recursos/water/water-global-page/images/water-global-hero.png') !important; }
body[data-hero-theme="air"] .bio-banner-hero .water-hero-image { background-image:url('/images/ar-vivo.webp') !important; }
body[data-hero-theme="soil"] .bio-banner-hero .water-hero-image { background-image:url('/images/solo-vivo.webp') !important; }
body[data-hero-theme="biodiversity"] .bio-banner-hero .water-hero-image { background-image:url('/images/biodiversidade-teia-viva.webp') !important; }
body[data-hero-theme="calendar"] .bio-banner-hero .regen-hero-image { background-image:url('/images/calendario_regeneracao.jpg') !important; }
html[lang="en"] body[data-hero-theme="calendar"] .bio-banner-hero .regen-hero-image { background-image:url('/images/regeneration-calendar-en-v1.png') !important; }
body[data-hero-theme="wine"] .bio-banner-hero .water-hero-image { background-image:url('/images/enologia-terroir-abstrato.webp') !important; }
body[data-hero-theme="energy"] .bio-banner-hero .water-hero-image { background-image:url('/images/energia-consciente.webp') !important; }
body[data-hero-theme="renewables"] .bio-banner-hero .water-hero-image { background-image:url('/images/renovaveis-territorio.webp') !important; }
body[data-hero-theme="mining"] .bio-banner-hero .water-hero-image { background-image:url('/images/mineracao-territorio.webp') !important; }
body[data-hero-theme="digital"] .bio-banner-hero .water-hero-image { background-image:url('/images/digital-impacto-fisico.webp') !important; }
body[data-hero-theme="livestock"] .bio-banner-hero .water-hero-image { background-image:url('/images/pecuaria-escala.webp') !important; }
body[data-hero-theme="pressure"] .bio-banner-hero .observatory-visual { background-image:url('/images/pressoes-globais.webp') !important; }
body[data-hero-theme="portugal"] .bio-banner-hero .observatory-visual { background-image:url('/images/observatorio-portugal.webp') !important; }
body[data-hero-theme="manifesto"] .bio-banner-hero .hero-image { background-image:url('/images/manifesto-pertencer.webp') !important; }
html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child { align-items:flex-start !important; text-align:left !important; }
html[lang="en"] body[data-hero-theme] #main .bio-banner-hero h1 {
    max-width:700px !important;
    font-size:clamp(2.75rem,3.65vw,3.45rem) !important;
    line-height:.94 !important;
}
html[lang="en"] body[data-hero-theme="renewables"] #main .bio-banner-hero h1 { font-size:clamp(2.55rem,3.3vw,3.15rem) !important; }
html[lang="en"] body[data-hero-theme] #main .bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p) { max-width:700px !important; }

html body #main .bio-hero-followup {
    display:flex; align-items:center; gap:.75rem 1.5rem; flex-wrap:wrap;
    margin:-.25rem 0 1.8rem; padding:.75rem clamp(.25rem,1vw,.75rem); color:#6f7973;
}
html body #main .bio-hero-followup :is(.hero-proof,.hero-guide,.location-guide,.hero-reading-bridge,.vineyard-reading-bridge) {
    position:static !important; display:flex; width:auto !important; max-width:none !important;
    margin:0 !important; padding:0 !important; gap:.65rem 1.25rem; flex-wrap:wrap;
    border:0 !important; background:transparent !important; color:inherit !important;
}
html body #main .bio-hero-followup :is(p,span,strong,small) {
    margin:0 !important; color:inherit !important; font-size:.72rem !important; line-height:1.5 !important;
}

/* Controlos editoriais: o mesmo botão-pílula em todas as páginas novas. */
html body #main :is(
    .project-filters,.commodity-filters,.system-filters,.dimension-filters,.climate-filters,
    .catalogue-filters,.atlas-mode,.hemi-controls,.month-ribbon,.quick-filters,.filter-nav
) button,
html body #main :is(.quiet-button,.catalogue-more,.load-more,.btn-clean,.btn-pagination,.button-link),
html body #main .actions :is(.action,.button) {
    width:auto !important; height:auto !important; min-height:0 !important;
    padding:.78em 1.35em !important; border:1px solid #dfe6e1 !important;
    border-radius:999px !important; background:#fff !important; box-shadow:none !important;
    color:#758178 !important; font-family:Georgia,"Times New Roman",serif !important;
    font-size:.68rem !important; font-weight:700 !important; line-height:1.2 !important;
    letter-spacing:.035em !important; text-decoration:none !important;
    text-transform:none !important; white-space:normal;
}
html body #main :is(
    .project-filters,.commodity-filters,.system-filters,.dimension-filters,.climate-filters,
    .catalogue-filters,.atlas-mode,.hemi-controls,.month-ribbon,.quick-filters,.filter-nav
) button:is(.active,[aria-selected="true"],[aria-pressed="true"]),
html body #main .actions :is(.action,.button).primary {
    border-color:#2f6147 !important; background:#2f6147 !important; color:#fff !important;
}
html body #main :is(
    .project-filters,.commodity-filters,.system-filters,.dimension-filters,.climate-filters,
    .catalogue-filters,.atlas-mode,.hemi-controls,.month-ribbon,.quick-filters,.filter-nav
) button:hover,
html body #main :is(.quiet-button,.catalogue-more,.load-more,.btn-clean,.btn-pagination,.button-link):hover,
html body #main .actions :is(.action,.button):hover {
    border-color:#9eb2a5 !important; color:#385b47 !important;
}

/* Estados interativos legíveis: fundo escuro implica sempre texto branco. */
html body #main :is(
    .project-filters,.commodity-filters,.system-filters,.dimension-filters,.climate-filters,
    .catalogue-filters,.atlas-mode,.hemi-controls,.month-ribbon,.quick-filters,.filter-nav,
    .manual-nav
) button:is(:hover,.active,[aria-selected="true"],[aria-pressed="true"]) {
    border-color:#2f6147 !important;
    background:#2f6147 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

/* O destaque acompanha a cor do tema de cada página (água fica azul, pressão fica vermelho-terra, etc.). */
html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.reading-nav) a:is(:hover,.bio-nav-active) {
    border-color:var(--hero-accent,#2f6147) !important;
    background:var(--hero-accent,#2f6147) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
}

/* A navegação interna permanece visível sem ficar colada ao topo do ecrã. */
html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.section-nav,.journey-nav,.reading-nav) {
    position:sticky !important;
    top:1.75rem !important;
    z-index:40 !important;
    overflow:visible !important;
    flex-wrap:wrap;
}
.bio-nav-anchor { width:100%; height:0; }
.bio-nav-progress {
    position:absolute;
    left:0;
    bottom:0;
    height:2px;
    width:0;
    background:linear-gradient(90deg,#536b57,#a66f50);
    border-radius:0 0 2px 2px;
    pointer-events:none;
    transition:width .12s linear;
}
html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.section-nav,.journey-nav,.reading-nav).bio-nav-pinned .bio-nav-progress {
    border-radius:0 0 12px 12px;
}
html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.section-nav,.journey-nav,.reading-nav).bio-nav-pinned {
    position:fixed !important;
    top:1.75rem !important;
    left:var(--bio-nav-left) !important;
    width:var(--bio-nav-width) !important;
    margin:0 !important;
    padding-right:.75rem !important;
    padding-left:.75rem !important;
    border:1px solid rgba(220,227,221,.92) !important;
    border-radius:12px;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 10px 30px rgba(31,54,40,.08) !important;
    backdrop-filter:blur(14px);
}

@media (max-width:760px) {
    html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.section-nav,.journey-nav,.reading-nav) {
        top:.65rem !important;
    }
    html body #main :is(.scope-switch,.calendar-navigation-bar,.home-nav,.pressure-nav,.section-nav,.journey-nav,.reading-nav).bio-nav-pinned { top:.65rem !important; }
}

/* Cartões e blocos: a altura acompanha o conteúdo e o texto mantém respiro. */
html body #main :is(.report-grid,.news-list) { align-items:stretch; }
html body #main :is(.report-card,.news-item) { min-height:0 !important; height:auto !important; }
html body #main .report-card { padding:clamp(1.35rem,2vw,1.8rem) !important; }
html body #main .method-box {
    box-sizing:border-box; padding:clamp(2rem,4vw,3.4rem) !important; overflow:hidden;
}
html body #main .method-box > * { min-width:0; }
html body #main .method-box :is(h2,p,a,b) { overflow-wrap:anywhere; }
html body #main .method-grid article { min-width:0; padding-inline:.15rem; }

@media (max-width:760px) {
    html body #main .bio-hero-followup { margin-top:.5rem; }
    html body #main .method-box { padding:1.5rem !important; }
}

/* Banner bioCulture v3 — geometria aprovada na página inicial. */
html,
body {
    overflow-x:clip;
}

html body[data-hero-theme] #main .bio-banner-hero {
    min-height:470px !important;
    height:470px !important;
    margin:-30px 0 1.3rem !important;
    padding:80px 0 30px !important;
}

html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
    left:-80px;
    width:calc(100% + 100px) !important;
    min-height:310px !important;
    height:310px !important;
    padding:2.7rem clamp(3.8rem,7vw,7.2rem) !important;
    overflow:visible !important;
    border-radius:0 !important;
}

html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left)::after,
html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child::after {
    inset:0 -240px 0 auto;
    width:280px;
}

html body[data-hero-theme] #main .bio-banner-hero :is(.eyebrow,.category-label) {
    position:absolute !important;
    top:-55px;
    left:clamp(3.8rem,7vw,7.2rem);
    z-index:4;
    margin:0 !important;
    color:var(--hero-accent) !important;
    white-space:nowrap;
}

html body[data-hero-theme] #main .bio-banner-hero h1 {
    max-width:520px;
    font-size:clamp(3.3rem,4.7vw,4.2rem) !important;
}

html body[data-hero-theme] #main .bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p,.hero-reading-bridge,.vineyard-reading-bridge,.hero-guide,.location-guide,.hero-proof) {
    max-width:520px !important;
}

html body[data-hero-theme] #main .bio-banner-hero > :is(
    .hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,
    .soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,
    .digital-orbit,.field-mark,.living-mark
) {
    top:0 !important;
    right:clamp(-68px,-3.55vw,-38px) !important;
    bottom:auto !important;
    width:min(470px,40vw) !important;
    height:min(470px,40vw) !important;
    transform:none !important;
}

/* Títulos editoriais intermédios: mesma escala e alinhamento em todas as famílias. */
html body #main :is(.head,.section-head) {
    align-items:start;
}

html body #main :is(.head,.section-head) h2 {
    margin:0 !important;
    font-size:clamp(2.15em,3.15vw,3.25em) !important;
    line-height:1.02 !important;
    letter-spacing:-.035em !important;
}

html body #main .head > div:first-child > :is(.eyebrow,.category-label),
html body #main .section-head > :is(.eyebrow,.category-label) {
    margin-top:.42em;
}

@media screen and (max-width:1100px) and (min-width:761px) {
    html body[data-hero-theme] #main .bio-banner-hero {
        min-height:690px !important;
        height:690px !important;
        margin-top:0 !important;
        padding:62px 0 0 !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
        left:0;
        width:100% !important;
        min-height:390px !important;
        height:390px !important;
        padding:2.6rem clamp(3rem,8vw,5rem) 3rem !important;
        border-radius:28px !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left)::after,
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child::after {
        display:none !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero :is(.eyebrow,.category-label) {
        top:-48px;
        left:clamp(3rem,8vw,5rem);
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,.soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,.digital-orbit,.field-mark,.living-mark) {
        top:auto !important;
        right:50% !important;
        bottom:0 !important;
        width:min(310px,40vw) !important;
        height:min(310px,40vw) !important;
        transform:translateX(50%) !important;
    }
}

/* Final specificity layer: legacy page CSS must not restore the old banner. */
@media screen and (min-width:1101px) {
    html body[data-hero-theme] #main > .inner > section:first-child > .hero.bio-banner-hero:first-child {
        min-height:470px !important;
        height:470px !important;
        margin:-30px 0 1.3rem !important;
        padding:80px 0 30px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero {
        min-height:470px !important;
        height:470px !important;
        margin:-30px 0 1.3rem !important;
        padding:80px 0 30px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main > .inner .hero.bio-banner-hero > div:first-child {
        left:-80px !important;
        width:calc(100% + 100px) !important;
        min-height:310px !important;
        height:310px !important;
        padding:2.7rem clamp(3.8rem,7vw,7.2rem) !important;
        overflow:visible !important;
        border-radius:28px 0 0 28px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero > :is(.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,.soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,.digital-orbit,.field-mark,.living-mark) {
        top:0 !important;
        right:clamp(-68px,-3.55vw,-38px) !important;
        bottom:auto !important;
        width:min(470px,40vw) !important;
        height:min(470px,40vw) !important;
        transform:none !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero h1,
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p) {
        max-width:620px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero :is(.hero-reading-bridge,.vineyard-reading-bridge) {
        position:absolute !important;
        top:calc(100% + .75rem);
        left:clamp(3.8rem,7vw,7.2rem);
        width:520px;
        margin:0 !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero :is(.hero-reading-bridge,.vineyard-reading-bridge) p {
        color:var(--hero-accent) !important;
    }

    html body[data-hero-theme="manifesto"] #main > .inner .bio-banner-hero h1 {
        font-size:3.7rem !important;
    }
    html body[data-hero-theme="manifesto"] #main > .inner .bio-banner-hero .lead {
        font-size:.96rem !important;
        line-height:1.55 !important;
    }
    html body[data-hero-theme="energy"] #main > .inner .bio-banner-hero h1,
    html body[data-hero-theme="calendar"] #main > .inner .bio-banner-hero h1 {
        font-size:clamp(3.25rem,4.1vw,3.85rem) !important;
    }
    html body[data-hero-theme="energy"] #main > .inner .bio-banner-hero .lead,
    html body[data-hero-theme="mining"] #main > .inner .bio-banner-hero .lead,
    html body[data-hero-theme="digital"] #main > .inner .bio-banner-hero .lead,
    html body[data-hero-theme="livestock"] #main > .inner .bio-banner-hero .lead {
        font-size:.95rem !important;
        line-height:1.55 !important;
    }
    html body[data-hero-theme="mining"] #main > .inner .bio-banner-hero h1,
    html body[data-hero-theme="digital"] #main > .inner .bio-banner-hero h1,
    html body[data-hero-theme="livestock"] #main > .inner .bio-banner-hero h1 {
        font-size:clamp(3.2rem,4vw,3.8rem) !important;
    }
    html body[data-hero-theme="pressure"] #main > .inner .bio-banner-hero .hero-guide {
        max-width:620px !important;
        margin-top:.25rem !important;
    }
    html body[data-hero-theme="pressure"] #main > .inner .bio-banner-hero .hero-guide > span {
        display:none;
    }
    html body[data-hero-theme="pressure"] #main > .inner .bio-banner-hero .hero-guide article {
        padding:.3rem .5rem;
    }
    html body[data-hero-theme="pressure"] #main > .inner .bio-banner-hero .hero-guide small {
        margin-bottom:.25rem;
    }
    html body[data-hero-theme="pressure"] #main > .inner .bio-banner-hero .hero-guide p {
        font-size:.56rem !important;
        line-height:1.18 !important;
    }
}

@media screen and (max-width:760px) {
    html body[data-hero-theme] #main .bio-banner-hero {
        min-height:610px !important;
        height:610px !important;
        margin-top:0 !important;
        padding:50px 0 0 !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
        left:0;
        width:100% !important;
        min-height:410px !important;
        height:410px !important;
        padding:2.5rem 1.7rem 5.4rem !important;
        border-radius:22px !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero :is(.eyebrow,.category-label) {
        top:-35px;
        left:1.7rem;
        max-width:calc(100% - 3.4rem);
        overflow:hidden;
        text-overflow:ellipsis;
    }
    html body[data-hero-theme] #main .bio-banner-hero h1 {
        font-size:clamp(2.5rem,11vw,3.2rem) !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.hero-image,.water-hero-image,.regen-hero-image,.observatory-visual,.water-orbit,.air-orbit,.soil-orbit,.life-orbit,.grape-stage,.energy-orbit,.territory-orbit,.ore-orbit,.digital-orbit,.field-mark,.living-mark) {
        top:auto !important;
        right:50% !important;
        bottom:0 !important;
        width:min(270px,76vw) !important;
        height:min(270px,76vw) !important;
        transform:translateX(50%) !important;
    }
    html body #main :is(.head,.section-head) h2 {
        font-size:clamp(2em,9vw,2.55em) !important;
    }
    html body #main .head > div:first-child > :is(.eyebrow,.category-label),
    html body #main .section-head > :is(.eyebrow,.category-label) {
        margin-top:0;
    }
}

/* Banner copy fit: largura natural e centragem vertical, também nas traduções. */
@media screen and (min-width:1101px) {
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero,
    html body[data-hero-theme] #main > .inner > section:first-child > .hero.bio-banner-hero:first-child {
        min-height:490px !important;
        height:490px !important;
        padding:75px 0 25px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main > .inner .hero.bio-banner-hero > div:first-child {
        min-height:340px !important;
        height:340px !important;
        padding-top:2.15rem !important;
        padding-bottom:2.15rem !important;
        justify-content:center !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero h1,
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p) {
        width:100% !important;
        max-width:680px !important;
    }
    html body[data-hero-theme] #main > .inner :is(section,div).bio-banner-hero h1 em {
        width:max-content;
        max-width:100% !important;
        text-wrap:balance;
    }
    html[lang="en"] body[data-hero-theme="manifesto"] #main > .inner .bio-banner-hero h1 {
        font-size:3.35rem !important;
    }
}

@media screen and (max-width:760px) {
    html body[data-hero-theme] #main .bio-banner-hero {
        min-height:690px !important;
        height:690px !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero > :is(.water-hero-copy,.regen-hero-copy,.header-left),
    html body[data-hero-theme] #main .hero.bio-banner-hero > div:first-child {
        min-height:480px !important;
        height:480px !important;
        padding-top:2.1rem !important;
        padding-bottom:6rem !important;
        justify-content:center !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero h1 {
        font-size:clamp(2.25rem,10vw,2.85rem) !important;
    }
    html body[data-hero-theme] #main .bio-banner-hero :is(.lead,.hero-intro,.hero-copy,.regen-hero-copy>p) {
        font-size:.9rem !important;
        line-height:1.5 !important;
    }
}
