/* Tenant landing hero, features, locations, cookie notice, and front-page banner. */

.landing-home main {
        padding-top: 1.25rem;
        /* Extra space so fixed bottom cookie / notice stack does not cover the last section */
        padding-bottom: clamp(5rem, 14vh, 9rem);
    }
    body.landing-home {
        overflow-x: clip;
        --md-landing-vh: 100vh;
        /* Approximate sticky header + main top padding so hero/features can fill one viewport */
        --md-landing-header-clearance: 5.25rem;
        --md-landing-band-clearance: 3.5rem;
    }
    @supports (height: 100svh) {
        body.landing-home {
            --md-landing-vh: 100svh;
        }
    }
    @supports not (overflow-x: clip) {
        body.landing-home {
            overflow-x: hidden;
        }
    }
    .md-landing-hero {
        position: relative;
        overflow: hidden;
        border-radius: 24px;
        margin-bottom: 1.5rem;
        padding: clamp(2.25rem, 5vw, 3.75rem) clamp(1.25rem, 4vw, 3rem);
        text-align: center;
        border: 1px solid rgba(255, 255, 255, 0.65);
        box-shadow:
            0 20px 50px rgba(15, 23, 42, 0.12),
            0 1px 0 rgba(255, 255, 255, 0.8) inset;
        background: var(--md-landing-hero-bg);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: max(18rem, calc((var(--md-landing-vh) - var(--md-landing-header-clearance)) * 0.75));
    }
    .md-landing-hero::before {
        content: '';
        position: absolute;
        inset: -40%;
        background: var(--md-landing-hero-overlay);
        pointer-events: none;
    }
    .md-landing-hero__inner {
        position: relative;
        z-index: 1;
        max-width: 44rem;
        margin: 0 auto;
        flex: 0 1 auto;
        width: 100%;
    }
    .md-landing-eyebrow {
        display: inline-block;
        margin: 0 0 1rem;
        padding: 0.35rem 0.9rem;
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--md-landing-eyebrow-color);
        background: var(--md-landing-eyebrow-bg);
        border: 1px solid var(--md-landing-eyebrow-border);
        border-radius: 999px;
        box-shadow: var(--md-landing-eyebrow-shadow);
    }
    .md-landing-hero h1 {
        margin: 0 0 0.75rem;
        font-size: clamp(2.1rem, 5.5vw, 3.35rem);
        font-weight: 800;
        line-height: 1.12;
        letter-spacing: -0.02em;
        color: var(--md-landing-hero-heading-color);
    }
    .md-landing-hero h1 span {
        background: var(--md-landing-headline-gradient);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }
    .md-landing-site-name {
        margin: 0 0 1.35rem;
        font-size: 1rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--md-landing-site-name-color);
    }
    .md-landing-cta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        justify-content: center;
        align-items: center;
        margin-bottom: 0;
    }
    .md-landing-cta .btn {
        min-width: 11rem;
    }
    .md-landing-section-title {
        text-align: center;
        font-size: clamp(1.35rem, 3vw, 1.65rem);
        font-weight: 800;
        margin: 0 0 0.35rem;
        color: var(--text);
    }
    #md-landing-features-heading {
        margin-top: calc(1.25rem * 1.2);
        margin-bottom: calc(1.25rem * 1.2);
    }
    .md-landing-section-sub {
        text-align: center;
        margin: 0 auto 1.75rem;
        max-width: 36rem;
        font-size: 0.98rem;
        color: var(--text-muted);
    }
    .md-landing-features {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1.25rem;
        margin-bottom: 2.75rem;
        align-items: stretch;
    }
    .md-landing-feature {
        position: relative;
        padding: 1.5rem 1.35rem 1.35rem;
        border-radius: 18px;
        border: 1px solid var(--card-border);
        /* Theme-aware (dark themes were near-white slabs + light --text = unreadable) */
        background: var(
            --md-landing-feature-card-bg,
            linear-gradient(
                145deg,
                color-mix(in srgb, var(--card) 90%, var(--bg-shine)) 0%,
                color-mix(in srgb, var(--card) 78%, color-mix(in srgb, var(--primary) 16%, var(--bg))) 100%
            )
        );
        backdrop-filter: var(--md-landing-feature-card-backdrop, blur(16px));
        -webkit-backdrop-filter: var(--md-landing-feature-card-backdrop, blur(16px));
        box-shadow: var(--md-landing-feature-card-shadow, var(--shadow));
        transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: max(18rem, calc((var(--md-landing-vh) - var(--md-landing-band-clearance)) * 0.75));
        min-width: 0;
    }
    .md-landing-feature:hover {
        transform: translateY(-4px);
        box-shadow: var(
            --md-landing-feature-card-hover-shadow,
            0 12px 36px color-mix(in srgb, var(--primary) 14%, transparent)
        );
        border-color: var(
            --md-landing-feature-card-hover-border,
            color-mix(in srgb, var(--primary) 42%, var(--card-border))
        );
    }
    .md-landing-feature__icon {
        width: 3rem;
        height: 3rem;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.45rem;
        border-radius: 14px;
        background: linear-gradient(
            145deg,
            color-mix(in srgb, var(--primary) 26%, var(--bg-shine)) 0%,
            color-mix(in srgb, var(--primary) 12%, var(--card)) 100%
        );
        border: 1px solid color-mix(in srgb, var(--primary) 38%, var(--card-border));
    }
    .md-landing-feature:nth-of-type(3n + 2) .md-landing-feature__icon {
        background: linear-gradient(
            145deg,
            color-mix(in srgb, var(--secondary) 30%, var(--bg-shine)) 0%,
            color-mix(in srgb, var(--primary) 18%, var(--card)) 100%
        );
        border-color: color-mix(in srgb, var(--primary-dark, var(--primary)) 40%, var(--card-border));
    }
    .md-landing-feature:nth-of-type(3n) .md-landing-feature__icon {
        background: linear-gradient(
            145deg,
            color-mix(in srgb, var(--secondary) 22%, var(--bg-shine)) 0%,
            color-mix(in srgb, var(--secondary) 10%, var(--card)) 100%
        );
        border-color: color-mix(in srgb, var(--secondary) 36%, var(--card-border));
    }
    .md-landing-feature h2 {
        margin: 0 0 0.5rem;
        font-size: 1.15rem;
        font-weight: 800;
        color: var(--text);
    }
    .md-landing-feature p {
        margin: 0;
        font-size: 0.95rem;
        line-height: 1.55;
        color: var(--text-muted);
    }
    .md-landing-feature--photo {
        padding: 0;
        overflow: hidden;
        color: #fff;
        border-color: rgba(255, 255, 255, 0.22);
        box-shadow: 0 14px 40px rgba(15, 23, 42, 0.22);
    }
    .md-landing-feature--photo .md-landing-feature__bg {
        position: absolute;
        inset: 0;
        background-image: var(--md-hf-card-bg);
        background-size: cover;
        background-position: center;
        transform: scale(1.03);
    }
    .md-landing-feature--photo .md-landing-feature__gloss {
        position: absolute;
        inset: 0;
        /* Tint with theme primary so overlays track the palette (not flat slate grey) */
        background: linear-gradient(
            165deg,
            color-mix(in srgb, #020617 55%, var(--primary-dark) 45%) 0%,
            color-mix(in srgb, #020617 70%, transparent) 42%,
            color-mix(in srgb, #020617 50%, var(--primary)) 100%
        );
        opacity: 0.92;
        pointer-events: none;
    }
    .md-landing-feature--photo .md-landing-feature__inner {
        position: relative;
        z-index: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: max(18rem, calc((var(--md-landing-vh) - var(--md-landing-band-clearance)) * 0.75));
        padding: 1.5rem 1.35rem 1.35rem;
        min-width: 0;
    }
    .md-landing-feature--photo h2 {
        color: #fff;
    }
    .md-landing-feature--photo p {
        color: rgba(255, 255, 255, 0.92);
    }
    .md-landing-feature--photo .md-landing-feature__icon {
        background: rgba(255, 255, 255, 0.14);
        border-color: rgba(255, 255, 255, 0.35);
    }
    .md-landing-features-section {
        margin-bottom: 0;
    }
    .md-landing-features-section--no-heading {
        padding-top: calc(1.25rem * 1.2);
        padding-bottom: calc(1.25rem * 1.2);
    }
    /* Edge-to-edge viewport width: only the three stacked feature blocks (not the section title) */
    body.landing-home .md-landing-feature-stack-bleed {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        position: relative;
        margin-bottom: 2.75rem;
    }
    .md-landing-feature-stack-list {
        display: flex;
        flex-direction: column;
        gap: 0;
        margin: 0;
    }
    .md-landing-feature-stack {
        position: relative;
        width: 100%;
        overflow: hidden;
        padding: clamp(2.25rem, 5vw, 3.75rem) clamp(1.25rem, 4vw, 2rem);
        border: none;
        border-radius: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        min-height: max(18rem, calc((var(--md-landing-vh) - var(--md-landing-band-clearance)) * 0.75));
    }
    .md-landing-feature-stack--dark {
        /* Always anchor to near-black + primary — mixing with var(--text) breaks contrast when --text is light */
        background: linear-gradient(
            135deg,
            color-mix(in srgb, #020617 58%, var(--primary-dark) 42%) 0%,
            color-mix(in srgb, #020617 72%, var(--primary) 28%) 100%
        );
        color: #f8fafc;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }
    .md-landing-feature-stack--dark .md-landing-feature-stack__body {
        color: rgba(248, 250, 252, 0.9);
    }
    .md-landing-feature-stack--dark .md-landing-feature-stack__icon {
        background: rgba(255, 255, 255, 0.12);
        border-color: rgba(255, 255, 255, 0.35);
    }
    .md-landing-feature-stack--light {
        background: var(
            --md-landing-stack-light-band-bg,
            linear-gradient(
                145deg,
                color-mix(in srgb, var(--card) 95%, #fff) 0%,
                color-mix(in srgb, var(--bg-shine) 70%, var(--card)) 100%
            )
        );
        color: var(--text);
        border-top: 1px solid var(--md-landing-stack-light-band-border-top, var(--card-border));
        border-bottom: 1px solid var(--md-landing-stack-light-band-border-bottom, var(--card-border));
        backdrop-filter: var(--md-landing-stack-light-band-backdrop, none);
        -webkit-backdrop-filter: var(--md-landing-stack-light-band-backdrop, none);
    }
    .md-landing-feature-stack--light .md-landing-feature-stack__body {
        color: var(--text-muted);
    }
    .md-landing-feature-stack--light .md-landing-feature-stack__icon {
        background: var(
            --md-landing-stack-light-icon-bg,
            linear-gradient(145deg, #e0f2fe 0%, #dbeafe 100%)
        );
        border: 1px solid var(--md-landing-stack-light-icon-border, rgba(59, 130, 246, 0.22));
    }
    .md-landing-feature-stack--photo {
        --md-hf-stack-bg: none;
        background: var(--bg);
        color: var(--text);
        border-top: 1px solid var(--card-border);
        border-bottom: 1px solid var(--card-border);
    }
    .md-landing-feature-stack--photo .md-landing-feature-stack__bg {
        position: absolute;
        inset: 0;
        background-image: var(--md-hf-stack-bg);
        background-size: cover;
        background-position: center;
        transform: scale(1.05);
        opacity: 0.4;
        filter: saturate(1.12) contrast(1.04);
        pointer-events: none;
    }
    .md-landing-feature-stack--photo .md-landing-feature-stack__gloss {
        position: absolute;
        inset: 0;
        background: linear-gradient(
            125deg,
            rgba(255, 255, 255, 0.55) 0%,
            rgba(255, 255, 255, 0) 36%,
            rgba(255, 255, 255, 0.28) 52%,
            rgba(255, 255, 255, 0.06) 100%
        );
        mix-blend-mode: soft-light;
        pointer-events: none;
    }
    .md-landing-feature-stack--photo .md-landing-feature-stack__inner {
        background: linear-gradient(
            165deg,
            rgba(255, 255, 255, 0.42) 0%,
            rgba(255, 255, 255, 0.22) 100%
        );
        border: 1px solid rgba(255, 255, 255, 0.55);
        box-shadow:
            0 16px 48px rgba(15, 23, 42, 0.12),
            0 1px 0 rgba(255, 255, 255, 0.65) inset;
    }
    .md-landing-feature-stack--photo .md-landing-feature-stack__body {
        color: var(--text);
        opacity: 0.95;
    }
    .md-landing-feature-stack__inner {
        position: relative;
        z-index: 1;
        max-width: 48rem;
        margin: 0 auto;
        padding: clamp(1.35rem, 3vw, 2rem) clamp(1.1rem, 3vw, 1.75rem);
        border-radius: 22px;
        backdrop-filter: blur(14px) saturate(1.12);
        -webkit-backdrop-filter: blur(14px) saturate(1.12);
        flex: 0 1 auto;
        width: 100%;
        align-self: center;
    }
    .md-landing-feature-stack--dark .md-landing-feature-stack__inner {
        background: linear-gradient(
            165deg,
            color-mix(in srgb, rgba(2, 6, 23, 0.62) 70%, var(--primary-dark) 30%) 0%,
            color-mix(in srgb, rgba(2, 6, 23, 0.38) 75%, var(--primary) 25%) 100%
        );
        border: 1px solid color-mix(in srgb, var(--primary) 35%, rgba(255, 255, 255, 0.16));
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
    }
    .md-landing-feature-stack--light .md-landing-feature-stack__inner {
        background: var(--md-landing-stack-light-inner-bg, rgba(255, 255, 255, 0.55));
        border: 1px solid var(--md-landing-stack-light-inner-border, var(--card-border));
        box-shadow: var(--md-landing-stack-light-inner-shadow, 0 12px 36px rgba(15, 23, 42, 0.08));
        backdrop-filter: var(--md-landing-stack-light-inner-backdrop, blur(14px) saturate(1.12));
        -webkit-backdrop-filter: var(--md-landing-stack-light-inner-backdrop, blur(14px) saturate(1.12));
    }
    .md-landing-feature-stack__head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.65rem 1rem;
        margin: 0 0 clamp(1rem, 2.2vw, 1.35rem);
        text-align: center;
    }
    .md-landing-feature-stack__icon {
        width: 3.25rem;
        height: 3.25rem;
        margin: 0;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.55rem;
        border-radius: 16px;
    }
    .md-landing-feature-stack__title {
        margin: 0;
        flex: 0 1 auto;
        min-width: 0;
        max-width: 100%;
        font-size: clamp(1.75rem, 4.2vw, 2.65rem);
        font-weight: 800;
        line-height: 1.12;
        letter-spacing: -0.02em;
        text-align: center;
    }
    .md-landing-feature-stack__body {
        margin: 0;
        font-size: clamp(1.02rem, 2.1vw, 1.22rem);
        line-height: 1.55;
        max-width: 42rem;
    }

    /* Stacked bands + card row: band transitions (General settings → home_feature_band_transition) */
    .md-landing-feature-stack-list[data-band-transition="soft_blend"] > .md-landing-feature-stack:not(:last-of-type)::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 80px;
        pointer-events: none;
        z-index: 4;
    }
    .md-landing-feature-stack-list[data-band-transition="soft_blend"] > .md-landing-feature-stack--dark:not(:last-of-type)::after {
        background: linear-gradient(
            to bottom,
            transparent 0%,
            color-mix(in srgb, var(--primary-dark) 22%, rgba(0, 0, 0, 0.28)) 45%,
            color-mix(in srgb, var(--primary) 12%, rgba(0, 0, 0, 0.68)) 100%
        );
    }
    .md-landing-feature-stack-list[data-band-transition="soft_blend"] > .md-landing-feature-stack--light:not(:last-of-type)::after,
    .md-landing-feature-stack-list[data-band-transition="soft_blend"] > .md-landing-feature-stack--photo:not(:last-of-type)::after {
        background: linear-gradient(
            to bottom,
            transparent 0%,
            color-mix(in srgb, var(--text) 12%, transparent) 40%,
            color-mix(in srgb, var(--text) 26%, transparent) 100%
        );
    }

    .md-landing-feature-stack-list[data-band-transition="diagonal_cut"] > .md-landing-feature-stack:first-of-type {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), 0 100%);
        padding-bottom: calc(clamp(2.25rem, 5vw, 3.75rem) + 2.5rem);
    }
    .md-landing-feature-stack-list[data-band-transition="diagonal_cut"] > .md-landing-feature-stack:not(:first-of-type):not(:last-of-type) {
        margin-top: -48px;
        clip-path: polygon(0 48px, 100% 0, 100% 100%, 0 calc(100% - 48px));
        padding-top: calc(48px + clamp(2.25rem, 5vw, 3.75rem));
        padding-bottom: calc(clamp(2.25rem, 5vw, 3.75rem) + 2.5rem);
    }
    .md-landing-feature-stack-list[data-band-transition="diagonal_cut"] > .md-landing-feature-stack:last-of-type:not(:first-of-type) {
        margin-top: -48px;
        clip-path: polygon(0 48px, 100% 0, 100% 100%, 0 100%);
        padding-top: calc(48px + clamp(2.25rem, 5vw, 3.75rem));
    }
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] {
        gap: 1.35rem;
        padding: 0 clamp(0.75rem, 3vw, 2rem);
    }
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] > .md-landing-feature-stack {
        border-radius: 22px;
        overflow: visible;
    }
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] > .md-landing-feature-stack--photo {
        overflow: hidden;
    }
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] > .md-landing-feature-stack--dark,
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] > .md-landing-feature-stack--light {
        box-shadow:
            0 20px 48px rgba(15, 23, 42, 0.22),
            0 2px 0 rgba(255, 255, 255, 0.06) inset;
    }
    .md-landing-feature-stack-list[data-band-transition="shadow_lift"] > .md-landing-feature-stack--photo {
        box-shadow: 0 20px 48px rgba(15, 23, 42, 0.18);
    }

    .md-landing-feature-stack-list[data-band-transition="asymmetric_radius"] > .md-landing-feature-stack:only-of-type {
        border-radius: 0 0 2.75rem 0;
    }
    .md-landing-feature-stack-list[data-band-transition="asymmetric_radius"] > .md-landing-feature-stack:nth-of-type(odd):not(:last-of-type) {
        border-radius: 0 0 2.75rem 0;
    }
    .md-landing-feature-stack-list[data-band-transition="asymmetric_radius"] > .md-landing-feature-stack:nth-of-type(even):not(:last-of-type) {
        border-radius: 2.75rem 0 0 2.75rem;
    }
    .md-landing-feature-stack-list[data-band-transition="asymmetric_radius"] > .md-landing-feature-stack:last-of-type:not(:first-of-type) {
        border-radius: 0 2.75rem 0 0;
    }

    .md-landing-feature-stack-bleed + .md-landing-features {
        margin-top: clamp(1.5rem, 4vw, 2.75rem);
    }
    .md-landing-features + .md-landing-feature-stack-bleed {
        margin-top: clamp(1.5rem, 4vw, 2.75rem);
    }
    .md-landing-features--count-5,
    .md-landing-features--count-6 {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    }
    .md-landing-features--count-1 {
        grid-template-columns: minmax(0, 1fr);
        max-width: 36rem;
        margin-left: auto;
        margin-right: auto;
    }

    .md-landing-features[data-band-transition="soft_blend"] {
        gap: 1.75rem;
    }
    .md-landing-features[data-band-transition="soft_blend"] > .md-landing-feature {
        box-shadow:
            var(--shadow),
            0 10px 32px color-mix(in srgb, var(--primary) 12%, transparent),
            0 1px 0 color-mix(in srgb, var(--glass-highlight, rgba(255, 255, 255, 0.08)) 100%, transparent) inset;
    }

    .md-landing-features[data-band-transition="diagonal_cut"] > .md-landing-feature:nth-of-type(odd) {
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%);
    }
    .md-landing-features[data-band-transition="diagonal_cut"] > .md-landing-feature:nth-of-type(even) {
        clip-path: polygon(12px 0, 100% 0, 100% 100%, 0 100%, 0 12px);
    }

    .md-landing-features[data-band-transition="shadow_lift"] {
        gap: 1.5rem;
    }
    .md-landing-features[data-band-transition="shadow_lift"] > .md-landing-feature {
        box-shadow: var(--shadow), 0 12px 36px color-mix(in srgb, var(--primary) 10%, transparent);
    }
    .md-landing-features[data-band-transition="shadow_lift"] > .md-landing-feature:hover {
        transform: translateY(-6px);
        box-shadow: var(--shadow), 0 18px 44px color-mix(in srgb, var(--primary) 16%, transparent);
    }

    .md-landing-features[data-band-transition="asymmetric_radius"] > .md-landing-feature:nth-of-type(3n + 1) {
        border-radius: 26px 12px 24px 14px;
    }
    .md-landing-features[data-band-transition="asymmetric_radius"] > .md-landing-feature:nth-of-type(3n + 2) {
        border-radius: 14px 26px 12px 24px;
    }
    .md-landing-features[data-band-transition="asymmetric_radius"] > .md-landing-feature:nth-of-type(3n) {
        border-radius: 22px 16px 26px 10px;
    }

    .md-landing-locations {
        margin-top: 0.5rem;
    }
    .md-landing-loc-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 1.25rem;
    }
    .md-landing-loc-card {
        position: relative;
        padding: 1.35rem 1.25rem 1.25rem;
        border-radius: 16px;
        border: 1px solid var(--card-border);
        background: var(--card);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: var(--shadow);
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
        text-align: center;
    }
    .md-landing-loc-card:hover {
        border-color: color-mix(in srgb, var(--primary) 42%, var(--card-border));
        box-shadow: 0 12px 36px color-mix(in srgb, var(--primary) 14%, transparent);
    }
    a.md-landing-loc-card {
        display: block;
        text-decoration: none;
        color: inherit;
        cursor: pointer;
    }
    a.md-landing-loc-card:visited {
        color: inherit;
    }
    a.md-landing-loc-card:focus-visible {
        outline: 3px solid var(--focus);
        outline-offset: 3px;
    }
    .md-landing-loc-card h3 {
        margin: 0 0 0.35rem;
        font-size: 1.1rem;
        font-weight: 800;
        color: var(--text);
    }
    .md-landing-loc-meta {
        margin: 0 0 1rem;
        font-size: 0.92rem;
        color: var(--text-muted);
    }
    .md-landing-loc-cta {
        font-weight: 700;
        font-size: 0.92rem;
        color: var(--primary-dark);
    }
    a.md-landing-loc-card:hover .md-landing-loc-cta {
        text-decoration: underline;
    }
    .md-landing-loc-card::after {
        content: '';
        position: absolute;
        top: 0;
        left: 1.25rem;
        right: 1.25rem;
        height: 3px;
        border-radius: 0 0 4px 4px;
        background: var(--md-landing-loc-card-strip);
        opacity: 0.85;
    }
    body.high-contrast .md-landing-hero {
        background: #000;
        border: 2px solid #fff;
        box-shadow: none;
    }
    body.high-contrast .md-landing-hero::before {
        display: none;
    }
    body.high-contrast .md-landing-eyebrow {
        background: #000;
        color: #fff;
        border-color: #fff;
    }
    body.high-contrast .md-landing-hero h1 {
        color: #fff;
    }
    body.high-contrast .md-landing-hero h1 span {
        background: none;
        -webkit-background-clip: unset;
        background-clip: unset;
        color: #ffea00;
    }
    body.high-contrast .md-landing-site-name {
        color: #fff;
    }
    body.high-contrast .md-landing-feature {
        background: #000;
        border-color: #fff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    body.high-contrast .md-landing-feature h2 {
        color: #ffea00;
    }
    body.high-contrast .md-landing-feature p {
        color: #fff;
    }
    body.high-contrast .md-landing-feature__icon {
        background: #000 !important;
        border-color: #fff !important;
    }
    body.high-contrast .md-landing-feature--photo {
        background: #000;
        border-color: #fff;
    }
    body.high-contrast .md-landing-feature--photo .md-landing-feature__bg {
        opacity: 0.35;
    }
    body.high-contrast .md-landing-feature--photo h2,
    body.high-contrast .md-landing-feature--photo p {
        color: #fff !important;
    }
    body.high-contrast .md-landing-feature-stack--dark,
    body.high-contrast .md-landing-feature-stack--photo {
        background: #000;
        color: #fff;
        border-color: #fff;
    }
    body.high-contrast .md-landing-feature-stack--light {
        background: #000;
        color: #fff;
        border-color: #fff;
    }
    body.high-contrast .md-landing-feature-stack--photo .md-landing-feature-stack__bg {
        opacity: 0.35;
    }
    body.high-contrast .md-landing-feature-stack__inner {
        background: #000;
        border-color: #fff;
        color: #fff;
    }
    body.high-contrast .md-landing-feature-stack__body {
        color: #fff !important;
        opacity: 1 !important;
    }
    body.high-contrast .md-landing-feature-stack__title {
        color: #ffea00;
    }
    body.high-contrast .md-landing-feature-stack__icon {
        background: #000 !important;
        border: 2px solid #fff !important;
    }
    body.high-contrast .md-landing-loc-card::after {
        background: #ffea00;
    }

