/*
 * Temporary landing-page mode
 *
 * Themeco Pro / Cornerstone can render the header outside normal post content,
 * so there are two layers of protection:
 *   1. the PHP-added .lfh-meeting-landing-page body class;
 *   2. :has(.lfh-landing) as a browser-side fallback.
 *
 * The WordPress admin bar is deliberately not touched.
 */
body.lfh-meeting-landing-page .x-masthead,
body.lfh-meeting-landing-page header.x-masthead,
body.lfh-meeting-landing-page .x-header,
body.lfh-meeting-landing-page header.x-header,
body.lfh-meeting-landing-page .x-header-landmark,
body.lfh-meeting-landing-page .site-header,
body.lfh-meeting-landing-page #site-header,
body.lfh-meeting-landing-page .masthead,
body.lfh-meeting-landing-page .x-navbar-wrap,
body.lfh-meeting-landing-page .x-logobar,
body.lfh-meeting-landing-page header.x-bar,
body.lfh-meeting-landing-page .x-root > header:not(#wpadminbar),
body:has(.lfh-landing) .x-masthead,
body:has(.lfh-landing) header.x-masthead,
body:has(.lfh-landing) .x-header,
body:has(.lfh-landing) header.x-header,
body:has(.lfh-landing) .x-header-landmark,
body:has(.lfh-landing) .site-header,
body:has(.lfh-landing) #site-header,
body:has(.lfh-landing) .masthead,
body:has(.lfh-landing) .x-navbar-wrap,
body:has(.lfh-landing) .x-logobar,
body:has(.lfh-landing) header.x-bar,
body:has(.lfh-landing) .x-root > header:not(#wpadminbar) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.lfh-meeting-landing-page .x-site,
body.lfh-meeting-landing-page .site,
body.lfh-meeting-landing-page #page,
body.lfh-meeting-landing-page .x-main,
body.lfh-meeting-landing-page .site-content,
body:has(.lfh-landing) .x-site,
body:has(.lfh-landing) .site,
body:has(.lfh-landing) #page,
body:has(.lfh-landing) .x-main,
body:has(.lfh-landing) .site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Remove common empty Cornerstone/Pro header spacer wrappers. */
body.lfh-meeting-landing-page .x-root,
body:has(.lfh-landing) .x-root {
    padding-top: 0 !important;
}

.lfh-landing {
    --lfh-navy: #06111f;
    --lfh-navy-2: #0a1d31;
    --lfh-blue: #315eaa;
    --lfh-blue-deep: #173b72;
    --lfh-yellow: #f4c642;
    --lfh-white: #f7f8fb;
    --lfh-card-text: #1d304d;
    --lfh-copy: #eef3fa;
    --lfh-muted: #b9c5d3;
    --lfh-line: rgba(255, 255, 255, 0.14);

    position: relative;
    width: 100vw;
    max-width: none;
    min-height: auto;
    margin-left: calc(50% - 50vw);
    overflow: hidden;
    color: var(--lfh-copy);
    background:
        radial-gradient(circle at 42% 62%, rgba(13, 103, 132, 0.22), transparent 24rem),
        radial-gradient(circle at 24% 18%, rgba(52, 93, 154, 0.18), transparent 25rem),
        linear-gradient(112deg, #0b1c31 0%, #081526 47%, #020911 100%);
    isolation: isolate;
}

.lfh-landing,
.lfh-landing * {
    box-sizing: border-box;
}

.lfh-landing__ambient {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}

.lfh-landing__ambient--one {
    top: 14%;
    left: 22%;
    width: 25rem;
    height: 25rem;
    background: rgba(31, 110, 136, 0.08);
    box-shadow: 0 0 100px rgba(31, 110, 136, 0.15);
}

.lfh-landing__ambient--two {
    right: -8rem;
    bottom: -10rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgba(244, 198, 66, 0.08);
}

.lfh-landing__shell {
    width: min(100% - 48px, 1210px);
    margin: 0 auto;
    padding: clamp(24px, 2.7vw, 38px) 0 clamp(24px, 3vw, 34px);
    display: flex;
    flex-direction: column;
}

.lfh-landing__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
}

.lfh-landing__brand {
    min-width: 0;
}

.lfh-landing__logo {
    display: block;
    width: auto;
    height: auto;
    max-width: min(310px, 62vw);
    max-height: 108px;
    object-fit: contain;
    object-position: left top;
}

.lfh-landing__brand-text {
    display: inline-block;
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lfh-landing__site-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    max-width: none;
    margin-top: 8px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #aeb9c8;
    font-size: 0.76rem;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.lfh-landing__site-status-dot {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--lfh-yellow);
    box-shadow: 0 0 0 3px rgba(244, 198, 66, 0.08);
}

.lfh-landing__hero {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(460px, 1.04fr);
    align-items: center;
    gap: clamp(48px, 6vw, 86px);
    margin-top: clamp(58px, 7vh, 82px);
    padding: 0 0 28px;
}

.lfh-landing__identity {
    max-width: 500px;
}

.lfh-landing__statement {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: clamp(24px, 2.4vw, 34px);
    font-size: clamp(3rem, 4.75vw, 4.95rem);
    font-weight: 760;
    line-height: 0.95;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.lfh-landing__statement::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.03em;
    bottom: 0.04em;
    width: 5px;
    background: rgba(247, 248, 251, 0.96);
}

.lfh-landing__statement span {
    display: block;
}

.lfh-landing__intro {
    max-width: 475px;
    margin: 22px 0 0;
    color: #e5ebf3;
    font-size: clamp(1.05rem, 1.5vw, 1.3rem);
    font-weight: 650;
    line-height: 1.48;
}


.lfh-landing__events {
    min-width: 0;
}

.lfh-landing__events-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
}

.lfh-landing__events-heading h2 {
    margin: 0;
    color: var(--lfh-white);
    font-size: clamp(1.4rem, 1.85vw, 1.9rem);
    font-weight: 750;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.lfh-landing__events-chevron {
    color: var(--lfh-white);
    font-size: 2rem;
    font-weight: 700;
    line-height: 0.8;
    transform: translateY(-1px);
}

.lfh-landing__event-card {
    position: relative;
    overflow: visible;
    margin: 0;
    padding: clamp(26px, 2.7vw, 34px);
    border: 1px solid rgba(29, 48, 77, 0.07);
    border-radius: 14px;
    background: #fbfbfc;
    color: var(--lfh-card-text);
    box-shadow:
        0 22px 52px rgba(0, 0, 0, 0.19),
        0 3px 9px rgba(0, 0, 0, 0.08);
}

.lfh-landing__event-accent {
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    border-radius: 14px 0 0 14px;
    background: linear-gradient(to bottom, var(--lfh-yellow), var(--lfh-blue));
}

.lfh-landing__event-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
    color: #63718a;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.105em;
    text-transform: uppercase;
}

.lfh-landing__event-recurring {
    color: var(--lfh-blue);
}

.lfh-landing__event-card h3 {
    margin: 0;
    color: #203653;
    font-size: clamp(1.75rem, 2.55vw, 2.4rem);
    font-weight: 760;
    line-height: 1.06;
    letter-spacing: -0.035em;
}

.lfh-landing__event-meta {
    display: grid;
    gap: 7px;
    margin: 19px 0 0;
}

.lfh-landing__event-meta div {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    column-gap: 10px;
    row-gap: 2px;
}

.lfh-landing__event-meta dt,
.lfh-landing__event-meta dd {
    margin: 0;
}

.lfh-landing__event-meta dt {
    margin: 0;
    color: #213654;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.4;
    white-space: nowrap;
}

.lfh-landing__event-meta dd {
    margin: 0;
    min-width: 0;
    color: #45536a;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.45;
}

.lfh-landing__event-copy {
    margin: 21px 0 0;
    color: #3f4c60;
    font-size: 0.94rem;
    line-height: 1.62;
}

.lfh-landing__event-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 23px;
    padding-top: 18px;
    border-top: 1px solid #e5e8ed;
}




