/*
 * PTIn public shell — phases 1–7
 * Single owner for top bars, floating header, public navigation and themes.
 * Content components remain in site-modern.css.
 */
@layer site-overrides {
    :root {
        --site-floating-gap: clamp(.5rem, 1.1vw, .875rem);
        --site-header-row-height: 4.85rem;
        --site-header-height: var(--site-header-row-height);
        --site-header-clearance: calc(var(--site-header-height) + var(--site-floating-gap));
        --site-header-bottom: calc(var(--site-header-height) + var(--site-floating-gap));
        --site-shell-border: color-mix(in srgb, var(--site-line) 86%, transparent);
        --site-shell-shadow: 0 1.2rem 3.2rem rgb(2 25 40 / .15);
    }

    html[data-site-theme="light"] {
        color-scheme: light;
    }

    html[data-site-theme="dark"] {
        color-scheme: dark;
        --site-ink: #dcebef;
        --site-ink-strong: #f4fbfc;
        --site-ink-muted: #a7c0c9;
        --site-canvas: #051720;
        --site-surface: #0b2431;
        --site-surface-2: #102f3d;
        --site-surface-3: #173b48;
        --site-line: #2b4b58;
        --site-line-strong: #496b77;
        --site-primary: #73dce6;
        --site-primary-strong: #a1edf2;
        --site-secondary: #041b29;
        --site-rgb-primary: 115 220 230;
        --site-rgb-secondary: 4 27 41;
        --site-rgb-ink: 220 235 239;
        --site-shadow-xs: 0 2px 10px rgb(0 0 0 / .18);
        --site-shadow-sm: 0 14px 38px rgb(0 0 0 / .28);
        --site-shadow-md: 0 24px 66px rgb(0 0 0 / .38);
        --site-shadow-lg: 0 34px 90px rgb(0 0 0 / .48);
        --site-shell-shadow: 0 1.25rem 3.5rem rgb(0 0 0 / .38);
    }

    html {
        background: var(--site-canvas);
    }

    body.site-body {
        background-color: var(--site-canvas);
        color: var(--site-ink);
    }

    .site-section--default {
        background-color: var(--site-canvas);
    }

    .site-section--surface {
        background-color: var(--site-surface);
    }

    .site-section--soft,
    .site-section--glass {
        background:
            radial-gradient(circle at 8% 12%, rgb(var(--site-rgb-cyan) / .1), transparent 27rem),
            linear-gradient(150deg, var(--site-surface-2), var(--site-canvas));
    }

    html[data-site-theme="dark"] .site-body .site-card,
    html[data-site-theme="dark"] .site-body .site-news-card,
    html[data-site-theme="dark"] .site-body .site-feature-card,
    html[data-site-theme="dark"] .site-body .site-team-card,
    html[data-site-theme="dark"] .site-body .site-stat,
    html[data-site-theme="dark"] .site-body .site-faq details,
    html[data-site-theme="dark"] .site-body .site-empty-state {
        border-color: var(--site-line);
        background-color: var(--site-surface);
        color: var(--site-ink);
    }
    html[data-site-theme="dark"] .site-location-panel__details > div {
        background: var(--site-surface-2);
    }


    html[data-site-theme="dark"] .site-body .site-partner-card {
        border-color: var(--site-line);
        background: linear-gradient(135deg, var(--site-surface), var(--site-surface-2));
    }

    html[data-site-theme="dark"] .site-body .site-partner-card__logo {
        background: #fff;
    }

    html[data-site-theme="dark"] .site-body .site-button--outline {
        --button-color: #fff;
    }

    .site-top-bars {
        position: relative;
        z-index: 1;
        width: 100%;
        background: var(--site-surface-2);
    }

    .site-accessibility-bar {
        position: relative;
        z-index: 2;
        min-height: calc(2.4rem + env(safe-area-inset-top, 0px));
        padding-block-start: env(safe-area-inset-top, 0px);
        border-block-end: 1px solid var(--site-shell-border);
        background: var(--site-surface-2);
        color: var(--site-ink-muted);
    }

    .site-accessibility-bar__inner {
        display: flex;
        min-height: 2.4rem;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .site-accessibility-bar__title {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: .45rem;
        color: var(--site-ink-muted);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .07em;
        text-decoration: none;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .site-accessibility-bar__title svg {
        width: .92rem;
        height: .92rem;
    }

    .site-accessibility-bar__controls {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: flex-end;
        gap: .2rem;
    }

    :is(.site-accessibility-bar, .site-mobile-accessibility) :is(button, a) {
        display: inline-flex;
        min-height: 2rem;
        padding: .35rem .55rem;
        border: 1px solid transparent;
        border-radius: .5rem;
        align-items: center;
        justify-content: center;
        gap: .35rem;
        background: transparent;
        color: var(--site-ink);
        cursor: pointer;
        font-size: .68rem;
        font-weight: 720;
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
    }

    :is(.site-accessibility-bar, .site-mobile-accessibility) :is(button, a):hover,
    :is(.site-accessibility-bar, .site-mobile-accessibility) :is(button, a)[aria-pressed="true"] {
        border-color: rgb(var(--site-rgb-primary) / .26);
        background: rgb(var(--site-rgb-primary) / .1);
        color: var(--site-primary);
    }

    :is(.site-accessibility-bar, .site-mobile-accessibility) svg {
        width: .9rem;
        height: .9rem;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.75;
    }

    .site-header__utility {
        display: block;
        min-height: 2rem;
        background: linear-gradient(90deg, #061f35, var(--site-secondary) 55%, #073b5d);
        color: rgb(255 255 255 / .78);
        font-size: .7rem;
        font-weight: 650;
    }

    .site-header__utility .site-container {
        display: flex;
        min-height: 2rem;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .site-government-label,
    .site-utility-actions,
    .site-utility-actions > a {
        display: flex;
        align-items: center;
    }

    .site-government-label,
    .site-utility-actions {
        gap: .65rem;
    }

    .site-utility-actions {
        margin-inline-start: auto;
    }

    .site-utility-actions > a {
        gap: .35rem;
        color: inherit;
        text-decoration: none;
    }

    .site-government-label svg,
    .site-utility-actions > a svg {
        width: .95rem;
        height: .95rem;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.7;
    }

    .site-language-switcher {
        display: inline-flex;
        align-items: center;
        gap: .22rem;
    }

    .site-language-switcher button {
        display: inline-flex;
        min-height: 1.75rem;
        padding: .2rem .4rem;
        border: 1px solid transparent;
        border-radius: .42rem;
        align-items: center;
        gap: .3rem;
        background: transparent;
        color: inherit;
        cursor: pointer;
        font-size: .65rem;
        font-weight: 800;
        letter-spacing: .04em;
    }

    .site-language-switcher button:hover,
    .site-language-switcher button[aria-pressed="true"],
    .site-language-switcher button.is-active {
        border-color: rgb(255 255 255 / .3);
        background: rgb(255 255 255 / .14);
        color: #fff;
    }

    .site-language-switcher img {
        width: 1.18rem;
        height: .8rem;
        border-radius: .12rem;
        object-fit: cover;
        box-shadow: 0 0 0 1px rgb(255 255 255 / .25);
    }

    .site-header-stack {
        position: fixed;
        z-index: 1500;
        inset-block-start: max(var(--site-floating-header-top, var(--site-floating-gap)), calc(env(safe-area-inset-top, 0px) + var(--site-floating-gap)));
        inset-inline: 0;
        pointer-events: none;
    }

    .site-header-stack > .site-header {
        pointer-events: auto;
    }

    .site-header {
        position: relative;
        width: min(calc(100% - (var(--site-floating-gap) * 2)), 94rem);
        margin-inline: auto;
        overflow: visible;
        border: 0;
        border-radius: clamp(1rem, 1.6vw, 1.35rem);
        background: color-mix(in srgb, var(--site-surface) 97%, transparent);
        box-shadow: var(--site-shell-shadow);
        color: var(--site-ink);
        transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
    }

    .site-header-stack.is-scrolled .site-header {
        background: var(--site-surface);
        box-shadow: 0 1rem 2.8rem rgb(2 25 40 / .22);
    }

    .site-translate-engine,
    .goog-te-banner-frame,
    .goog-te-balloon-frame,
    #goog-gt-tt,
    .goog-tooltip,
    .goog-tooltip:hover {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.site-body {
        inset-block-start: 0 !important;
        top: 0 !important;
    }

    .site-header__main {
        position: static;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: var(--site-header-row-height);
        align-items: center;
        gap: clamp(.8rem, 2vw, 2rem);
    }

    .site-brand {
        display: inline-flex;
        min-width: 0;
        align-items: center;
        color: var(--site-ink-strong);
        line-height: 0;
        text-decoration: none;
    }

    .site-brand__mark {
        display: inline-grid;
        place-items: center start;
    }

    .site-brand__logo {
        grid-area: 1 / 1;
        width: auto;
        max-width: min(11.5rem, 31vw);
        height: clamp(2.65rem, 3.5vw, 3.35rem);
        object-fit: contain;
    }

    .site-brand__logo--dark,
    html[data-site-theme="dark"] .site-brand__logo--light {
        display: none;
    }

    html[data-site-theme="dark"] .site-brand__logo--dark {
        display: block;
    }

    .site-nav--desktop {
        display: flex;
        min-width: 0;
        align-items: center;
        justify-content: center;
        gap: clamp(.05rem, .35vw, .32rem);
    }

    .site-nav__group {
        position: relative;
    }

    .site-nav__group--mega {
        position: static;
    }

    .site-nav--desktop > .site-nav__link,
    .site-nav--desktop .site-nav__trigger {
        position: relative;
        display: inline-flex;
        min-height: 2.65rem;
        padding: .6rem clamp(.48rem, .7vw, .72rem);
        border: 0;
        border-radius: .62rem;
        align-items: center;
        gap: .3rem;
        background: transparent;
        color: var(--site-ink);
        cursor: pointer;
        font-size: clamp(.76rem, .82vw, .88rem);
        font-weight: 720;
        line-height: 1.2;
        text-decoration: none;
        white-space: nowrap;
        transition: background-color 160ms ease, color 160ms ease;
    }

    .site-nav--desktop > .site-nav__link:hover,
    .site-nav--desktop > .site-nav__link.is-active,
    .site-nav--desktop > .site-nav__link[aria-current="page"],
    .site-nav--desktop .site-nav__trigger:hover,
    .site-nav--desktop .site-nav__trigger[aria-expanded="true"],
    .site-nav--desktop .site-nav__group.is-current > .site-nav__trigger {
        background: var(--site-surface-2);
        color: var(--site-primary);
    }

    .site-nav__trigger svg {
        width: .9rem;
        height: .9rem;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
        transition: rotate 160ms ease;
    }

    .site-nav__trigger[aria-expanded="true"] svg {
        rotate: 180deg;
    }

    .site-header-stack > .site-header .site-nav__mega {
        position: absolute;
        z-index: 1550;
        inset-block-start: calc(100% + .5rem);
        inset-inline: 0;
        display: grid;
        width: auto;
        max-width: none;
        margin-inline: 0;
        translate: 0;
        max-height: min(74svh, 40rem);
        padding: .85rem;
        overflow: auto;
        border: 1px solid var(--site-line);
        border-radius: 1rem;
        gap: .75rem;
        background: var(--site-surface);
        box-shadow: 0 1.5rem 4rem rgb(1 22 35 / .25);
        color: var(--site-ink);
    }

    html[data-site-header-metrics="ready"] .site-header-stack > .site-header .site-nav__mega {
        position: fixed;
        inset-block-start: calc(var(--site-header-bottom) + .5rem);
        inset-inline-start: var(--site-header-left);
        inset-inline-end: auto;
        width: var(--site-header-width);
        max-height: min(calc(100svh - var(--site-header-bottom) - 1rem), 40rem);
    }

    .site-nav__mega::before {
        position: absolute;
        inset-inline: 0;
        inset-block-end: 100%;
        height: .7rem;
        content: "";
    }

    .site-nav__mega-intro {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        min-height: 2.75rem;
        padding: .7rem .9rem;
        border-radius: .75rem;
        align-items: center;
        gap: .75rem;
        background: var(--site-surface-2);
    }

    .site-nav__mega-icon {
        display: grid;
        width: 2.5rem;
        height: 2.5rem;
        padding: .65rem;
        border-radius: .65rem;
        place-items: center;
        background: rgb(var(--site-rgb-primary) / .12);
        color: var(--site-primary);
    }

    .site-nav__mega-icon svg,
    .site-nav__mega-link > svg {
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
    }

    .site-nav__mega-intro > span:last-child {
        display: grid;
        gap: .08rem;
        line-height: 1.25;
    }

    .site-nav__mega-intro small {
        color: var(--site-primary);
        font-size: .64rem;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .site-nav__mega-intro strong {
        color: var(--site-ink-strong);
        font-family: var(--site-font-display);
        font-size: 1rem;
    }

    .site-nav__mega-intro em {
        color: var(--site-ink-muted);
        font-size: .74rem;
        font-style: normal;
    }

    .site-nav__mega-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .3rem .65rem;
    }

    .site-nav__mega-item {
        min-width: 0;
        border-block-end: 1px solid var(--site-line);
    }

    .site-nav__mega-link,
    .site-nav__mega-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 2.75rem;
        padding: .7rem .65rem;
        border-radius: .55rem;
        align-items: center;
        gap: .65rem;
        color: var(--site-ink);
        line-height: 1.25;
        text-decoration: none;
    }

    .site-nav__mega-link:hover,
    .site-nav__mega-link:focus-visible,
    .site-nav__mega-link.is-active {
        background: var(--site-surface-2);
        color: var(--site-primary);
    }

    .site-nav__mega-link > span,
    .site-nav__mega-heading {
        display: grid;
        min-width: 0;
        gap: .1rem;
    }

    .site-nav__mega-link strong,
    .site-nav__mega-heading strong {
        color: var(--site-ink-strong);
        font-family: var(--site-font-display);
        font-size: .94rem;
    }

    .site-nav__mega-link small,
    .site-nav__mega-heading small {
        overflow: hidden;
        color: var(--site-ink-muted);
        font-size: .7rem;
        font-weight: 520;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .site-nav__mega-link > svg {
        width: 1rem;
        height: 1rem;
        color: var(--site-primary);
    }

    .site-nav__mega-children {
        display: grid;
        padding: 0 .35rem .45rem .8rem;
    }

    .site-nav__mega-children .site-nav__mega-item {
        border: 0;
    }

    .site-nav__mega-children .site-nav__mega-link {
        min-height: 2.5rem;
        padding-block: .4rem;
    }

    .site-header__actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: .45rem;
    }

    .site-icon-button,
    .site-menu-button {
        display: inline-grid;
        width: 2.65rem;
        min-width: 2.65rem;
        aspect-ratio: 1;
        padding: 0;
        border: 1px solid var(--site-line);
        border-radius: 50%;
        place-items: center;
        background: var(--site-surface);
        color: var(--site-ink);
        cursor: pointer;
        box-shadow: var(--site-shadow-xs);
        transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 160ms ease;
    }

    .site-icon-button:hover,
    .site-menu-button:hover {
        border-color: var(--site-primary);
        background: var(--site-primary);
        color: var(--site-secondary);
        transform: translateY(-1px);
    }

    .site-theme-toggle__icon {
        grid-area: 1 / 1;
        width: 1.12rem;
        height: 1.12rem;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.8;
    }

    .site-theme-toggle__icon--moon {
        display: none;
    }

    html[data-site-theme="dark"] .site-theme-toggle__icon--sun {
        display: none;
    }

    html[data-site-theme="dark"] .site-theme-toggle__icon--moon {
        display: block;
    }

    .site-menu-button {
        display: none;
        align-content: center;
        gap: .22rem;
    }

    .site-menu-button > span {
        display: block;
        width: 1.05rem;
        height: 2px;
        border-radius: 99px;
        background: currentColor;
        transition: rotate 160ms ease, translate 160ms ease, opacity 160ms ease;
    }

    .site-menu-button[aria-expanded="true"] > span:nth-child(1) {
        translate: 0 .35rem;
        rotate: 45deg;
    }

    .site-menu-button[aria-expanded="true"] > span:nth-child(2) {
        opacity: 0;
    }

    .site-menu-button[aria-expanded="true"] > span:nth-child(3) {
        translate: 0 -.35rem;
        rotate: -45deg;
    }

    .site-mobile-menu {
        display: none;
    }

    .site-mobile-accessibility {
        display: none;
    }

    .site-mobile-languages {
        display: grid;
        margin-block-start: .6rem;
        padding: .85rem;
        border: 1px solid var(--site-line);
        border-radius: .75rem;
        gap: .6rem;
        background: var(--site-surface-2);
    }

    .site-mobile-languages > span {
        color: var(--site-ink-muted);
        font-size: .7rem;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .site-mobile-languages .site-language-switcher button {
        border-color: var(--site-line);
        color: var(--site-ink);
    }

    .site-mobile-languages .site-language-switcher button[aria-pressed="true"] {
        border-color: var(--site-primary);
        background: var(--site-primary);
        color: var(--site-secondary);
    }

    .site-body--floating-header:not(.site-body--home-overlay) main#conteudo {
        padding-block-start: calc(var(--site-header-clearance) + .65rem);
    }

    .site-body--home-overlay .site-first-block.site-hero .site-hero__content {
        padding-block-start: calc(clamp(5rem, 10vh, 8rem) + var(--site-header-clearance));
    }

    @media (max-width: 74rem) {
        .site-nav--desktop > .site-nav__link,
        .site-nav--desktop .site-nav__trigger {
            padding-inline: .42rem;
            font-size: .76rem;
        }

        .site-brand__logo {
            max-width: 9.75rem;
        }
    }

    @media (max-width: 1365px) {
        :root {
            --site-header-row-height: 4.5rem;
        }

        .site-accessibility-bar {
            display: none;
        }

        .site-header__main {
            grid-template-columns: minmax(0, 1fr) auto;
            gap: .6rem;
        }

        .site-nav--desktop {
            display: none;
        }

        .site-menu-button {
            display: inline-grid;
        }

        .site-mobile-menu {
            position: fixed;
            z-index: 1490;
            inset-block-start: calc(var(--site-header-bottom) + .45rem);
            inset-inline: var(--site-floating-gap);
            display: grid;
            max-height: calc(100svh - var(--site-header-bottom) - (var(--site-floating-gap) * 2));
            padding: .75rem;
            overflow-y: auto;
            overscroll-behavior: contain;
            opacity: 0;
            visibility: hidden;
            translate: 0 -.5rem;
            border: 1px solid var(--site-line);
            border-radius: 1rem;
            background: var(--site-surface);
            box-shadow: var(--site-shadow-lg);
            color: var(--site-ink);
            transition: opacity 180ms ease, visibility 0s linear 180ms, translate 220ms ease;
        }

        .site-mobile-menu.is-open,
        .site-mobile-menu[data-open="true"] {
            opacity: 1;
            visibility: visible;
            translate: 0;
            transition-delay: 0s;
        }

        .site-mobile-menu__content {
            display: grid;
            align-content: start;
            gap: .2rem;
        }

        .site-mobile-accessibility {
            display: grid;
            margin-block-start: .6rem;
            padding: .85rem;
            border: 1px solid var(--site-line);
            border-radius: .75rem;
            gap: .65rem;
            background: var(--site-surface-2);
        }

        .site-mobile-accessibility .site-accessibility-bar__title {
            width: 100%;
            min-height: max(2.75rem, 44px);
            justify-content: flex-start;
        }

        .site-mobile-accessibility .site-accessibility-bar__controls {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .45rem;
            overflow: visible;
        }

        .site-mobile-accessibility .site-accessibility-bar__controls button {
            min-width: 0;
            min-height: max(2.75rem, 44px);
            padding: .6rem .45rem;
            border-color: var(--site-line);
            justify-content: center;
            background: var(--site-surface);
            line-height: 1.2;
            overflow-wrap: anywhere;
            text-align: center;
            white-space: normal;
        }

        .site-mobile-accessibility .site-accessibility-bar__controls button:is(
            [data-accessibility-action="contrast"],
            [data-accessibility-action="motion"]
        ) {
            grid-column: 1 / -1;
        }

        .site-mobile-accessibility .site-accessibility-bar__controls button:disabled {
            opacity: .45;
            cursor: not-allowed;
        }


        .site-mobile-menu__content > .site-nav__link,
        .site-mobile-menu .site-nav__trigger {
            display: flex;
            width: 100%;
            min-height: 3.15rem;
            padding: .72rem .85rem;
            border: 0;
            border-radius: .62rem;
            align-items: center;
            justify-content: space-between;
            background: transparent;
            color: var(--site-ink);
            font-size: .96rem;
            font-weight: 720;
            text-decoration: none;
        }

        .site-mobile-menu__content > .site-nav__link:hover,
        .site-mobile-menu .site-nav__trigger:hover,
        .site-mobile-menu .site-nav__trigger[aria-expanded="true"] {
            background: var(--site-surface-2);
            color: var(--site-primary);
        }

        .site-mobile-menu .site-nav__group {
            position: static;
        }

        .site-mobile-menu .site-nav__submenu--mobile {
            position: static;
            width: auto;
            margin: .1rem 0 .4rem .7rem;
            padding: .3rem;
            border: 0;
            border-inline-start: 2px solid var(--site-line);
            border-radius: 0;
            translate: 0;
            background: transparent;
            box-shadow: none;
        }

        .site-mobile-menu .site-nav__submenu--mobile > .site-nav__link {
            display: flex;
            min-height: 2.75rem;
            padding: .6rem .75rem;
            border-radius: .5rem;
            align-items: center;
            color: var(--site-ink);
            font-size: .88rem;
            font-weight: 650;
            text-decoration: none;
        }

        .site-service-link {
            display: flex;
            min-height: 3.5rem;
            margin-block-start: .5rem;
            padding: .75rem .85rem;
            border: 1px solid var(--site-line);
            border-radius: .7rem;
            align-items: center;
            justify-content: space-between;
            gap: .75rem;
            background: var(--site-surface-2);
            color: var(--site-ink);
            text-decoration: none;
        }

        .site-service-link span {
            display: grid;
            gap: .1rem;
        }

        .site-service-link small {
            color: var(--site-primary);
            font-size: .66rem;
            font-weight: 800;
            letter-spacing: .07em;
            text-transform: uppercase;
        }

        .site-service-link strong {
            color: var(--site-ink-strong);
            font-family: var(--site-font-display);
        }
    }

    @media (max-width: 43.74rem) {
        :root {
            --site-header-row-height: 4.35rem;
        }

        .site-header__utility .site-container {
            width: calc(100% - 1rem);
            gap: .4rem;
        }

        .site-government-label {
            min-width: 0;
            gap: .35rem;
            font-size: .6rem;
        }

        .site-government-label__detail,
        .site-utility-actions > a > span {
            display: none;
        }

        .site-utility-actions {
            gap: .25rem;
        }

        .site-brand__logo {
            max-width: min(8.6rem, 43vw);
            height: 2.55rem;
        }

        .site-icon-button,
        .site-menu-button {
            width: 2.45rem;
            min-width: 2.45rem;
        }

        .site-language-switcher button {
            min-width: 2rem;
            padding-inline: .25rem;
        }

        .site-language-switcher button > span {
            display: none;
        }

        .site-body--home-overlay .site-first-block.site-hero .site-hero__content {
            padding-block-start: calc(4rem + var(--site-header-clearance));
        }
    }

    @media (max-width: 22rem) {
        .site-government-label > span {
            display: none;
        }

        .site-brand__logo {
            max-width: 7.8rem;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .site-header,
        .site-mobile-menu,
        .site-nav__trigger svg,
        .site-menu-button > span {
            transition-duration: .01ms;
        }
    }

    /* Navegação institucional alinhada ao azul do arco da marca PTIn. */
    .site-nav--desktop > .site-nav__link:hover,
    .site-nav--desktop > .site-nav__link.is-active,
    .site-nav--desktop > .site-nav__link[aria-current="page"],
    .site-nav--desktop .site-nav__trigger:hover,
    .site-nav--desktop .site-nav__trigger[aria-expanded="true"],
    .site-nav--desktop .site-nav__group.is-current > .site-nav__trigger {
        background: rgb(8 127 189 / .09);
        color: #075f94;
    }

    .site-nav__mega-intro {
        background:
            radial-gradient(circle at 90% 10%, rgb(8 127 189 / .13), transparent 14rem),
            linear-gradient(135deg, #eef7fc, #e5f1f8);
        border: 1px solid rgb(8 127 189 / .12);
    }

    .site-nav__mega-icon {
        background: rgb(8 127 189 / .12);
        color: #087fbd;
    }

    .site-nav__mega-link:hover,
    .site-nav__mega-link:focus-visible,
    .site-nav__mega-link.is-active {
        background: #eef7fc;
        color: #075f94;
    }

    html[data-site-theme="dark"] .site-nav__mega-intro {
        background:
            radial-gradient(circle at 90% 10%, rgb(101 199 239 / .13), transparent 14rem),
            linear-gradient(135deg, #0b2d43, #0d354d);
        border-color: rgb(101 199 239 / .18);
    }

    html[data-site-theme="dark"] .site-nav__mega-link:is(:hover, :focus-visible, .is-active) {
        background: rgb(101 199 239 / .09);
        color: #9eddf6;
    }

    @media (forced-colors: active) {
        .site-header,
        .site-mobile-menu,
        .site-nav__mega,
        .site-accessibility-bar {
            border: 2px solid CanvasText;
            background: Canvas;
            color: CanvasText;
        }
    }
}
