        :root {
            --color-white: #fff;
            --color-brand-700: #0f6f2f;
            --color-brand-600: #138f45;
            --color-brand-500: #179249;
            --color-brand-450: #09a946;
            --color-brand-400: #28a745;
            --color-brand-475: #08a23f;
            --color-brand-300: #16a34a;
            --color-brand-650: #0f7a3a;
            --color-brand-900: #0a4f22;
            --color-brand-950: #0c5f28;
            --bs-primary: var(--color-brand-400);
            --bs-primary-rgb: 40, 167, 69;
            --tblr-primary: var(--color-brand-400);
            --tblr-primary-rgb: 40, 167, 69;
            --bs-link-color: var(--color-brand-700);
            --bs-link-hover-color: var(--color-brand-950);
            --color-text-900: #1f2c36;
            --color-text-850: #1d2d38;
            --color-text-800: #17384d;
            --color-text-700: #32485b;
            --color-text-750: #334251;
            --color-text-600: #5d6b77;
            --color-text-620: #5f7285;
            --color-text-580: #6a7a89;
            --color-text-500: #6f8190;
            --color-text-550: #7b8894;
            --color-text-450: #8ca196;
            --color-text-350: #93a0ab;
            --color-text-670: #607080;
            --color-text-675: #24303b;
            --color-text-690: #6b7783;
            --color-text-700-alt: #2a3138;
            --color-text-710: #1f262d;
            --color-text-720: #496072;
            --color-text-730: #4f6070;
            --color-text-740: #5b6a78;
            --color-text-760: #22313d;
            --color-text-780: #55616d;
            --color-text-790: #324150;
            --color-text-820: #2b3138;
            --color-text-muted: #667788;
            --color-heading-neutral: #5b5b5b;
            --color-heading-divider: #b8b8b8;
            --color-surface-0: #fff;
            --color-surface-alt: #f1faf3;
            --color-surface-band-dark: var(--color-brand-700);
            --color-surface-50: #f9fbf9;
            --color-surface-75: #f7fbf8;
            --color-surface-100: #f0f7f2;
            --color-surface-110: #eef5f0;
            --color-surface-120: #eff7f1;
            --color-surface-130: #f2f8f3;
            --color-surface-140: #e8f5e9;
            --color-surface-150: #eef4ef;
            --color-surface-160: #f4faf5;
            --color-surface-170: #f6fbf7;
            --color-surface-180: #eaf4ed;
            --color-surface-200: #ebf5ee;
            --color-surface-220: #dcece0;
            --color-surface-240: #edf3f7;
            --color-surface-260: #f8fafb;
            --color-surface-270: #f5f9f6;
            --color-surface-280: #f7f9fb;
            --color-surface-290: #edf2f6;
            --color-surface-300: #dce3e8;
            --color-surface-310: #e9f7ee;
            --color-border-100: #e1e6ea;
            --color-border-125: #eef1f3;
            --color-border-150: #e0e8e2;
            --color-border-200: #d9e1e7;
            --color-border-250: #d8dde3;
            --color-border-275: #d8e4da;
            --color-border-300: #dbe7dd;
            --color-border-325: #dce7df;
            --color-border-350: #dce9de;
            --color-border-375: #d7e8d9;
            --color-border-400: #cde0d1;
            --color-border-425: #b9d8bf;
            --color-border-450: #a8d1b0;
            --color-border-475: #9dcca8;
            --color-border-500: #99c8a5;
            --color-border-525: #dfe6ec;
            --color-border-550: #d7dbe0;
            --color-border-575: #dce4ea;
            --color-border-600: #d9d9d9;
            --color-border-625: #d9dfe5;
            --color-border-650: #edf1f4;
            --color-border-675: #f0f3f6;
            --color-border-700: #d6dce2;
            --color-border-725: #e2e8ee;
            --color-border-750: #ced4da;
            --color-control-border: #b7d5bd;
            --color-control-border-strong: #7da889;
            --color-panel-border: #d7dee4;
            --color-card-border: #e0e0e0;
            --color-success-text: #1f6a31;
            --color-brand-550: #1a8f42;
            --color-brand-800: #18492c;
            --color-text-680: #445766;
            --color-footer-text: #d8e1da;
            --color-bg-dark: #0f1418;
            --color-white-soft: #f3fff3;
            --color-white-soft-2: #f2fff2;
            --color-link-default: var(--color-text-900);
            --color-link-hover: var(--color-brand-700);
            --portal-color-brand: var(--color-brand-700);
            --portal-color-brand-hover: var(--color-brand-900);
            --portal-color-brand-soft: rgba(15, 111, 47, .08);
            --portal-color-brand-soft-strong: rgba(15, 111, 47, .14);
            --portal-color-text: var(--color-text-900);
            --portal-color-text-muted: var(--color-text-600);
            --portal-color-text-soft: var(--color-text-500);
            --portal-color-bg: var(--color-surface-0);
            --portal-color-surface: var(--color-surface-0);
            --portal-color-surface-soft: var(--color-surface-50);
            --portal-color-surface-tint: var(--color-surface-100);
            --portal-color-border: var(--color-border-200);
            --portal-color-border-strong: var(--color-border-400);
            --portal-color-focus: rgba(15, 111, 47, .34);
            --portal-radius-xs: 6px;
            --portal-radius-sm: 8px;
            --portal-radius-md: 12px;
            --portal-radius-lg: 14px;
            --portal-radius-xl: 18px;
            --portal-radius-pill: 999px;
            --portal-shadow-card: 0 2px 8px rgba(0, 0, 0, .1);
            --portal-shadow-card-hover: 0 6px 16px rgba(0, 0, 0, .14);
            --portal-shadow-panel: 0 10px 30px rgba(0, 0, 0, .08);
            --portal-shadow-ring: 0 0 0 3px rgba(15, 111, 47, .14);
            --portal-transition: 180ms cubic-bezier(.16, 1, .3, 1);
            --portal-container-public-xl: 1280px;
            --portal-content-measure: 74ch;
            --portal-font-sans: 'Raleway', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            --portal-font-heading: var(--portal-font-sans);
            --pgu-green-main: var(--color-brand-700);
            --pgu-green-top: #0aa03c;
            --pgu-text: #20262d;
            --pgu-soft: #f0f2f4;
            --topbar-link-size: 13px;
            --topbar-control-width: 34px;
            --topbar-control-height: 30px;
            --topbar-social-size: 30px;
            --topbar-control-bg: rgba(0, 0, 0, .18);
            --topbar-control-bg-hover: rgba(255, 255, 255, .16);
            --topbar-control-border: rgba(255, 255, 255, .22);
            --topbar-control-border-hover: rgba(255, 255, 255, .38);
            --topbar-control-text: #effff2;
            --topbar-dropdown-bg: var(--pgu-green-main);
            --topbar-focus-ring: rgba(255, 255, 255, .55);
            --motion-ease-standard: cubic-bezier(.16, 1, .3, 1);
            --motion-duration-fast: 160ms;
            --motion-duration-base: 220ms;
            --focus-ring-color: rgba(15, 111, 47, .32);
            --focus-ring-shadow: 0 0 0 3px rgba(15, 111, 47, .14);
            --hero-gap: 56px;
            --service-overlap: 270px;
            --font-body: 1rem;
            --font-lead: 1.0625rem;
            --font-title-side: .94rem;
            --font-title-card: 1rem;
            --font-title-md: 1rem;
            --font-title-sidebar: 1.125rem;
            --font-title-section: 1.5rem;
            --font-title-page: 1.875rem;
            --font-title-hero: 1.75rem;
            --font-line-title-tight: 1.2;
            --font-line-title: 1.32;
            --font-line-body: 1.6;
            --font-ui-admin: 'AdminInterVar', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        }

        @media (min-width: 1200px) {
            .novo-header .container,
            .novo-footer .container,
            body:not(.layout-fluid) main .container {
                max-width: var(--portal-container-public-xl);
            }
        }

        .btn-primary {
            --bs-btn-color: #fff;
            --bs-btn-bg: var(--color-brand-400);
            --bs-btn-border-color: var(--color-brand-400);
            --bs-btn-hover-color: #fff;
            --bs-btn-hover-bg: var(--color-brand-500);
            --bs-btn-hover-border-color: var(--color-brand-500);
            --bs-btn-focus-shadow-rgb: 40, 167, 69;
            --bs-btn-active-color: #fff;
            --bs-btn-active-bg: var(--color-brand-650);
            --bs-btn-active-border-color: var(--color-brand-650);
            --bs-btn-disabled-color: #fff;
            --bs-btn-disabled-bg: var(--color-brand-400);
            --bs-btn-disabled-border-color: var(--color-brand-400);
        }

        .btn-outline-primary {
            --bs-btn-color: var(--color-brand-400);
            --bs-btn-border-color: var(--color-brand-400);
            --bs-btn-hover-color: #fff;
            --bs-btn-hover-bg: var(--color-brand-400);
            --bs-btn-hover-border-color: var(--color-brand-400);
            --bs-btn-focus-shadow-rgb: 40, 167, 69;
            --bs-btn-active-color: #fff;
            --bs-btn-active-bg: var(--color-brand-650);
            --bs-btn-active-border-color: var(--color-brand-650);
            --bs-btn-disabled-color: var(--color-brand-400);
            --bs-btn-disabled-bg: transparent;
            --bs-btn-disabled-border-color: var(--color-brand-400);
        }

        html {
            background: var(--pgu-green-top);
            color-scheme: light;
            font-size: 100%;
        }

        html,
        body {
            margin: 0 !important;
            padding: 0 !important;
        }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: var(--font-body);
            color: var(--pgu-text);
            background: var(--color-surface-0);
            -webkit-font-smoothing: antialiased;
            text-rendering: optimizeLegibility;
        }

        .skip-link {
            position: fixed;
            left: 1rem;
            top: 1rem;
            z-index: 1200;
            transform: translateY(-150%);
            padding: .7rem 1rem;
            border-radius: var(--portal-radius-md);
            background: var(--color-white);
            color: var(--portal-color-brand);
            font-weight: 800;
            text-decoration: none;
            box-shadow: var(--portal-shadow-panel);
            transition: transform var(--portal-transition);
        }

        .skip-link:focus-visible {
            transform: translateY(0);
            outline: 3px solid var(--portal-color-focus);
            outline-offset: 3px;
        }

        img,
        picture {
            max-width: 100%;
            display: block;
        }

        a,
        button,
        .btn,
        [role="button"],
        input,
        select,
        textarea,
        summary {
            transition: color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);
        }

        :where(a, button, .btn, [role="button"], input, select, textarea, summary):focus-visible {
            outline: 2px solid var(--focus-ring-color);
            outline-offset: 2px;
            box-shadow: var(--focus-ring-shadow);
        }

        main a:not([class]) {
            color: var(--color-link-default);
            text-decoration: none;
        }

        main a:not([class]):visited {
            color: var(--color-link-default);
            text-decoration: none;
        }

        main a:not([class]):hover {
            color: var(--color-link-hover);
            text-decoration: none;
        }

        main a:not([class]):focus-visible {
            outline: 2px solid rgba(15, 111, 47, .35);
            outline-offset: 2px;
            border-radius: 3px;
        }

        p,
        li,
        dd,
        dt {
            line-height: var(--font-line-body);
        }

        h1,
        h2,
        h3,
        h4,
        h5,
        h6 {
            font-family: var(--portal-font-heading);
            line-height: var(--font-line-title);
        }

        .fa,
        .fa-solid,
        .fa-regular,
        .fa-brands {
            font-size: 15px;
            line-height: 1;
        }

        .container {
            margin-left: auto;
            margin-right: auto;
        }

        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }

        @media (min-width: 1200px) {
            .container {
                max-width: 1170px;
            }
        }

        .novo-header {
            position: relative;
            z-index: 40;
            margin-top: 0 !important;
        }

        .novo-topbar {
            background: var(--pgu-green-top);
            color: var(--color-white);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: .02em;
        }

        .novo-topbar a:not(.top-social) {
            color: var(--color-white) !important;
            text-decoration: none;
            opacity: .95;
            font-weight: 600;
        }

        .novo-topbar a:not(.top-social):visited,
        .novo-topbar a:not(.top-social):hover,
        .novo-topbar a:not(.top-social):focus-visible,
        .novo-topbar a:not(.top-social):active {
            color: var(--color-white) !important;
            text-decoration: none;
        }

        .top-links-nav {
            line-height: 1;
            column-gap: 1.15rem !important;
            row-gap: .32rem !important;
            font-size: var(--topbar-link-size);
            align-items: center;
            font-family: var(--portal-font-heading);
        }

        .top-links-nav > a {
            font-size: var(--topbar-link-size);
            font-family: inherit;
        }

        .top-links-nav > a:visited,
        .top-links-nav > a:hover,
        .top-links-nav > a:focus-visible,
        .top-links-nav > a:active {
            color: var(--color-white) !important;
            text-decoration: none;
        }

        .topbar-row {
            margin: 0 !important;
        }

        .mobile-top-links-toggle {
            border: 1px solid rgba(255, 255, 255, .46);
            background: rgba(0, 0, 0, .12);
            color: var(--color-white);
            border-radius: 6px;
            height: 32px;
            padding: 0 .75rem;
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            font-size: 11px;
            font-weight: 700;
            font-family: var(--portal-font-heading);
            text-transform: uppercase;
            letter-spacing: .04em;
            line-height: 1;
        }

        .mobile-top-links-toggle:hover,
        .mobile-top-links-toggle:focus-visible {
            background: var(--color-white);
            border-color: var(--color-white);
            color: var(--color-brand-700);
        }

        .mobile-top-links-toggle:focus-visible {
            outline: 2px solid var(--topbar-focus-ring);
            outline-offset: 2px;
        }

        .mobile-top-links-menu {
            --bs-dropdown-bg: var(--topbar-dropdown-bg);
            --bs-dropdown-link-color: var(--color-white);
            --bs-dropdown-link-hover-color: var(--color-white);
            --bs-dropdown-link-hover-bg: var(--topbar-control-bg-hover);
            --bs-dropdown-link-active-color: var(--color-white);
            --bs-dropdown-link-active-bg: rgba(255, 255, 255, .2);
            border: 1px solid rgba(255, 255, 255, .24);
            border-radius: 8px;
            box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
            padding: .4rem 0;
            min-width: 230px;
        }

        .mobile-top-links-menu .dropdown-item {
            font-size: 13px;
            font-weight: 600;
            font-family: var(--portal-font-heading);
            color: var(--color-white);
            padding: .55rem .9rem;
        }

        .mobile-top-links-menu .dropdown-item:visited {
            color: var(--color-white);
            text-decoration: none;
        }

        .mobile-top-links-menu .dropdown-item:hover,
        .mobile-top-links-menu .dropdown-item:focus {
            background: var(--topbar-control-bg-hover);
            color: var(--color-white);
        }

        .mobile-top-links-menu .dropdown-item:focus-visible {
            outline: 2px solid var(--topbar-focus-ring);
            outline-offset: -2px;
        }

        @media (min-width: 992px) {
            .topbar-row {
                min-height: 60px;
            }
        }

        .a11y-controls {
            gap: .28rem;
        }

        .a11y-btn {
            border: 1px solid var(--topbar-control-border);
            background: var(--topbar-control-bg);
            color: var(--topbar-control-text);
            border-radius: 4px;
            font-size: 12px;
            font-weight: 700;
            line-height: 1;
            text-transform: uppercase;
            width: var(--topbar-control-width);
            height: var(--topbar-control-height);
            padding: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: background .16s ease, border-color .16s ease;
        }

        .a11y-link {
            width: auto;
            min-width: var(--topbar-control-width);
            padding: 0 .7rem;
            gap: .35rem;
            text-transform: none;
            text-decoration: none;
        }

        .a11y-link i {
            font-size: 15px;
        }

        .a11y-link-text {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .03em;
            line-height: 1;
        }

        .a11y-btn i {
            font-size: 13px;
            line-height: 1;
        }

        .a11y-btn:hover,
        .a11y-btn:focus-visible,
        .a11y-btn[aria-pressed="true"] {
            background: var(--color-brand-900);
            border-color: var(--color-brand-900);
            color: var(--color-white);
            box-shadow: 0 0 0 3px rgba(10, 79, 34, .18);
        }

        .a11y-btn:focus-visible {
            outline: 2px solid var(--topbar-focus-ring);
            outline-offset: 1px;
        }

        .a11y-btn:disabled {
            opacity: .45;
            cursor: not-allowed;
        }

        .a11y-link:hover,
        .a11y-link:focus-visible,
        .a11y-link[aria-pressed="true"] {
            color: var(--color-white);
            background: var(--color-brand-900);
            border-color: var(--color-brand-900);
            box-shadow: 0 0 0 3px rgba(10, 79, 34, .18);
        }
        .top-social {
            width: var(--topbar-social-size);
            height: var(--topbar-social-size);
            border-radius: 6px;
            border: 1px solid var(--topbar-control-border);
            background: var(--topbar-control-bg);
            color: var(--color-white) !important;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-decoration: none !important;
            box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
        }

        .top-social i {
            font-size: 12px;
        }

        .top-social:visited {
            color: var(--color-white) !important;
        }

        .top-social:hover,
        .top-social:focus-visible,
        .top-social:active {
            text-decoration: none !important;
            color: var(--color-white) !important;
            background: var(--color-brand-900);
            border-color: var(--color-brand-900);
        }

        .top-social:focus-visible {
            outline: 2px solid var(--topbar-focus-ring);
            outline-offset: 1px;
            box-shadow: 0 0 0 3px rgba(10, 79, 34, .18);
        }

        body.high-contrast {
            --contrast-bg: #050505;
            --contrast-surface: #101010;
            --contrast-surface-soft: #181818;
            --contrast-text: #fff;
            --contrast-muted: #f4f4f4;
            --contrast-link: #ffe45c;
            --contrast-focus: #ffd400;
            --contrast-border: #fff;
            background: var(--contrast-bg) !important;
            color: var(--contrast-text) !important;
        }

        body.high-contrast *,
        body.high-contrast *::before,
        body.high-contrast *::after {
            text-shadow: none !important;
            box-shadow: none !important;
        }

        body.high-contrast a {
            color: var(--contrast-link) !important;
            text-decoration: underline !important;
            text-decoration-thickness: 2px;
            text-underline-offset: .18em;
        }

        body.high-contrast a:hover,
        body.high-contrast a:focus-visible {
            color: var(--contrast-text) !important;
            background: #2b2200 !important;
        }

        body.high-contrast .noticia-conteudo a:not(.btn):not(.badge),
        body.high-contrast .content-page .content-page-body a:not(.btn):not(.portal-btn) {
            color: var(--contrast-link) !important;
            text-decoration: underline !important;
        }

        body.high-contrast :focus-visible {
            outline: 3px solid var(--contrast-focus) !important;
            outline-offset: 3px !important;
        }

        body.high-contrast .novo-topbar,
        body.high-contrast .novo-mainbar,
        body.high-contrast .novo-footer,
        body.high-contrast .skip-link,
        body.high-contrast main,
        body.high-contrast section,
        body.high-contrast article,
        body.high-contrast aside,
        body.high-contrast .mobile-nav-canvas,
        body.high-contrast .dropdown-menu,
        body.high-contrast .mobile-top-links-menu {
            background: var(--contrast-bg) !important;
            border-color: var(--contrast-border) !important;
            color: var(--contrast-text) !important;
        }

        body.high-contrast .content-page,
        body.high-contrast .portal-panel,
        body.high-contrast .portal-panel-flat,
        body.high-contrast .portal-card,
        body.high-contrast .card,
        body.high-contrast .list-group,
        body.high-contrast .content-page-breadcrumb-wrap,
        body.high-contrast .content-page-main,
        body.high-contrast .content-page-article,
        body.high-contrast .content-page-body,
        body.high-contrast .rich-content,
        body.high-contrast .accessibility-page,
        body.high-contrast .accessibility-article,
        body.high-contrast .accessibility-hero,
        body.high-contrast .accessibility-hero-copy,
        body.high-contrast .hero-search-input,
        body.high-contrast .hero-search-results,
        body.high-contrast .service-card,
        body.high-contrast .home-service-card,
        body.high-contrast .mega-panel,
        body.high-contrast .mega-highlight,
        body.high-contrast .mega-highlight-link,
        body.high-contrast .home-news-slide,
        body.high-contrast .home-side-news-card,
        body.high-contrast .news-card,
        body.high-contrast .news-top-main,
        body.high-contrast .news-top-side,
        body.high-contrast .services-filter-shell,
        body.high-contrast .service-detail-card,
        body.high-contrast .search-result-card,
        body.high-contrast .search-empty-state,
        body.high-contrast .licitacoes-filter-box,
        body.high-contrast .licitacoes-detail-card,
        body.high-contrast .licitacoes-sidebar-card,
        body.high-contrast .licitacoes-stat-card,
        body.high-contrast .licitacoes-attachment-card,
        body.high-contrast .content-area-body,
        body.high-contrast .content-area-slot,
        body.high-contrast .content-area-feature-card,
        body.high-contrast .content-area-document-card,
        body.high-contrast .content-area-link-card,
        body.high-contrast .content-area-gallery-card,
        body.high-contrast .secretaria-hero,
        body.high-contrast .secretaria-contact-featured,
        body.high-contrast .secretaria-contact-card,
        body.high-contrast .secretaria-feature-card,
        body.high-contrast .secretaria-accordion,
        body.high-contrast .sitemap-filter-card,
        body.high-contrast .sitemap-stat-card,
        body.high-contrast .sitemap-card,
        body.high-contrast .sitemap-legacy-node,
        body.high-contrast .form-card,
        body.high-contrast .form-sidebar-card,
        body.high-contrast .form-choice-group,
        body.high-contrast .noticia-meta-card,
        body.high-contrast .noticia-category-box,
        body.high-contrast .event-detail-card,
        body.high-contrast .event-session-card,
        body.high-contrast .event-place-card,
        body.high-contrast .event-place-map,
        body.high-contrast .event-place-map-link,
        body.high-contrast .events-search,
        body.high-contrast .events-featured-card,
        body.high-contrast .services-spotlight,
        body.high-contrast .home-media-panel,
        body.high-contrast .home-tv-list,
        body.high-contrast .content-sidebar-card,
        body.high-contrast .content-page-document-card,
        body.high-contrast .content-sidebar-pages,
        body.high-contrast .list-group-item,
        body.high-contrast .cookie-consent,
        body.high-contrast .noticia-compact-page,
        body.high-contrast .noticia-breadcrumb-wrap,
        body.high-contrast .noticia-main,
        body.high-contrast .noticia-header-block,
        body.high-contrast .noticia-meta-card,
        body.high-contrast .noticia-category-box,
        body.high-contrast .noticia-inline-caption,
        body.high-contrast .noticia-inline-image figcaption,
        body.high-contrast .noticia-footer,
        body.high-contrast .accessibility-card,
        body.high-contrast .accessibility-hero-panel,
        body.high-contrast .accessibility-guide,
        body.high-contrast .accessibility-standards,
        body.high-contrast .accessibility-help {
            background: var(--contrast-surface) !important;
            color: var(--contrast-text) !important;
            border-color: var(--contrast-border) !important;
        }

        body.high-contrast .breadcrumb-item,
        body.high-contrast .breadcrumb-item.active,
        body.high-contrast .content-page-title,
        body.high-contrast .content-page-body h2,
        body.high-contrast .content-page-body h3,
        body.high-contrast .content-page-body h4,
        body.high-contrast .mega-title,
        body.high-contrast .mega-link,
        body.high-contrast .mega-highlight-copy strong,
        body.high-contrast .mega-highlight-copy p,
        body.high-contrast .home-service-label,
        body.high-contrast .news-card-title,
        body.high-contrast .services-results-count,
        body.high-contrast .service-detail-body,
        body.high-contrast .search-summary,
        body.high-contrast .search-result-title,
        body.high-contrast .search-result-item-title,
        body.high-contrast .search-result-item-subtitle,
        body.high-contrast .licitacoes-card-title,
        body.high-contrast .licitacoes-card-text,
        body.high-contrast .licitacoes-card-meta,
        body.high-contrast .licitacoes-sidebar-text,
        body.high-contrast .licitacoes-detail-description,
        body.high-contrast .content-area-title,
        body.high-contrast .content-area-summary,
        body.high-contrast .content-area-slot-head h2,
        body.high-contrast .content-area-slot-head span,
        body.high-contrast .content-area-feature-copy h3,
        body.high-contrast .content-area-feature-copy p,
        body.high-contrast .content-area-document-copy strong,
        body.high-contrast .content-area-document-copy small,
        body.high-contrast .content-area-link-copy strong,
        body.high-contrast .content-area-link-copy small,
        body.high-contrast .secretaria-title,
        body.high-contrast .secretaria-summary,
        body.high-contrast .secretaria-section-head h2,
        body.high-contrast .secretaria-section-head span,
        body.high-contrast .secretaria-contact-featured h3,
        body.high-contrast .secretaria-contact-card h3,
        body.high-contrast .secretaria-contact-role,
        body.high-contrast .secretaria-contact-note,
        body.high-contrast .secretaria-feature-body h3,
        body.high-contrast .secretaria-feature-description,
        body.high-contrast .secretaria-accordion summary strong,
        body.high-contrast .secretaria-accordion-body,
        body.high-contrast .sitemap-filter-help,
        body.high-contrast .sitemap-stat-label,
        body.high-contrast .sitemap-section-title,
        body.high-contrast .sitemap-section-count,
        body.high-contrast .sitemap-card-title,
        body.high-contrast .sitemap-card-link-copy strong,
        body.high-contrast .sitemap-card-link-copy small,
        body.high-contrast .form-field-label,
        body.high-contrast .form-sidebar-item strong,
        body.high-contrast .form-sidebar-item p,
        body.high-contrast .form-section-head h2,
        body.high-contrast .form-section-head p,
        body.high-contrast .form-choice-item span,
        body.high-contrast .event-detail-title,
        body.high-contrast .event-detail-lead,
        body.high-contrast .event-detail-meta,
        body.high-contrast .event-detail-section-title,
        body.high-contrast .event-session-copy,
        body.high-contrast .event-place-card span,
        body.high-contrast .events-page-title,
        body.high-contrast .events-page-lead,
        body.high-contrast .services-spotlight-title,
        body.high-contrast .home-media-panel-title,
        body.high-contrast .home-media-panel-description,
        body.high-contrast .home-tv-video-title,
        body.high-contrast .home-tv-video-text,
        body.high-contrast .noticia-titulo,
        body.high-contrast .noticia-subtitulo,
        body.high-contrast .noticia-meta-card .noticia-meta-item,
        body.high-contrast .noticia-meta-card .noticia-meta-item i,
        body.high-contrast .noticia-conteudo,
        body.high-contrast .noticia-conteudo h1,
        body.high-contrast .noticia-conteudo h2,
        body.high-contrast .noticia-conteudo h3,
        body.high-contrast .noticia-conteudo h4,
        body.high-contrast .noticia-sidebar-title,
        body.high-contrast .noticia-gallery h2,
        body.high-contrast .noticia-inline-caption,
        body.high-contrast .noticia-inline-image figcaption,
        body.high-contrast .accessibility-kicker,
        body.high-contrast .accessibility-hero-copy p,
        body.high-contrast .accessibility-card p,
        body.high-contrast .accessibility-standards p,
        body.high-contrast .accessibility-help p,
        body.high-contrast .accessibility-shortcuts dd,
        body.high-contrast .accessibility-hero-panel strong {
            color: var(--contrast-text) !important;
        }

        body.high-contrast .top-social,
        body.high-contrast .a11y-btn,
        body.high-contrast .a11y-link,
        body.high-contrast .mobile-search-link,
        body.high-contrast .mobile-menu-toggle,
        body.high-contrast .mobile-top-links-toggle,
        body.high-contrast .btn,
        body.high-contrast .portal-btn,
        body.high-contrast .services-profile-btn,
        body.high-contrast .accessibility-help-link,
        body.high-contrast .noticia-share-dropdown .btn,
        body.high-contrast .noticia-share-btn,
        body.high-contrast button {
            background: var(--contrast-bg) !important;
            border: 2px solid var(--contrast-border) !important;
            color: var(--contrast-text) !important;
            box-shadow: none !important;
        }

        body.high-contrast .a11y-btn[aria-pressed="true"],
        body.high-contrast .top-social:hover,
        body.high-contrast .a11y-btn:hover,
        body.high-contrast .a11y-link:hover,
        body.high-contrast .btn:hover,
        body.high-contrast .portal-btn:hover,
        body.high-contrast button:hover {
            background: var(--contrast-link) !important;
            color: var(--contrast-bg) !important;
            border-color: var(--contrast-link) !important;
        }

        body.high-contrast .top-social i,
        body.high-contrast .a11y-btn i,
        body.high-contrast .mobile-search-link i,
        body.high-contrast .mobile-menu-toggle i,
        body.high-contrast .accessibility-card-icon,
        body.high-contrast .home-service-icon,
        body.high-contrast .mega-highlight-link i {
            color: inherit !important;
            background: transparent !important;
        }

        body.high-contrast input,
        body.high-contrast select,
        body.high-contrast textarea {
            background: var(--contrast-bg) !important;
            border: 2px solid var(--contrast-border) !important;
            color: var(--contrast-text) !important;
        }

        body.high-contrast input::placeholder,
        body.high-contrast textarea::placeholder {
            color: var(--contrast-muted) !important;
            opacity: 1 !important;
        }

        .novo-mainbar {
            background:
                linear-gradient(180deg, rgba(255, 255, 255, .07) 0%, rgba(255, 255, 255, 0) 48%),
                var(--pgu-green-main);
            color: var(--color-white);
            border-top: 1px solid rgba(255,255,255,.2);
        }

        .novo-mainbar .container {
            position: relative;
        }

        .novo-header-wave-inner {
            background: transparent;
            line-height: 0;
            overflow: hidden;
            margin-top: -1px;
        }

        .novo-header-wave-inner .hero-wave-scene {
            height: clamp(8px, 1vw, 18px);
            margin-top: -1px;
        }

        .novo-mainrow {
            min-height: 96px;
        }

        .header-brand {
            display: inline-flex;
            align-items: center;
            justify-content: flex-start;
            height: auto;
            max-height: 96px;
            width: auto;
            max-width: min(100%, 320px);
        }

        .header-brand picture {
            display: inline-flex;
            align-items: center;
            line-height: 0;
            height: auto;
            max-height: 96px;
            width: auto;
        }

        .header-brand img {
            width: auto;
            max-width: 100%;
            max-height: 96px;
            height: auto !important;
            object-fit: contain;
            width: auto;
            display: block;
        }

        .novo-mainnav {
            width: auto;
            max-width: none;
            justify-content: center;
            gap: .5rem;
        }

        .novo-mainnav > li {
            display: flex;
            align-items: center;
        }

        .novo-mainnav-search {
            position: relative;
            margin-left: .35rem;
            padding-left: .55rem;
        }

        .novo-mainnav-search::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            width: 1px;
            height: 22px;
            border-radius: var(--portal-radius-pill);
            background: rgba(255, 255, 255, .22);
            transform: translateY(-50%);
        }

        .novo-mainnav > li > a,
        .novo-mainnav > li > .mega-trigger {
            color: var(--color-white) !important;
            text-decoration: none;
            font-family: var(--portal-font-heading);
            font-size: 15px;
            text-transform: uppercase;
            letter-spacing: .055em;
            padding: .5rem .82rem;
            min-height: 40px;
            border-radius: var(--portal-radius-pill);
            display: inline-flex;
            align-items: center;
            gap: .42rem;
            font-weight: 600;
            position: relative;
            isolation: isolate;
            transition: background-color var(--portal-transition), color var(--portal-transition), box-shadow var(--portal-transition), transform var(--portal-transition);
        }

        .novo-mainnav > li > a::before,
        .novo-mainnav > li > .mega-trigger::before {
            content: none;
        }

        .novo-mainnav > li > .mega-trigger {
            background: transparent;
            border: 0;
            cursor: pointer;
        }

        .novo-mainnav > li > a:visited,
        .novo-mainnav > li > a:hover,
        .novo-mainnav > li > a:focus-visible,
        .novo-mainnav > li > a:active,
        .novo-mainnav > li > .mega-trigger:hover,
        .novo-mainnav > li > .mega-trigger:focus-visible,
        .novo-mainnav > li > .mega-trigger:active {
            color: var(--color-white) !important;
            text-decoration: none;
            background: rgba(255, 255, 255, .1);
        }

        .novo-mainnav > li > a:hover::before,
        .novo-mainnav > li > a:focus-visible::before,
        .novo-mainnav > li > .mega-trigger:hover::before,
        .novo-mainnav > li > .mega-trigger:focus-visible::before,
        .mega-wrap.mega-open > .mega-trigger::before,
        .mega-wrap:hover > .mega-trigger::before {
            opacity: 1;
            transform: scaleX(1);
        }

        .novo-mainnav > li > a:focus-visible,
        .novo-mainnav > li > .mega-trigger:focus-visible {
            outline: 2px solid rgba(255, 255, 255, .72);
            outline-offset: 3px;
        }

        .mega-wrap.mega-open > .mega-trigger,
        .mega-wrap:hover > .mega-trigger,
        .novo-mainnav > li > a:hover,
        .novo-mainnav > li > a:focus-visible {
            background: rgba(255, 255, 255, .12);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
        }

        .mega-wrap {
            position: static;
        }

        .mega-wrap > .mega-trigger {
            position: relative;
            padding-bottom: .44rem;
            margin-bottom: 0;
            z-index: 3;
        }

        .mega-wrap > .mega-trigger::after {
            content: '\f078';
            font-family: 'Font Awesome 6 Free';
            font-size: .68rem;
            font-weight: 900;
            line-height: 1;
            opacity: .72;
            transform: translateY(1px);
            transition: opacity var(--portal-transition), transform var(--portal-transition);
        }

        .mega-wrap:hover > .mega-trigger::after,
        .mega-wrap.mega-open > .mega-trigger::after,
        .mega-wrap > .mega-trigger:focus-visible::after {
            opacity: 1;
            transform: translateY(1px) rotate(180deg);
        }

        .mega-panel {
            position: absolute;
            left: 50%;
            right: auto;
            width: min(1240px, calc(100vw - 2rem));
            top: 100%;
            margin-top: 0;
            background: rgba(255, 255, 255, .985);
            border: 1px solid rgba(214, 224, 232, .92);
            box-shadow: 0 24px 58px rgba(13, 32, 22, .2);
            opacity: 0;
            pointer-events: none;
            transform: translate(-50%, 10px);
            transition: opacity .22s cubic-bezier(.16, 1, .3, 1), transform .22s cubic-bezier(.16, 1, .3, 1);
            z-index: 80;
            border-radius: 0 0 22px 22px;
            overflow: hidden;
            backdrop-filter: blur(14px) saturate(125%);
            -webkit-backdrop-filter: blur(14px) saturate(125%);
        }

        .mega-panel::before {
            content: '';
            position: absolute;
            inset: 0;
            pointer-events: none;
        }

        .mega-wrap:hover .mega-panel,
        .mega-wrap.mega-open .mega-panel,
        .mega-panel:hover {
            opacity: 1;
            pointer-events: auto;
            transform: translate(-50%, 0);
        }

        .mega-panel ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .mega-highlight {
            display: grid;
            grid-template-columns: minmax(260px, .9fr) minmax(0, 1.6fr);
            align-items: stretch;
            gap: .9rem;
            padding: .9rem 1.05rem;
            background:
                linear-gradient(90deg, rgba(15, 111, 47, .1), rgba(15, 111, 47, .035) 48%, rgba(255, 255, 255, .72));
            border-bottom: 1px solid rgba(214, 224, 232, .82);
        }

        .mega-highlight-copy {
            display: grid;
            align-content: center;
            gap: .25rem;
            min-width: 0;
        }

        .mega-highlight-eyebrow {
            color: var(--portal-color-brand);
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
        }

        .mega-highlight-copy strong {
            color: var(--color-text-850);
            font-family: var(--portal-font-heading);
            font-size: 1.05rem;
            line-height: 1.18;
            font-weight: 800;
        }

        .mega-highlight-copy p {
            margin: 0;
            color: var(--color-text-620);
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: .86rem;
            line-height: 1.42;
        }

        .mega-highlight-actions {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: .65rem;
            align-items: stretch;
        }

        .mega-highlight-link {
            display: grid;
            grid-template-columns: 30px minmax(0, 1fr);
            align-items: center;
            gap: .5rem;
            min-height: 48px;
            padding: .5rem .6rem;
            border-radius: var(--portal-radius-lg);
            border: 1px solid rgba(15, 111, 47, .13);
            background: rgba(255, 255, 255, .82);
            color: var(--color-text-820);
            text-decoration: none;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: .88rem;
            font-weight: 700;
            line-height: 1.25;
            box-shadow: 0 8px 20px rgba(16, 38, 26, .05);
            transition: background-color var(--portal-transition), border-color var(--portal-transition), color var(--portal-transition), transform var(--portal-transition), box-shadow var(--portal-transition);
        }

        .mega-highlight-link:visited {
            color: var(--color-text-820);
            text-decoration: none;
        }

        .mega-highlight-link i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            border-radius: var(--portal-radius-md);
            background: var(--portal-color-brand-soft);
            color: var(--portal-color-brand);
            font-size: .95rem;
        }

        .mega-highlight-link span {
            min-width: 0;
        }

        .mega-highlight-link:hover,
        .mega-highlight-link:focus-visible {
            color: var(--portal-color-brand);
            border-color: rgba(15, 111, 47, .24);
            background: var(--color-white);
            text-decoration: none;
            transform: translateY(-1px);
            box-shadow: 0 10px 24px rgba(16, 38, 26, .08);
        }

        .mega-highlight-link:focus-visible {
            outline: 2px solid var(--portal-color-focus);
            outline-offset: 2px;
        }

        .mega-panel .col-3 {
            padding-left: 1.05rem;
            padding-right: 1.05rem;
            border-right: 1px solid rgba(214, 224, 232, .78);
        }
        .mega-panel .col-3:last-child {
            border-right: 0;
        }

        .mega-title {
            display: flex;
            align-items: center;
            gap: .45rem;
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: .075em;
            text-transform: uppercase;
            margin-bottom: .82rem;
            color: var(--portal-color-brand);
        }

        .mega-link {
            display: flex;
            align-items: flex-start;
            gap: .46rem;
            min-height: 32px;
            text-decoration: none;
            color: var(--color-text-820);
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            font-size: 14px;
            line-height: 1.35;
            padding: .38rem .55rem .38rem .58rem;
            margin-bottom: 2px;
            border-radius: var(--portal-radius-md);
            border: 1px solid transparent;
            transition: background-color var(--portal-transition), border-color var(--portal-transition), color var(--portal-transition), transform var(--portal-transition), box-shadow var(--portal-transition);
        }

        .mega-link::before {
            content: '';
            flex: 0 0 auto;
            width: 6px;
            height: 6px;
            margin-top: .42em;
            border-radius: 50%;
            background: rgba(15, 111, 47, .22);
            box-shadow: 0 0 0 0 rgba(15, 111, 47, 0);
            transition: background-color var(--portal-transition), box-shadow var(--portal-transition), transform var(--portal-transition);
        }

        .mega-link:visited {
            color: var(--color-text-820);
            text-decoration: none;
        }

        .mega-link:hover {
            color: var(--pgu-green-main);
            border-color: rgba(15, 111, 47, .12);
            background: var(--portal-color-brand-soft);
            box-shadow: 0 6px 16px rgba(15, 111, 47, .06);
            transform: translateX(3px);
        }

        .mega-link:hover::before,
        .mega-link:focus-visible::before {
            background: var(--portal-color-brand);
            box-shadow: 0 0 0 4px rgba(15, 111, 47, .09);
            transform: scale(1.08);
        }

        .mega-link:focus-visible {
            color: var(--pgu-green-main);
            border-color: rgba(15, 111, 47, .2);
            background: var(--portal-color-brand-soft);
            outline: 2px solid var(--portal-color-focus);
            outline-offset: 2px;
            box-shadow: 0 6px 16px rgba(15, 111, 47, .06);
        }

        .novo-mainnav > li > a[aria-label="Buscar no portal"] {
            gap: .42rem;
            padding: .5rem .7rem;
            border: 0;
            background: transparent;
            line-height: 1;
        }

        .novo-mainnav > li > a[aria-label="Buscar no portal"] i {
            display: inline-flex;
            align-items: center;
            line-height: 1;
        }

        .novo-mainnav > li > a[aria-label="Buscar no portal"]:hover,
        .novo-mainnav > li > a[aria-label="Buscar no portal"]:focus-visible {
            background: rgba(255, 255, 255, .14);
            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
        }

        .mobile-header-actions {
            gap: .7rem;
        }

        .mobile-search-link,
        .mobile-menu-toggle {
            width: 42px;
            height: 42px;
            border-radius: var(--portal-radius-md);
            border: 1px solid rgba(255,255,255,.48);
            background: rgba(255,255,255,.12);
            color: var(--color-white);
            font-size: 18px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 auto;
            transition: background-color var(--portal-transition), border-color var(--portal-transition), transform var(--portal-transition), box-shadow var(--portal-transition);
        }

        .mobile-search-link {
            text-decoration: none;
            font-size: 18px;
            color: var(--color-white) !important;
        }

        .mobile-search-link:visited,
        .mobile-search-link:hover,
        .mobile-search-link:focus-visible {
            background: rgba(255,255,255,.22);
            color: var(--color-white) !important;
            transform: translateY(-1px);
        }

        .mobile-search-link:focus-visible {
            color: var(--color-white) !important;
        }

        .mobile-menu-toggle:hover,
        .mobile-menu-toggle:focus-visible {
            background: rgba(255,255,255,.22);
            border-color: rgba(255,255,255,.72);
            color: var(--color-white);
            transform: translateY(-1px);
        }

        .mobile-nav-canvas {
            --bs-offcanvas-width: 100vw;
            background:
                radial-gradient(circle at 12% 0%, rgba(255, 255, 255, .14), transparent 26%),
                linear-gradient(180deg, var(--color-brand-700) 0%, var(--color-brand-900) 100%);
            color: var(--color-white);
            width: 100vw;
            max-width: 100vw;
            height: 100dvh;
            border-right: 0;
            font-family: var(--font-ui-admin);
            font-feature-settings: "cv11" 1;
            font-synthesis: none;
            font-optical-sizing: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        .mobile-nav-canvas .offcanvas-body {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            padding-bottom: 1.25rem;
        }

        .mobile-nav-primary {
            flex: 1 1 auto;
        }

        .mobile-nav-canvas .offcanvas-header {
            border-bottom: 1px solid rgba(255,255,255,.16);
            background: rgba(255, 255, 255, .06);
        }

        .mobile-nav-canvas .offcanvas-title,
        .mobile-nav-canvas .btn-close {
            font-family: inherit;
            font-feature-settings: "cv11" 1;
        }

        .mobile-menu-accordion {
            flex: 0 0 auto;
        }

        .mobile-menu-accordion .accordion-item {
            background: transparent;
            border: 0;
            border-bottom: 1px solid rgba(255,255,255,.15);
        }

        .mobile-menu-accordion .accordion-button {
            background: transparent;
            color: var(--color-white);
            font-family: inherit;
            font-size: 15px;
            font-weight: 700;
            text-transform: uppercase;
            box-shadow: none;
            padding: .95rem .85rem;
            border-radius: var(--portal-radius-md);
        }

        .mobile-menu-accordion .accordion-button:not(.collapsed) {
            color: var(--color-white);
            background: rgba(255, 255, 255, .1);
        }

        .mobile-menu-accordion .accordion-button::after {
            filter: brightness(0) invert(1);
        }

        .mobile-menu-accordion .accordion-body {
            padding: 0 0 1rem 0;
        }

        .mobile-menu-accordion .accordion-body a {
            display: block;
            color: var(--color-white-soft);
            text-decoration: none;
            font-family: inherit;
            font-size: 14px;
            padding: .5rem .7rem .5rem .9rem;
            margin-left: .3rem;
            border-radius: var(--portal-radius-md);
            transition: transform .18s ease, color .18s ease, background-color .18s ease;
        }

        .mobile-menu-accordion .accordion-body a:visited {
            color: var(--color-white-soft);
            text-decoration: none;
        }

        .mobile-menu-accordion .accordion-body a:hover {
            color: var(--color-white);
            text-decoration: none;
            background: rgba(255, 255, 255, .08);
            transform: translateX(5px);
        }

        .mobile-menu-title {
            color: var(--color-white-soft-2);
            background: var(--color-brand-900);
            border: 1px solid rgba(255,255,255,.14);
            border-radius: 6px;
            padding: .5rem .85rem;
            font-family: inherit;
            font-size: 14px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .03em;
            margin-top: 1rem;
            margin-bottom: .45rem;
        }

        .mobile-news-link {
            display: block;
            margin: .35rem 0 0;
            padding: .5rem .7rem .5rem .9rem;
            border: 0;
            border-radius: var(--portal-radius-md);
            background: transparent;
            color: var(--color-white);
            text-decoration: none;
            font-family: inherit;
            font-size: 14px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .04em;
            transition: background-color var(--portal-transition), transform var(--portal-transition);
        }

        .mobile-news-link:visited,
        .mobile-news-link:hover {
            color: var(--color-white);
            text-decoration: none;
        }

        .mobile-news-link:hover,
        .mobile-news-link:focus-visible {
            background: rgba(255, 255, 255, .08);
            transform: translateX(5px);
        }

        .mobile-nav-socials {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: .65rem;
            margin-top: auto;
            padding-top: 1rem;
        }

        .mobile-nav-socials .top-social {
            width: 42px;
            height: 42px;
        }

        .mobile-nav-socials .top-social i {
            font-size: 15px;
        }

        .hero-banner {
            background-image: url('https://www.paranagua.pr.gov.br/imagens/hero-paranagua.jpg');
            background-size: cover;
            background-position: center;
            min-height: 560px;
            padding-top: var(--hero-gap);
            padding-bottom: calc(var(--hero-gap) + var(--service-overlap));
            position: relative;
            overflow: hidden;
        }

        .hero-banner::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 150px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .92) 88%, var(--color-surface-0) 100%);
            z-index: 1;
            pointer-events: none;
        }

        .hero-wave-overlay {
            position: absolute;
            top: -1px;
            left: 0;
            width: 100%;
            line-height: 0;
            z-index: 32;
            pointer-events: none;
        }

        .hero-wave-scene {
            position: relative;
            width: 100%;
            height: clamp(8px, 1vw, 18px);
            overflow: hidden;
            color: var(--color-brand-700);
            pointer-events: none;
        }

        .hero-wave-layer {
            --hero-wave-width: max(1440px, 100vw);
            position: absolute;
            inset: 0 auto auto 0;
            display: flex;
            width: max-content;
            height: 100%;
            will-change: transform;
        }

        .hero-wave-layer svg {
            display: block;
            flex: 0 0 var(--hero-wave-width);
            width: var(--hero-wave-width);
            height: 100%;
        }

        .hero-wave-layer-base {
            z-index: 2;
            animation: heroWaveMove 26s linear infinite;
        }

        .hero-wave-layer-mid {
            z-index: 1;
            color: var(--color-brand-500);
            opacity: .78;
            animation: heroWaveMove 14s linear infinite reverse;
        }

        @keyframes heroWaveMove {
            from {
                transform: translateX(0);
            }

            to {
                transform: translateX(calc(-1 * var(--hero-wave-width)));
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .hero-wave-layer {
                animation: none;
                will-change: auto;
            }
        }

        @media (max-width: 767.98px) {
            .hero-wave-scene {
                height: clamp(14px, 3.8vw, 22px);
            }
        }

        .hero-search-box {
            max-width: 980px;
            margin: 24px auto 0;
        }

        .hero-search-input {
            border-radius: 10px;
            border: 1px solid var(--color-border-750);
            height: 58px;
            font-size: 1.08rem;
            padding-left: 2.35rem;
            color: var(--color-text-750);
        }

        .hero-search-icon {
            position: absolute;
            top: 50%;
            left: 1.05rem;
            transform: translateY(-50%);
            color: var(--color-text-580);
        }

        .hero-service-btn {
            border-radius: 10px;
            border: 0;
            height: 58px;
            padding: 0 1.3rem;
            background: var(--color-brand-450);
            color: var(--color-white);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .03em;
            white-space: nowrap;
            font-size: 16px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-decoration: none;
        }

        .hero-service-btn i {
            font-size: 18px;
            line-height: 1;
        }

        .hero-search-wrap {
            position: relative;
            z-index: 34;
        }

        .hero-search-results {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 10px);
            background: var(--color-surface-0);
            border: 1px solid var(--color-border-625);
            border-radius: 10px;
            box-shadow: 0 10px 24px rgba(0, 0, 0, .15);
            z-index: 35;
            max-height: 460px;
            overflow-y: auto;
        }

        .hero-search-group {
            border-bottom: 1px solid var(--color-border-650);
        }

        .hero-search-group:last-child {
            border-bottom: 0;
        }

        .hero-search-group-title {
            font-family: var(--portal-font-heading);
            font-weight: 700;
            font-size: 12px;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: var(--color-text-670);
            padding: 10px 14px 6px;
            background: var(--color-surface-260);
        }

        .hero-search-item {
            display: block;
            text-decoration: none;
            color: var(--color-text-675);
            padding: 10px 14px;
            border-top: 1px solid var(--color-border-675);
        }

        .hero-search-item:hover {
            background: var(--color-surface-270);
            color: var(--color-text-850);
        }

        .hero-search-item-title {
            font-size: 15px;
            font-weight: 600;
            line-height: 1.3;
            margin: 0;
        }

        .hero-search-item-subtitle {
            font-size: 12px;
            color: var(--color-text-580);
            margin-top: 2px;
        }

        .hero-search-empty {
            padding: 14px;
            color: var(--color-text-690);
            font-size: 14px;
        }

        .service-board {
            margin-top: calc(-1 * var(--service-overlap));
            background: var(--color-surface-0);
            border: 1px solid var(--color-border-250);
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
            border-radius: 8px;
            transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
        }

        .service-board-grid {
            display: grid;
            grid-template-columns: repeat(8, minmax(0, 1fr));
            gap: 12px;
        }

        .service-board-mobile {
            display: none;
        }

        .service-card {
            border: 1px solid var(--color-border-550);
            background: var(--color-surface-0);
            border-radius: 8px;
            min-height: 104px;
            text-decoration: none;
            color: var(--color-text-700-alt);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: .45rem;
            transition: color .3s ease, transform .3s ease, box-shadow .3s ease;
            padding: .6rem;
            text-align: center;
            overflow: hidden;
        }

        .service-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
            color: var(--color-text-710);
        }

        .service-icon {
            color: var(--color-brand-475);
            font-size: 1.85rem;
            line-height: 1;
            display: block;
            opacity: .94;
        }

        .service-label {
            font-size: 13px;
            font-weight: 600;
            line-height: 1.15;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            word-break: break-word;
        }

        .service-card-mock {
            background: var(--color-surface-260);
            border-style: dashed;
        }

        .news-main {
            position: relative;
            overflow: hidden;
            min-height: 560px;
            background: var(--color-surface-300);
        }

        .news-main img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .news-overlay {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 1.25rem;
            background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.78) 65%, rgba(0,0,0,.9) 100%);
            color: var(--color-white);
        }

        .news-title {
            font-size: 2rem;
            font-weight: 700;
            margin: .35rem 0 0;
            line-height: 1.2;
        }

        .news-side-card {
            border: 1px solid var(--color-border-550);
            background: var(--color-surface-0);
        }

        .news-side-card img {
            width: 100%;
            height: 230px;
            object-fit: cover;
        }

        .news-zoom {
            display: block;
            overflow: hidden;
        }

        .news-zoom img {
            width: 100%;
            transition: transform .45s ease;
        }

        .news-zoom:hover img {
            transform: scale(1.06);
        }

        .home-news-carousel {
            border: 1px solid var(--color-border-250);
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
            background: var(--color-surface-0);
            border-radius: 8px;
            overflow: hidden;
        }

        .home-news-slide {
            position: relative;
            min-height: 520px;
        }

        .home-news-slide img {
            min-height: 520px;
            object-fit: cover;
        }

        .home-news-overlay {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 1.3rem 1.4rem 1.4rem;
            color: var(--color-white);
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .82) 76%);
        }

        .home-news-date,
        .news-top-date {
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .08em;
            opacity: .95;
        }

        .home-news-overlay h2 {
            margin: .25rem 0 0;
            font-size: 2rem;
            line-height: 1.22;
            font-weight: 700;
            max-width: 92%;
        }

        .home-news-thumb-grid {
            display: grid;
            grid-template-columns: repeat(6, minmax(0, 1fr));
            gap: 10px;
        }

        .home-news-thumb {
            position: relative;
            border: 2px solid var(--color-border-700);
            border-radius: 8px;
            padding: 0;
            background: var(--color-surface-0);
            cursor: pointer;
            overflow: hidden;
        }

        .home-news-thumb img {
            display: block;
            width: 100%;
            height: 92px;
            object-fit: cover;
        }

        .home-news-thumb::after {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, .36);
            opacity: 0;
            transition: opacity .2s ease;
            pointer-events: none;
        }

        .home-news-thumb:hover::after,
        .home-news-thumb:focus-visible::after {
            opacity: 1;
        }

        .home-news-thumb.is-active {
            border-color: var(--color-brand-700);
            box-shadow: 0 0 0 2px rgba(15, 111, 47, .17);
        }

        .home-news-carousel .carousel-control-prev,
        .home-news-carousel .carousel-control-next {
            width: 56px;
            opacity: 1;
        }

        .home-news-carousel .carousel-control-prev-icon,
        .home-news-carousel .carousel-control-next-icon {
            width: 42px;
            height: 42px;
            background-size: 20px 20px;
            border-radius: 50%;
            background-color: rgba(12, 18, 26, .62);
            box-shadow: 0 4px 12px rgba(0, 0, 0, .24);
        }

        .home-news-modern {
            background: var(--color-surface-0);
            border: 1px solid var(--color-border-525);
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
            padding: 1rem;
            border-radius: 8px;
        }

        .home-side-banner-wrap {
            border: 1px solid var(--color-border-250);
            background: var(--color-surface-0);
            box-shadow: 0 10px 20px rgba(0, 0, 0, .12);
            padding: .35rem;
        }

        .home-side-banner img {
            aspect-ratio: 3 / 5;
            object-fit: cover;
        }

        .home-side-banner-carousel .carousel-control-prev,
        .home-side-banner-carousel .carousel-control-next {
            width: 34px;
            opacity: .95;
        }

        .home-side-banner-carousel .carousel-control-prev-icon,
        .home-side-banner-carousel .carousel-control-next-icon {
            background-size: 18px 18px;
            border-radius: 50%;
            background-color: rgba(10, 17, 24, .48);
            width: 32px;
            height: 32px;
        }

        .home-side-news-wrap {
            background: var(--color-surface-0);
            border: 1px solid var(--color-border-525);
            box-shadow: 0 8px 18px rgba(0, 0, 0, .08);
            padding: .95rem;
            height: 100%;
        }

        .home-side-news-card {
            border: 1px solid var(--color-border-725);
            background: var(--color-surface-0);
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
            border-radius: 8px;
            transition: transform .3s ease, box-shadow .3s ease;
        }

        .home-side-news-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
        }

        .home-side-news-image img {
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }

        .home-side-news-body {
            padding: .75rem .8rem .8rem;
        }

        .home-side-news-body h3 {
            margin: .35rem 0 0;
            font-size: var(--font-title-card);
            line-height: var(--font-line-title);
            font-weight: 700;
        }

        .mobile-news-link:visited {
            color: var(--color-white);
            text-decoration: none;
        }

        .home-side-news-body h3 a {
            color: var(--color-text-900);
            text-decoration: none;
        }

        .home-side-news-body h3 a:visited {
            color: var(--color-text-900);
            text-decoration: none;
        }

        .home-side-news-body h3 a:hover {
            color: var(--color-brand-700);
            text-decoration: underline;
        }

        .home-news-section-title {
            font-family: var(--portal-font-heading);
            text-transform: uppercase;
            letter-spacing: .03em;
            font-size: var(--font-title-section);
            font-weight: 700;
        }

        .news-card {
            border: 1px solid var(--color-border-250);
            background: var(--color-surface-0);
            box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
            border-radius: 8px;
            transition: transform .3s ease, box-shadow .3s ease;
        }

        .news-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
        }

        .news-page-modern {
            background: var(--color-surface-0);
        }

        .news-card-spacious {
            box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
        }

        .news-card-spacious .news-card-body {
            padding: 1rem 1rem 1.1rem;
        }

        .news-card-image img {
            aspect-ratio: 16 / 9;
            object-fit: cover;
        }

        .news-card-body {
            padding: .9rem .95rem 1rem;
        }

        .news-page-hero,
        .news-detail-header {
            background: linear-gradient(180deg, var(--color-surface-280) 0%, var(--color-surface-290) 100%);
            border-top: 1px solid var(--color-border-575);
            border-bottom: 1px solid var(--color-border-575);
        }

        .page-head {
            width: 100%;
            max-width: 100%;
            margin-bottom: 1rem;
        }

        .page-title {
            font-family: var(--portal-font-heading);
            font-size: var(--font-title-page);
            font-weight: 700;
            color: var(--color-brand-700);
            line-height: var(--font-line-title-tight);
            margin: 0;
        }

        .page-lead {
            width: 100%;
            max-width: 100%;
            color: var(--color-text-740);
            font-size: 1.03rem;
            line-height: 1.7;
            margin: 0;
        }

        .news-detail-breadcrumb .breadcrumb-item,
        .news-detail-breadcrumb .breadcrumb-item a {
            font-size: 14px;
            color: var(--color-text-720);
            text-decoration: none;
        }

        .news-detail-breadcrumb .breadcrumb-item a:hover {
            color: var(--color-brand-700);
            text-decoration: underline;
        }

        @media (max-width: 991.98px) {
            .page-title {
                font-size: 1.6rem;
            }

            .page-lead {
                font-size: 1rem;
            }
        }

        .news-top-main {
            position: relative;
            min-height: 460px;
            border: 1px solid var(--color-border-250);
            box-shadow: 0 10px 22px rgba(0, 0, 0, .14);
        }

        .news-top-main-media img {
            min-height: 460px;
            object-fit: cover;
        }

        .news-top-main-overlay {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            padding: 1.2rem 1.3rem;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 8%, rgba(0, 0, 0, .8) 85%);
        }

        .news-top-main-overlay h2 {
            margin: .35rem 0 0;
            font-size: var(--font-title-hero);
            line-height: var(--font-line-title-tight);
        }

        .news-top-side {
            border: 1px solid var(--color-border-250);
            display: flex;
            background: var(--color-surface-0);
            height: 100%;
            min-height: 136px;
        }

        .news-top-side-media {
            width: 38%;
            flex-shrink: 0;
        }

        .news-top-side-media img {
            height: 100%;
            object-fit: cover;
        }

        .news-top-side-content {
            padding: .8rem .9rem;
        }

        .news-top-side-content h3 {
            font-size: var(--font-title-md);
            font-weight: 700;
            line-height: var(--font-line-title);
            margin: 0;
            color: var(--color-text-900);
        }

        .news-detail-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            color: var(--color-text-730);
            font-size: 14px;
        }

        .news-detail-meta i {
            margin-right: 5px;
        }

        .news-detail-meta a {
            color: inherit;
            text-decoration: none;
            border-bottom: 1px dashed rgba(47, 64, 79, .45);
        }

        .news-detail-meta a:hover {
            color: var(--color-brand-700);
            border-bottom-color: var(--color-brand-700);
        }

        .news-detail-card {
            border: 0;
            background: transparent;
            box-shadow: none;
        }

        .news-detail-head {
            padding: 0 0 1rem;
        }

        .news-detail-layout {
            align-items: flex-start;
        }

        .news-detail-layout .news-related-title {
            font-size: 1.15rem;
        }

        .news-detail-hero img {
            max-height: 560px;
            object-fit: cover;
        }

        .news-detail-hero-link {
            cursor: zoom-in;
        }

        .news-detail-gallery {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
            gap: 10px;
            padding: 0;
        }

        .news-detail-thumb {
            border: 1px solid var(--color-border-250);
            background: var(--color-surface-0);
            padding: 0;
            cursor: pointer;
            transition: border-color .18s ease, box-shadow .18s ease;
        }

        .news-detail-thumb.is-active {
            border-color: var(--color-brand-700);
            box-shadow: 0 0 0 2px rgba(15, 111, 47, .17);
        }

        .news-detail-thumb img {
            aspect-ratio: 16 / 10;
            object-fit: cover;
        }

        .news-detail-content {
            padding: 1.45rem 0 0;
            line-height: 1.75;
            color: var(--color-text-760);
            font-size: 1.03rem;
        }

        .news-detail-content p:last-child {
            margin-bottom: 0;
        }

        .news-detail-content p {
            margin-bottom: 1rem;
        }

        .news-files {
            margin: 1.2rem 0 0;
            border-top: 1px solid var(--color-border-100);
            padding-top: 1rem;
        }

        .news-files h2 {
            font-size: 1.05rem;
            font-weight: 700;
            margin-bottom: .8rem;
        }

        .news-files li {
            margin-bottom: .5rem;
        }

        .news-files a {
            color: var(--color-brand-700);
            text-decoration: none;
            font-weight: 600;
        }

        .news-files a:hover {
            text-decoration: underline;
        }

        .news-files i {
            margin-right: 6px;
        }

        .news-related-title {
            font-family: var(--portal-font-heading);
            font-size: 1.08rem;
            font-weight: 700;
            color: var(--color-text-900);
        }

        .news-leads-sidebar {
            border: 0;
            background: transparent;
            box-shadow: none;
            padding: 0;
            position: sticky;
            top: 18px;
        }

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

        .news-lead-item {
            display: block;
            padding-bottom: 0;
            border-bottom: 0;
        }

        .news-lead-item:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        .news-lead-content h3 {
            margin: .18rem 0 0;
            font-size: .95rem;
            line-height: 1.32;
            font-weight: 700;
        }

        .news-lead-content a {
            color: var(--color-text-900);
            text-decoration: none;
        }

        .news-lead-content a:hover {
            color: var(--color-brand-700);
            text-decoration: underline;
        }

        .news-share {
            margin-top: 1.35rem;
            padding-top: 1rem;
            border-top: 1px solid var(--color-border-100);
        }

        .news-share-title {
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: .7rem;
            color: var(--color-text-900);
        }

        .news-share-list {
            display: flex;
            flex-wrap: wrap;
            gap: .55rem;
        }

        .news-share-btn {
            border: 1px solid var(--color-panel-border);
            background: transparent;
            color: var(--color-text-790);
            text-decoration: none;
            font-weight: 600;
            font-size: .86rem;
            line-height: 1;
            padding: .52rem .65rem;
            border-radius: 4px;
            display: inline-flex;
            align-items: center;
            gap: .36rem;
            transition: border-color .16s ease, color .16s ease, background .16s ease;
        }

        .news-share-btn:hover {
            color: var(--color-brand-700);
            border-color: var(--color-brand-700);
            background: rgba(15, 111, 47, .04);
        }

        .news-share-btn:focus-visible {
            color: var(--color-brand-700);
            border-color: var(--color-brand-700);
            background: rgba(15, 111, 47, .04);
        }

        .news-share-feedback {
            margin-top: .55rem;
            color: var(--color-brand-700);
            font-size: .9rem;
            font-weight: 600;
        }

        .news-detail-gallery-wrap {
            margin-top: 1.35rem;
            padding-top: 1rem;
            border-top: 1px solid var(--color-border-100);
        }

        .news-detail-gallery-wrap h2 {
            font-size: 1.02rem;
            font-weight: 700;
            margin-bottom: .75rem;
            color: var(--color-text-900);
        }

        .news-image-modal .modal-content {
            background: transparent;
            border: 0;
            box-shadow: none;
            position: relative;
        }

        .news-image-modal .modal-dialog {
            max-width: min(1200px, calc(100vw - 32px));
        }

        .news-image-modal img {
            width: 100%;
            max-height: calc(100vh - 80px);
            object-fit: contain;
            border-radius: 6px;
            background: var(--color-bg-dark);
        }

        .news-image-modal-close {
            position: absolute;
            right: 10px;
            top: 10px;
            z-index: 2;
            background-color: rgba(255, 255, 255, .95);
            opacity: 1;
        }

        .cookie-consent {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            width: auto;
            max-width: none;
            background: var(--color-surface-0);
            border: 1px solid var(--color-border-250);
            box-shadow: 0 16px 36px rgba(0, 0, 0, .18);
            z-index: 300;
            border-radius: 0;
            padding: 24px clamp(20px, 3vw, 36px);
            display: flex;
            align-items: center;
            gap: 18px;
        }

        .cookie-consent-icon {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--color-surface-310);
            color: var(--color-brand-700);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 40px;
            font-size: 16px;
        }

        .cookie-consent-icon i {
            line-height: 1;
        }

        .cookie-consent-content {
            flex: 1 1 auto;
            min-width: 0;
        }

        .cookie-consent-title {
            margin: 0 0 .2rem;
            color: var(--color-text-900);
            font-size: 1.05rem;
            line-height: 1.2;
            font-weight: 700;
        }

        .cookie-consent-text {
            margin: 0;
            font-size: .98rem;
            line-height: 1.55;
            color: var(--color-text-780);
        }

        .cookie-consent-actions {
            display: flex;
            gap: .7rem;
            margin-top: 0;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-end;
            flex: 0 0 auto;
        }

        .cookie-consent .btn-lg {
            min-height: 48px;
            padding: .72rem 1.2rem;
            font-size: .98rem;
            font-weight: 700;
            border-radius: 10px;
        }

        .cookie-consent .btn-success {
            background: var(--color-brand-600);
            border-color: var(--color-brand-600);
        }

        .cookie-consent .btn-success:hover {
            background: var(--color-brand-650);
            border-color: var(--color-brand-650);
        }

        .cookie-consent .btn-outline-secondary {
            color: var(--color-text-790);
            border-color: var(--color-panel-border);
            background: var(--color-surface-0);
        }

        .cookie-consent .btn-outline-secondary:hover {
            color: var(--color-text-900);
            background: var(--color-surface-240);
            border-color: var(--color-heading-divider);
        }

        .cookie-consent-policy {
            color: var(--color-brand-700);
            font-weight: 700;
            text-decoration: none;
            padding: .72rem .2rem;
        }

        .cookie-consent-policy:hover {
            color: var(--color-brand-950);
            text-decoration: underline;
        }

        .cookie-consent-policy:focus-visible {
            color: var(--color-brand-950);
            text-decoration: underline;
        }

        .novo-footer {
            background: var(--pgu-green-main);
            color: var(--color-footer-text);
            margin-top: 0 !important;
            position: relative;
        }

        .novo-footer-wave-wrap {            
            line-height: 0;
            overflow: hidden;
        }

        .novo-footer-wave-image {
            display: block;
            width: 100%;
            height: auto;
        }

        .novo-footer-wave {
            position: relative;
            z-index: 1;
            display: none;
        }

        .novo-footer .container {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .novo-footer-main {
            padding: 34px 0 0;
            position: relative;
            z-index: 2;
        }

        .novo-footer-title {
            font-family: var(--portal-font-heading);
            color: var(--color-white);
            text-transform: uppercase;
            font-size: 13px;
            font-weight: 700;
            letter-spacing: .075em;
            margin-bottom: .82rem;
        }

        .novo-footer-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .novo-footer-list li {
            margin-bottom: .45rem;
        }

        .novo-footer-list a {
            display: inline-block;
            font-size: 14px;
            line-height: 1.45;
        }

        .novo-footer a {
            color: var(--color-footer-text);
            text-decoration: none;
        }

        .novo-footer a:visited {
            color: var(--color-footer-text);
            text-decoration: none;
        }

        .novo-footer a:hover {
            color: var(--color-white);
        }

        .novo-footer a:focus-visible {
            color: var(--color-white);
            text-decoration: underline;
        }

        .novo-footer-bottom {
            background: var(--pgu-green-top);
            color: var(--color-white);
            margin-top: 40px;
            font-size: 14px;
        }

        .novo-footer-copy {
            font-size: 14px;
        }

        .novo-footer-grid {
            min-height: 340px;
        }

        .novo-footer-brand-col {
            padding-right: 1.75rem;
        }

        .novo-footer-logo {
            max-height: 76px;
            width: auto;
        }

        .novo-footer-logo-link {
            display: flex;
            width: 100%;
            justify-content: center;
            margin-bottom: 1.1rem;
        }

        .novo-footer-socials {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: .45rem;
            margin-bottom: 1.25rem;
        }

        .novo-footer-socials .top-social {
            width: 48px;
            height: 48px;
        }

        .novo-footer-socials .top-social i {
            font-size: 20px;
        }

        .novo-footer-contact-list {
            list-style: none;
            margin: 0;
            padding: 0;
            color: rgba(216, 225, 218, .92);
            line-height: 1.45;
            font-size: 14px;
        }

        .novo-footer-contact-list li {
            display: flex;
            gap: .7rem;
            align-items: flex-start;
            margin-bottom: .8rem;
        }

        .novo-footer-contact-list i {
            margin-top: .2rem;
            color: var(--color-white);
            font-size: 1.15rem;
            min-width: 18px;
        }

        .novo-footer-contact-list span {
            display: block;
        }

        .novo-footer-links-col {
            border-left: 1px solid rgba(255, 255, 255, .16);
            min-height: 100%;
            padding-left: 1.55rem;
        }

        .novo-footer-links-col:not(.novo-footer-brand-col) .novo-footer-list {
            margin-top: .25rem;
        }

        .novo-footer-links-col:not(.novo-footer-brand-col) .novo-footer-list li {
            margin-bottom: .6rem;
        }

        .novo-footer-contact {
            font-size: 14px;
            line-height: 1.45;
            color: rgba(216, 225, 218, .92);
        }

        @media (max-width: 1199.98px) {
            :root {
                --topbar-link-size: 12px;
            }

            .novo-mainnav > li > a,
            .novo-mainnav > li > .mega-trigger {
                font-size: 14px;
            }

            .mega-panel {
                width: min(1010px, calc(100vw - 1.5rem));
            }

            .mega-highlight {
                grid-template-columns: minmax(220px, .82fr) minmax(0, 1.7fr);
                gap: .75rem;
            }

            .mega-highlight-copy p {
                font-size: .82rem;
            }

            .mega-highlight-link {
                font-size: .82rem;
            }

            .mega-panel .row.py-4 {
                padding-top: 1.25rem !important;
                padding-bottom: 1.25rem !important;
            }

            .mega-panel .col-3 {
                padding-left: .82rem;
                padding-right: .82rem;
            }
        }

        @media (max-width: 991.98px) {
            :root {
                --hero-gap: 20px;
                --service-overlap: 150px;
            }

            .topbar-row {
                justify-content: space-between !important;
                min-height: 42px;
            }

            .novo-mainnav > li > a,
            .novo-mainnav > li > .mega-trigger {
                font-size: 12px;
            }

            .hero-banner {
                min-height: 440px;
                padding: 40px 0 100px;
            }

            .hero-banner::after {
                height: 110px;
            }

            .hero-service-btn,
            .hero-search-input {
                height: 52px;
                font-size: 1rem;
            }

            .hero-search-box {
                margin-top: 14px;
            }

            .service-board {
                margin-top: calc(-1 * var(--service-overlap));
            }

            .service-board-grid {
                display: none;
            }

            .service-board-mobile {
                display: flex;
                overflow-x: auto;
                overflow-y: hidden;
                gap: 10px;
                scroll-snap-type: x mandatory;
                -webkit-overflow-scrolling: touch;
                padding-bottom: .25rem;
            }

            .service-board-page {
                flex: 0 0 100%;
                min-width: 100%;
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                grid-template-rows: repeat(2, minmax(0, 1fr));
                gap: 10px;
                scroll-snap-align: start;
            }

            .service-board-mobile .service-card {
                min-height: 112px;
                height: 112px;
                padding: .55rem .4rem;
                gap: .35rem;
            }

            .service-board-mobile .service-label {
                font-size: 12px;
                line-height: 1.2;
            }

            .service-board-mobile .service-icon {
                font-size: 1.65rem;
            }

            .news-main {
                min-height: 360px;
            }

            .news-title {
                font-size: 1.4rem;
            }

            .mega-title {
                font-size: 12px;
                margin-bottom: .5rem;
            }

            .mega-link {
                font-size: 12px;
                line-height: 1.4;
            }

            .mega-wrap > a {
                padding-bottom: 0;
                margin-bottom: 0;
            }

            .novo-mainrow {
                min-height: 80px;
                align-items: stretch;
            }

            .mobile-menu-toggle,
            .mobile-search-link {
                width: 38px;
                height: 38px;
                border-radius: 6px;
                font-size: 17px;
            }

            .header-brand {
                max-height: 80px;
                justify-content: center;
            }

            .header-brand picture {
                max-height: 80px;
                width: auto;
            }

            .header-brand img {
                max-height: 80px;
                height: 100% !important;
            }

            .home-news-slide,
            .home-news-slide img {
                min-height: 340px;
            }

            .home-news-overlay h2 {
                font-size: 1.42rem;
                max-width: 100%;
            }

            .home-news-thumb-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .home-side-banner-wrap,
            .home-side-news-wrap {
                max-width: 420px;
                margin: 0 auto;
            }

            .home-news-modern {
                padding: .8rem;
            }

            .page-title,
            .news-detail-title {
                font-size: 1.55rem;
            }

            .news-top-main,
            .news-top-main-media img {
                min-height: 320px;
            }

            .news-top-main-overlay h2 {
                font-size: 1.4rem;
            }

            .news-top-side {
                min-height: 124px;
            }

            .news-top-side-media {
                width: 34%;
            }

            .news-detail-content {
                font-size: .98rem;
                line-height: 1.68;
                padding: 1.1rem 0 0;
            }

            .news-files {
                margin: 1rem 0 0;
            }

            .news-detail-head {
                padding: 0 0 .8rem;
            }

            .news-leads-sidebar {
                position: static;
                padding: 0;
            }

            .novo-footer-main {
                padding-top: 20px;
            }

            .novo-footer-grid {
                min-height: 0;
            }

            .novo-footer-links-col {
                border-left: 0;
                padding-left: .25rem;
                margin-top: 1.4rem;
                margin-bottom: 1.25rem;
            }

            .novo-footer-links-col .novo-footer-list {
                padding-left: .25rem;
                margin-top: .35rem;
            }

            .novo-footer-socials {
                justify-content: center;
                margin-bottom: 1.15rem;
            }

            .novo-footer-brand-col {
                text-align: center;
                margin-bottom: .5rem;
                padding-bottom: .5rem;
                padding-right: 0;
            }

            .novo-footer-logo-link {
                margin-left: auto;
                margin-right: auto;
            }

            .novo-footer-contact-list {
                display: inline-block;
                margin-left: auto;
                margin-right: auto;
                text-align: left;
            }

            .novo-footer-contact {
                text-align: left;
            }

            .novo-footer-wave-wrap {
                background: var(--color-surface-0);
            }
        }

        @media (max-width: 767.98px) {
            .cookie-consent {
                left: 0;
                right: 0;
                bottom: 0;
                padding: 12px 12px 14px;
                gap: 8px;
                align-items: flex-start;
                flex-wrap: wrap;
                border-radius: 12px 12px 0 0;
            }

            .cookie-consent-icon {
                display: none;
            }

            .cookie-consent-actions {
                width: 100%;
                justify-content: flex-start;
                display: grid;
                grid-template-columns: 1fr;
                gap: 8px;
                margin-top: 8px;
            }

            .cookie-consent-title {
                font-size: .92rem;
                margin-bottom: .15rem;
            }

            .cookie-consent-text {
                max-width: calc(100vw - 24px);
                font-size: .82rem;
                line-height: 1.35;
            }

            .cookie-consent .btn-lg {
                width: 100%;
                min-height: 40px;
                padding: .55rem .7rem;
                font-size: .86rem;
            }

            .cookie-consent-policy {
                grid-column: 1 / -1;
                width: auto;
                padding: 0;
                font-size: .8rem;
            }
        }