.lfh-landing__recurrence {
    display: inline-flex;
    align-items: center;
    color: #66758a;
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.35;
}


.lfh-landing__event-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
}



.lfh-landing__calendar-menu {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
}

.lfh-landing__calendar-menu summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1.2;
    transition:
        border-color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

.lfh-landing__calendar-menu summary::-webkit-details-marker {
    display: none;
}

.lfh-landing__calendar-menu summary::after {
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    transform-origin: center;
    transition: transform 160ms ease;
}

.lfh-landing__calendar-menu[open] summary::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

.lfh-landing__calendar-menu--light summary {
    border: 1px solid #d7dde7;
    background: #ffffff;
    color: var(--lfh-blue-deep);
}

.lfh-landing__calendar-menu--light summary:hover {
    border-color: #b8c3d2;
    background: #f3f6fa;
    transform: translateY(-1px);
}

.lfh-landing__calendar-menu--dark summary {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: var(--lfh-white);
}

.lfh-landing__calendar-menu--dark summary:hover {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.10);
    transform: translateY(-1px);
}

.lfh-landing__calendar-dropdown {
    position: absolute;
    z-index: 30;
    top: calc(100% + 7px);
    right: 0;
    width: 190px;
    padding: 6px;
    border: 1px solid rgba(31, 49, 74, 0.13);
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(2, 12, 24, 0.20);
}

.lfh-landing__calendar-dropdown a {
    display: block;
    padding: 10px 11px;
    border-radius: 6px;
    color: #203653 !important;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
}

.lfh-landing__calendar-dropdown a:hover {
    background: #f1f4f8;
}

.lfh-landing__calendar-dropdown a + a {
    margin-top: 2px;
}

.lfh-landing__table-read-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    max-width: 280px;
}




.lfh-landing__secondary {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
    align-items: stretch;
    gap: 18px;
    margin-top: 4px;
    padding: 22px 0 18px;
    border-top: 1px solid var(--lfh-line);
}

.lfh-landing__table-read,
.lfh-landing__community {
    min-width: 0;
    height: 100%;
    padding: 22px 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 13px;
    background: rgba(4, 15, 27, 0.42);
    backdrop-filter: blur(5px);
}

.lfh-landing__section-kicker {
    margin-bottom: 9px;
    color: #9eacc0;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.lfh-landing__table-read-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 34px;
}

.lfh-landing__table-read h2,
.lfh-landing__community h2 {
    margin: 0;
    color: var(--lfh-white);
    font-size: clamp(1.3rem, 1.7vw, 1.7rem);
    font-weight: 750;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.lfh-landing__table-read-date {
    margin: 7px 0 0;
    color: var(--lfh-yellow);
    font-size: 1rem;
    font-weight: 780;
    line-height: 1.25;
    white-space: nowrap;
}

.lfh-landing__table-read-meta {
    margin: 5px 0 0;
    color: #d1dbe6;
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.4;
}

.lfh-landing__table-read-note,
.lfh-landing__community p {
    margin: 8px 0 0;
    color: #bac6d4;
    font-size: 0.83rem;
    line-height: 1.5;
}

.lfh-landing__actor-contact {
    margin: 12px 0 0;
    color: #aebccc;
    font-size: 0.8rem;
    line-height: 1.5;
}

.lfh-landing__actor-contact strong {
    color: #dce4ed;
    font-weight: 750;
}

.lfh-landing__actor-contact a {
    color: var(--lfh-yellow) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.lfh-landing__actor-contact a:hover {
    text-decoration: underline !important;
}

.lfh-landing__community-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 15px;
}

.lfh-landing__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 15px;
    border-radius: 8px;
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none !important;
    transition:
        transform 160ms ease,
        background-color 160ms ease,
        border-color 160ms ease;
}