/* Fixed bottom stack: cookie notice (below) + optional admin banner (above) */
    .md-landing-bottom-stack {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10050;
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        gap: 0.5rem;
        padding: 0 0.625rem 0.625rem;
        pointer-events: none;
    }
    .md-landing-bottom-stack > * {
        pointer-events: auto;
    }
    .md-cookie-notice {
        width: min(52rem, calc(100% - 1.25rem));
        padding: 0.85rem 1rem 0.95rem;
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, 0.65);
        box-shadow:
            0 -8px 32px rgba(15, 23, 42, 0.1),
            0 1px 0 rgba(255, 255, 255, 0.85) inset;
        backdrop-filter: blur(16px) saturate(1.05);
        -webkit-backdrop-filter: blur(16px) saturate(1.05);
        background: linear-gradient(165deg, rgba(248, 250, 252, 0.97) 0%, rgba(238, 246, 255, 0.98) 100%);
        color: #0f172a;
        font-size: 0.9rem;
        line-height: 1.45;
    }
    .md-cookie-notice__row {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.65rem 0.75rem;
    }
    .md-cookie-notice__text {
        flex: 1 1 12rem;
        margin: 0;
        font-weight: 600;
        color: #334155;
    }
    .md-cookie-notice__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.4rem 0.5rem;
        flex-shrink: 0;
    }
    .md-cookie-notice__dismiss {
        min-height: 2.5rem;
        padding: 0.45rem 0.85rem;
        font-weight: 800;
        font-size: 0.88rem;
        border: 1px solid color-mix(in srgb, var(--primary) 58%, rgba(255, 255, 255, 0.3));
        border-radius: 12px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 52%),
            linear-gradient(135deg, color-mix(in srgb, var(--primary) 28%, #151820), #080a0f);
        color: #fff;
        cursor: pointer;
        font-family: inherit;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
        transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .md-cookie-notice__dismiss:hover {
        transform: translateY(-1px);
        box-shadow: 0 11px 24px rgba(15, 23, 42, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.34);
    }
    .md-cookie-notice__dismiss:focus-visible {
        outline: 3px solid rgba(45, 212, 191, 0.55);
        outline-offset: 2px;
    }
    .md-cookie-notice__details {
        width: 100%;
        margin: 0.55rem 0 0;
        padding: 0;
        border: none;
        font-size: 0.85rem;
    }
    .md-cookie-notice__details > summary {
        cursor: pointer;
        font-weight: 700;
        color: #0369a1;
        list-style: none;
    }
    .md-cookie-notice__details > summary::-webkit-details-marker {
        display: none;
    }
    .md-cookie-notice__details > summary::after {
        content: ' ▶';
        font-size: 0.7em;
        opacity: 0.75;
    }
    .md-cookie-notice__details[open] > summary::after {
        content: ' ▼';
    }
    .md-cookie-notice__detail-body {
        margin: 0.5rem 0 0;
        padding: 0.65rem 0.75rem;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.65);
        border: 1px solid rgba(148, 163, 184, 0.35);
        color: #475569;
        font-weight: 500;
    }
    .md-cookie-notice__detail-body p {
        margin: 0 0 0.5rem;
    }
    .md-cookie-notice__detail-body p:last-child {
        margin-bottom: 0;
    }
    body.high-contrast .md-cookie-notice {
        background: #ff0;
        border-color: #000;
        color: #000;
        box-shadow: 0 -4px 0 #000;
    }
    body.high-contrast .md-cookie-notice__text {
        color: #000;
    }
    body.high-contrast .md-cookie-notice__dismiss {
        background: #000;
        color: #ff0;
        box-shadow: none;
    }
    body.high-contrast .md-cookie-notice__details > summary {
        color: #000;
        text-decoration: underline;
    }
    body.high-contrast .md-cookie-notice__detail-body {
        background: #fff;
        border-color: #000;
        color: #000;
    }
    .md-front-page-banner {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding: 0;
    }
    .md-front-page-banner__inner {
        position: relative;
        overflow: hidden;
        width: min(52rem, calc(100% - 1.25rem));
        margin: 0;
        padding: 1.1rem 1.25rem 1.15rem;
        border-radius: 20px 20px 10px 10px;
        border: 1px solid rgba(255, 255, 255, 0.65);
        box-shadow:
            0 -16px 48px rgba(15, 23, 42, 0.14),
            0 1px 0 rgba(255, 255, 255, 0.85) inset;
        backdrop-filter: blur(20px) saturate(1.1);
        -webkit-backdrop-filter: blur(20px) saturate(1.1);
        background: var(--md-front-banner-bg);
        color: var(--text);
        font-size: 1.05rem;
        line-height: 1.45;
    }
    .md-front-page-banner__inner::before {
        content: '';
        position: absolute;
        inset: -30%;
        background: var(--md-front-banner-overlay);
        pointer-events: none;
        z-index: 0;
    }
    .md-front-page-banner__title,
    .md-front-page-banner__text,
    .md-front-page-banner__actions {
        position: relative;
        z-index: 1;
    }
    .md-front-page-banner__title {
        margin: 0 0 0.4rem;
        font-size: 1.1rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        color: var(--md-front-banner-title-color);
        text-transform: uppercase;
    }
    .md-front-page-banner__text {
        margin: 0 0 0.85rem;
        white-space: pre-wrap;
        word-break: break-word;
        font-weight: 600;
        color: var(--md-front-banner-text-color);
    }
    .md-front-page-banner__actions {
        display: flex;
        justify-content: flex-end;
        gap: 0.5rem;
    }
    .md-front-page-banner__ok {
        min-height: 2.75rem;
        padding: 0.7rem 1.2rem;
        font-weight: 800;
        font-size: 0.95rem;
        border: 1px solid color-mix(in srgb, var(--primary) 58%, rgba(255, 255, 255, 0.3));
        border-radius: 14px;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 52%),
            linear-gradient(135deg, color-mix(in srgb, var(--primary) 28%, #151820), #080a0f);
        color: #fff;
        cursor: pointer;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.28);
        font-family: inherit;
        transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .md-front-page-banner__ok:hover {
        transform: translateY(-1px);
        box-shadow: 0 14px 30px rgba(15, 23, 42, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.34);
    }
    .md-front-page-banner__ok:focus-visible {
        outline: 3px solid var(--focus);
        outline-offset: 2px;
    }
    body.high-contrast .md-front-page-banner__inner {
        background: #ff0;
        border-color: #000;
        box-shadow: 0 -4px 0 #000, 0 0 0 4px #fff;
        color: #000;
    }
    body.high-contrast .md-front-page-banner__inner::before {
        display: none;
    }
    body.high-contrast .md-front-page-banner__title {
        color: #000;
    }
    body.high-contrast .md-front-page-banner__ok {
        background: #000;
        color: #ff0;
        border-color: #000;
        box-shadow: none;
    }
