/* Public homepage mockup fidelity layer.
   Loaded after legacy public styles so localhost and production render the same theme. */

html body[data-page="home"] {
    --mock-purple-950: #19002e;
    --mock-purple-900: #250044;
    --mock-purple-850: #300058;
    --mock-purple-800: #4b0078;
    --mock-purple-700: #64169b;
    --mock-purple-100: #f4effb;
    --mock-gold: #f2c94c;
    --mock-gold-soft: #fff1b8;
    --mock-ink: #23023a;
    --mock-muted: #675675;
    --mock-line: rgba(75, 0, 120, 0.12);
    --mock-shadow: 0 14px 30px rgba(36, 0, 62, 0.14);
    --mock-shell: 1120px;
    --mock-header-font-heading: "Sora", "IBM Plex Sans Thai", sans-serif;
    --mock-header-text-xs: clamp(0.74rem, 0.16vw + 0.71rem, 0.84rem);
    --mock-header-text-sm: clamp(0.84rem, 0.24vw + 0.79rem, 0.98rem);
    background: var(--mock-purple-100) !important;
    color: var(--mock-ink);
    letter-spacing: 0;
}

/* Public content links: keep header and hero bands untouched, tint body links purple. */
html body.public-theme #main-content section:not(.hero-section) a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):not(.carousel-indicators button):not(.carousel-control-prev):not(.carousel-control-next),
html body.public-theme #main-content .card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .content-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .table-responsive a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .list-group a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .alert a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .breadcrumb a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .pagination a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .home-news-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .procurement-feed a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .manual-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .task-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .stacked-list a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .news-list-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link),
html body.public-theme #main-content .procurement-feed__title a:not(.btn),
html body.public-theme #main-content .home-news-card__body h3 a:not(.btn),
html body.public-theme #main-content .news-list-card .card-title > a:not(.btn),
html body.public-theme #main-content .table tbody a.fw-semibold.text-decoration-none:not(.btn) {
    color: var(--mock-purple-700) !important;
}

html body.public-theme #main-content section:not(.hero-section) a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):not(.carousel-indicators button):not(.carousel-control-prev):not(.carousel-control-next):hover,
html body.public-theme #main-content section:not(.hero-section) a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):not(.carousel-indicators button):not(.carousel-control-prev):not(.carousel-control-next):focus,
html body.public-theme #main-content .card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .content-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .content-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .table-responsive a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .table-responsive a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .list-group a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .list-group a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .alert a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .alert a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .breadcrumb a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .breadcrumb a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .pagination a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .pagination a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .home-news-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .home-news-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .procurement-feed a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .procurement-feed a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .manual-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .manual-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .task-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .task-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .stacked-list a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .stacked-list a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .news-list-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):hover,
html body.public-theme #main-content .news-list-card a:not(.btn):not(.nav-link):not(.dropdown-item):not(.dropdown-toggle):not(.page-link):focus,
html body.public-theme #main-content .procurement-feed__title a:not(.btn):hover,
html body.public-theme #main-content .procurement-feed__title a:not(.btn):focus,
html body.public-theme #main-content .home-news-card__body h3 a:not(.btn):hover,
html body.public-theme #main-content .home-news-card__body h3 a:not(.btn):focus,
html body.public-theme #main-content .news-list-card .card-title > a:not(.btn):hover,
html body.public-theme #main-content .news-list-card .card-title > a:not(.btn):focus,
html body.public-theme #main-content .table tbody a.fw-semibold.text-decoration-none:not(.btn):hover,
html body.public-theme #main-content .table tbody a.fw-semibold.text-decoration-none:not(.btn):focus {
    color: var(--mock-purple-800) !important;
}

html body[data-page="home"] .content-wrapper,
html body[data-page="home"] .home-redesign--v2 {
    background: var(--mock-purple-100) !important;
}

html body[data-page="home"] :where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 3px solid var(--mock-gold) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(75, 0, 120, 0.28) !important;
}

html body[data-page="home"] :where(.btn, .nav-link, .dropdown-item, .carousel-indicators button) {
    letter-spacing: 0 !important;
}

/* Top utility */
html body[data-page="home"] .top-utility {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #4c1d6f !important;
    color: rgba(255, 251, 234, 0.96) !important;
    font-size: var(--mock-header-text-xs) !important;
}

html body[data-page="home"] .top-utility .container-fluid {
    max-width: none !important;
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

html body[data-page="home"] .top-utility a {
    color: #fffbea !important;
    text-decoration: none !important;
}

html body[data-page="home"] .top-utility .btn-outline-light {
    border-color: rgba(255, 251, 234, 0.4) !important;
    color: #fffbea !important;
}

html body[data-page="home"] .top-utility .btn-outline-light:hover,
html body[data-page="home"] .top-utility .btn-outline-light.active,
html body[data-page="home"] .top-utility .btn-outline-light[aria-current="true"] {
    border-color: rgba(255, 227, 105, 0.52) !important;
    background: rgba(255, 227, 105, 0.26) !important;
    color: #fffbea !important;
}

/* Header */
html body[data-page="home"] .municipal-identity {
    position: relative !important;
    z-index: 1026 !important;
    border-bottom: 1px solid rgba(124, 58, 237, 0.16) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(76, 29, 111, 0.1) !important;
}

html body[data-page="home"] .municipal-identity__inner {
    display: grid !important;
    grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 34rem) auto !important;
    align-items: center !important;
    max-width: none !important;
    gap: 1.25rem !important;
    padding: clamp(1rem, 1.8vw, 1.55rem) clamp(1rem, 2vw, 1.8rem) !important;
}

html body[data-page="home"] .municipal-brand {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: clamp(0.8rem, 1.4vw, 1.2rem) !important;
    color: #35124f !important;
    text-decoration: none !important;
}

html body[data-page="home"] .municipal-brand:hover,
html body[data-page="home"] .municipal-brand:focus-visible {
    color: #6d28d9 !important;
}