.lfh-landing__button:hover {
    transform: translateY(-1px);
}

.lfh-landing__button--primary {
    flex: 0 0 auto;
    background: var(--lfh-yellow);
    color: #10243e !important;
}

.lfh-landing__button--primary:hover {
    background: #ffd75d;
}

.lfh-landing__button--secondary {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: var(--lfh-white) !important;
}

.lfh-landing__button--secondary:hover {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.10);
}

.lfh-landing__footer {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: 0;
    padding-top: 6px;
}

.lfh-landing__footer-rule {
    flex: 1;
    height: 1px;
    background: var(--lfh-line);
}

.lfh-landing__footer p {
    margin: 0;
    color: #aeb9c8;
    font-size: 0.77rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.lfh-landing__sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 960px) {
    .lfh-landing__shell {
        min-height: auto;
    }

    .lfh-landing__hero {
        grid-template-columns: 1fr;
        gap: 48px;
        margin-top: 48px;
        padding: 0 0 26px;
    }

    .lfh-landing__identity {
        max-width: 690px;
    }

    .lfh-landing__statement {
        max-width: 620px;
        font-size: clamp(3.25rem, 9vw, 5.5rem);
    }

    .lfh-landing__intro {
        max-width: 620px;
    }

    .lfh-landing__events {
        max-width: 720px;
    }
}

@media (max-width: 680px) {
    .lfh-landing__shell {
        width: min(100% - 32px, 1210px);
        padding-top: 22px;
    }

    .lfh-landing__header {
        flex-direction: column;
        gap: 22px;
    }

    .lfh-landing__logo {
        max-width: min(290px, 78vw);
        max-height: 102px;
    }

    .lfh-landing__site-status {
        max-width: 100%;
        margin-top: 0;
        border-radius: 10px;
    }

    .lfh-landing__hero {
        gap: 42px;
        margin-top: 38px;
        padding: 0 0 22px;
    }

    .lfh-landing__statement {
        padding-left: 20px;
        font-size: clamp(2.65rem, 13vw, 4rem);
    }

    .lfh-landing__statement::before {
        width: 4px;
    }

    .lfh-landing__intro {
        margin-top: 20px;
    }

    .lfh-landing__events-heading h2 {
        font-size: 1.45rem;
    }

    .lfh-landing__event-card {
        padding: 24px 22px 22px 26px;
        border-radius: 12px;
    }

    .lfh-landing__event-topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .lfh-landing__event-meta div {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .lfh-landing__event-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .lfh-landing__footer {
        align-items: flex-start;
        flex-direction: column-reverse;
        gap: 16px;
    }

    .lfh-landing__footer-rule {
        width: 100%;
        flex: none;
    }

    .lfh-landing__footer p {
        white-space: normal;
    }
}

@media (max-width: 420px) {
    .lfh-landing__shell {
        width: min(100% - 26px, 1210px);
    }

    .lfh-landing__event-card h3 {
        font-size: 1.65rem;
    }

    .lfh-landing__event-meta div {
        grid-template-columns: 1fr;
        gap: 2px;
    }
}


@media (max-width: 960px) {
    .lfh-landing__secondary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .lfh-landing__secondary {
        gap: 12px;
        padding-top: 18px;
    }

    .lfh-landing__table-read,
    .lfh-landing__community {
        padding: 20px;
    }

    .lfh-landing__table-read-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .lfh-landing__button--primary {
        width: 100%;
    }
}


@media (max-width: 680px) {
    .lfh-landing__event-footer {
        gap: 16px;
    }

    .lfh-landing__event-actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .lfh-landing__calendar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.lfh-landing__calendar-link {
        width: 100%;
        justify-content: center;
    }

    .lfh-landing__table-read-actions {
        width: 100%;
        justify-content: stretch;
    }

    .lfh-landing__table-read-actions .lfh-landing__button {
        flex: 1 1 160px;
    }
}




@media (max-width: 680px) {
    .lfh-landing__calendar-menu {
        width: 100%;
    }

    .lfh-landing__event-actions .lfh-landing__calendar-menu {
        width: auto;
    }

    .lfh-landing__calendar-menu summary {
        width: 100%;
        justify-content: center;
    }

    .lfh-landing__event-actions .lfh-landing__calendar-menu summary {
        width: auto;
    }

    .lfh-landing__calendar-dropdown {
        left: 0;
        right: auto;
        width: min(220px, 84vw);
    }

    .lfh-landing__event-actions .lfh-landing__calendar-dropdown {
        left: 0;
        right: auto;
    }
}


@media (max-width: 1080px) {
    .lfh-landing__table-read-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lfh-landing__table-read-actions {
        max-width: none;
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .lfh-landing__table-read-date {
        white-space: normal;
    }

    .lfh-landing__table-read-actions {
        width: 100%;
    }

    .lfh-landing__actor-contact {
        font-size: 0.82rem;
    }
}


.lfh-landing__community {
    display: flex;
    flex-direction: column;
}

.lfh-landing__community-links {
    margin-top: auto;
    padding-top: 15px;
}


/* Responsive refinements: laptop, tablet and mobile */
@media (max-width: 1280px) {
    .lfh-landing__shell {
        width: min(100% - 40px, 1120px);
    }

    .lfh-landing__hero {
        grid-template-columns: minmax(0, 0.9fr) minmax(430px, 1.1fr);
        gap: clamp(42px, 5vw, 68px);
    }

    .lfh-landing__statement {
        font-size: clamp(2.8rem, 4.5vw, 4.55rem);
    }

    .lfh-landing__event-card {
        padding: 28px 30px;
    }
}

@media (max-width: 1100px) {
    .lfh-landing__shell {
        width: min(100% - 36px, 980px);
    }

    .lfh-landing__header {
        gap: 24px;
    }

    .lfh-landing__hero {
        grid-template-columns: 1fr;
        gap: 44px;
        margin-top: 52px;
        padding-bottom: 30px;
    }

    .lfh-landing__identity {
        max-width: 720px;
    }

    .lfh-landing__statement {
        max-width: 680px;
        font-size: clamp(3rem, 7vw, 5rem);
    }

    .lfh-landing__intro {
        max-width: 640px;
    }

    .lfh-landing__events {
        width: 100%;
        max-width: 760px;
    }

    .lfh-landing__secondary {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .lfh-landing__table-read-row {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .lfh-landing__table-read-actions {
        max-width: none;
        justify-content: flex-start;
    }
}

@media (max-width: 860px) {
    .lfh-landing__shell {
        width: min(100% - 32px, 760px);
    }

    .lfh-landing__header {
        align-items: flex-start;
    }

    .lfh-landing__logo {
        max-width: min(280px, 58vw);
    }

    .lfh-landing__site-status {
        max-width: 260px;
    }

    .lfh-landing__hero {
        gap: 38px;
        margin-top: 44px;
    }

    .lfh-landing__statement {
        font-size: clamp(2.85rem, 8.5vw, 4.5rem);
    }

    .lfh-landing__event-card {
        padding: 26px 26px 24px;
    }

    .lfh-landing__secondary {
        grid-template-columns: 1fr;
    }

    .lfh-landing__table-read,
    .lfh-landing__community {
        height: auto;
    }

    .lfh-landing__community-links {
        margin-top: 15px;
        padding-top: 0;
    }
}

@media (max-width: 680px) {
    .lfh-landing {
        overflow-x: clip;
    }

    .lfh-landing__shell {
        width: min(100% - 28px, 620px);
        padding-top: 20px;
        padding-bottom: 26px;
    }

    .lfh-landing__header {
        flex-direction: column;
        gap: 18px;
    }

    .lfh-landing__logo {
        max-width: min(270px, 78vw);
        max-height: 96px;
    }

    .lfh-landing__site-status {
        width: 100%;
        max-width: none;
    }

    .lfh-landing__hero {
        gap: 34px;
        margin-top: 36px;
        padding-bottom: 24px;
    }

    .lfh-landing__statement {
        padding-left: 18px;
        font-size: clamp(2.5rem, 13vw, 3.8rem);
        line-height: 0.97;
    }

    .lfh-landing__intro {
        margin-top: 18px;
        font-size: 1rem;
    }

    .lfh-landing__event-card {
        padding: 23px 20px 21px 24px;
    }

    .lfh-landing__event-card h3 {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .lfh-landing__event-meta div {
        grid-template-columns: 52px minmax(0, 1fr);
    }

    .lfh-landing__event-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .lfh-landing__event-actions {
        width: 100%;
        align-items: stretch;
    }


    .lfh-landing__event-actions .lfh-landing__calendar-menu {
        width: 100%;
    }

    .lfh-landing__event-actions .lfh-landing__calendar-menu summary {
        width: 100%;
    }

    .lfh-landing__secondary {
        gap: 12px;
        padding-top: 16px;
    }

    .lfh-landing__table-read,
    .lfh-landing__community {
        padding: 19px 18px;
    }

    .lfh-landing__table-read-date {
        white-space: normal;
    }

    .lfh-landing__table-read-actions {
        width: 100%;
        gap: 8px;
    }

    .lfh-landing__table-read-actions .lfh-landing__button,
    .lfh-landing__table-read-actions .lfh-landing__calendar-menu {
        flex: 1 1 100%;
        width: 100%;
    }

    .lfh-landing__table-read-actions .lfh-landing__calendar-menu summary {
        width: 100%;
        justify-content: center;
    }

    .lfh-landing__community-links {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .lfh-landing__community-links .lfh-landing__button {
        width: 100%;
    }

    .lfh-landing__footer {
        gap: 12px;
        padding-top: 4px;
    }
}

@media (max-width: 480px) {
    .lfh-landing__shell {
        width: min(100% - 22px, 460px);
    }

    .lfh-landing__statement {
        font-size: clamp(2.25rem, 12.8vw, 3.25rem);
    }

    .lfh-landing__events-heading h2 {
        font-size: 1.3rem;
    }

    .lfh-landing__event-card {
        padding: 21px 17px 19px 21px;
    }

    .lfh-landing__event-topline {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .lfh-landing__event-meta div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .lfh-landing__time {
        font-size: 1.18rem;
    }

    .lfh-landing__calendar-dropdown {
        width: min(210px, calc(100vw - 46px));
    }

    .lfh-landing__footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .lfh-landing__footer-rule {
        width: 100%;
    }

    .lfh-landing__footer p {
        white-space: normal;
    }
}


@media (max-width: 680px) {
    .lfh-landing__event-actions {
        gap: 10px;
    }

    .lfh-landing__recurrence {
        width: 100%;
    }
}


.lfh-landing__calendar-menu--meetup {
    margin-left: auto;
}

.lfh-landing__calendar-menu--meetup .lfh-landing__calendar-dropdown {
    left: auto;
    right: 0;
}


@media (max-width: 680px) {
    .lfh-landing__event-footer {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
    }

    .lfh-landing__recurrence {
        width: auto;
        min-width: 0;
    }

    .lfh-landing__calendar-menu--meetup {
        width: auto;
        margin-left: 0;
    }

    .lfh-landing__calendar-menu--meetup summary {
        width: auto;
        white-space: nowrap;
    }

    .lfh-landing__calendar-menu--meetup .lfh-landing__calendar-dropdown {
        left: auto;
        right: 0;
    }
}

@media (max-width: 440px) {
    .lfh-landing__event-footer {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .lfh-landing__calendar-menu--meetup {
        width: 100%;
    }

    .lfh-landing__calendar-menu--meetup summary {
        width: 100%;
        justify-content: center;
    }

    .lfh-landing__calendar-menu--meetup .lfh-landing__calendar-dropdown {
        left: 0;
        right: auto;
    }
}


/* 1.6.1 metadata alignment */
@media (max-width: 680px) {
    .lfh-landing__event-meta div {
        grid-template-columns: max-content minmax(0, 1fr);
        column-gap: 9px;
    }
}

@media (max-width: 480px) {
    .lfh-landing__event-meta div {
        grid-template-columns: max-content minmax(0, 1fr);
        column-gap: 8px;
    }
}

@media (max-width: 360px) {
    .lfh-landing__event-meta div {
        grid-template-columns: 1fr;
        gap: 1px;
    }

    .lfh-landing__event-meta dt {
        margin-bottom: 1px;
    }
}


@media (max-width: 860px) {
    .lfh-landing__site-status {
        max-width: none;
        white-space: normal;
    }
}

@media (max-width: 680px) {
    .lfh-landing__site-status {
        width: auto;
        max-width: 100%;
        margin-top: 0;
        padding: 0;
        font-size: 0.74rem;
    }
}



@media (max-width: 440px) {
    .lfh-landing__calendar-menu--meetup .lfh-landing__calendar-dropdown {
        top: auto;
        bottom: calc(100% + 7px);
        left: 0;
        right: auto;
    }
}


/* 1.6.6 — viewport-aware calendar dropdown */
.lfh-landing__calendar-menu[open] {
    z-index: 1000;
}

.lfh-landing__calendar-menu[open] .lfh-landing__calendar-dropdown {
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

/* Fallback for environments where the positioning script has not run yet. */
.lfh-landing__calendar-menu:not([data-lfh-positioned]) .lfh-landing__calendar-dropdown {
    position: absolute;
    top: calc(100% + 7px);
    left: auto;
    right: 0;
    bottom: auto;
}

@media (max-width: 440px) {
    .lfh-landing__calendar-menu:not([data-lfh-positioned]) .lfh-landing__calendar-dropdown {
        left: 0;
        right: auto;
    }
}


/* 1.7.0 — public calendar community action */
.lfh-landing__community-links {
    align-items: stretch;
}

.lfh-landing__community-links .lfh-landing__button {
    min-width: 0;
}


/* 1.7.1 — public calendar subscription */
.lfh-landing__calendar-menu--public-subscribe{
    position:relative;
    display:inline-block;
}
.lfh-landing__calendar-menu--public-subscribe > summary{
    list-style:none;
    cursor:pointer;
}
.lfh-landing__calendar-menu--public-subscribe > summary::-webkit-details-marker{
    display:none;
}
.lfh-landing__calendar-menu--public-subscribe[open]{
    z-index:1000;
}
.lfh-landing__calendar-menu--public-subscribe .lfh-landing__calendar-dropdown{
    min-width:230px;
}
.lfh-landing__calendar-menu--public-subscribe .lfh-landing__calendar-dropdown a{
    display:block;
}
.lfh-landing__calendar-menu--public-subscribe .lfh-landing__calendar-dropdown strong,
.lfh-landing__calendar-menu--public-subscribe .lfh-landing__calendar-dropdown small{
    display:block;
}
.lfh-landing__calendar-menu--public-subscribe .lfh-landing__calendar-dropdown small{
    margin-top:2px;
    opacity:.72;
    font-size:.72rem;
    line-height:1.35;
}
.lfh-landing__calendar-chevron{
    display:inline-block;
    margin-left:6px;
    transition:transform .16s ease;
}
.lfh-landing__calendar-menu--public-subscribe[open] .lfh-landing__calendar-chevron{
    transform:rotate(180deg);
}

@media (max-width:680px){
    .lfh-landing__calendar-menu--public-subscribe{
        width:100%;
    }
    .lfh-landing__calendar-menu--public-subscribe > summary{
        width:100%;
        justify-content:center;
    }
}


/* 1.7.2 — move calendar subscription out of the primary button row */
.lfh-landing__community-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.lfh-landing__community-heading {
    min-width: 0;
}

.lfh-landing__calendar-menu--utility {
    flex: 0 0 auto;
    margin: -2px -2px 0 0;
}

.lfh-landing__calendar-menu--utility > summary {
    list-style: none;
}

.lfh-landing__calendar-menu--utility > summary::-webkit-details-marker {
    display: none;
}

.lfh-landing__calendar-utility {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 2px;
    border: 0;
    background: transparent;
    color: #9eacc0;
    font-size: 0.71rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

.lfh-landing__calendar-utility:hover,
.lfh-landing__calendar-utility:focus-visible,
.lfh-landing__calendar-menu--utility[open] .lfh-landing__calendar-utility {
    color: #edf3fa;
}

.lfh-landing__calendar-menu--utility .lfh-landing__calendar-chevron {
    margin-left: 1px;
    opacity: 0.72;
}

.lfh-landing__calendar-menu--utility .lfh-landing__calendar-dropdown {
    min-width: 230px;
}

@media (max-width: 680px) {
    .lfh-landing__community-head {
        display: block;
    }

    .lfh-landing__calendar-menu--utility {
        width: auto;
        margin: 7px 0 0;
    }

    .lfh-landing__calendar-menu--utility > summary {
        width: auto;
        justify-content: flex-start;
    }
}


/* 1.7.3 — compact community panel */
.lfh-landing__lower-grid,
.lfh-landing__secondary-grid,
.lfh-landing__support-grid {
    align-items: stretch;
}

/*
 * Give Stay Connected more horizontal room where the lower section is a
 * two-column layout. The first column remains comfortably usable for the
 * Table Read panel while the community panel no longer feels narrow/tall.
 */
@media (min-width: 900px) {
    .lfh-landing__lower-grid,
    .lfh-landing__secondary-grid,
    .lfh-landing__support-grid {
        grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    }
}

.lfh-landing__community {
    padding-top: 24px;
    padding-bottom: 24px;
}

.lfh-landing__community-head {
    margin-bottom: 10px;
}

.lfh-landing__community h2 {
    margin-bottom: 0;
}

.lfh-landing__community > p {
    max-width: 42rem;
    margin-top: 8px;
    margin-bottom: 16px;
    line-height: 1.5;
}

.lfh-landing__community-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
}

.lfh-landing__community-links .lfh-landing__button {
    flex: 1 1 180px;
    min-width: 0;
}

.lfh-landing__calendar-menu--utility {
    margin-top: 0;
}

@media (max-width: 899px) {
    .lfh-landing__community {
        padding-top: 22px;
        padding-bottom: 22px;
    }
}

@media (max-width: 560px) {
    .lfh-landing__community-links .lfh-landing__button {
        flex-basis: 100%;
    }
}


/* 1.7.4 — align Subscribe with Stay connected and tighten heading stack */
.lfh-landing__community-head {
    align-items: flex-start;
}

.lfh-landing__community-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.lfh-landing__community-heading .lfh-landing__section-kicker {
    margin: 0;
    line-height: 1.1;
}

.lfh-landing__community-heading h2 {
    margin: 0;
    line-height: 1.08;
}

.lfh-landing__calendar-menu--utility {
    margin: 0;
    align-self: flex-start;
}

.lfh-landing__calendar-utility {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.1;
}

.lfh-landing__community > p {
    margin-top: 11px;
}

@media (max-width: 680px) {
    .lfh-landing__community-heading {
        gap: 4px;
    }

    .lfh-landing__calendar-menu--utility {
        margin-top: 8px;
    }
}




/* 1.7.6 — match the actual Table Read DOM */
.lfh-landing__table-read-actions > .lfh-landing__button,
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    min-height: 42px;
    line-height: 1;
}

.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary {
    padding-top: 0;
    padding-bottom: 0;
}

/* Keep the details wrapper itself aligned with its sibling button. */
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu {
    display: inline-flex;
    align-items: stretch;
}

/* Mobile keeps the same matched control height when the buttons become full width. */
@media (max-width: 680px) {
    .lfh-landing__table-read-actions > .lfh-landing__button,
    .lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary {
        height: 42px;
        min-height: 42px;
    }
}


/* 1.7.7 — Subscribe utility must not inherit event Calendar button dimensions */
.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    gap: 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.71rem;
    font-weight: 700;
    line-height: 1.1;
    color: #9eacc0;
    transform: none;
    transition: color 160ms ease;
}

/* Generic calendar summaries generate their own CSS arrow. Subscribe already
   contains an explicit chevron, so suppress the inherited second arrow. */
.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility::after {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    transform: none !important;
}

.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility::-webkit-details-marker {
    display: none;
}

.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility:hover,
.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility:focus-visible,
.lfh-landing__calendar-menu--utility[open] > summary.lfh-landing__calendar-utility {
    border: 0;
    background: transparent;
    color: #edf3fa;
    transform: none;
}

.lfh-landing__calendar-menu--utility .lfh-landing__calendar-chevron {
    display: inline-block;
    margin: 0 0 0 1px;
    font-size: 0.72rem;
    line-height: 1;
    opacity: 0.72;
    transform: none;
    transform-origin: center;
    transition: transform 160ms ease;
}

.lfh-landing__calendar-menu--utility[open] .lfh-landing__calendar-chevron {
    transform: rotate(180deg);
}

@media (max-width: 680px) {
    .lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility {
        width: auto;
        min-height: 0;
        padding: 0;
        justify-content: flex-start;
    }
}


/* 1.7.8 — true shared top row for Stay connected + Subscribe */
.lfh-landing__community-head {
    display: block;
}

.lfh-landing__community-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 4px;
    min-height: 16px;
}

.lfh-landing__community-topline .lfh-landing__section-kicker {
    margin: 0;
    line-height: 1;
}

.lfh-landing__community-head > h2 {
    margin: 0;
    line-height: 1.08;
}

.lfh-landing__calendar-menu--utility {
    margin: 0;
    align-self: auto;
}

.lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 0;
    height: auto;
    padding: 0;
    line-height: 1;
}

/* Draw the chevron instead of relying on a font glyph baseline. */
.lfh-landing__calendar-menu--utility .lfh-landing__calendar-chevron {
    display: block;
    width: 5px;
    height: 5px;
    margin: -2px 1px 0 0;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    opacity: .72;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
    transition: transform 160ms ease, margin 160ms ease;
}

.lfh-landing__calendar-menu--utility[open] .lfh-landing__calendar-chevron {
    margin-top: 2px;
    transform: rotate(225deg);
}

@media (max-width: 680px) {
    .lfh-landing__community-topline {
        align-items: center;
        gap: 10px;
    }

    .lfh-landing__calendar-menu--utility {
        width: auto;
        margin: 0;
    }

    .lfh-landing__calendar-menu--utility > summary.lfh-landing__calendar-utility {
        width: auto;
        justify-content: flex-start;
    }
}


/* 1.7.10 — keep Table Read action controls on one fixed baseline */
.lfh-landing__table-read-actions > .lfh-landing__button,
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary {
    transform: none !important;
}

.lfh-landing__table-read-actions > .lfh-landing__button:hover,
.lfh-landing__table-read-actions > .lfh-landing__button:focus-visible,
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary:hover,
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary:focus-visible,
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu[open] > summary {
    transform: none !important;
}

/* Prevent the details wrapper itself from introducing a baseline offset. */
.lfh-landing__table-read-actions > .lfh-landing__calendar-menu {
    vertical-align: top;
    line-height: 0;
}

.lfh-landing__table-read-actions > .lfh-landing__calendar-menu > summary {
    line-height: 1;
}


/* 1.7.11 — Subscribe uses explicit JS-controlled state */
.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu] {
    position: relative;
}

.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu] > .lfh-landing__calendar-utility {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    font: inherit;
}

.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu] > .lfh-landing__calendar-dropdown[hidden] {
    display: none !important;
}

.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu].is-open {
    z-index: 1000;
}

.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu].is-open > .lfh-landing__calendar-utility {
    color: #edf3fa;
}