html body[data-page="home"] .municipal-brand__logo {
    width: clamp(72px, 6vw, 104px) !important;
    height: clamp(72px, 6vw, 104px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #fff !important;
    flex: 0 0 auto !important;
    display: block !important;
}

html body[data-page="home"] .municipal-brand__eyebrow,
html body[data-page="home"] .municipal-brand__subtitle,
html body[data-page="home"] .municipal-brand__tagline {
    display: block !important;
    color: #6f5a80 !important;
    font-size: var(--mock-header-text-xs) !important;
    line-height: 1.35 !important;
}

html body[data-page="home"] .municipal-brand__eyebrow {
    margin-bottom: 0.16rem !important;
    color: #7c3aed !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

html body[data-page="home"] .municipal-brand__title {
    display: block !important;
    color: #34124d !important;
    font-family: var(--mock-header-font-heading) !important;
    font-size: clamp(1.35rem, 1.3vw + 1rem, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

html body[data-page="home"] .municipal-brand__subtitle {
    color: #6d28d9 !important;
    font-size: clamp(0.92rem, 0.24vw + 0.86rem, 1.1rem) !important;
    font-weight: 700 !important;
}

html body[data-page="home"] .municipal-search {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 0.65rem !important;
    padding: 0.42rem !important;
    border: 1px solid rgba(124, 58, 237, 0.18) !important;
    border-radius: 999px !important;
    background: #fbf8ff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72) !important;
}

html body[data-page="home"] .municipal-search__icon {
    margin-left: 0.85rem !important;
    color: #7c3aed !important;
}

html body[data-page="home"] .municipal-search .form-control {
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body[data-page="home"] .municipal-search .btn {
    border-radius: 999px !important;
    white-space: nowrap !important;
}

html body[data-page="home"] .municipal-identity__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.6rem !important;
}

html body[data-page="home"] .municipal-identity__actions a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 2.65rem !important;
    gap: 0.45rem !important;
    padding: 0.55rem 0.85rem !important;
    border-radius: 999px !important;
    background: #fff7d6 !important;
    color: #5d3b00 !important;
    font-size: var(--mock-header-text-sm) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

html body[data-page="home"] .municipal-identity__actions a:hover,
html body[data-page="home"] .municipal-identity__actions a:focus-visible {
    background: #f2c94c !important;
    color: #35124f !important;
}

/* Main navigation */
html body[data-page="home"] .public-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1025 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: linear-gradient(90deg, #4c1d6f, #6d28d9) !important;
    box-shadow: 0 12px 24px rgba(76, 29, 111, 0.18) !important;
}

html body[data-page="home"] .public-navbar .container-fluid,
html body[data-page="home"] .public-navbar__inner {
    gap: 1rem !important;
}

html body[data-page="home"] .public-navbar__inner {
    max-width: none !important;
    min-height: 3.35rem !important;
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

html body[data-page="home"] .public-navbar__label {
    color: #ffffff !important;
    font-weight: 700 !important;
}

html body[data-page="home"] .public-mega-nav {
    width: 100% !important;
    justify-content: center !important;
    gap: 0.12rem !important;
}

html body[data-page="home"] .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: clamp(0.88rem, 0.14vw + 0.85rem, 0.98rem) !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
    padding: 1rem 0.78rem !important;
    transition: background-color 0.24s ease, color 0.24s ease, transform 0.24s ease !important;
}

html body[data-page="home"] .navbar-nav .nav-link.active,
html body[data-page="home"] .navbar-nav .nav-link:hover,
html body[data-page="home"] .navbar-nav .nav-link:focus {
    background: #f2c94c !important;
    color: #35124f !important;
    transform: none !important;
}

html body[data-page="home"] .navbar .dropdown-menu {
    border: 1px solid rgba(124, 58, 237, 0.18) !important;
    border-top: 0 !important;
    border-radius: 0 0 1rem 1rem !important;
    padding: 0.8rem !important;
    box-shadow: 0 22px 44px rgba(76, 29, 111, 0.18) !important;
}

html body[data-page="home"] .navbar .dropdown-item {
    border-radius: 0.72rem !important;
    color: #35124f !important;
    padding: 0.62rem 0.82rem !important;
    font-weight: 600 !important;
}

html body[data-page="home"] .navbar .dropdown-item:hover {
    background: rgba(124, 58, 237, 0.1) !important;
    color: #5b21b6 !important;
}

html body[data-page="home"] .navbar .dropdown-item:focus-visible {
    background: #fff3bf !important;
    color: #35124f !important;
}

html body[data-page="home"] .public-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.48) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

html body[data-page="home"] .public-navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.16rem rgba(242, 201, 76, 0.35) !important;
}

html body[data-page="home"] .public-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(1) brightness(2) !important;
}

/* Alert + hero */
html body[data-page="home"] .home-v2-hero-stack {
    position: relative !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .home-v2-hero-stack::before {
    content: none !important;
}

html body[data-page="home"] .home-alert-strip {
    position: relative !important;
    z-index: 7 !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .home-alert-strip__inner {
    max-width: var(--mock-shell) !important;
    min-height: 26px !important;
    margin-inline: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--mock-gold-soft) !important;
    color: var(--mock-ink) !important;
    box-shadow: none !important;
}

html body[data-page="home"] .home-alert-strip__label {
    min-height: 26px !important;
    padding: 0 1rem !important;
    border-radius: 999px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .home-alert-strip__items {
    gap: 0 !important;
}

html body[data-page="home"] .home-alert-strip__item {
    min-height: 26px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--mock-ink) !important;
    font-size: 12px !important;
}

html body[data-page="home"] .home-alert-strip__item strong {
    color: var(--mock-purple-800) !important;
}

html body[data-page="home"] .municipal-portal-hero {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .municipal-portal-hero__visual,
html body[data-page="home"] .municipal-portal-hero__fallback,
html body[data-page="home"] .municipal-portal-hero__video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

html body[data-page="home"] .municipal-portal-hero__visual {
    z-index: 0 !important;
    overflow: hidden !important;
    background:
        linear-gradient(90deg, rgba(25, 0, 46, 0.96), rgba(48, 0, 88, 0.58)),
        var(--hero-fallback-image) center / cover no-repeat,
        var(--mock-purple-950) !important;
}

html body[data-page="home"] .municipal-portal-hero__fallback {
    z-index: 1 !important;
    background: var(--hero-fallback-image) center / cover no-repeat !important;
    filter: saturate(1.15) contrast(1.08) brightness(0.82) !important;
}

html body[data-page="home"] .municipal-portal-hero__video {
    z-index: 2 !important;
    object-fit: cover !important;
    opacity: 0 !important;
    filter: saturate(1.12) contrast(1.08) brightness(0.82) !important;
    transition: opacity 0.25s ease !important;
}

html body[data-page="home"] .municipal-portal-hero.is-video-ready .municipal-portal-hero__video {
    opacity: 1 !important;
}

html body[data-page="home"] .municipal-portal-hero.is-video-unavailable .municipal-portal-hero__video,
html body[data-page="home"] .municipal-portal-hero.is-reduced-motion .municipal-portal-hero__video {
    opacity: 0 !important;
}

html body[data-page="home"] .municipal-portal-hero__carousel,
html body[data-page="home"] .municipal-portal-hero__carousel .carousel-inner,
html body[data-page="home"] .municipal-portal-hero__carousel .carousel-item,
html body[data-page="home"] .municipal-portal-hero__slide {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    height: auto !important;
}

html body[data-page="home"] .municipal-portal-hero__carousel,
html body[data-page="home"] .municipal-portal-hero__slide {
    position: relative !important;
    z-index: 3 !important;
    background: transparent !important;
}

html body[data-page="home"] .municipal-portal-hero__shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(90deg, rgba(25, 0, 46, 0.96) 0%, rgba(48, 0, 88, 0.8) 48%, rgba(48, 0, 88, 0.34) 78%, rgba(25, 0, 46, 0.12) 100%),
        linear-gradient(180deg, rgba(25, 0, 46, 0.04), rgba(25, 0, 46, 0.74)) !important;
}

html body[data-page="home"] .municipal-portal-hero__inner {
    position: relative !important;
    z-index: 4 !important;
    width: min(var(--mock-shell), calc(100% - 64px)) !important;
    margin-inline: auto !important;
    padding: 42px 0 64px !important;
}

html body[data-page="home"] .municipal-portal-hero__copy {
    width: min(100%, 520px) !important;
}

html body[data-page="home"] .municipal-portal-hero__badges {
    gap: 0.45rem !important;
    margin-bottom: 0.55rem !important;
}

html body[data-page="home"] .municipal-portal-hero__badges span {
    min-height: 28px !important;
    padding: 0.28rem 0.8rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-portal-hero__badges span + span {
    border: 1px solid rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-portal-hero h2 {
    max-width: 14ch !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 42px !important;
    font-weight: 900 !important;
    line-height: 1.03 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 14px 28px rgba(0, 0, 0, 0.35) !important;
}

html body[data-page="home"] .municipal-portal-hero p {
    max-width: 450px !important;
    margin-top: 0.5rem !important;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

html body[data-page="home"] .municipal-portal-hero__actions {
    gap: 0.65rem !important;
    margin-top: 1rem !important;
}

html body[data-page="home"] .municipal-portal-hero__actions .btn {
    min-width: auto !important;
    min-height: 36px !important;
    padding: 0.42rem 1rem !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-portal-hero__actions .btn-primary {
    border-color: var(--mock-gold) !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-portal-hero__actions .btn-outline-light {
    border-color: rgba(255, 255, 255, 0.36) !important;
    background: rgba(255, 255, 255, 0.13) !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-portal-hero__seal {
    right: 44px !important;
    bottom: 30px !important;
    width: 112px !important;
    height: 112px !important;
    opacity: 0.14 !important;
}

html body[data-page="home"] .municipal-portal-hero__controls {
    right: 32px !important;
    bottom: 24px !important;
    z-index: 8 !important;
}

html body[data-page="home"] .municipal-portal-hero__button {
    min-width: 36px !important;
    min-height: 36px !important;
}

html body[data-page="home"] .municipal-portal-hero__dots [data-bs-target] {
    min-width: 10px !important;
    width: 10px !important;
    min-height: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
}

html body[data-page="home"] .municipal-portal-hero__dots .active {
    width: 26px !important;
    background: var(--mock-gold) !important;
}

/* Quick actions */
html body[data-page="home"] .home-v2-quick-band {
    position: relative !important;
    z-index: 12 !important;
    margin-top: -36px !important;
    padding: 0 0 8px !important;
    background: linear-gradient(180deg, transparent 0%, var(--mock-purple-100) 100%) !important;
}

html body[data-page="home"] .home-v2-quick-band .container {
    max-width: var(--mock-shell) !important;
    padding-inline: 0 !important;
}

html body[data-page="home"] .municipal-service-bar {
    width: 100% !important;
}

html body[data-page="home"] .municipal-service-bar__track {
    display: grid !important;
    grid-template-columns: 132px repeat(6, minmax(0, 1fr)) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.82) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 36px rgba(36, 0, 62, 0.22) !important;
}

html body[data-page="home"] .municipal-service-bar__label,
html body[data-page="home"] .municipal-service-bar__item {
    min-height: 74px !important;
}

html body[data-page="home"] .municipal-service-bar__label {
    gap: 0.36rem !important;
    padding: 0.55rem !important;
    background: linear-gradient(135deg, var(--mock-purple-800), var(--mock-purple-950)) !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-service-bar__label span {
    width: 34px !important;
    height: 34px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-service-bar__label strong {
    color: #ffffff !important;
    font-size: 14px !important;
}

html body[data-page="home"] .municipal-service-bar__item {
    gap: 0.38rem !important;
    justify-content: center !important;
    padding: 0.55rem 0.45rem !important;
    border-left: 1px solid rgba(75, 0, 120, 0.1) !important;
    background: #ffffff !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-service-bar__item--primary {
    background: linear-gradient(135deg, var(--mock-purple-800), var(--mock-purple-950)) !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-service-bar__icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
    background: #f3eafa !important;
    color: var(--mock-purple-800) !important;
    font-size: 14px !important;
}

html body[data-page="home"] .municipal-service-bar__item--primary .municipal-service-bar__icon {
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-service-bar__text {
    align-items: center !important;
    text-align: center !important;
}

html body[data-page="home"] .municipal-service-bar__text strong {
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

html body[data-page="home"] .municipal-service-bar__text small {
    max-width: 11rem !important;
    color: rgba(35, 2, 58, 0.66) !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
}

html body[data-page="home"] .municipal-service-bar__item--primary .municipal-service-bar__text small {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* Featured strip */
html body[data-page="home"] .home-v2-featured-band {
    padding: 8px 0 10px !important;
    background: var(--mock-purple-100) !important;
}

html body[data-page="home"] .home-v2-featured-band .container-fluid {
    padding-inline: 0 !important;
}

html body[data-page="home"] .municipal-feature-strip {
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
}

html body[data-page="home"] .municipal-feature-strip__shell {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) 116px !important;
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(100deg, var(--mock-purple-900) 0%, var(--mock-purple-800) 62%, var(--mock-purple-700) 100%) !important;
    box-shadow: var(--mock-shadow) !important;
}

html body[data-page="home"] .municipal-feature-strip__heading {
    min-width: 0 !important;
    padding: 1rem 0 1rem 1.25rem !important;
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
}

html body[data-page="home"] .municipal-feature-strip__heading span {
    align-self: flex-start !important;
    padding: 0.28rem 0.7rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 242, 189, 0.36) !important;
    color: var(--mock-gold-soft) !important;
    font-size: 11px !important;
}

html body[data-page="home"] .municipal-feature-strip__heading h2 {
    margin-top: 0.55rem !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

html body[data-page="home"] .municipal-feature-strip__carousel,
html body[data-page="home"] .municipal-feature-strip__carousel .carousel-inner,
html body[data-page="home"] .municipal-feature-strip__carousel .carousel-item,
html body[data-page="home"] .municipal-feature-strip__slide {
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
}

html body[data-page="home"] .municipal-feature-strip__slide {
    display: grid !important;
    grid-template-columns: 150px minmax(0, 1fr) !important;
    overflow: hidden !important;
    padding: 0 !important;
}

html body[data-page="home"] .municipal-feature-strip__media {
    width: 150px !important;
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

html body[data-page="home"] .municipal-feature-strip__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

html body[data-page="home"] .municipal-feature-strip__body {
    padding: 0.9rem 1rem !important;
    align-content: center !important;
    max-height: 116px !important;
    overflow: hidden !important;
}

html body[data-page="home"] .municipal-feature-strip__body span {
    color: var(--mock-gold-soft) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-feature-strip__body h3 {
    max-width: 44rem !important;
    margin: 0.16rem 0 0.44rem !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

html body[data-page="home"] .municipal-feature-strip__body .btn {
    min-width: auto !important;
    min-height: 30px !important;
    padding: 0.28rem 0.78rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-feature-strip__control-panel {
    padding: 0.8rem 1rem !important;
    height: 116px !important;
    min-height: 116px !important;
    max-height: 116px !important;
    overflow: hidden !important;
}

html body[data-page="home"] .municipal-feature-strip__count {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-feature-strip__button {
    min-width: 30px !important;
    min-height: 30px !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-feature-strip__dots [data-bs-target] {
    min-width: 7px !important;
    width: 7px !important;
    min-height: 7px !important;
    height: 7px !important;
}

html body[data-page="home"] .municipal-feature-strip__dots .active {
    width: 22px !important;
    background: var(--mock-gold) !important;
}

/* Lower dashboard */
html body[data-page="home"] .home-redesign__content-band,
html body[data-page="home"] .home-redesign__contact-band,
html body[data-page="home"] .home-v2-portal-band,
html body[data-page="home"] .home-v2-document-band,
html body[data-page="home"] .home-v2-services-band,
html body[data-page="home"] .home-v2-civic-band,
html body[data-page="home"] .home-v2-contact-band {
    padding: 7px 0 !important;
    background: var(--mock-purple-100) !important;
}

html body[data-page="home"] .home-redesign__content-band .container,
html body[data-page="home"] .home-redesign__contact-band .container {
    max-width: var(--mock-shell) !important;
    padding-inline: 0 !important;
}

html body[data-page="home"] .home-section-shell,
html body[data-page="home"] .content-card--v2,
html body[data-page="home"] .home-contact-panel {
    border: 1px solid var(--mock-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(36, 0, 62, 0.08) !important;
}

html body[data-page="home"] .home-section-shell {
    padding: 0 !important;
}

html body[data-page="home"] .home-section {
    padding: 0 !important;
}

html body[data-page="home"] .home-section-heading--v2 {
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 0.9rem 1rem 0.65rem !important;
    border-bottom: 1px solid rgba(75, 0, 120, 0.08) !important;
}

html body[data-page="home"] .section-eyebrow {
    color: var(--mock-purple-800) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

html body[data-page="home"] .section-title,
html body[data-page="home"] .v2-card-header h3,
html body[data-page="home"] .content-card--v2 h3 {
    color: var(--mock-ink) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

html body[data-page="home"] .home-section-heading p,
html body[data-page="home"] .text-muted {
    color: var(--mock-muted) !important;
    font-size: 13px !important;
}

html body[data-page="home"] .home-section-actions .btn,
html body[data-page="home"] .v2-card-header .btn,
html body[data-page="home"] .content-card--v2 .btn-outline-primary {
    min-width: auto !important;
    min-height: 30px !important;
    padding: 0.3rem 0.78rem !important;
    border-color: rgba(75, 0, 120, 0.18) !important;
    border-radius: 999px !important;
    color: var(--mock-purple-800) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

html body[data-page="home"] .home-news-layout,
html body[data-page="home"] .home-document-grid,
html body[data-page="home"] .home-services-layout,
html body[data-page="home"] .home-civic-grid,
html body[data-page="home"] .home-contact-panel__grid {
    gap: 0.75rem !important;
    padding: 0.75rem !important;
}

html body[data-page="home"] .content-card--flush {
    overflow: hidden !important;
}

html body[data-page="home"] .v2-card-header {
    padding-bottom: 0.65rem !important;
    margin-bottom: 0.65rem !important;
    border-bottom: 1px solid rgba(75, 0, 120, 0.08) !important;
}

html body[data-page="home"] .home-news-grid,
html body[data-page="home"] .department-service-grid,
html body[data-page="home"] .manual-grid {
    gap: 0.6rem !important;
}

html body[data-page="home"] .home-news-card,
html body[data-page="home"] .manual-card,
html body[data-page="home"] .task-card,
html body[data-page="home"] .stacked-list__item,
html body[data-page="home"] .procurement-feed__item {
    border-radius: 8px !important;
    border-color: rgba(75, 0, 120, 0.1) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

html body[data-page="home"] .home-news-card__media {
    border-radius: 8px !important;
}

html body[data-page="home"] .home-news-card__body h3,
html body[data-page="home"] .procurement-feed__title,
html body[data-page="home"] .stacked-list__title,
html body[data-page="home"] .manual-card h4 {
    color: var(--mock-ink) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

html body[data-page="home"] .home-news-card__body h3 a,
html body[data-page="home"] .procurement-feed__title a,
html body[data-page="home"] .home-news-card__body h3 a:hover,
html body[data-page="home"] .procurement-feed__title a:hover,
html body[data-page="news"] .news-list-card .card-title > a,
html body[data-page="news"] .news-list-card .card-title > a:hover,
html body[data-page="procurement"] .table tbody a.fw-semibold.text-decoration-none,
html body[data-page="procurement"] .table tbody a.fw-semibold.text-decoration-none:hover {
    color: var(--mock-purple-700) !important;
}

html body[data-page="home"] .home-news-card__meta,
html body[data-page="home"] .procurement-feed__meta {
    color: var(--mock-purple-800) !important;
    font-size: 11px !important;
}

html body[data-page="home"] .v2-empty-state {
    border-radius: 8px !important;
    background: #fbf8ff !important;
}

html body[data-page="home"] .home-contact-panel__primary {
    border-radius: 8px !important;
    background: linear-gradient(135deg, var(--mock-purple-800), var(--mock-purple-950)) !important;
}

/* Footer */
html body[data-page="home"] .municipal-footer {
    padding: 0 0 12px !important;
    border: 0 !important;
    background: linear-gradient(180deg, var(--mock-purple-800), var(--mock-purple-950)) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body[data-page="home"] .municipal-footer::before {
    content: none !important;
}

html body[data-page="home"] .municipal-footer__shortcut-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-width: var(--mock-shell) !important;
    min-height: 58px !important;
    margin-inline: auto !important;
    padding: 0.42rem 0.55rem !important;
    border: 1px solid rgba(255, 242, 189, 0.14) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}

html body[data-page="home"] .municipal-footer__shortcut-bar a {
    min-height: 44px !important;
    padding: 0.35rem 0.55rem !important;
    border-radius: 8px !important;
    color: #ffffff !important;
}

html body[data-page="home"] .municipal-footer__shortcut-bar span {
    width: 34px !important;
    height: 34px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-footer__shortcut-bar strong {
    color: #ffffff !important;
    font-size: 13px !important;
}

html body[data-page="home"] .municipal-footer__shortcut-bar small {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 11px !important;
}

html body[data-page="home"] .municipal-footer__inner {
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important;
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
    padding: 1.05rem 0 0.8rem !important;
    gap: 1.25rem !important;
}

html body[data-page="home"] .municipal-footer__identity {
    gap: 0.7rem !important;
}

html body[data-page="home"] .municipal-footer__identity img {
    width: 46px !important;
    height: 46px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #fff !important;
    display: block !important;
}

html body[data-page="home"] .municipal-footer__identity h2 {
    color: var(--mock-gold-soft) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
}

html body[data-page="home"] .municipal-footer__identity p,
html body[data-page="home"] .municipal-footer address,
html body[data-page="home"] .municipal-footer__bottom,
html body[data-page="home"] .municipal-footer__bottom small {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

html body[data-page="home"] .municipal-footer address {
    margin: 0.7rem 0 0 !important;
}

html body[data-page="home"] .municipal-footer__actions .btn {
    min-height: 30px !important;
    padding: 0.28rem 0.75rem !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body[data-page="home"] .municipal-footer__actions .btn-warning {
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body[data-page="home"] .municipal-footer__nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

html body[data-page="home"] .municipal-footer__nav h3 {
    color: var(--mock-gold-soft) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

html body[data-page="home"] .municipal-footer__nav a,
html body[data-page="home"] .municipal-footer__nav strong {
    margin-top: 0.22rem !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

html body[data-page="home"] .municipal-footer__nav i {
    color: var(--mock-gold) !important;
}

html body[data-page="home"] .municipal-footer__bottom {
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
    padding: 0.7rem 0 0 !important;
    border-color: rgba(255, 242, 189, 0.14) !important;
}

/* Chat dock */
html body[data-page="home"] .home-live-chat__button {
    border-radius: 999px !important;
}

@media (prefers-reduced-motion: reduce) {
    html body[data-page="home"] .municipal-portal-hero__video {
        display: none !important;
    }
}

@media (max-width: 1199.98px) {
    html body[data-page="home"] {
        --mock-shell: calc(100% - 32px);
    }

    html body[data-page="home"] .municipal-identity__inner {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    html body[data-page="home"] .municipal-search {
        order: 3 !important;
        width: 100% !important;
    }

    html body[data-page="home"] .municipal-identity__actions {
        justify-content: flex-start !important;
    }

    html body[data-page="home"] .public-navbar .navbar-collapse {
        margin: 0.65rem 0 0.95rem !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: 0.8rem !important;
        padding: 0.9rem !important;
        background: #ffffff !important;
        box-shadow: 0 14px 28px rgba(14, 30, 66, 0.14) !important;
    }

    html body[data-page="home"] .navbar-nav .nav-link {
        border-radius: 0.75rem !important;
        color: #35124f !important;
        padding: 0.72rem 0.85rem !important;
    }

    html body[data-page="home"] .municipal-service-bar__track {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    html body[data-page="home"] .municipal-service-bar__label {
        grid-column: 1 / -1 !important;
    }

    html body[data-page="home"] .municipal-feature-strip__shell,
    html body[data-page="home"] .municipal-feature-strip__slide,
    html body[data-page="home"] .municipal-footer__inner {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {
    html body[data-page="home"] {
        --mock-shell: calc(100% - 20px);
    }

    html body[data-page="home"] .top-utility {
        font-size: 0.78rem !important;
    }

    html body[data-page="home"] .top-utility .container-fluid {
        justify-content: space-between !important;
        padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
    }

    html body[data-page="home"] .municipal-brand__title {
        font-size: clamp(1.35rem, 1.3vw + 1rem, 2.2rem) !important;
    }

    html body[data-page="home"] .public-navbar__inner {
        padding-inline: 0.75rem !important;
    }

    html body[data-page="home"] .municipal-portal-hero__carousel,
    html body[data-page="home"] .municipal-portal-hero__carousel .carousel-inner,
    html body[data-page="home"] .municipal-portal-hero__carousel .carousel-item,
    html body[data-page="home"] .municipal-portal-hero__slide {
        aspect-ratio: 16 / 9 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    html body[data-page="home"] .municipal-portal-hero__inner {
        width: min(100% - 28px, 680px) !important;
        padding: 34px 0 82px !important;
    }

    html body[data-page="home"] .municipal-portal-hero h2 {
        font-size: 30px !important;
    }

    html body[data-page="home"] .municipal-service-bar__track {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body[data-page="home"] .municipal-feature-strip__heading,
    html body[data-page="home"] .municipal-feature-strip__control-panel {
        display: none !important;
    }

    html body[data-page="home"] .municipal-feature-strip__media {
        display: none !important;
    }

    html body[data-page="home"] .municipal-feature-strip__body {
        padding: 1rem !important;
    }

    html body[data-page="home"] .home-section-heading--v2,
    html body[data-page="home"] .home-news-layout,
    html body[data-page="home"] .home-document-grid,
    html body[data-page="home"] .home-services-layout,
    html body[data-page="home"] .home-civic-grid,
    html body[data-page="home"] .home-contact-panel__grid {
        padding-inline: 0.65rem !important;
    }

    html body[data-page="home"] .municipal-footer__shortcut-bar,
    html body[data-page="home"] .municipal-footer__nav {
        grid-template-columns: 1fr !important;
    }

    html body[data-page="home"] .municipal-footer__inner,
    html body[data-page="home"] .municipal-footer__bottom {
        padding-inline: 0.75rem !important;
    }
}

/* Homepage top split: standalone video band + separate slide banner */
html body[data-page="home"] .municipal-home-top {
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .municipal-home-video-band {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    height: 80vh !important;
    height: 80dvh !important;
    min-height: 34rem !important;
    max-height: 96rem !important;
    background:
        linear-gradient(90deg, rgba(25, 0, 46, 0.46), rgba(48, 0, 88, 0.16)),
        var(--hero-fallback-image) center / cover no-repeat,
        var(--mock-purple-950) !important;
}

html body[data-page="home"] .municipal-home-video-band__fallback,
html body[data-page="home"] .municipal-home-video-band__video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

html body[data-page="home"] .municipal-home-video-band__fallback {
    z-index: 1 !important;
    background: var(--hero-fallback-image) center / cover no-repeat !important;
    filter: saturate(1.15) contrast(1.08) brightness(0.82) !important;
}

html body[data-page="home"] .municipal-home-video-band__video {
    z-index: 2 !important;
    object-fit: cover !important;
    opacity: 0 !important;
    filter: saturate(1.12) contrast(1.08) brightness(0.82) !important;
    transition: opacity 0.25s ease !important;
}

html body[data-page="home"] .municipal-home-video-band.is-video-ready .municipal-home-video-band__video {
    opacity: 1 !important;
}

html body[data-page="home"] .municipal-home-video-band.is-video-unavailable .municipal-home-video-band__video,
html body[data-page="home"] .municipal-home-video-band.is-reduced-motion .municipal-home-video-band__video {
    opacity: 0 !important;
}

html body[data-page="home"] .municipal-portal-hero--slides {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .municipal-portal-hero--slides .municipal-portal-hero__visual,
html body[data-page="home"] .municipal-portal-hero--slides .municipal-portal-hero__fallback,
html body[data-page="home"] .municipal-portal-hero--slides .municipal-portal-hero__video {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html body[data-page="home"] .municipal-home-video-band__video {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    html body[data-page="home"] .municipal-home-video-band {
        height: 36rem !important;
        min-height: 30rem !important;
        max-height: 38rem !important;
    }
}

/* Homepage requested order: video, quick actions, slide, content, official links */
html body[data-page="home"] .home-redesign__video-band,
html body[data-page="home"] .home-v2-video-band {
    position: relative !important;
    z-index: 1 !important;
    min-height: 80vh !important;
    min-height: 80dvh !important;
    background: var(--mock-purple-950) !important;
}

html body[data-page="home"] .home-v2-quick-band {
    z-index: 4 !important;
    margin-top: -32px !important;
    padding: 0 0 12px !important;
    background: linear-gradient(180deg, transparent 0%, var(--mock-purple-100) 68%, var(--mock-purple-100) 100%) !important;
}

html body[data-page="home"] .home-v2-slide-band {
    position: relative !important;
    z-index: 2 !important;
    padding: 0 0 7px !important;
    background: var(--mock-purple-100) !important;
}

html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero--slides {
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
    border-radius: 8px !important;
    box-shadow: var(--mock-shadow) !important;
}

html body[data-page="home"] .home-news-layout--full {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
}

html body[data-page="home"] .home-news-layout--full .home-news-layout__main {
    grid-column: 1 / -1 !important;
}

html body[data-page="home"] .home-services-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-areas:
        "departments departments"
        "manuals online"
        "important important" !important;
}

html body[data-page="home"] .home-services-layout__important {
    grid-area: important !important;
}

html body[data-page="home"] .home-services-layout__important .home-important-links__grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.6rem !important;
}

html body[data-page="home"] .home-redesign__official-links-band,
html body[data-page="home"] .home-v2-official-links-band {
    padding: 7px 0 !important;
    background: var(--mock-purple-100) !important;
}

html body[data-page="home"] .home-redesign__official-links-band .container,
html body[data-page="home"] .home-v2-official-links-band .container {
    max-width: var(--mock-shell) !important;
    padding-inline: 0 !important;
}

html body[data-page="home"] .home-official-links-panel {
    padding: 0.75rem !important;
}

html body[data-page="home"] .government-link-grid--homepage {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0.6rem !important;
}

@media (min-width: 1200px) {
    html body[data-page="home"] .municipal-service-bar__track {
        grid-template-columns: 132px repeat(6, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 991.98px) {
    html body[data-page="home"] .home-services-layout {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "departments"
            "manuals"
            "online"
            "important" !important;
    }

    html body[data-page="home"] .home-services-layout__important .home-important-links__grid,
    html body[data-page="home"] .government-link-grid--homepage {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    html body[data-page="home"] .home-v2-quick-band {
        margin-top: -20px !important;
        padding-bottom: 8px !important;
    }

    html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero--slides {
        border-radius: 0 !important;
    }

    html body[data-page="home"] .government-link-grid--homepage {
        grid-template-columns: 1fr !important;
    }
}

/* Homepage UI normalization: slide height, news grid, and consistent text scale */
@media (min-width: 992px) {
    html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero__carousel,
    html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero__carousel .carousel-inner,
    html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero__carousel .carousel-item,
    html body[data-page="home"] .home-v2-slide-band .municipal-portal-hero__slide {
        aspect-ratio: 16 / 9 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    html body[data-page="home"] .home-news-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    html body[data-page="home"] .home-news-card--featured {
        grid-row: auto !important;
        grid-column: auto !important;
    }
}

html body[data-page="home"] .home-redesign .home-section-heading--v2 .section-title,
html body[data-page="home"] .home-redesign .home-section-heading--v2 h2 {
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

html body[data-page="home"] .home-redesign .v2-card-header h3,
html body[data-page="home"] .home-redesign .content-card--v2 h3,
html body[data-page="home"] .home-redesign .home-news-card__body h3,
html body[data-page="home"] .home-redesign .procurement-feed__title,
html body[data-page="home"] .home-redesign .stacked-list__title,
html body[data-page="home"] .home-redesign .manual-card h4,
html body[data-page="home"] .home-redesign .task-card__title,
html body[data-page="home"] .home-redesign .government-link-card__title {
    color: var(--mock-ink) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
}

html body[data-page="home"] .home-redesign .home-section-heading p {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

html body[data-page="home"] .home-redesign .text-muted,
html body[data-page="home"] .home-redesign .home-news-card__body p,
html body[data-page="home"] .home-redesign .task-card__description,
html body[data-page="home"] .home-redesign .manual-card p,
html body[data-page="home"] .home-redesign .v2-empty-state p {
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

html body[data-page="home"] .home-redesign .section-eyebrow,
html body[data-page="home"] .home-redesign .home-news-card__meta,
html body[data-page="home"] .home-redesign .procurement-feed__meta,
html body[data-page="home"] .home-redesign .small,
html body[data-page="home"] .home-redesign time {
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Public theme unification: keep the approved homepage header as the shared standard. */
html body.public-theme {
    --mock-purple-950: #19002e;
    --mock-purple-900: #250044;
    --mock-purple-850: #300058;
    --mock-purple-800: #4b0078;
    --mock-purple-700: #64169b;
    --mock-purple-100: #f4effb;
    --mock-gold: #f2c94c;
    --mock-gold-soft: #fff1b8;
    --mock-ink: #23023a;
    --mock-muted: #675675;
    --mock-line: rgba(75, 0, 120, 0.12);
    --mock-shadow: 0 14px 30px rgba(36, 0, 62, 0.14);
    --mock-shell: 1120px;
    --mock-header-font-heading: "Sora", "IBM Plex Sans Thai", sans-serif;
    --mock-header-text-xs: clamp(0.74rem, 0.16vw + 0.71rem, 0.84rem);
    --mock-header-text-sm: clamp(0.84rem, 0.24vw + 0.79rem, 0.98rem);
    color: var(--mock-ink);
    letter-spacing: 0;
}

html body.public-theme:not([data-page="home"]) {
    background: var(--mock-purple-100) !important;
}

html body.public-theme:not([data-page="home"])::before,
html body.public-theme:not([data-page="home"])::after {
    content: none !important;
}

html body.public-theme :where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: 3px solid var(--mock-gold) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(75, 0, 120, 0.28) !important;
}

html body.public-theme :where(.btn, .nav-link, .dropdown-item, .carousel-indicators button) {
    letter-spacing: 0 !important;
}

html body.public-theme .top-utility {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    background: #4c1d6f !important;
    color: rgba(255, 251, 234, 0.96) !important;
    font-size: var(--mock-header-text-xs) !important;
}

html body.public-theme .top-utility .container-fluid {
    max-width: none !important;
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

html body.public-theme .top-utility a {
    color: #fffbea !important;
    text-decoration: none !important;
}

html body.public-theme .top-utility .btn-outline-light {
    border-color: rgba(255, 251, 234, 0.4) !important;
    color: #fffbea !important;
}

html body.public-theme .top-utility .btn-outline-light:hover,
html body.public-theme .top-utility .btn-outline-light.active,
html body.public-theme .top-utility .btn-outline-light[aria-current="true"] {
    border-color: rgba(255, 227, 105, 0.52) !important;
    background: rgba(255, 227, 105, 0.26) !important;
    color: #fffbea !important;
}

html body.public-theme .municipal-identity {
    position: relative !important;
    z-index: 1026 !important;
    border-bottom: 1px solid rgba(124, 58, 237, 0.16) !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(76, 29, 111, 0.1) !important;
}

html body.public-theme .municipal-identity__inner {
    display: grid !important;
    grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 34rem) auto !important;
    align-items: center !important;
    max-width: none !important;
    gap: 1.25rem !important;
    padding: clamp(1rem, 1.8vw, 1.55rem) clamp(1rem, 2vw, 1.8rem) !important;
}

html body.public-theme .municipal-brand {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: clamp(0.8rem, 1.4vw, 1.2rem) !important;
    color: #35124f !important;
    text-decoration: none !important;
}

html body.public-theme .municipal-brand:hover,
html body.public-theme .municipal-brand:focus-visible {
    color: #6d28d9 !important;
}

html body.public-theme .municipal-brand__logo {
    width: clamp(72px, 6vw, 104px) !important;
    height: clamp(72px, 6vw, 104px) !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #fff !important;
    flex: 0 0 auto !important;
    display: block !important;
}

html body.public-theme .municipal-brand__eyebrow,
html body.public-theme .municipal-brand__subtitle,
html body.public-theme .municipal-brand__tagline {
    display: block !important;
    color: #6f5a80 !important;
    font-size: var(--mock-header-text-xs) !important;
    line-height: 1.35 !important;
}

html body.public-theme .municipal-brand__eyebrow {
    margin-bottom: 0.16rem !important;
    color: #7c3aed !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

html body.public-theme .municipal-brand__title {
    display: block !important;
    color: #34124d !important;
    font-family: var(--mock-header-font-heading) !important;
    font-size: clamp(1.35rem, 1.3vw + 1rem, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

html body.public-theme .municipal-brand__subtitle {
    color: #6d28d9 !important;
    font-size: clamp(0.92rem, 0.24vw + 0.86rem, 1.1rem) !important;
    font-weight: 700 !important;
}

html body.public-theme .municipal-search {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 0.65rem !important;
    padding: 0.42rem !important;
    border: 1px solid rgba(124, 58, 237, 0.18) !important;
    border-radius: 999px !important;
    background: #fbf8ff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72) !important;
}

html body.public-theme .municipal-search__icon {
    margin-left: 0.85rem !important;
    color: #7c3aed !important;
}

html body.public-theme .municipal-search .form-control {
    min-width: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.public-theme .municipal-search .btn {
    border-radius: 999px !important;
    white-space: nowrap !important;
}

html body.public-theme .municipal-identity__actions {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 0.6rem !important;
}

html body.public-theme .municipal-identity__actions a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 2.65rem !important;
    gap: 0.45rem !important;
    padding: 0.55rem 0.85rem !important;
    border-radius: 999px !important;
    background: #fff7d6 !important;
    color: #5d3b00 !important;
    font-size: var(--mock-header-text-sm) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

html body.public-theme .municipal-identity__actions a:hover,
html body.public-theme .municipal-identity__actions a:focus-visible {
    background: #f2c94c !important;
    color: #35124f !important;
}

html body.public-theme .public-navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 1025 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: linear-gradient(90deg, #4c1d6f, #6d28d9) !important;
    box-shadow: 0 12px 24px rgba(76, 29, 111, 0.18) !important;
}

html body.public-theme .public-navbar .container-fluid,
html body.public-theme .public-navbar__inner {
    gap: 1rem !important;
}

html body.public-theme .public-navbar__inner {
    max-width: none !important;
    min-height: 3.35rem !important;
    padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
}

html body.public-theme .public-navbar__label {
    color: #ffffff !important;
    font-weight: 700 !important;
}

html body.public-theme .public-mega-nav {
    width: 100% !important;
    justify-content: center !important;
    gap: 0.12rem !important;
}

html body.public-theme .navbar-nav .nav-link {
    border-radius: 0 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: clamp(0.88rem, 0.14vw + 0.85rem, 0.98rem) !important;
    font-weight: 700 !important;
    padding: 1rem 0.78rem !important;
    transition: background-color 0.24s ease, color 0.24s ease, transform 0.24s ease !important;
}

html body.public-theme .navbar-nav .nav-link.active,
html body.public-theme .navbar-nav .nav-link:hover,
html body.public-theme .navbar-nav .nav-link:focus {
    background: #f2c94c !important;
    color: #35124f !important;
    transform: none !important;
}

html body.public-theme .navbar .dropdown-menu {
    border: 1px solid rgba(124, 58, 237, 0.18) !important;
    border-top: 0 !important;
    border-radius: 0 0 1rem 1rem !important;
    padding: 0.8rem !important;
    box-shadow: 0 22px 44px rgba(76, 29, 111, 0.18) !important;
}

html body.public-theme .navbar .dropdown-item {
    border-radius: 0.72rem !important;
    color: #35124f !important;
    padding: 0.62rem 0.82rem !important;
    font-weight: 600 !important;
}

html body.public-theme .navbar .dropdown-item:hover {
    background: rgba(124, 58, 237, 0.1) !important;
    color: #5b21b6 !important;
}

html body.public-theme .navbar .dropdown-item:focus-visible {
    background: #fff3bf !important;
    color: #35124f !important;
}

html body.public-theme .public-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.48) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

html body.public-theme .public-navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.16rem rgba(242, 201, 76, 0.35) !important;
}

html body.public-theme .public-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(1) brightness(2) !important;
}

html body.public-theme:not([data-page="home"]) .content-wrapper {
    background: linear-gradient(180deg, var(--mock-purple-100) 0%, #ffffff 52%, #f9f4ff 100%) !important;
    padding-bottom: clamp(4.5rem, 8vw, 6.5rem) !important;
}

html body.public-theme:not([data-page="home"]) .hero-section {
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(2rem, 4vw, 3.4rem) 0 !important;
    border-bottom: 1px solid rgba(75, 0, 120, 0.14) !important;
    background:
        linear-gradient(135deg, rgba(25, 0, 46, 0.97) 0%, rgba(75, 0, 120, 0.93) 62%, rgba(242, 201, 76, 0.88) 100%) !important;
    color: #fffbea !important;
}

html body.public-theme:not([data-page="home"]) .hero-section::before,
html body.public-theme:not([data-page="home"]) .hero-section::after {
    content: none !important;
}

html body.public-theme:not([data-page="home"]) .hero-section > .container {
    max-width: var(--mock-shell) !important;
}

html body.public-theme:not([data-page="home"]) .hero-section h1,
html body.public-theme:not([data-page="home"]) .hero-section h2,
html body.public-theme:not([data-page="home"]) .hero-section h3,
html body.public-theme:not([data-page="home"]) .hero-section .display-5,
html body.public-theme:not([data-page="home"]) .hero-section .display-6 {
    max-width: 22ch !important;
    margin-top: 0 !important;
    color: #fffbea !important;
    font-size: clamp(1.75rem, 2.2vw + 1.1rem, 3.1rem) !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

html body.public-theme:not([data-page="home"]) .hero-section .lead,
html body.public-theme:not([data-page="home"]) .hero-section .text-primary {
    max-width: 64ch !important;
    color: rgba(255, 251, 234, 0.92) !important;
    font-size: clamp(1rem, 0.35vw + 0.92rem, 1.18rem) !important;
    line-height: 1.7 !important;
}

html body.public-theme:not([data-page="home"]) .breadcrumb-wrap,
html body.public-theme:not([data-page="home"]) main.content-wrapper > section > .container {
    max-width: var(--mock-shell) !important;
}

html body.public-theme:not([data-page="home"]) main.content-wrapper > section.py-5 {
    padding-block: clamp(1.7rem, 3vw, 2.6rem) !important;
}

html body.public-theme:not([data-page="home"]) .breadcrumb-wrap {
    margin-top: 1rem !important;
}

html body.public-theme:not([data-page="home"]) .breadcrumb-wrap .breadcrumb {
    margin-bottom: 0 !important;
    padding: 0.7rem 0.9rem !important;
    border: 1px solid var(--mock-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(36, 0, 62, 0.06) !important;
}

html body.public-theme:not([data-page="home"]) .card,
html body.public-theme:not([data-page="home"]) .content-card,
html body.public-theme:not([data-page="home"]) .oit-kpi-card,
html body.public-theme:not([data-page="home"]) .oit-evidence-card,
html body.public-theme:not([data-page="home"]) .oit-indicator-card {
    border: 1px solid var(--mock-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(36, 0, 62, 0.08) !important;
    overflow: hidden;
}

html body.public-theme:not([data-page="home"]) .card:hover,
html body.public-theme:not([data-page="home"]) .content-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(36, 0, 62, 0.12) !important;
}

html body.public-theme:not([data-page="home"]) .card .card-title,
html body.public-theme:not([data-page="home"]) .content-card h2,
html body.public-theme:not([data-page="home"]) .content-card h3,
html body.public-theme:not([data-page="home"]) .content-card h4,
html body.public-theme:not([data-page="home"]) .section-title {
    color: var(--mock-ink) !important;
    letter-spacing: 0 !important;
}

html body.public-theme:not([data-page="home"]) .text-muted,
html body.public-theme:not([data-page="home"]) .card .card-text,
html body.public-theme:not([data-page="home"]) .content-card p {
    color: var(--mock-muted) !important;
}

html body.public-theme:not([data-page="home"]) .section-eyebrow,
html body.public-theme:not([data-page="home"]) .text-primary,
html body.public-theme:not([data-page="home"]) .card .text-primary {
    color: var(--mock-purple-800) !important;
    letter-spacing: 0 !important;
}

html body.public-theme:not([data-page="home"]) .btn {
    border-radius: 999px !important;
}

html body.public-theme:not([data-page="home"]) .btn-primary,
html body.public-theme:not([data-page="home"]) .btn-warning {
    border-color: var(--mock-gold) !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
    box-shadow: none !important;
}

html body.public-theme:not([data-page="home"]) .btn-outline-primary,
html body.public-theme:not([data-page="home"]) .btn-outline-secondary {
    border-color: rgba(75, 0, 120, 0.22) !important;
    background: #ffffff !important;
    color: var(--mock-purple-800) !important;
}

html body.public-theme:not([data-page="home"]) .btn-outline-primary:hover,
html body.public-theme:not([data-page="home"]) .btn-outline-secondary:hover {
    border-color: var(--mock-purple-800) !important;
    background: var(--mock-purple-800) !important;
    color: #ffffff !important;
}

html body.public-theme:not([data-page="home"]) .list-group,
html body.public-theme:not([data-page="home"]) .table-responsive {
    border-radius: 8px !important;
}

html body.public-theme:not([data-page="home"]) .list-group-item {
    border-color: rgba(75, 0, 120, 0.1) !important;
    background: #ffffff !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .list-group-item.active,
html body.public-theme:not([data-page="home"]) .list-group-item.active small {
    border-color: var(--mock-purple-800) !important;
    background: var(--mock-purple-800) !important;
    color: #ffffff !important;
}

html body.public-theme:not([data-page="home"]) .nav-pills .nav-link {
    border: 1px solid var(--mock-line) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .nav-pills .nav-link.active,
html body.public-theme:not([data-page="home"]) .nav-pills .show > .nav-link {
    border-color: var(--mock-gold) !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .form-control,
html body.public-theme:not([data-page="home"]) .form-select {
    border-color: rgba(75, 0, 120, 0.16) !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
}

html body.public-theme:not([data-page="home"]) .form-control:focus,
html body.public-theme:not([data-page="home"]) .form-select:focus {
    border-color: rgba(75, 0, 120, 0.42) !important;
    box-shadow: 0 0 0 0.2rem rgba(242, 201, 76, 0.25) !important;
}

html body.public-theme:not([data-page="home"]) .table {
    --bs-table-striped-bg: #fbf7ff;
    --bs-table-hover-bg: #fff8dd;
}

html body.public-theme:not([data-page="home"]) .table thead th {
    background: #fff8dd !important;
    color: var(--mock-purple-800) !important;
    letter-spacing: 0 !important;
}

html body.public-theme:not([data-page="home"]) .app-pagination {
    border: 1px solid var(--mock-line) !important;
    background: #ffffff !important;
    box-shadow: 0 8px 18px rgba(36, 0, 62, 0.08) !important;
}

html body.public-theme:not([data-page="home"]) .app-pagination__link {
    background: #ffffff !important;
    color: var(--mock-purple-800) !important;
}

html body.public-theme:not([data-page="home"]) .app-pagination__item.is-active .app-pagination__link {
    border-color: var(--mock-gold) !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer {
    position: relative !important;
    z-index: 1 !important;
    margin-top: clamp(2.25rem, 4vw, 3.5rem) !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    background: linear-gradient(180deg, var(--mock-purple-800), var(--mock-purple-950)) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer::before {
    content: none !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    max-width: var(--mock-shell) !important;
    width: min(1120px, 100%) !important;
    min-height: 58px !important;
    margin: 0 auto 1.15rem !important;
    padding: 0.42rem 0.55rem !important;
    transform: none !important;
    border: 1px solid rgba(255, 242, 189, 0.14) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.08) !important;
    box-shadow: none !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar a {
    min-height: 44px !important;
    padding: 0.35rem 0.55rem !important;
    border-radius: 8px !important;
    color: #ffffff !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar span {
    width: 34px !important;
    height: 34px !important;
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar strong {
    color: #ffffff !important;
    font-size: 13px !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar small {
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 11px !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__inner {
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) !important;
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
    padding: 1.05rem 0 0.8rem !important;
    gap: 1.25rem !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__identity {
    gap: 0.7rem !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__identity img {
    width: 46px !important;
    height: 46px !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #fff !important;
    display: block !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__identity h2 {
    color: var(--mock-gold-soft) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__identity p,
html body.public-theme:not([data-page="home"]) .municipal-footer address,
html body.public-theme:not([data-page="home"]) .municipal-footer__bottom,
html body.public-theme:not([data-page="home"]) .municipal-footer__bottom small {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer address {
    margin: 0.7rem 0 0 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__actions .btn {
    min-height: 30px !important;
    padding: 0.28rem 0.75rem !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__actions .btn-warning {
    background: var(--mock-gold) !important;
    color: var(--mock-ink) !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__nav h3 {
    color: var(--mock-gold-soft) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__nav a,
html body.public-theme:not([data-page="home"]) .municipal-footer__nav strong {
    margin-top: 0.22rem !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__nav i {
    color: var(--mock-gold) !important;
}

html body.public-theme:not([data-page="home"]) .municipal-footer__bottom {
    max-width: var(--mock-shell) !important;
    margin-inline: auto !important;
    padding: 0.7rem 0 0 !important;
    border-color: rgba(255, 242, 189, 0.14) !important;
}

@media (max-width: 1199.98px) {
    html body.public-theme {
        --mock-shell: calc(100% - 32px);
    }

    html body.public-theme .municipal-identity__inner {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    html body.public-theme .municipal-search {
        order: 3 !important;
        width: 100% !important;
    }

    html body.public-theme .municipal-identity__actions {
        justify-content: flex-start !important;
    }

    html body.public-theme .public-navbar .navbar-collapse {
        margin: 0.65rem 0 0.95rem !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: 0.8rem !important;
        padding: 0.9rem !important;
        background: #ffffff !important;
        box-shadow: 0 14px 28px rgba(14, 30, 66, 0.14) !important;
    }

    html body.public-theme .navbar-nav .nav-link {
        border-radius: 0.75rem !important;
        color: #35124f !important;
        padding: 0.72rem 0.85rem !important;
    }

    html body.public-theme:not([data-page="home"]) .municipal-footer__inner,
    html body.public-theme:not([data-page="home"]) .municipal-footer__nav {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767.98px) {
    html body.public-theme {
        --mock-shell: calc(100% - 20px);
    }

    html body.public-theme .top-utility {
        font-size: 0.78rem !important;
    }

    html body.public-theme .top-utility .container-fluid {
        justify-content: space-between !important;
        padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5) !important;
    }

    html body.public-theme .municipal-brand__title {
        font-size: clamp(1.35rem, 1.3vw + 1rem, 2.2rem) !important;
    }

    html body.public-theme .public-navbar__inner {
        padding-inline: 0.75rem !important;
    }

    html body.public-theme:not([data-page="home"]) .hero-section h1,
    html body.public-theme:not([data-page="home"]) .hero-section h2,
    html body.public-theme:not([data-page="home"]) .hero-section h3,
    html body.public-theme:not([data-page="home"]) .hero-section .display-5,
    html body.public-theme:not([data-page="home"]) .hero-section .display-6 {
        font-size: 2.1rem !important;
    }

    html body.public-theme:not([data-page="home"]) .municipal-footer__shortcut-bar,
    html body.public-theme:not([data-page="home"]) .municipal-footer__nav {
        grid-template-columns: 1fr !important;
    }
}

/* Organization chart layout */
html body.public-theme[data-page^="organization"] .org-page {
    --org-ink: #1e1518;
    --org-ink-soft: #5e5053;
    --org-line: rgba(30, 21, 24, 0.48);
    --org-surface: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 243, 238, 0.98) 100%);
    --org-panel-border: rgba(30, 21, 24, 0.08);
    --org-tab-bg: rgba(243, 146, 57, 0.12);
    --org-tab-active: linear-gradient(135deg, #ffb35b 0%, #f39239 100%);
    --org-box: linear-gradient(180deg, #ffb35b 0%, #f39239 100%);
    --org-shadow: 0 20px 42px rgba(30, 21, 24, 0.12);
}

html body.public-theme[data-page^="organization"] .org-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

html body.public-theme[data-page^="organization"] .org-tab-nav {
    gap: 0.65rem;
    margin-bottom: 1.5rem;
}

html body.public-theme[data-page^="organization"] .org-tab-nav .nav-link {
    border: 0;
    border-radius: 999px;
    padding: 0.82rem 1.35rem;
    background: var(--org-tab-bg);
    color: var(--org-ink);
    font-weight: 700;
    box-shadow: inset 0 0 0 1px rgba(30, 21, 24, 0.06);
}

html body.public-theme[data-page^="organization"] .org-tab-nav .nav-link.active {
    background: var(--org-tab-active);
    color: #fff;
    box-shadow: 0 14px 26px rgba(243, 146, 57, 0.28);
}

html body.public-theme[data-page^="organization"] .org-tab-pane__hero {
    margin-bottom: 1.5rem;
    padding: 1.4rem 1.6rem;
    border-radius: 1.5rem;
    border: 1px solid var(--org-panel-border);
    background: var(--org-surface);
    box-shadow: var(--org-shadow);
}

html body.public-theme[data-page^="organization"] .org-tab-pane__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.78rem;
    border-radius: 999px;
    background: rgba(243, 146, 57, 0.12);
    color: #9a4f10;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

html body.public-theme[data-page^="organization"] .org-tab-pane__title {
    margin: 0.85rem 0 0.4rem;
    color: var(--org-ink);
}

html body.public-theme[data-page^="organization"] .org-tab-pane__description {
    margin: 0;
    color: var(--org-ink-soft);
    max-width: 58rem;
}

html body.public-theme[data-page^="organization"] .org-tab-pane__sections {
    display: grid;
    gap: 1.5rem;
}

html body.public-theme[data-page^="organization"] .org-council-board {
    display: grid;
    gap: 1.25rem;
}

html body.public-theme[data-page^="organization"] .org-council-board__stack {
    display: grid;
    gap: 1.25rem;
}

html body.public-theme[data-page^="organization"] .org-council-board__leadership {
    display: grid;
    gap: 1rem;
}

html body.public-theme[data-page^="organization"] .org-council-board__leadership-card .org-chart-node__box {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 15rem;
}

html body.public-theme[data-page^="organization"] .org-council-district {
    display: grid;
    gap: 1rem;
}

html body.public-theme[data-page^="organization"] .org-people-grid--6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.public-theme[data-page^="organization"] .org-executive-stack {
    display: grid;
    gap: 1.5rem;
}

html body.public-theme[data-page^="organization"] .org-department-stack {
    display: grid;
    gap: 1.5rem;
}

html body.public-theme[data-page^="organization"] .org-executive-section {
    display: grid;
    gap: 1rem;
}

html body.public-theme[data-page^="organization"] .org-department-section {
    display: grid;
    gap: 1rem;
}

html body.public-theme[data-page^="organization"] .org-people-grid {
    display: grid;
    gap: 1rem;
    align-items: stretch;
}

html body.public-theme[data-page^="organization"] .org-people-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

html body.public-theme[data-page^="organization"] .org-people-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

html body.public-theme[data-page^="organization"] .org-person-card {
    min-width: 0;
}

html body.public-theme[data-page^="organization"] .org-person-card .org-chart-node__box {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 17rem;
}

html body.public-theme[data-page^="organization"] .org-department-node .org-chart-node__box {
    min-height: 17rem;
}

html body.public-theme[data-page^="organization"] .org-panel {
    padding: 1.35rem;
    border-radius: 1.6rem;
    border: 1px solid var(--org-panel-border);
    background: var(--org-surface);
    box-shadow: var(--org-shadow);
}

html body.public-theme[data-page^="organization"] .org-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1rem;
}

html body.public-theme[data-page^="organization"] .org-panel__title {
    margin: 0;
    color: var(--org-ink);
    font-size: clamp(1.05rem, 1vw, 1.32rem);
}

html body.public-theme[data-page^="organization"] .org-panel__meta {
    margin: 0.25rem 0 0;
    color: var(--org-ink-soft);
    font-size: 0.92rem;
}

html body.public-theme[data-page^="organization"] .org-panel__badge {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: rgba(30, 21, 24, 0.08);
    color: var(--org-ink);
    font-size: 0.8rem;
    font-weight: 700;
    white-space: nowrap;
}

html body.public-theme[data-page^="organization"] .org-chart-shell {
    overflow-x: auto;
    padding-bottom: 0.35rem;
}

html body.public-theme[data-page^="organization"] .org-chart-stage {
    width: max-content;
    min-width: 100%;
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding: 0.35rem 0.35rem 0.8rem;
}

html body.public-theme[data-page^="organization"] .org-chart-node {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0.55rem;
}

html body.public-theme[data-page^="organization"] .org-chart-node__box {
    position: relative;
    z-index: 1;
    min-width: 13.75rem;
    max-width: 16rem;
    min-height: 17rem;
    padding: 1.05rem 1rem 1.15rem;
    border-radius: 1rem;
    background: var(--org-box);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.85rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.45;
    box-shadow: 0 16px 28px rgba(243, 146, 57, 0.24);
}

html body.public-theme[data-page^="organization"] .org-chart-node__avatar {
    width: 100%;
    max-width: 9rem;
    aspect-ratio: 4 / 5;
    border-radius: 0.9rem;
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.22);
    border: 2px solid rgba(255, 255, 255, 0.4);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

html body.public-theme[data-page^="organization"] .org-chart-node__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

html body.public-theme[data-page^="organization"] .org-chart-node__content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    text-align: center;
}

html body.public-theme[data-page^="organization"] .org-chart-node__person {
    display: block;
    width: 100%;
    line-height: 1.3;
    font-size: 0.98rem;
    font-weight: 800;
}

html body.public-theme[data-page^="organization"] .org-chart-node__title {
    display: block;
    width: 100%;
    font-size: 0.88rem;
    font-weight: 700;
    color: rgba(255, 248, 236, 0.88);
    line-height: 1.35;
}

html body.public-theme[data-page^="organization"] .org-chart-node__contact {
    display: block;
    width: 100%;
    font-size: 0.78rem;
    font-weight: 600;
    color: rgba(255, 248, 236, 0.78);
    line-height: 1.35;
}

html body.public-theme[data-page^="organization"] .org-chart-node__note {
    display: -webkit-box;
    width: 100%;
    font-size: 0.72rem;
    font-weight: 600;
    color: rgba(255, 248, 236, 0.82);
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

html body.public-theme[data-page^="organization"] .org-chart-node--has-children > .org-chart-node__box::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -1rem;
    transform: translateX(-50%);
    width: 2px;
    height: 1rem;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--horizontal {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1.25rem;
    width: max-content;
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--horizontal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 2rem;
    right: 2rem;
    height: 2px;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--horizontal.is-single::before {
    left: 50%;
    right: auto;
    width: 2px;
    height: 1.15rem;
    transform: translateX(-50%);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--horizontal > .org-chart-node::before {
    content: '';
    position: absolute;
    top: -1.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 1.25rem;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--vertical {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1.25rem;
    width: max-content;
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--vertical::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--vertical.is-single::before {
    bottom: auto;
    height: 1.15rem;
}

html body.public-theme[data-page^="organization"] .org-chart-node__children--vertical > .org-chart-node::before {
    content: '';
    position: absolute;
    top: -1.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 1.25rem;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children:not(.org-chart-node__children--vertical) {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1.25rem;
    width: max-content;
}

html body.public-theme[data-page^="organization"] .org-chart-node__children:not(.org-chart-node__children--vertical)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 2rem;
    right: 2rem;
    height: 2px;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children:not(.org-chart-node__children--vertical).is-single::before {
    left: 50%;
    right: auto;
    width: 2px;
    height: 1.15rem;
    transform: translateX(-50%);
}

html body.public-theme[data-page^="organization"] .org-chart-node__children:not(.org-chart-node__children--vertical) > .org-chart-node::before {
    content: '';
    position: absolute;
    top: -1.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 1.25rem;
    background: var(--org-line);
}

html body.public-theme[data-page^="organization"] .org-empty-state {
    padding: 1.4rem 1.5rem;
    border-radius: 1.3rem;
    background: rgba(30, 21, 24, 0.04);
    color: var(--org-ink-soft);
    text-align: center;
}

@media (max-width: 991.98px) {
    html body.public-theme[data-page^="organization"] .org-panel {
        padding: 1.1rem;
    }

    html body.public-theme[data-page^="organization"] .org-tab-pane__hero {
        padding: 1.2rem 1.2rem;
    }
}

@media (max-width: 767.98px) {
    html body.public-theme[data-page^="organization"] .org-tab-nav .nav-link {
        width: 100%;
    }

    html body.public-theme[data-page^="organization"] .org-panel__header {
        flex-direction: column;
    }

    html body.public-theme[data-page^="organization"] .org-people-grid--6 {
        grid-template-columns: 1fr;
    }

    html body.public-theme[data-page^="organization"] .org-people-grid--3,
    html body.public-theme[data-page^="organization"] .org-people-grid--2 {
        grid-template-columns: 1fr;
    }

    html body.public-theme[data-page^="organization"] .org-department-stack {
        gap: 1.25rem;
    }

    html body.public-theme[data-page^="organization"] .org-department-section {
        gap: 0.9rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-shell {
        overflow-x: clip;
    }

    html body.public-theme[data-page^="organization"] .org-chart-stage {
        width: 100%;
        min-width: 0;
        display: grid;
        justify-content: stretch;
        gap: 0.9rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node {
        width: 100%;
        padding: 0;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__box {
        width: 100%;
        min-width: 0;
        max-width: none;
        min-height: 15.5rem;
        padding: 0.85rem 0.8rem 0.95rem;
        gap: 0.75rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__avatar {
        max-width: 7.2rem;
        font-size: 1.5rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__person {
        font-size: 0.9rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__title {
        font-size: 0.8rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__contact {
        font-size: 0.72rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__note {
        font-size: 0.66rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__children {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0.9rem;
        padding-top: 0.9rem;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node__children::before {
        display: none;
    }

    html body.public-theme[data-page^="organization"] .org-chart-node--has-children > .org-chart-node__box::after,
    html body.public-theme[data-page^="organization"] .org-chart-node__children > .org-chart-node::before {
        display: none;
    }
}