.lfh-landing__calendar-menu--utility[data-lfh-calendar-menu].is-open .lfh-landing__calendar-chevron {
    margin-top: 2px;
    transform: rotate(225deg);
}


/* 1.7.12 — Subscribe is fully isolated from event Calendar menu styles */
.lfh-landing__subscribe-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    line-height: 1;
}

.lfh-landing__subscribe-menu > .lfh-landing__calendar-utility {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    gap: 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #9eacc0;
    font-family: inherit;
    font-size: 0.71rem !important;
    font-weight: 700;
    line-height: 1 !important;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transform: none !important;
    transition: color 160ms ease;
}

.lfh-landing__subscribe-menu > .lfh-landing__calendar-utility:hover,
.lfh-landing__subscribe-menu > .lfh-landing__calendar-utility:focus-visible,
.lfh-landing__subscribe-menu.is-open > .lfh-landing__calendar-utility {
    border: 0;
    background: transparent;
    color: #edf3fa;
    transform: none !important;
}

.lfh-landing__subscribe-menu .lfh-landing__calendar-chevron {
    display: block;
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    margin: -2px 1px 0 0;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    opacity: .72;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
    transition: transform 160ms ease, margin 160ms ease;
}

.lfh-landing__subscribe-menu.is-open .lfh-landing__calendar-chevron {
    margin-top: 2px;
    transform: rotate(225deg);
}

.lfh-landing__subscribe-menu > .lfh-landing__calendar-dropdown {
    min-width: 230px;
}

.lfh-landing__subscribe-menu > .lfh-landing__calendar-dropdown[hidden] {
    display: none !important;
}

.lfh-landing__subscribe-menu.is-open {
    z-index: 1000;
}

@media (max-width: 680px) {
    .lfh-landing__subscribe-menu {
        width: auto;
        margin: 0;
    }

    .lfh-landing__subscribe-menu > .lfh-landing__calendar-utility {
        width: auto;
        font-size: 0.71rem !important;
        justify-content: flex-start;
    }
}


/* ================================================================
   1.7.13 — unified, native Popover calendar controls
   ================================================================ */

.lfh-landing__calendar-control {
    position: relative;
    display: inline-flex;
    align-items: stretch;
    flex: 0 0 auto;
    margin: 0;
}

.lfh-landing__calendar-trigger {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0 12px;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.76rem;
    font-weight: 750;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transform: none !important;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.lfh-landing__calendar-control--light .lfh-landing__calendar-trigger {
    border: 1px solid #d7dde7;
    background: #ffffff;
    color: var(--lfh-blue-deep);
}

.lfh-landing__calendar-control--light .lfh-landing__calendar-trigger:hover,
.lfh-landing__calendar-control--light .lfh-landing__calendar-trigger:focus-visible,
.lfh-landing__calendar-control--light .lfh-landing__calendar-trigger[aria-expanded="true"] {
    border-color: #b8c3d2;
    background: #f3f6fa;
}

.lfh-landing__calendar-control--dark .lfh-landing__calendar-trigger {
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.06);
    color: var(--lfh-white);
}

.lfh-landing__calendar-control--dark .lfh-landing__calendar-trigger:hover,
.lfh-landing__calendar-control--dark .lfh-landing__calendar-trigger:focus-visible,
.lfh-landing__calendar-control--dark .lfh-landing__calendar-trigger[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.10);
}

.lfh-landing__calendar-trigger-chevron,
.lfh-landing__subscribe-chevron {
    display: block;
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: .78;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
    transition: transform 160ms ease, margin 160ms ease;
}

.lfh-landing__calendar-trigger[aria-expanded="true"] .lfh-landing__calendar-trigger-chevron,
.lfh-landing__subscribe-trigger[aria-expanded="true"] .lfh-landing__subscribe-chevron {
    margin-top: 3px;
    transform: rotate(225deg);
}

/*
 * Popover elements are promoted to the browser's top layer. They therefore
 * cannot be clipped by `.lfh-landing { overflow: hidden; }`.
 */
.lfh-landing__calendar-popover {
    box-sizing: border-box;
    position: fixed;
    inset: auto;
    width: 200px;
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
    margin: 0;
    padding: 6px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(31, 49, 74, 0.13);
    border-radius: 9px;
    background: #ffffff;
    color: #203653;
    box-shadow: 0 14px 34px rgba(2, 12, 24, 0.20);
}

.lfh-landing__calendar-popover:not(:popover-open) {
    display: none;
}

.lfh-landing__calendar-popover a {
    display: block;
    padding: 10px 11px;
    border-radius: 6px;
    color: #203653 !important;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
}

.lfh-landing__calendar-popover a:hover,
.lfh-landing__calendar-popover a:focus-visible {
    background: #f1f4f8;
}

.lfh-landing__calendar-popover a + a {
    margin-top: 2px;
}

.lfh-landing__calendar-popover--subscribe {
    width: 230px;
}

.lfh-landing__calendar-popover--subscribe strong,
.lfh-landing__calendar-popover--subscribe small {
    display: block;
}

.lfh-landing__calendar-popover--subscribe small {
    margin-top: 2px;
    opacity: .72;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.35;
}

/* Subscribe is a compact utility, independent from the event buttons. */
.lfh-landing__subscribe-control {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0;
}

.lfh-landing__subscribe-trigger {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #9eacc0;
    font-family: inherit;
    font-size: 0.71rem !important;
    font-weight: 700;
    line-height: 1 !important;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transform: none !important;
    transition: color 160ms ease;
}

.lfh-landing__subscribe-trigger:hover,
.lfh-landing__subscribe-trigger:focus-visible,
.lfh-landing__subscribe-trigger[aria-expanded="true"] {
    border: 0;
    background: transparent;
    color: #edf3fa;
    transform: none !important;
}

/* Table Read action pair remains locked to the same 42px baseline. */
.lfh-landing__table-read-actions > .lfh-landing__button,
.lfh-landing__table-read-actions > .lfh-landing__calendar-control,
.lfh-landing__table-read-actions > .lfh-landing__calendar-control > .lfh-landing__calendar-trigger {
    min-height: 42px;
}

.lfh-landing__table-read-actions > .lfh-landing__button,
.lfh-landing__table-read-actions > .lfh-landing__calendar-control > .lfh-landing__calendar-trigger {
    height: 42px;
    transform: none !important;
}

@media (max-width: 680px) {
    .lfh-landing__calendar-control {
        width: 100%;
    }

    .lfh-landing__calendar-trigger {
        width: 100%;
    }

    .lfh-landing__subscribe-control,
    .lfh-landing__subscribe-trigger {
        width: auto;
    }

    .lfh-landing__subscribe-trigger {
        font-size: 0.71rem !important;
    }
}


/* 1.7.15 — equal-width stacked Table Read actions */
@media (max-width: 680px) {
    .lfh-landing__table-read-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .lfh-landing__table-read-actions > .lfh-landing__button,
    .lfh-landing__table-read-actions > .lfh-landing__calendar-control {
        box-sizing: border-box;
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
    }

    .lfh-landing__table-read-actions > .lfh-landing__calendar-control > .lfh-landing__calendar-trigger {
        box-sizing: border-box;
        width: 100%;
        justify-content: center;
    }
}


/* 1.7.16 — equal-width Table Read actions based on actual available width */
.lfh-landing__table-read-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    align-items: stretch;
    justify-content: stretch;
    gap: 8px;
    width: 100%;
}

.lfh-landing__table-read-actions > .lfh-landing__button,
.lfh-landing__table-read-actions > .lfh-landing__calendar-control {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    margin: 0;
}

.lfh-landing__table-read-actions > .lfh-landing__calendar-control > .lfh-landing__calendar-trigger {
    box-sizing: border-box;
    width: 100% !important;
    justify-content: center;
}

/*
 * If the action area is narrower than two 160px controls plus the gap, the
 * grid naturally becomes one column. Both controls then occupy the identical
 * full column width — regardless of overall viewport size.
 */


/* 1.7.18 — global calendar subscription in the header/status area */
.lfh-landing__header-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 8px;
}

.lfh-landing__header-tools .lfh-landing__site-status {
    margin-top: 0;
}

.lfh-landing__subscribe-control--header {
    margin: 0;
}

.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger {
    font-size: 0.71rem !important;
    color: #aeb9c8;
}

.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger:hover,
.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger:focus-visible,
.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger[aria-expanded="true"] {
    color: #f2f6fb;
}

.lfh-landing__community-topline {
    justify-content: flex-start;
}

@media (max-width: 760px) {
    .lfh-landing__header-tools {
        width: 100%;
        justify-content: flex-start;
        margin-top: 0;
    }
}

@media (max-width: 440px) {
    .lfh-landing__header-tools {
        gap: 8px 14px;
    }
}


/* 1.7.19 — redevelopment notice removed completely */
.lfh-landing__header-tools {
    justify-content: flex-end;
    margin-top: 0;
}

@media (max-width: 760px) {
    .lfh-landing__header-tools {
        justify-content: flex-start;
    }
}


/* 1.7.20 — make header calendar subscription more noticeable, not dominant */
.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger {
    box-sizing: border-box;
    min-height: 32px;
    padding: 7px 10px;
    gap: 7px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: #c6d0dc;
    font-size: 0.74rem !important;
    font-weight: 700;
    line-height: 1 !important;
    transition:
        color 160ms ease,
        border-color 160ms ease,
        background-color 160ms ease;
}

.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger:hover,
.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger:focus-visible,
.lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger[aria-expanded="true"] {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.075);
    color: #f3f6fa;
}

.lfh-landing__subscribe-control--header .lfh-landing__subscribe-chevron {
    opacity: .8;
}

@media (max-width: 440px) {
    .lfh-landing__subscribe-control--header .lfh-landing__subscribe-trigger {
        min-height: 31px;
        padding: 6px 9px;
        font-size: 0.73rem !important;
    }
}
