:root {
            --navy: #031b36;
            --navy-2: #082846;
            --gold: #d8a62b;
            --gold-light: #f0c34d;
            --white: #ffffff;
            --orange: #e85d04;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            font-family: "Roboto Condensed", sans-serif;
            color: var(--white);
            background: var(--navy);
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .site-header {
            height: 106px;
            display: flex;
            align-items: center;
            gap: 32px;
            padding: 0 42px;
            background: #02152b;
            border-bottom: 1px solid rgba(216, 166, 43, 0.4);
            position: relative;
            z-index: 10;
        }

        .site-brand {
            display: flex;
            align-items: center;
            gap: 14px;
            margin-right: auto;
        }

        .brand-logo {
            width: 68px;
            height: 84px;
            display: block;
            flex: 0 0 auto;
            object-fit: contain;
        }

        .brand-copy {
            flex: 0 0 auto;
            padding: 7px 0 7px 17px;
            border-left: 1px solid var(--gold);
        }

        .brand-copy strong,
        .brand-copy span {
            display: block;
        }

        .brand-copy strong {
            color: var(--off-white);
            font-family: "Cormorant Garamond", Georgia, serif;
            font-size: 1.4rem;
            font-weight: 600;
            line-height: 1;
            letter-spacing: .015em;
            text-transform: uppercase;
        }

        .brand-copy span {
            margin-top: 6px;
            color: var(--gold-light);
            font-family: "Cormorant Garamond", Georgia, serif;
            font-size: .88rem;
            font-weight: 600;
            line-height: 1;
            letter-spacing: .28em;
            text-transform: uppercase;
        }

        .site-nav {
            display: flex;
            align-items: center;
            gap: 33px;
            font-size: 1.1rem;
            font-weight: 600;
            text-transform: uppercase;
        }

        .site-nav a {
            position: relative;
            padding: 40px 0 33px;
        }

        .site-nav a:hover,
        .site-nav a.active {
            color: var(--gold-light);
        }

        .site-nav a.active::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 22px;
            height: 2px;
            background: var(--gold);
        }

        .site-nav .nav-cta {
            padding: 14px 20px;
            color: #111;
            background: linear-gradient(#edc34c, #d9a62b);
            border-radius: 3px;
        }

        .menu-toggle {
            display: none;
            border: 0;
            color: var(--white);
            background: transparent;
            font-size: 1.5rem;
        }

        .hero {
            min-height: 585px;
            position: relative;
            overflow: hidden;
            display: grid;
            grid-template-columns: minmax(0, 1fr) 330px;
            align-items: center;
            gap: 50px;
            padding: 48px 12vw 42px;
            background: #091b31;
        }

        .hero-background,
        .hero-overlay {
            position: absolute;
            inset: 0;
            pointer-events: none;
        }

        .hero-background {
            background-image: url("../images/lchs95-hero-composite.webp");
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            z-index: 0;
        }

        .hero-overlay {
            inset: 0;
            z-index: 2;
            background:
                linear-gradient(
                    90deg,
                    rgba(2, 18, 36, .50) 0%,
                    rgba(2, 18, 36, .62) 18%,
                    rgba(2, 18, 36, .78) 38%,
                    rgba(2, 18, 36, .55) 52%,
                    rgba(2, 18, 36, .20) 72%,
                    rgba(2, 18, 36, .08) 100%
                ),
                linear-gradient(
                    180deg,
                    rgba(0, 0, 0, .04),
                    rgba(0, 0, 0, .24)
                );
        }

        .hero-copy,
        .date-card {
            position: relative;
            z-index: 4;
        }

        .hero-kicker {
            max-width: 570px;
            margin: 0 0 5px;
            color: var(--gold-light);
            font-size: 1.55rem;
            font-weight: 700;
            letter-spacing: .16em;
            text-align: center;
            text-transform: uppercase;
        }

        .hero h1 {
            margin: 0;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 800;
            font-size: clamp(4rem, 6vw, 6rem);
            line-height: .95;
            text-transform: uppercase;
            letter-spacing: .01em;
            width: 100%;
            max-width: 570px;
        }

        .hero h1 span {
            display: block;
            width: 100%;
            margin: 8px 0 0;
            color: var(--gold-light);
            font-family: "Knewave", cursive;
            font-size: .68em;
            font-weight: 400;
            line-height: 1;
            letter-spacing: .02em;
            text-align: center;
            transform: rotate(-4deg);
            -webkit-text-stroke: 1.5px var(--gold-light);
        }

        .hero-rule {
            width: 100%;
            max-width: 570px;
            display: flex;
            align-items: center;
            gap: 18px;
            margin: 20px 0;
            color: var(--gold-light);
        }

        .hero-rule span {
            height: 2px;
            flex: 1;
            background: var(--gold);
        }

        .hero-rule i {
            font-size: 2rem;
        }

        .hero h2 {
            margin: 0;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 800;
            font-size: clamp(2rem, 3vw, 3.15rem);
            line-height: 1;
            text-transform: uppercase;
        }

        .hero h2 span {
            display: block;
            margin-top: 6px;
            color: var(--gold-light);
            font-family: "Caveat", cursive;
            font-weight: 400;
            font-size: .95em;
            line-height: 1.05;
            /*transform: rotate(-2deg);*/
        }

        .hero-description {
            max-width: 660px;
            margin: 20px 0 0;
            font-family: "Roboto Condensed", sans-serif;
            font-size: 1.05rem;
            line-height: 1.7;
            color: rgba(255,255,255,.9);
        }

        .hero-actions {
            display: flex;
            gap: 12px;
            margin-top: 24px;
        }

        .button {
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 13px 22px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .03em;
            border-radius: 3px;
        }

        .button-primary {
            background: var(--orange);
            color: var(--white);
        }

        .button-outline {
            border: 1px solid var(--gold);
            color: var(--gold-light);
            background: rgba(0,0,0,.2);
        }

        .date-card {
            padding: 32px 30px;
            border: 1px solid rgba(216,166,43,.55);
            border-radius: 16px;
            background: rgba(0,0,0,.72);
            text-align: center;
            box-shadow: 0 22px 55px rgba(0,0,0,.38);
        }

        .date-card i {
            color: var(--gold-light);
            font-size: 2.2rem;
        }

        .date-card .label {
            margin: 16px 0 2px;
            color: var(--gold-light);
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 700;
            font-size: 1.45rem;
            text-transform: uppercase;
        }

        .date-card h3 {
            margin: 0;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 800;
            font-size: 1.75rem;
            text-transform: uppercase;
        }

        .date-card .location {
            display: block;
            margin: 14px 0 24px;
            font-size: .95rem;
        }

        .date-card .button {
            width: 100%;
            color: #111;
            background: var(--gold-light);
        }

        /*.feature-strip {
            position: relative;
            isolation: isolate;
            overflow: hidden;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            padding: 30px 10vw;
            background:
                linear-gradient(145deg, #0b3159 0%, #072542 46%, #041a31 100%);
            border-top: 1px solid var(--gold);
            border-bottom: 0;
        }

        .feature-strip::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            opacity: .58;
            background-image:
                radial-gradient(ellipse at 8% 18%, rgba(255,255,255,.08) 0 1%, transparent 9%),
                radial-gradient(ellipse at 32% 76%, rgba(255,255,255,.055) 0 2%, transparent 12%),
                radial-gradient(ellipse at 58% 24%, rgba(0,0,0,.20) 0 2%, transparent 13%),
                radial-gradient(ellipse at 81% 70%, rgba(255,255,255,.06) 0 1%, transparent 10%),
                radial-gradient(ellipse at 96% 12%, rgba(0,0,0,.22) 0 2%, transparent 12%),
                repeating-linear-gradient(103deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
                repeating-radial-gradient(circle at 27% 39%, rgba(255,255,255,.028) 0 1px, rgba(0,0,0,.045) 1px 3px, transparent 3px 7px);
            background-size:
                330px 210px,
                410px 260px,
                370px 230px,
                460px 290px,
                390px 250px,
                11px 13px,
                19px 17px;
            background-blend-mode: screen, soft-light, multiply, screen, multiply, overlay, overlay;
            filter: contrast(125%);
        }*/
        
        .feature-strip {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            padding: 30px 10vw;
            position: relative;
            isolation: isolate;
            background: linear-gradient(180deg, #0a2b50, #061d37);
            border-top: 1px solid var(--gold);
            border-bottom: 0;
        }

        .feature-strip::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            opacity: .55;
            mix-blend-mode: soft-light;
            background-image: url("../images/stucco-texture.webp");
            background-size: 600px 600px;
            background-repeat: repeat;
            background-position: center;
        }

        .feature-strip::after {
            content: "";
            position: absolute;
            z-index: 3;
            left: 0;
            right: 0;
            bottom: -7px;
            height: 30px;
            pointer-events: none;
            background-image: url("../images/gold-brush-edge.svg");
            background-repeat: repeat-x;
            background-position: left bottom;
            background-size: 760px 30px;
        }

        .feature-strip article {
            padding: 18px 28px;
            text-align: center;
            border-right: 1px solid rgba(255,255,255,.16);
        }

        .feature-strip article:last-child {
            border-right: 0;
        }

        .feature-strip i {
            color: var(--gold-light);
            font-size: 2.2rem;
        }

        .feature-strip h3 {
            margin: 10px 0 6px;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 700;
            font-size: 1.55rem;
            text-transform: uppercase;
        }

        .feature-strip p {
            margin: 0;
            font-family: "Roboto Condensed", sans-serif;
            color: rgba(255,255,255,.82);
            font-size: .92rem;
            line-height: 1.55;
        }

        .cta-strip {
            position: relative;
            isolation: isolate;
            overflow: hidden;
            min-height: 112px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 55px;
            padding: 24px 10vw;
            color: #071b33;
            background:
                linear-gradient(145deg, #e9bc3e 0%, #d9a52b 52%, #c8911e 100%);
        }

        .cta-strip::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            opacity: .48;
            mix-blend-mode: soft-light;
            background-image: url("../images/stucco-texture.webp");
            background-size: 600px 600px;
            background-repeat: repeat;
            background-position: center 38%;
        }

        .cta-strip i {
            font-size: 3rem;
        }

        .cta-strip h2 {
            margin: 0;
            font-family: "Barlow Condensed", sans-serif;
            font-weight: 800;
            font-size: 1.75rem;
            text-transform: uppercase;
            letter-spacing: .03em;
        }

        .cta-strip h2 span {
            font-family: "Caveat", cursive;
            font-weight: 400;
            font-size: 1.05em;
        }

        .cta-strip .button {
            color: var(--gold-light);
            background: var(--navy);
            margin-left: 20px;
        }
        
        .footer-login-button {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 10px 18px;
            color: var(--gold-light);
            background: transparent;
            border: 1px solid var(--gold);
            border-radius: 3px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.03em;
            transition:
                color 0.2s ease,
                background-color 0.2s ease;
        }

        .footer-login-button:hover,
        .footer-login-button:focus-visible {
            color: var(--navy);
            background: var(--gold-light);
}

        .site-footer {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 24px 10vw;
            color: rgba(255,255,255,.78);
            background: #02152b;
            border-top: 1px solid rgba(216,166,43,.35);
            font-size: .9rem;
        }

        .site-footer a {
            color: var(--gold-light);
            font-weight: 600;
        }

        @media (max-width: 1050px) {
            .site-nav {
                gap: 18px;
                font-size: .95rem;
            }

            .hero {
                grid-template-columns: 1fr;
            }

            .date-card {
                max-width: 430px;
            }
            
            .hero-overlay {
                background:
                    linear-gradient(
                        180deg,
                        rgba(2, 18, 36, .55),
                        rgba(2, 18, 36, .68)
                        );
            }
        }

        @media (max-width: 900px) {
            .site-header {
                height: auto;
                min-height: 82px;
                padding: 12px 20px;
            }

            .menu-toggle {
                display: inline-flex;
                margin-left: auto;
            }

            .site-nav {
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                display: none;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 15px 22px 22px;
                background: #02152b;
            }

            .site-nav.is-open {
                display: flex;
            }

            .site-nav a {
                padding: 12px 0;
            }

            .site-nav a.active::after {
                display: none;
            }

            .hero {
                padding: 55px 24px;
            }

            .hero-background {
                background-position: center;
            }

            .hero-overlay {
                background:
                    linear-gradient(
                        180deg,
                        rgba(2, 18, 36, .55),
                        rgba(2, 18, 36, .68)
                    );
            }

            .feature-strip {
                grid-template-columns: repeat(2, 1fr);
                padding: 25px;
            }

            .feature-strip article:nth-child(2) {
                border-right: 0;
            }

            .feature-strip article:nth-child(-n+2) {
                border-bottom: 1px solid rgba(255,255,255,.16);
            }
        }

        @media (max-width: 640px) {
            .site-brand {
                gap: 9px;
            }

            .brand-logo {
                width: 48px;
                height: 60px;
            }

            .brand-copy {
                padding: 5px 0 5px 10px;
            }

            .brand-copy strong {
                font-size: .98rem;
            }

            .brand-copy span {
                margin-top: 4px;
                font-size: .63rem;
                letter-spacing: .19em;
            }

            .hero h1 {
                font-size: 3.5rem;
            }

            .hero h1 span {
                margin-left: 10px;
            }

            .hero-actions {
                flex-direction: column;
            }

            .feature-strip {
                grid-template-columns: 1fr;
            }

            .feature-strip article {
                border-right: 0;
                border-bottom: 1px solid rgba(255,255,255,.16);
            }

            .feature-strip article:last-child {
                border-bottom: 0;
            }

            .cta-strip {
                flex-direction: column;
                gap: 14px;
                text-align: center;
            }

            .cta-strip .button {
                margin-left: 0;
                width: 100%;
            }
            
            .site-footer {
                flex-direction: column;
                text-align: center;
            }

            .footer-login-button {
                width: 100%;
            }
        }
        /* Tablet and mobile only */
        @media (max-width: 1024px) {
            .hero h1 span {
                font-family: "Caveat Brush", cursive !important;
                font-weight: 400;
            }

            .hero h2 span,
            .cta-strip h2 span {
                font-family: "Caveat", cursive !important;
                font-weight: 400;
            }
        }

        /* Touch tablets in landscape can report a width above 1024px. */
        @media (min-width: 641px) and (max-width: 1366px) and (hover: none) and (pointer: coarse) {
            .hero h1 span {
                font-family: "Caveat Brush", cursive !important;
                font-weight: 400;
            }

            .hero h2 span,
            .cta-strip h2 span {
                font-family: "Caveat", cursive !important;
                font-weight: 400;
            }
        }

        /* Center the single-column hero on tablets held vertically. */
        @media (min-width: 641px) and (max-width: 1050px) and (orientation: portrait) {
            .hero-copy {
                width: 100%;
                max-width: 660px;
                margin-inline: auto;
                text-align: center;
            }

            .hero-kicker,
            .hero h1,
            .hero-rule,
            .hero-description {
                margin-left: auto;
                margin-right: auto;
            }

            .hero-actions {
                justify-content: center;
            }

            .date-card {
                width: 100%;
                margin-inline: auto;
                justify-self: center;
            }
        }

/* Shared public navigation */
.site-header {
    z-index: 1000;
}

.site-nav {
    gap: 18px;
    font-size: 1rem;
}

.site-nav > .nav-link,
.nav-dropdown-toggle {
    position: relative;
    padding: 40px 0 33px;
}

.nav-item {
    position: relative;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.nav-dropdown-toggle {
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: inherit;
    text-transform: inherit;
    cursor: pointer;
}

.nav-dropdown-toggle i {
    margin-left: 5px;
    font-size: .66em;
    transition: transform .2s ease;
}

.nav-item:hover .nav-dropdown-toggle,
.nav-item:focus-within .nav-dropdown-toggle,
.nav-item.active .nav-dropdown-toggle {
    color: var(--gold-light);
}

.nav-item.active .nav-dropdown-toggle::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 22px;
    left: 0;
    height: 2px;
    background: var(--gold);
}

.nav-dropdown {
    position: absolute;
    top: calc(100% - 16px);
    left: 50%;
    z-index: 1100;
    display: none;
    width: max-content;
    min-width: 215px;
    padding: 8px;
    background: #02152b;
    border: 1px solid rgba(216, 166, 43, .45);
    border-radius: 4px;
    box-shadow: 0 16px 35px rgba(0, 0, 0, .35);
    transform: translateX(-50%);
}

.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown,
.nav-item.is-open .nav-dropdown {
    display: block;
}

.site-nav .nav-dropdown a {
    display: block;
    padding: 11px 13px;
    color: rgba(255, 255, 255, .9);
    border-radius: 3px;
    white-space: nowrap;
    text-transform: none;
}

.site-nav .nav-dropdown a:hover,
.site-nav .nav-dropdown a:focus-visible {
    color: #071b33;
    background: var(--gold-light);
}

.site-nav .nav-dropdown a::after {
    display: none;
}

/* Interior public pages */
.interior-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 72px 24px;
    text-align: center;
    background:
        linear-gradient(rgba(2, 18, 36, .82), rgba(2, 18, 36, .9)),
        url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}

.interior-hero-content {
    width: min(850px, 100%);
}

.interior-hero-content > i {
    margin-bottom: 16px;
    color: var(--gold-light);
    font-size: 2.8rem;
}

.interior-kicker,
.section-heading p {
    margin: 0 0 8px;
    color: var(--gold-light);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.interior-hero h1 {
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(3rem, 7vw, 5.5rem);
    font-weight: 800;
    line-height: .98;
    text-transform: uppercase;
}

.interior-hero-content > p:last-of-type {
    max-width: 720px;
    margin: 18px auto 0;
    color: rgba(255, 255, 255, .88);
    font-size: 1.12rem;
    line-height: 1.7;
}

.interior-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 26px;
}

.page-section {
    padding: 70px max(24px, 10vw);
    color: #172435;
    background: #f7f3ea;
}

.content-card {
    padding: 32px;
    background: #fff;
    border: 1px solid rgba(3, 27, 54, .1);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(3, 27, 54, .08);
}

.content-card > i {
    color: var(--gold);
    font-size: 2.25rem;
}

.content-card h2,
.content-card h3,
.section-heading h2 {
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
}

.content-card h2 {
    margin: 14px 0 8px;
    font-size: 2rem;
}

.content-card h3 {
    margin: 12px 0 6px;
    font-size: 1.45rem;
}

.content-card p {
    margin: 0;
    color: #526174;
    line-height: 1.65;
}

.content-card .button {
    margin-top: 22px;
}

.coming-soon-card,
.memorial-intro {
    width: min(760px, 100%);
    margin: 0 auto;
    text-align: center;
}

.section-heading {
    margin-bottom: 30px;
    text-align: center;
}

.section-heading h2 {
    margin: 0;
    color: var(--navy);
    font-size: clamp(2.25rem, 5vw, 3.5rem);
}

.detail-card-grid,
.action-card-grid {
    display: grid;
    gap: 22px;
}

.detail-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.action-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(1000px, 100%);
    margin: 0 auto;
}

.reunion-hero h1 {
    color: var(--gold-light);
}

.memorial-hero {
    background:
        linear-gradient(rgba(2, 18, 36, .86), rgba(2, 18, 36, .94)),
        url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}

.memorial-list-heading {
    margin: 54px 0 26px;
    text-align: center;
}

.memorial-list-heading p {
    margin: 0 0 6px;
    color: #9a7015;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.memorial-list-heading h2 {
    margin: 0;
    color: var(--navy);
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.3rem, 5vw, 3.6rem);
    text-transform: uppercase;
}

.memorial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: min(1120px, 100%);
    margin: 0 auto;
}

.memorial-name-card {
    min-height: 112px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px;
    background: #fff;
    border: 1px solid rgba(216, 166, 43, .28);
    border-left: 4px solid var(--gold);
    border-radius: 6px;
    box-shadow: 0 9px 22px rgba(3, 27, 54, .07);
}

.memorial-name-card i {
    flex: 0 0 auto;
    color: var(--gold);
    font-size: 1.55rem;
}

.memorial-name-card h3 {
    margin: 0;
    color: var(--navy);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.45rem;
    line-height: 1.15;
}

@media (max-width: 1400px) {
    .site-header {
        height: auto;
        min-height: 82px;
        padding: 12px 20px;
    }

    .menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        min-height: 44px;
        margin-left: auto;
        cursor: pointer;
    }

    .site-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100vh - 82px);
        overflow-y: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 14px 22px 22px;
        background: #02152b;
        border-top: 1px solid rgba(216, 166, 43, .35);
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav > .nav-link,
    .site-nav > .nav-cta,
    .nav-dropdown-toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 13px 4px;
        text-align: left;
    }

    .site-nav > .nav-cta {
        justify-content: center;
        margin-top: 10px;
        padding: 14px 20px;
    }

    .nav-item {
        display: block;
    }

    .nav-item.active .nav-dropdown-toggle::after,
    .site-nav a.active::after {
        display: none;
    }

    .nav-item:hover .nav-dropdown,
    .nav-item:focus-within .nav-dropdown {
        display: none;
    }

    .nav-item.is-open .nav-dropdown {
        display: block;
    }

    .nav-item.is-open .nav-dropdown-toggle i {
        transform: rotate(180deg);
    }

    .nav-dropdown {
        position: static;
        width: 100%;
        min-width: 0;
        padding: 3px 0 8px 14px;
        background: rgba(255, 255, 255, .04);
        border: 0;
        border-left: 2px solid var(--gold);
        border-radius: 0;
        box-shadow: none;
        transform: none;
    }

    .site-nav .nav-dropdown a {
        padding: 11px 12px;
        white-space: normal;
    }
}

@media (max-width: 800px) {
    .detail-card-grid,
    .action-card-grid {
        grid-template-columns: 1fr;
    }

    .interior-actions {
        flex-direction: column;
    }

    .interior-actions .button {
        width: 100%;
    }

    .memorial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .memorial-grid {
        grid-template-columns: 1fr;
    }
}

/* Final In Memoriam page */
.memorial-page { overflow: hidden; color: #172435; background: #f4efe4; }

.memorial-final-hero {
    position: relative; isolation: isolate; min-height: 460px;
    display: flex; align-items: center; padding: 88px max(24px, 11vw);
    background: url("../images/lchs95-hero-composite.jpg") center 48% / cover no-repeat;
}
.memorial-final-hero-shade {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(1,14,29,.97) 0%, rgba(2,18,36,.91) 36%, rgba(2,18,36,.63) 67%, rgba(2,18,36,.74) 100%), linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.35));
}
.memorial-final-hero-content { width: min(720px, 100%); color: #fff; }
.memorial-eyebrow, .memorial-section-label, .memorial-roll-header > p {
    margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
.memorial-final-hero h1 {
    margin: 12px 0 18px; font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(4.4rem, 9vw, 7.5rem); font-weight: 800;
    letter-spacing: .015em; line-height: .88; text-transform: uppercase;
}
.memorial-title-rule { width: min(480px, 100%); display: flex; align-items: center; gap: 16px; color: var(--gold-light); }
.memorial-title-rule span { height: 1px; flex: 1; background: rgba(240,195,77,.72); }
.memorial-title-rule i { font-size: 1rem; }
.memorial-hero-lead { max-width: 620px; margin: 24px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.1rem, 2vw, 1.28rem); line-height: 1.65; }

.memorial-tribute {
    width: min(1180px, calc(100% - 48px)); display: grid;
    grid-template-columns: minmax(0, 1fr) auto; align-items: center;
    gap: clamp(40px, 8vw, 110px); margin: 0 auto; padding: 82px 0 72px;
}
.memorial-section-label { color: #936a11; }
.memorial-tribute-copy h2 {
    margin: 8px 0 20px; color: var(--navy); font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.7rem, 5vw, 4.5rem); font-weight: 800; line-height: .98; text-transform: uppercase;
}
.memorial-tribute-copy > p:last-child { max-width: 760px; margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }
.memorial-count { min-width: 205px; display: flex; align-items: center; gap: 18px; padding: 22px 0 22px 28px; border-left: 1px solid rgba(147,106,17,.45); }
.memorial-count strong { color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: 4.8rem; font-weight: 800; line-height: .8; }
.memorial-count span { color: #72551b; font-family: "Barlow Condensed", sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: .08em; line-height: 1.15; text-transform: uppercase; }

.memorial-roll-section { padding: 0 max(24px, 8vw) 82px; }
.memorial-roll {
    position: relative; isolation: isolate; width: min(1260px, 100%); margin: 0 auto;
    padding: clamp(48px, 7vw, 82px); color: #fff;
    background: linear-gradient(145deg, #082c50 0%, #031b36 52%, #021326 100%);
    border: 1px solid rgba(216,166,43,.52); box-shadow: 0 26px 70px rgba(3,27,54,.2);
}
.memorial-roll::before { content: ""; position: absolute; inset: 10px; z-index: -1; pointer-events: none; border: 1px solid rgba(240,195,77,.16); }
.memorial-roll-header { margin-bottom: 44px; text-align: center; }
.memorial-roll-header h2 { margin: 8px 0 22px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.8rem, 6vw, 4.6rem); font-weight: 800; line-height: 1; text-transform: uppercase; }
.memorial-roll-line { width: 76px; height: 2px; display: block; margin: 0 auto; background: var(--gold); }
.memorial-name-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(30px, 5vw, 70px); }
.memorial-entry { min-height: 78px; display: flex; align-items: center; gap: 15px; padding: 18px 4px; border-bottom: 1px solid rgba(255,255,255,.14); }
.memorial-entry-mark { width: 7px; height: 7px; flex: 0 0 auto; background: var(--gold-light); transform: rotate(45deg); }
.memorial-entry h3 { margin: 0; color: rgba(255,255,255,.94); font-family: "Barlow Condensed", sans-serif; font-size: clamp(1.25rem, 2vw, 1.55rem); font-weight: 600; letter-spacing: .025em; line-height: 1.15; }
.memorial-roll-footer { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 54px; color: var(--gold-light); }
.memorial-roll-footer i { font-size: 1.25rem; }
.memorial-roll-footer p { margin: 0; font-family: "Caveat", cursive; font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 400; }

.memorial-closing { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 0 24px 82px; text-align: center; }
.memorial-closing span { width: min(120px, 12vw); height: 1px; background: rgba(147,106,17,.42); }
.memorial-closing p { max-width: 650px; margin: 0; color: #4c5969; font-size: 1.05rem; font-style: italic; line-height: 1.6; }

@media (max-width: 900px) {
    .memorial-final-hero { min-height: 410px; padding: 70px 38px; background-position: 42% center; }
    .memorial-final-hero-shade { background: rgba(2,18,36,.76); }
    .memorial-final-hero-content { margin: 0 auto; text-align: center; }
    .memorial-title-rule, .memorial-hero-lead { margin-inline: auto; }
    .memorial-tribute { grid-template-columns: 1fr; gap: 34px; padding: 64px 0 58px; }
    .memorial-count { width: max-content; min-width: 0; padding: 0 0 0 24px; }
    .memorial-name-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .memorial-final-hero { min-height: 360px; padding: 58px 24px; }
    .memorial-final-hero h1 { font-size: clamp(3.65rem, 18vw, 5.2rem); }
    .memorial-tribute { width: min(calc(100% - 36px), 1180px); padding: 52px 0 48px; }
    .memorial-tribute-copy h2 { font-size: 2.65rem; }
    .memorial-count strong { font-size: 4rem; }
    .memorial-roll-section { padding: 0 16px 58px; }
    .memorial-roll { padding: 48px 28px; }
    .memorial-name-list { grid-template-columns: 1fr; }
    .memorial-entry { min-height: 68px; }
    .memorial-roll-footer { margin-top: 40px; }
    .memorial-closing { gap: 14px; padding-bottom: 58px; }
}

/* Final About the Class page */
.about-class-page { overflow: hidden; color: #172435; background: #f4efe4; }
.about-class-hero {
    position: relative; isolation: isolate; min-height: 570px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 88px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.about-class-hero-shade {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(1,14,29,.98) 0%, rgba(2,18,36,.91) 40%, rgba(2,18,36,.45) 72%, rgba(2,18,36,.68) 100%);
}
.about-class-hero-content { width: min(720px, 100%); }
.about-class-eyebrow, .about-class-label {
    margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
.about-class-hero h1 {
    margin: 12px 0 26px; font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(5rem, 10vw, 8.4rem); font-weight: 800;
    letter-spacing: .01em; line-height: .76; text-transform: uppercase;
}
.about-class-hero h1 span { color: var(--gold-light); font-size: .68em; }
.about-class-hero-lead { max-width: 640px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.15rem, 2vw, 1.35rem); line-height: 1.65; }
.about-class-year {
    width: 230px; height: 230px; flex: 0 0 auto; display: grid; place-content: center;
    text-align: center; border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.18); outline-offset: -12px; background: rgba(1,14,29,.72); transform: rotate(3deg);
}
.about-class-year span { color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.about-class-year strong { display: block; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: 4.3rem; line-height: 1; }

.about-class-intro {
    width: min(1180px, calc(100% - 48px)); display: grid;
    grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 8vw, 110px);
    margin: 0 auto; padding: 90px 0;
}
.about-class-intro-heading { padding-right: 35px; border-right: 1px solid rgba(147,106,17,.35); }
.about-class-label { color: #936a11; }
.about-class-intro h2, .about-class-connection h2, .about-class-purpose h2, .about-class-cta h2 {
    margin: 9px 0 0; color: var(--navy); font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4.5rem); font-weight: 800; line-height: .95; text-transform: uppercase;
}
.about-class-intro-copy p { margin: 0 0 20px; color: #465568; font-size: 1.1rem; line-height: 1.8; }
.about-class-intro-copy p:last-child { margin-bottom: 0; }

.about-class-connection { position: relative; padding: 86px max(24px, 10vw) 94px; color: #fff; background: linear-gradient(145deg, #082c50, #031b36 56%, #021326); }
.about-class-connection-line { position: absolute; top: 0; left: 50%; width: 1px; height: 54px; background: var(--gold); }
.about-class-connection-heading { text-align: center; }
.about-class-connection .about-class-label { color: var(--gold-light); }
.about-class-connection h2 { color: #fff; }
.about-class-journey { width: min(1180px, 100%); display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 58px auto 0; }
.about-class-journey article { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 10px 34px 10px 0; }
.about-class-journey article + article { padding-left: 34px; border-left: 1px solid rgba(255,255,255,.17); }
.about-class-step { color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; }
.about-class-journey h3 { margin: 0 0 10px; font-family: "Barlow Condensed", sans-serif; font-size: 1.65rem; text-transform: uppercase; }
.about-class-journey p { margin: 0; color: rgba(255,255,255,.76); line-height: 1.68; }

.about-class-purpose {
    width: min(1180px, calc(100% - 48px)); display: grid;
    grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(50px, 9vw, 120px);
    margin: 0 auto; padding: 94px 0;
}
.about-class-purpose-copy > p:last-child { margin: 24px 0 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }
.about-class-purpose-words { display: grid; }
.about-class-purpose-words span { padding: 17px 0; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; text-transform: uppercase; border-bottom: 1px solid rgba(3,27,54,.16); }
.about-class-purpose-words span::before { content: "+"; display: inline-block; margin-right: 18px; color: var(--gold); }

.about-class-cta {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
    gap: 32px; padding: 38px max(24px, 10vw); color: var(--navy);
    background: linear-gradient(145deg, #edc34c, #d8a62b);
}
.about-class-cta > i { font-size: 3rem; }
.about-class-cta .about-class-label { color: #634807; }
.about-class-cta h2 { margin-top: 4px; font-size: clamp(2rem, 4vw, 3rem); }
.about-class-cta p:last-child { margin: 8px 0 0; color: #253448; line-height: 1.55; }
.about-class-cta .button { min-width: 180px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .about-class-hero { min-height: 520px; justify-content: center; padding: 72px 38px; text-align: center; }
    .about-class-hero-shade { background: rgba(2,18,36,.72); }
    .about-class-year { display: none; }
    .about-class-intro { grid-template-columns: 1fr; gap: 35px; padding: 70px 0; }
    .about-class-intro-heading { padding: 0; border: 0; }
    .about-class-journey { grid-template-columns: 1fr; gap: 28px; }
    .about-class-journey article, .about-class-journey article + article { padding: 0; border: 0; }
    .about-class-purpose { grid-template-columns: 1fr; gap: 42px; padding: 72px 0; }
    .about-class-cta { grid-template-columns: auto 1fr; }
    .about-class-cta .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .about-class-hero { min-height: 430px; padding: 62px 24px; }
    .about-class-hero h1 { font-size: clamp(4.2rem, 22vw, 6.2rem); }
    .about-class-intro, .about-class-purpose { width: min(calc(100% - 36px), 1180px); }
    .about-class-connection { padding: 76px 22px 72px; }
    .about-class-journey article { grid-template-columns: 1fr; gap: 8px; }
    .about-class-cta { grid-template-columns: 1fr; gap: 18px; text-align: center; }
    .about-class-cta > i { margin: 0 auto; }
    .about-class-cta .button { grid-column: auto; }
}

/* About page spirit-stick story */
.about-spirit-story {
    width: min(1180px, calc(100% - 48px));
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    align-items: center;
    gap: clamp(45px, 8vw, 100px);
    margin: 0 auto;
    padding: 0 0 94px;
}

.about-spirit-year {
    min-height: 300px;
    display: grid;
    place-content: center;
    padding: 35px;
    color: #ffffff;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            rgba(8, 44, 80, 0.98),
            rgba(3, 27, 54, 0.98)
        );
    border: 1px solid rgba(216, 166, 43, 0.65);
    outline: 1px solid rgba(240, 195, 77, 0.18);
    outline-offset: -12px;
    box-shadow: 0 22px 55px rgba(3, 27, 54, 0.18);
    transform: rotate(-2deg);
}

.about-spirit-year span {
    color: var(--gold-light);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.about-spirit-year strong {
    display: block;
    margin-top: 8px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 5.5rem;
    font-weight: 800;
    line-height: 0.9;
}

.about-spirit-copy h2 {
    margin: 9px 0 24px;
    color: var(--navy);
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 0.95;
    text-transform: uppercase;
}

.about-spirit-copy > p {
    margin: 0 0 18px;
    color: #465568;
    font-size: 1.08rem;
    line-height: 1.8;
}

.about-spirit-note {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    margin-top: 12px;
    padding: 14px 18px;
    color: var(--navy);
    background: rgba(216, 166, 43, 0.15);
    border-left: 3px solid var(--gold);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.about-spirit-note i {
    color: #936a11;
}

@media (max-width: 800px) {
    .about-spirit-story {
        grid-template-columns: 1fr;
        gap: 42px;
        padding-bottom: 72px;
    }

    .about-spirit-year {
        width: min(300px, 100%);
        min-height: 250px;
        margin: 0 auto;
    }
}

@media (max-width: 600px) {
    .about-spirit-story {
        width: min(calc(100% - 36px), 1180px);
    }

    .about-spirit-copy h2 {
        font-size: 2.65rem;
    }
}

/* Balance About hero text on iPad */
@media (min-width: 601px) and (max-width: 900px) {
    .about-class-hero-lead {
        width: min(560px, 100%);
        margin-right: auto;
        margin-left: auto;
        text-align: center;
        text-wrap: balance;
    }
}

/* WEB-020: consistent panther visibility across public hero sections. */
.hero-background {
    background-position: center center;
}

.hero-overlay {
    background:
        linear-gradient(90deg,
            rgba(2, 18, 36, .62) 0%,
            rgba(2, 18, 36, .52) 34%,
            rgba(2, 18, 36, .28) 66%,
            rgba(2, 18, 36, .12) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .16));
}

.interior-hero,
.about-class-hero,
.business-spotlight-hero,
.committee-hero,
.contact-hero,
.faq-hero,
.future-events-hero,
.homecoming-hero,
.memorial-final-hero,
.past-events-hero,
.public-donate-hero,
.public-fundraisers-hero,
.public-gallery-hero,
.public-volunteer-hero,
.update-information-hero {
    background-image: url("../images/lchs95-hero-composite.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.about-class-hero-shade,
.business-spotlight-hero-shade,
.committee-hero-shade,
.contact-hero-shade,
.faq-hero-shade,
.future-events-hero-shade,
.homecoming-hero-shade,
.memorial-final-hero-shade,
.past-events-hero-shade {
    background:
        linear-gradient(90deg,
            rgba(2, 18, 36, .76) 0%,
            rgba(2, 18, 36, .62) 39%,
            rgba(2, 18, 36, .26) 70%,
            rgba(2, 18, 36, .14) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .15));
}

.public-donate-hero::before,
.public-fundraisers-hero::before,
.public-gallery-hero::before,
.public-volunteer-hero::before,
.update-information-hero::before {
    background:
        linear-gradient(90deg,
            rgba(2, 18, 36, .76) 0%,
            rgba(2, 18, 36, .62) 39%,
            rgba(2, 18, 36, .26) 70%,
            rgba(2, 18, 36, .14) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .15));
}

.hero-copy,
.interior-hero-content,
.about-class-hero-content,
.business-spotlight-hero-content,
.committee-hero-content,
.contact-hero-content,
.faq-hero-content,
.future-events-hero-content,
.homecoming-hero-content,
.memorial-final-hero-content,
.past-events-hero-content,
.public-donate-hero-content,
.public-fundraisers-hero-content,
.public-gallery-hero-content,
.public-volunteer-hero-content,
.update-information-hero-content {
    text-shadow: 0 2px 12px rgba(0, 0, 0, .72);
}

@media (max-width: 1050px) {
    .hero-background,
    .interior-hero,
    .about-class-hero,
    .business-spotlight-hero,
    .committee-hero,
    .contact-hero,
    .faq-hero,
    .future-events-hero,
    .homecoming-hero,
    .memorial-final-hero,
    .past-events-hero,
    .public-donate-hero,
    .public-fundraisers-hero,
    .public-gallery-hero,
    .public-volunteer-hero,
    .update-information-hero {
        background-position: 18% center;
    }

    .hero-overlay,
    .about-class-hero-shade,
    .business-spotlight-hero-shade,
    .committee-hero-shade,
    .contact-hero-shade,
    .faq-hero-shade,
    .future-events-hero-shade,
    .homecoming-hero-shade,
    .memorial-final-hero-shade,
    .past-events-hero-shade,
    .public-donate-hero::before,
    .public-fundraisers-hero::before,
    .public-gallery-hero::before,
    .public-volunteer-hero::before,
    .update-information-hero::before {
        background: rgba(2, 18, 36, .50);
    }
}

@media (max-width: 600px) {
    .hero-background,
    .interior-hero,
    .about-class-hero,
    .business-spotlight-hero,
    .committee-hero,
    .contact-hero,
    .faq-hero,
    .future-events-hero,
    .homecoming-hero,
    .memorial-final-hero,
    .past-events-hero,
    .public-donate-hero,
    .public-fundraisers-hero,
    .public-gallery-hero,
    .public-volunteer-hero,
    .update-information-hero {
        background-position: 9% center;
    }

    .hero-overlay,
    .about-class-hero-shade,
    .business-spotlight-hero-shade,
    .committee-hero-shade,
    .contact-hero-shade,
    .faq-hero-shade,
    .future-events-hero-shade,
    .homecoming-hero-shade,
    .memorial-final-hero-shade,
    .past-events-hero-shade,
    .public-donate-hero::before,
    .public-fundraisers-hero::before,
    .public-gallery-hero::before,
    .public-volunteer-hero::before,
    .update-information-hero::before {
        background: rgba(2, 18, 36, .46);
    }
}

/* Final Business Spotlight page */
.business-spotlight-page {
    background: #f4f0e5;
    color: #031b35;
}

.business-spotlight-hero {
    position: relative;
    min-height: 470px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
    align-items: center;
    gap: 60px;
    padding: 76px max(7vw, 40px);
    overflow: hidden;
    isolation: isolate;
    background-image: url('../images/lchs95-hero-background.jpg');
    background-position: center 48%;
    background-size: cover;
    border-bottom: 1px solid rgba(224, 170, 29, .72);
}

.business-spotlight-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0, 20, 42, .95) 0%, rgba(0, 20, 42, .84) 48%, rgba(0, 20, 42, .52) 100%),
        linear-gradient(0deg, rgba(0, 15, 32, .32), rgba(0, 15, 32, .12));
}

.business-spotlight-hero-content {
    max-width: 760px;
}

.business-spotlight-eyebrow,
.business-spotlight-label {
    margin: 0 0 14px;
    color: #dca91f;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.35;
    text-transform: uppercase;
}

.business-spotlight-hero h1 {
    margin: 0;
    color: #fff;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    font-size: clamp(4.4rem, 7.3vw, 7.5rem);
    font-weight: 800;
    letter-spacing: .015em;
    line-height: .88;
    text-transform: uppercase;
}

.business-spotlight-hero h1 span {
    color: #f1bd36;
}

.business-spotlight-hero-lead {
    max-width: 700px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(1.05rem, 1.5vw, 1.28rem);
    line-height: 1.75;
}

.business-spotlight-hero-mark {
    justify-self: end;
    width: min(100%, 330px);
    padding: 42px 30px;
    border: 1px solid rgba(220, 169, 31, .62);
    background: rgba(0, 17, 36, .72);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .3);
    color: #fff;
    text-align: center;
    transform: rotate(2deg);
}

.business-spotlight-hero-mark i {
    display: block;
    margin-bottom: 20px;
    color: #f1bd36;
    font-size: 3.4rem;
}

.business-spotlight-hero-mark span,
.business-spotlight-hero-mark strong {
    display: block;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    text-transform: uppercase;
}

.business-spotlight-hero-mark span {
    color: #f1bd36;
    font-size: 1rem;
    letter-spacing: .22em;
}

.business-spotlight-hero-mark strong {
    margin-top: 4px;
    font-size: 2rem;
    letter-spacing: .04em;
}

.business-spotlight-intro,
.business-spotlight-details,
.business-spotlight-guidelines {
    width: min(calc(100% - 64px), 1160px);
    margin-inline: auto;
}

.business-spotlight-intro {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    padding: 88px 0 76px;
}

.business-spotlight-intro h2,
.business-spotlight-status h2,
.business-spotlight-details h2,
.business-spotlight-guidelines h2,
.business-spotlight-cta h2 {
    margin: 0;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
}

.business-spotlight-intro h2 {
    max-width: 470px;
    font-size: clamp(2.5rem, 4.3vw, 4.5rem);
}

.business-spotlight-intro-copy {
    padding-top: 22px;
    border-top: 3px solid #dca91f;
}

.business-spotlight-intro-copy p,
.business-spotlight-status-copy p,
.business-spotlight-details-heading > p:last-child,
.business-spotlight-guidelines li,
.business-spotlight-cta p {
    font-size: 1.06rem;
    line-height: 1.8;
}

.business-spotlight-intro-copy p {
    margin: 0 0 18px;
}

.business-spotlight-status {
    width: min(calc(100% - 64px), 1050px);
    margin: 0 auto 92px;
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: stretch;
    background: #fff;
    border-left: 5px solid #dca91f;
    box-shadow: 0 18px 50px rgba(2, 27, 52, .1);
}

.business-spotlight-status-icon {
    display: grid;
    place-items: center;
    min-height: 230px;
    color: #f1bd36;
    background: #031b35;
    font-size: 4.5rem;
}

.business-spotlight-status-copy {
    padding: 46px 52px;
}

.business-spotlight-status h2 {
    font-size: clamp(2rem, 3.4vw, 3.35rem);
}

.business-spotlight-status-copy p:last-child {
    max-width: 760px;
    margin: 18px 0 0;
    color: #536172;
}

.business-spotlight-details {
    padding-bottom: 94px;
}

.business-spotlight-details-heading {
    max-width: 720px;
    margin: 0 auto 45px;
    text-align: center;
}

.business-spotlight-details h2 {
    font-size: clamp(2.7rem, 4.6vw, 4.5rem);
}

.business-spotlight-details-heading > p:last-child {
    margin: 17px 0 0;
    color: #5e6875;
}

.business-spotlight-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.business-spotlight-detail-list article {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 22px;
    min-height: 170px;
    padding: 32px;
    background: #fff;
    border-bottom: 4px solid #dca91f;
    box-shadow: 0 12px 34px rgba(2, 27, 52, .07);
}

.business-spotlight-detail-list article > span {
    color: #dca91f;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
}

.business-spotlight-detail-list h3 {
    margin: 0 0 10px;
    font-family: var(--public-heading-font, 'Oswald', sans-serif);
    font-size: 1.45rem;
    text-transform: uppercase;
}

.business-spotlight-detail-list p {
    margin: 0;
    color: #626c78;
    line-height: 1.7;
}

.business-spotlight-guidelines {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
    margin-bottom: 92px;
    padding: 52px;
    color: #fff;
    background: #031b35;
    border-top: 5px solid #dca91f;
}

.business-spotlight-guidelines-heading {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    align-items: start;
}

.business-spotlight-guidelines-heading > i {
    color: #f1bd36;
    font-size: 2.7rem;
}

.business-spotlight-guidelines h2 {
    color: #fff;
    font-size: clamp(2rem, 3vw, 3rem);
}

.business-spotlight-guidelines ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.business-spotlight-guidelines li {
    position: relative;
    padding: 0 0 13px 28px;
    color: rgba(255, 255, 255, .82);
}

.business-spotlight-guidelines li::before {
    content: '\f058';
    position: absolute;
    top: 2px;
    left: 0;
    color: #f1bd36;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
}

.business-spotlight-cta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
    padding: 52px max(7vw, 40px);
    color: #031b35;
    background: #f1bd36;
}

.business-spotlight-cta > i {
    font-size: 3.4rem;
}

.business-spotlight-cta .business-spotlight-label {
    color: #6e4b00;
}

.business-spotlight-cta h2 {
    font-size: clamp(2rem, 3.2vw, 3.4rem);
}

.business-spotlight-cta p {
    max-width: 720px;
    margin: 9px 0 0;
}

.business-spotlight-cta .button {
    white-space: nowrap;
    color: #fff;
    background: #031b35;
    border-color: #031b35;
}

@media (max-width: 960px) {
    .business-spotlight-hero {
        min-height: 560px;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 38px;
        padding: 64px 40px;
        text-align: center;
    }

    .business-spotlight-hero-shade {
        background: rgba(0, 20, 42, .74);
    }

    .business-spotlight-hero-mark {
        justify-self: center;
        width: min(100%, 300px);
        padding: 27px;
        transform: none;
    }

    .business-spotlight-hero-mark i {
        margin-bottom: 12px;
        font-size: 2.5rem;
    }

    .business-spotlight-intro,
    .business-spotlight-guidelines {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .business-spotlight-intro {
        text-align: center;
    }

    .business-spotlight-intro h2 {
        margin-inline: auto;
    }

    .business-spotlight-status {
        grid-template-columns: 135px 1fr;
    }

    .business-spotlight-detail-list {
        grid-template-columns: 1fr;
    }

    .business-spotlight-cta {
        grid-template-columns: auto 1fr;
    }

    .business-spotlight-cta .button {
        grid-column: 1 / -1;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .business-spotlight-hero {
        min-height: 515px;
        padding: 54px 24px;
    }

    .business-spotlight-hero h1 {
        font-size: clamp(3.7rem, 20vw, 5.2rem);
    }

    .business-spotlight-hero-mark {
        display: none;
    }

    .business-spotlight-intro,
    .business-spotlight-details,
    .business-spotlight-guidelines,
    .business-spotlight-status {
        width: min(calc(100% - 36px), 1160px);
    }

    .business-spotlight-intro {
        padding: 64px 0 54px;
    }

    .business-spotlight-intro-copy {
        padding-top: 20px;
    }

    .business-spotlight-status {
        grid-template-columns: 1fr;
        margin-bottom: 68px;
    }

    .business-spotlight-status-icon {
        min-height: 120px;
        font-size: 3rem;
    }

    .business-spotlight-status-copy,
    .business-spotlight-guidelines {
        padding: 32px 25px;
    }

    .business-spotlight-details {
        padding-bottom: 68px;
    }

    .business-spotlight-detail-list article {
        grid-template-columns: 1fr;
        gap: 12px;
        min-height: 0;
        padding: 27px 24px;
    }

    .business-spotlight-guidelines-heading {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .business-spotlight-cta {
        grid-template-columns: 1fr;
        padding: 44px 24px;
        text-align: center;
    }

    .business-spotlight-cta > i {
        margin: 0 auto;
    }

    .business-spotlight-cta .button {
        grid-column: auto;
    }
}

/* Final Committee page */
.committee-page { overflow: hidden; color: #172435; background: #f4efe4; }
.committee-hero {
    position: relative; isolation: isolate; min-height: 540px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 86px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.committee-hero-shade {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(90deg, rgba(1,14,29,.98) 0%, rgba(2,18,36,.92) 42%, rgba(2,18,36,.48) 72%, rgba(2,18,36,.72) 100%);
}
.committee-hero-content { width: min(720px, 100%); }
.committee-eyebrow, .committee-label {
    margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif;
    font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
}
.committee-hero h1 {
    margin: 12px 0 25px; font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(4.8rem, 9vw, 7.7rem); font-weight: 800;
    line-height: .78; letter-spacing: .01em; text-transform: uppercase;
}
.committee-hero h1 span { color: var(--gold-light); font-size: .73em; }
.committee-hero-lead { max-width: 650px; margin: 0; color: rgba(255,255,255,.87); font-size: clamp(1.12rem, 2vw, 1.3rem); line-height: 1.65; }
.committee-hero-statement {
    width: 250px; min-height: 250px; flex: 0 0 auto; display: grid;
    place-content: center; padding: 34px; text-align: center;
    color: #fff; background: rgba(1,14,29,.74);
    border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px;
}
.committee-hero-statement i { margin-bottom: 20px; color: var(--gold-light); font-size: 2.3rem; }
.committee-hero-statement span, .committee-hero-statement strong { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.committee-hero-statement span { color: var(--gold-light); font-size: 1rem; font-weight: 700; letter-spacing: .16em; }
.committee-hero-statement strong { margin-top: 5px; font-size: 1.8rem; line-height: 1; }

.committee-intro {
    width: min(1180px, calc(100% - 48px)); display: grid;
    grid-template-columns: .8fr 1.2fr; gap: clamp(45px, 8vw, 110px);
    margin: 0 auto; padding: 90px 0;
}
.committee-intro-heading { padding-right: 35px; border-right: 1px solid rgba(147,106,17,.35); }
.committee-label { color: #936a11; }
.committee-intro h2, .committee-roster h2, .committee-work h2, .committee-contact h2 {
    margin: 9px 0 0; color: var(--navy); font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.8rem, 5vw, 4.4rem); font-weight: 800; line-height: .96; text-transform: uppercase;
}
.committee-intro-copy p { margin: 0 0 20px; color: #465568; font-size: 1.09rem; line-height: 1.8; }
.committee-intro-copy p:last-child { margin-bottom: 0; }

.committee-roster-section { padding: 0 max(24px, 8vw) 90px; }
.committee-roster {
    width: min(1260px, 100%); margin: 0 auto; padding: clamp(48px, 7vw, 76px);
    color: #fff; background: linear-gradient(145deg, #082c50 0%, #031b36 55%, #021326 100%);
    border: 1px solid rgba(216,166,43,.52); box-shadow: 0 25px 65px rgba(3,27,54,.18);
}
.committee-roster-header { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 45px; }
.committee-roster .committee-label { color: var(--gold-light); }
.committee-roster h2 { color: #fff; }
.committee-roster-intro { max-width: 340px; margin: 0; color: rgba(255,255,255,.68); line-height: 1.55; text-align: right; }
.committee-member-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(35px, 7vw, 95px); }
.committee-member { min-height: 112px; display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.committee-member-initials {
    width: 58px; height: 58px; flex: 0 0 auto; display: grid; place-items: center;
    color: var(--gold-light); border: 1px solid rgba(240,195,77,.62);
    font-family: "Barlow Condensed", sans-serif; font-size: 1.25rem; font-weight: 700;
}
.committee-member h3 { margin: 0 0 4px; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: 1.65rem; font-weight: 700; }
.committee-member p { margin: 0; color: rgba(255,255,255,.58); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.committee-roster-note { margin: 38px 0 0; color: rgba(255,255,255,.57); font-size: .92rem; font-style: italic; text-align: center; }

.committee-work {
    width: min(1180px, calc(100% - 48px)); display: grid;
    grid-template-columns: .75fr 1.25fr; gap: clamp(45px, 8vw, 105px);
    margin: 0 auto; padding: 0 0 92px;
}
.committee-work-list { display: grid; }
.committee-work-list article { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid rgba(3,27,54,.16); }
.committee-work-list article > span { color: #936a11; font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.committee-work-list h3 { margin: 0 0 5px; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: 1.55rem; text-transform: uppercase; }
.committee-work-list p { margin: 0; color: #526174; line-height: 1.55; }

.committee-contact {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
    gap: 32px; padding: 38px max(24px, 10vw); color: var(--navy);
    background: linear-gradient(145deg, #edc34c, #d8a62b);
}
.committee-contact > i { font-size: 3rem; }
.committee-contact .committee-label { color: #634807; }
.committee-contact h2 { margin-top: 4px; font-size: clamp(2rem, 4vw, 3rem); }
.committee-contact p:last-child { margin: 8px 0 0; color: #253448; line-height: 1.55; }
.committee-contact .button { min-width: 170px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .committee-hero { min-height: 500px; justify-content: center; padding: 70px 38px; text-align: center; }
    .committee-hero-shade { background: rgba(2,18,36,.72); }
    .committee-hero-statement { display: none; }
    .committee-hero-content { margin: 0 auto; }
    .committee-hero-lead { width: min(590px, 100%); margin-inline: auto; text-wrap: balance; }
    .committee-intro, .committee-work { grid-template-columns: 1fr; gap: 35px; }
    .committee-intro { padding: 70px 0; }
    .committee-intro-heading { padding: 0; border: 0; }
    .committee-work { padding-bottom: 72px; }
    .committee-roster-header { align-items: start; flex-direction: column; }
    .committee-roster-intro { text-align: left; }
    .committee-contact { grid-template-columns: auto 1fr; }
    .committee-contact .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .committee-hero { min-height: 430px; padding: 60px 24px; }
    .committee-hero h1 { font-size: clamp(4rem, 20vw, 5.8rem); }
    .committee-intro, .committee-work { width: min(calc(100% - 36px), 1180px); }
    .committee-roster-section { padding: 0 16px 60px; }
    .committee-roster { padding: 45px 26px; }
    .committee-member-list { grid-template-columns: 1fr; }
    .committee-member { min-height: 96px; }
    .committee-contact { grid-template-columns: 1fr; gap: 18px; text-align: center; }
    .committee-contact > i { margin: 0 auto; }
    .committee-contact .button { grid-column: auto; }
}

/* Final Future Events page */
.future-events-page, .past-events-page { overflow: hidden; color: #172435; background: #f4efe4; }
.future-events-hero, .past-events-hero {
    position: relative; isolation: isolate; min-height: 540px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 86px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.future-events-hero-shade, .past-events-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1,14,29,.98), rgba(2,18,36,.91) 43%, rgba(2,18,36,.43) 73%, rgba(2,18,36,.69)); }
.future-events-hero-content, .past-events-hero-content { width: min(790px, 100%); }
.future-events-eyebrow, .future-events-label, .past-events-eyebrow, .past-events-label { margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.future-events-hero h1, .past-events-hero h1 { margin: 12px 0 26px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.2rem, 8vw, 7rem); font-weight: 800; line-height: .8; text-transform: uppercase; }
.future-events-hero h1 span, .past-events-hero h1 span { color: var(--gold-light); font-size: .7em; }
.future-events-hero-lead, .past-events-hero-lead { max-width: 680px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.15rem, 2vw, 1.32rem); line-height: 1.65; }
.future-events-hero-mark, .past-events-hero-mark { width: 235px; min-height: 245px; flex: 0 0 auto; display: grid; place-content: center; text-align: center; color: #fff; background: rgba(1,14,29,.76); border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px; transform: rotate(3deg); }
.future-events-hero-mark i, .past-events-hero-mark i { margin-bottom: 15px; color: var(--gold-light); font-size: 2.5rem; }
.future-events-hero-mark span, .future-events-hero-mark strong, .past-events-hero-mark span, .past-events-hero-mark strong { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.future-events-hero-mark span, .past-events-hero-mark span { color: var(--gold-light); font-weight: 700; letter-spacing: .17em; }
.future-events-hero-mark strong, .past-events-hero-mark strong { font-size: 2.6rem; line-height: .95; }

.future-featured { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 290px minmax(0,1fr); align-items: center; gap: clamp(45px,8vw,100px); margin: 0 auto; padding: 92px 0; }
.future-featured-date { min-height: 290px; display: grid; place-content: center; text-align: center; color: #fff; background: var(--navy); border: 1px solid rgba(216,166,43,.58); box-shadow: 0 22px 55px rgba(3,27,54,.17); }
.future-featured-date span, .future-featured-date small { color: var(--gold-light); font-family: "Barlow Condensed",sans-serif; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.future-featured-date strong { display: block; font-family: "Barlow Condensed",sans-serif; font-size: 4.3rem; line-height: .9; }
.future-featured-date small { margin-top: 8px; font-size: 1.1rem; }
.future-events-label, .past-events-label { color: #936a11; }
.future-featured h2, .future-homecoming h2, .future-announcements h2, .future-events-cta h2, .past-archive-intro h2, .past-archive-status h2, .past-contribute h2, .past-events-cta h2 { margin: 9px 0 22px; color: var(--navy); font-family: "Barlow Condensed",sans-serif; font-size: clamp(2.8rem,5vw,4.4rem); font-weight: 800; line-height: .96; text-transform: uppercase; }
.future-featured-copy > p:not(.future-events-label) { margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }
.future-featured-meta { display: flex; flex-wrap: wrap; gap: 15px 28px; margin-top: 20px; color: #526174; }
.future-featured-meta span { display: flex; align-items: center; gap: 9px; }
.future-featured-meta i { color: #936a11; }
.future-featured-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 27px; }
.future-featured-actions .button-outline { color: var(--navy); background: transparent; }

.future-homecoming { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(50px,9vw,115px); padding: 82px max(24px,10vw); color: #fff; background: linear-gradient(145deg,#082c50,#031b36 56%,#021326); }
.future-homecoming .future-events-label { color: var(--gold-light); }
.future-homecoming h2 { color: #fff; }
.future-homecoming-copy > p:not(.future-events-label) { margin: 0; color: rgba(255,255,255,.72); font-size: 1.06rem; line-height: 1.75; }
.future-homecoming-copy > a { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; color: var(--gold-light); font-weight: 700; }
.future-homecoming-status { padding: 40px 30px; text-align: center; border: 1px solid rgba(240,195,77,.45); }
.future-homecoming-status i { color: var(--gold-light); font-size: 2.5rem; transform: rotate(-22deg); }
.future-homecoming-status span,.future-homecoming-status strong { display:block; font-family:"Barlow Condensed",sans-serif; text-transform:uppercase; }
.future-homecoming-status span { margin-top:15px; color:var(--gold-light); font-weight:700; letter-spacing:.13em; }
.future-homecoming-status strong { margin-top:5px; font-size:2rem; }

.future-announcements { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(45px,8vw,100px); margin:0 auto; padding:92px 0; }
.future-announcement-list { display:grid; }
.future-announcement-list article { display:grid; grid-template-columns:42px 1fr; gap:17px; padding:21px 0; border-bottom:1px solid rgba(3,27,54,.16); }
.future-announcement-list article > span { color:#936a11; font-family:"Barlow Condensed",sans-serif; font-weight:700; }
.future-announcement-list h3 { margin:0 0 6px; color:var(--navy); font-family:"Barlow Condensed",sans-serif; font-size:1.55rem; text-transform:uppercase; }
.future-announcement-list p { margin:0; color:#526174; line-height:1.55; }
.future-events-cta,.past-events-cta { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:32px; padding:38px max(24px,10vw); color:var(--navy); background:linear-gradient(145deg,#edc34c,#d8a62b); }
.future-events-cta > i,.past-events-cta > i { font-size:3rem; }
.future-events-cta .future-events-label,.past-events-cta .past-events-label { color:#634807; }
.future-events-cta h2,.past-events-cta h2 { margin:4px 0 0; font-size:clamp(2rem,4vw,3rem); }
.future-events-cta p:last-child,.past-events-cta p:last-child { margin:8px 0 0; color:#253448; line-height:1.55; }
.future-events-cta .button,.past-events-cta .button { min-width:215px; color:var(--gold-light); background:var(--navy); }

/* Final Past Events page */
.past-archive-intro { width:min(1180px,calc(100% - 48px)); display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(45px,8vw,105px); margin:0 auto; padding:90px 0; }
.past-archive-heading { padding-right:35px; border-right:1px solid rgba(147,106,17,.35); }
.past-archive-copy p { margin:0 0 20px; color:#465568; font-size:1.08rem; line-height:1.8; }
.past-archive-copy p:last-child { margin-bottom:0; }
.past-archive-status { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:clamp(50px,9vw,110px); padding:86px max(24px,10vw); color:#fff; background:linear-gradient(145deg,#082c50,#031b36 56%,#021326); }
.past-status-number { color:transparent; font-family:"Barlow Condensed",sans-serif; font-size:clamp(9rem,18vw,15rem); font-weight:900; line-height:.7; -webkit-text-stroke:2px rgba(240,195,77,.38); }
.past-archive-status .past-events-label { color:var(--gold-light); }
.past-archive-status h2 { color:#fff; }
.past-status-copy > p:last-child { margin:0; color:rgba(255,255,255,.72); font-size:1.06rem; line-height:1.75; }
.past-contribute { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:92px 0; }
.past-contribute-heading { max-width:800px; margin:0 auto 45px; text-align:center; }
.past-contribute-heading > p:last-child { margin:0; color:#526174; line-height:1.6; }
.past-contribute-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(40px,7vw,90px); }
.past-contribute-list article { display:grid; grid-template-columns:42px 1fr; gap:17px; padding:24px 0; border-bottom:1px solid rgba(3,27,54,.16); }
.past-contribute-list i { color:#936a11; font-size:1.35rem; }
.past-contribute-list h3 { margin:0 0 6px; color:var(--navy); font-family:"Barlow Condensed",sans-serif; font-size:1.55rem; text-transform:uppercase; }
.past-contribute-list p { margin:0; color:#526174; line-height:1.55; }
.past-contribute-note { display:flex; align-items:flex-start; gap:13px; margin-top:35px; padding:18px 20px; color:#4f411e; background:rgba(216,166,43,.15); border-left:3px solid var(--gold); line-height:1.55; }
.past-contribute-note i { margin-top:4px; color:#936a11; }
.past-contribute-note p { margin:0; }

@media(max-width:900px){
    .future-events-hero,.past-events-hero{min-height:500px;justify-content:center;padding:70px 38px;text-align:center}
    .future-events-hero-shade,.past-events-hero-shade{background:rgba(2,18,36,.72)}
    .future-events-hero-mark,.past-events-hero-mark{display:none}
    .future-events-hero-content,.past-events-hero-content,.future-events-hero-lead,.past-events-hero-lead{margin-inline:auto}
    .future-events-hero-lead,.past-events-hero-lead{text-wrap:balance}
    .future-featured{grid-template-columns:1fr;gap:38px}.future-featured-date{width:min(290px,100%);min-height:250px;margin:0 auto}
    .future-homecoming{grid-template-columns:1fr;gap:40px}.future-announcements{grid-template-columns:1fr;gap:35px}
    .future-events-cta,.past-events-cta{grid-template-columns:auto 1fr}.future-events-cta .button,.past-events-cta .button{grid-column:1/-1;width:100%}
    .past-archive-intro{grid-template-columns:1fr;gap:34px}.past-archive-heading{padding:0;border:0}
    .past-archive-status{grid-template-columns:1fr;gap:30px;text-align:center}.past-status-number{font-size:9rem}
}

@media(max-width:600px){
    .future-events-hero,.past-events-hero{min-height:440px;padding:60px 24px}
    .future-events-hero h1,.past-events-hero h1{font-size:clamp(3.4rem,16vw,4.9rem)}
    .future-featured,.future-announcements,.past-archive-intro,.past-contribute{width:min(calc(100% - 36px),1180px);padding:68px 0}
    .future-featured-actions{flex-direction:column}.future-featured-actions .button{width:100%}
    .future-homecoming,.past-archive-status{padding:70px 22px}
    .past-contribute-list{grid-template-columns:1fr}
    .future-events-cta,.past-events-cta{grid-template-columns:1fr;gap:18px;text-align:center}
    .future-events-cta > i,.past-events-cta > i{margin:0 auto}.future-events-cta .button,.past-events-cta .button{grid-column:auto}
}

/* Final Homecoming page */
.homecoming-page { overflow: hidden; color: #172435; background: #f4efe4; }
.homecoming-hero {
    position: relative; isolation: isolate; min-height: 560px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 88px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.homecoming-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1,14,29,.98), rgba(2,18,36,.91) 43%, rgba(2,18,36,.43) 73%, rgba(2,18,36,.69)); }
.homecoming-hero-content { width: min(780px, 100%); }
.homecoming-eyebrow, .homecoming-label { margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.homecoming-hero h1 { margin: 12px 0 26px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.4rem, 8vw, 7.2rem); font-weight: 800; line-height: .8; text-transform: uppercase; }
.homecoming-hero h1 span { color: var(--gold-light); font-size: .72em; }
.homecoming-hero-lead { max-width: 670px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.15rem, 2vw, 1.33rem); line-height: 1.65; }
.homecoming-hero-year { width: 240px; min-height: 250px; flex: 0 0 auto; display: grid; place-content: center; text-align: center; color: #fff; background: rgba(1,14,29,.76); border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px; transform: rotate(3deg); }
.homecoming-hero-year i { margin-bottom: 5px; color: var(--gold-light); font-size: 2.2rem; transform: rotate(-25deg); }
.homecoming-hero-year strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 5rem; font-weight: 800; line-height: .9; }
.homecoming-hero-year span { margin-top: 9px; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.homecoming-status { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 270px minmax(0, 1fr); align-items: center; gap: clamp(45px, 8vw, 100px); margin: 0 auto; padding: 90px 0; }
.homecoming-status-mark { min-height: 250px; display: grid; place-content: center; padding: 35px; color: #fff; text-align: center; background: var(--navy); border: 1px solid rgba(216,166,43,.55); box-shadow: 0 22px 55px rgba(3,27,54,.16); }
.homecoming-status-mark span, .homecoming-status-mark strong { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.homecoming-status-mark span { color: var(--gold-light); font-weight: 700; letter-spacing: .18em; }
.homecoming-status-mark strong { font-size: 3rem; line-height: .95; }
.homecoming-label { color: #936a11; }
.homecoming-status h2, .homecoming-purpose h2, .homecoming-ready h2, .homecoming-contact h2 { margin: 9px 0 22px; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.8rem, 5vw, 4.4rem); font-weight: 800; line-height: .96; text-transform: uppercase; }
.homecoming-status-copy > p:last-child { margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }

.homecoming-purpose { padding: 86px max(24px, 9vw) 94px; color: #fff; background: linear-gradient(145deg, #082c50, #031b36 56%, #021326); }
.homecoming-purpose-heading { max-width: 800px; margin: 0 auto 50px; text-align: center; }
.homecoming-purpose .homecoming-label { color: var(--gold-light); }
.homecoming-purpose h2 { color: #fff; }
.homecoming-purpose-heading > p:last-child { margin: 0; color: rgba(255,255,255,.68); line-height: 1.65; }
.homecoming-purpose-list { width: min(1180px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(40px, 7vw, 90px); margin: 0 auto; }
.homecoming-purpose-list article { display: grid; grid-template-columns: 38px 1fr; gap: 17px; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.homecoming-purpose-list article > span { color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.homecoming-purpose-list h3 { margin: 0 0 7px; font-family: "Barlow Condensed", sans-serif; font-size: 1.65rem; text-transform: uppercase; }
.homecoming-purpose-list p { margin: 0; color: rgba(255,255,255,.7); line-height: 1.6; }

.homecoming-ready { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(50px, 9vw, 115px); margin: 0 auto; padding: 94px 0; }
.homecoming-ready-copy > p:not(.homecoming-label) { margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }
.homecoming-ready-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.homecoming-ready-actions .button-outline { color: var(--navy); background: transparent; }
.homecoming-ready-note { padding: 38px; color: #fff; background: var(--navy); border-left: 4px solid var(--gold); }
.homecoming-ready-note i { color: var(--gold-light); font-size: 2.3rem; }
.homecoming-ready-note p { margin: 18px 0 0; color: rgba(255,255,255,.78); font-size: 1.05rem; line-height: 1.7; }

.homecoming-contact { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; padding: 38px max(24px, 10vw); color: var(--navy); background: linear-gradient(145deg, #edc34c, #d8a62b); }
.homecoming-contact > i { font-size: 3rem; }
.homecoming-contact .homecoming-label { color: #634807; }
.homecoming-contact h2 { margin: 4px 0 0; font-size: clamp(2rem, 4vw, 3rem); }
.homecoming-contact p:last-child { margin: 8px 0 0; color: #253448; line-height: 1.55; }
.homecoming-contact .button { min-width: 205px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .homecoming-hero { min-height: 520px; justify-content: center; padding: 72px 38px; text-align: center; }
    .homecoming-hero-shade { background: rgba(2,18,36,.72); }
    .homecoming-hero-year { display: none; }
    .homecoming-hero-content, .homecoming-hero-lead { margin-inline: auto; }
    .homecoming-hero-lead { text-wrap: balance; }
    .homecoming-status { grid-template-columns: 1fr; gap: 38px; }
    .homecoming-status-mark { width: min(270px, 100%); min-height: 220px; margin: 0 auto; }
    .homecoming-purpose-list { grid-template-columns: 1fr; }
    .homecoming-ready { grid-template-columns: 1fr; gap: 42px; }
    .homecoming-contact { grid-template-columns: auto 1fr; }
    .homecoming-contact .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .homecoming-hero { min-height: 450px; padding: 62px 24px; }
    .homecoming-hero h1 { font-size: clamp(3.5rem, 17vw, 5.1rem); }
    .homecoming-status, .homecoming-ready { width: min(calc(100% - 36px), 1180px); padding: 68px 0; }
    .homecoming-purpose { padding: 72px 22px 76px; }
    .homecoming-ready-actions { flex-direction: column; }
    .homecoming-ready-actions .button { width: 100%; }
    .homecoming-ready-note { padding: 30px 24px; }
    .homecoming-contact { grid-template-columns: 1fr; gap: 18px; text-align: center; }
    .homecoming-contact > i { margin: 0 auto; }
    .homecoming-contact .button { grid-column: auto; }
}

/* Final 2027 Reunion page */
.reunion-final-page { overflow: hidden; color: #172435; background: #f4efe4; }
.reunion-final-hero {
    position: relative; isolation: isolate; min-height: 620px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 90px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.reunion-final-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1,14,29,.98), rgba(2,18,36,.91) 43%, rgba(2,18,36,.4) 73%, rgba(2,18,36,.68)); }
.reunion-final-hero-content { width: min(760px, 100%); }
.reunion-final-eyebrow, .reunion-final-label { margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.reunion-final-hero h1 { margin: 12px 0 27px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.7rem, 9vw, 7.7rem); font-weight: 800; line-height: .78; text-transform: uppercase; }
.reunion-final-hero h1 span { color: var(--gold-light); font-size: .68em; }
.reunion-final-lead { max-width: 650px; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(1.15rem, 2vw, 1.33rem); line-height: 1.65; }
.reunion-final-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.reunion-countdown { width: 250px; min-height: 270px; flex: 0 0 auto; display: grid; place-content: center; padding: 32px; text-align: center; color: #fff; background: rgba(1,14,29,.76); border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px; }
.reunion-countdown i { margin-bottom: 12px; color: var(--gold-light); font-size: 2rem; }
.reunion-countdown strong { display: block; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: 4.6rem; font-weight: 800; line-height: .9; }
.reunion-countdown span { display: block; margin-top: 9px; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: .1em; line-height: 1.15; text-transform: uppercase; }

.reunion-theme { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: clamp(45px, 8vw, 100px); margin: 0 auto; padding: 94px 0; }
.reunion-theme-number { color: transparent; font-family: "Barlow Condensed", sans-serif; font-size: clamp(10rem, 20vw, 17rem); font-weight: 900; line-height: .7; -webkit-text-stroke: 2px rgba(147,106,17,.3); }
.reunion-final-label { color: #936a11; }
.reunion-theme h2, .reunion-facts h2, .reunion-registration h2, .reunion-updates h2 { margin: 9px 0 22px; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.8rem, 5vw, 4.5rem); font-weight: 800; line-height: .95; text-transform: uppercase; }
.reunion-theme h2 span { display: block; color: #936a11; font-family: "Caveat", cursive; font-size: 1.12em; font-weight: 400; line-height: .92; text-transform: none; }
.reunion-theme-copy > p:last-child { max-width: 760px; margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }

.reunion-facts { padding: 86px max(24px, 9vw) 94px; color: #fff; background: linear-gradient(145deg, #082c50, #031b36 56%, #021326); }
.reunion-facts-heading { max-width: 760px; margin: 0 auto 50px; text-align: center; }
.reunion-facts .reunion-final-label { color: var(--gold-light); }
.reunion-facts h2 { color: #fff; }
.reunion-facts-heading > p:last-child { margin: 0; color: rgba(255,255,255,.68); line-height: 1.6; }
.reunion-fact-list { width: min(1180px, 100%); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(35px, 7vw, 90px); margin: 0 auto; }
.reunion-fact-list article { min-height: 112px; display: grid; grid-template-columns: 30px 40px 1fr; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.reunion-fact-list article > span { color: rgba(240,195,77,.66); font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.reunion-fact-list i { color: var(--gold-light); font-size: 1.35rem; }
.reunion-fact-list p { margin: 0 0 4px; color: rgba(255,255,255,.58); font-size: .88rem; letter-spacing: .1em; text-transform: uppercase; }
.reunion-fact-list h3 { margin: 0; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: 1.55rem; line-height: 1.15; }

.reunion-registration { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: clamp(50px, 9vw, 120px); margin: 0 auto; padding: 94px 0; }
.reunion-registration-copy > p:not(.reunion-final-label):not(.reunion-guest-note) { margin: 0; color: #465568; font-size: 1.08rem; line-height: 1.8; }
.reunion-guest-note { display: flex; align-items: flex-start; gap: 13px; margin: 25px 0 0; padding: 17px 19px; color: #4f411e; background: rgba(216,166,43,.15); border-left: 3px solid var(--gold); line-height: 1.55; }
.reunion-guest-note i { margin-top: 4px; color: #936a11; }
.reunion-registration-action { padding: 45px 35px; color: #fff; text-align: center; background: var(--navy); border: 1px solid rgba(216,166,43,.55); box-shadow: 0 22px 55px rgba(3,27,54,.16); }
.reunion-registration-action > i { color: var(--gold-light); font-size: 2.5rem; }
.reunion-registration-action > p { margin: 17px 0 4px; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.reunion-registration-action h3 { margin: 0 0 24px; font-family: "Barlow Condensed", sans-serif; font-size: 2.1rem; line-height: 1; text-transform: uppercase; }
.reunion-registration-action .button { width: 100%; color: var(--navy); background: var(--gold-light); }

.reunion-updates { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; padding: 38px max(24px, 10vw); color: var(--navy); background: linear-gradient(145deg, #edc34c, #d8a62b); }
.reunion-updates > i { font-size: 3rem; }
.reunion-updates .reunion-final-label { color: #634807; }
.reunion-updates h2 { margin: 4px 0 0; font-size: clamp(2rem, 4vw, 3rem); }
.reunion-updates p:last-child { margin: 8px 0 0; color: #253448; line-height: 1.55; }
.reunion-updates .button { min-width: 210px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .reunion-final-hero { min-height: 570px; justify-content: center; padding: 78px 38px; text-align: center; }
    .reunion-final-hero-shade { background: rgba(2,18,36,.72); }
    .reunion-countdown { display: none; }
    .reunion-final-hero-content, .reunion-final-lead { margin-inline: auto; }
    .reunion-final-lead { text-wrap: balance; }
    .reunion-final-actions { justify-content: center; }
    .reunion-theme { grid-template-columns: 1fr; gap: 25px; text-align: center; }
    .reunion-theme-number { font-size: 9rem; }
    .reunion-fact-list { grid-template-columns: 1fr; }
    .reunion-registration { grid-template-columns: 1fr; gap: 45px; }
    .reunion-updates { grid-template-columns: auto 1fr; }
    .reunion-updates .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .reunion-final-hero { min-height: 510px; padding: 66px 24px; }
    .reunion-final-hero h1 { font-size: clamp(3.7rem, 18vw, 5.4rem); }
    .reunion-final-actions { flex-direction: column; }
    .reunion-final-actions .button { width: 100%; }
    .reunion-theme, .reunion-registration { width: min(calc(100% - 36px), 1180px); padding: 70px 0; }
    .reunion-facts { padding: 72px 22px 76px; }
    .reunion-fact-list article { grid-template-columns: 26px 32px 1fr; gap: 12px; }
    .reunion-registration-action { padding: 40px 24px; }
    .reunion-updates { grid-template-columns: 1fr; gap: 18px; text-align: center; }
    .reunion-updates > i { margin: 0 auto; }
    .reunion-updates .button { grid-column: auto; }
}

/* Final Contact page */
.contact-page { overflow: hidden; color: #172435; background: #f4efe4; }
.contact-hero {
    position: relative; isolation: isolate; min-height: 500px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 84px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.contact-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1,14,29,.98), rgba(2,18,36,.9) 44%, rgba(2,18,36,.48) 74%, rgba(2,18,36,.72)); }
.contact-hero-content { width: min(750px, 100%); }
.contact-eyebrow, .contact-label { margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.contact-hero h1 { margin: 12px 0 25px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.6rem, 8vw, 7.3rem); font-weight: 800; line-height: .79; text-transform: uppercase; }
.contact-hero h1 span { color: var(--gold-light); font-size: .7em; }
.contact-hero-lead { max-width: 660px; margin: 0; color: rgba(255,255,255,.87); font-size: clamp(1.12rem, 2vw, 1.3rem); line-height: 1.65; }
.contact-hero-mark { width: 220px; height: 220px; flex: 0 0 auto; display: grid; place-items: center; color: var(--gold-light); background: rgba(1,14,29,.72); border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px; transform: rotate(3deg); }
.contact-hero-mark i { font-size: 4.7rem; }

.contact-main { width: min(1240px, calc(100% - 48px)); display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(45px, 8vw, 100px); margin: 0 auto; padding: 90px 0; }
.contact-label { color: #936a11; }
.contact-guidance h2, .contact-form-panel h2 { margin: 8px 0 20px; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.7rem, 5vw, 4rem); font-weight: 800; line-height: .96; text-transform: uppercase; }
.contact-guidance > p:not(.contact-label) { margin: 0; color: #526174; font-size: 1.06rem; line-height: 1.75; }
.contact-guidance ul { display: grid; gap: 16px; margin: 32px 0; padding: 0; list-style: none; }
.contact-guidance li { display: flex; align-items: flex-start; gap: 13px; color: #344458; line-height: 1.45; }
.contact-guidance li i { margin-top: 3px; color: #936a11; }
.contact-response-note { display: flex; align-items: flex-start; gap: 15px; padding: 20px; color: #fff; background: var(--navy); border-left: 3px solid var(--gold); }
.contact-response-note i { margin-top: 4px; color: var(--gold-light); }
.contact-response-note p { margin: 0; color: rgba(255,255,255,.78); line-height: 1.55; }

.contact-form-panel { padding: clamp(30px, 5vw, 52px); background: #fff; border-top: 5px solid var(--gold); box-shadow: 0 22px 58px rgba(3,27,54,.13); }
.contact-form-panel h2 { font-size: clamp(2.5rem, 4vw, 3.7rem); }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.contact-field { min-width: 0; }
.contact-field-full { grid-column: 1 / -1; }
.contact-field label { display: block; margin-bottom: 8px; color: var(--navy); font-weight: 700; }
.contact-field label span { color: #9b291b; }
.contact-field input, .contact-field select, .contact-field textarea {
    width: 100%; padding: 13px 14px; color: #172435; background: #fff;
    border: 1px solid #aeb7c1; border-radius: 3px; font: 1rem "Roboto Condensed", sans-serif;
}
.contact-field textarea { min-height: 170px; resize: vertical; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #936a11; outline: 3px solid rgba(216,166,43,.2); }
.contact-field small { display: block; margin-top: 7px; color: #667385; line-height: 1.4; }
.contact-consent { display: flex; align-items: flex-start; gap: 11px; margin: 24px 0 0; color: #465568; line-height: 1.45; }
.contact-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; accent-color: #936a11; }
.contact-submit { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 25px; padding: 14px 22px; color: #fff; background: var(--orange); border: 0; border-radius: 3px; cursor: pointer; font: 800 1.08rem "Barlow Condensed", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.contact-submit:hover, .contact-submit:focus-visible { background: #c94f00; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-alert { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 25px; padding: 17px 19px; border-left: 4px solid; }
.contact-alert p { margin: 0; line-height: 1.5; }
.contact-alert ul { margin: 8px 0 0; padding-left: 20px; }
.contact-alert-success { color: #174e2b; background: #e2f3e8; border-color: #2e7d45; }
.contact-alert-error { color: #6e2118; background: #f9e4e1; border-color: #a9382b; }
.contact-send-another { width: 100%; margin-top: 15px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .contact-hero { min-height: 480px; justify-content: center; padding: 70px 38px; text-align: center; }
    .contact-hero-shade { background: rgba(2,18,36,.72); }
    .contact-hero-mark { display: none; }
    .contact-hero-content { margin: 0 auto; }
    .contact-hero-lead { width: min(610px, 100%); margin-inline: auto; text-wrap: balance; }
    .contact-main { grid-template-columns: 1fr; gap: 48px; padding: 70px 0; }
}

@media (max-width: 600px) {
    .contact-hero { min-height: 420px; padding: 58px 24px; }
    .contact-hero h1 { font-size: clamp(3.6rem, 18vw, 5.4rem); }
    .contact-main { width: min(calc(100% - 28px), 1240px); padding: 55px 0; }
    .contact-form-panel { padding: 30px 20px; }
    .contact-form-grid { grid-template-columns: 1fr; }
    .contact-field-full { grid-column: auto; }
}

/* Final FAQ page */
.faq-page { overflow: hidden; color: #172435; background: #f4efe4; }
.faq-hero {
    position: relative; isolation: isolate; min-height: 500px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 60px; padding: 84px max(24px, 11vw); color: #fff;
    background: url("../images/lchs95-hero-composite.jpg") center / cover no-repeat;
}
.faq-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(1,14,29,.98), rgba(2,18,36,.9) 44%, rgba(2,18,36,.48) 74%, rgba(2,18,36,.72)); }
.faq-hero-content { width: min(720px, 100%); }
.faq-eyebrow, .faq-label { margin: 0; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.faq-hero h1 { margin: 12px 0 25px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.8rem, 9vw, 7.6rem); font-weight: 800; line-height: .78; text-transform: uppercase; }
.faq-hero h1 span { color: var(--gold-light); font-size: .73em; }
.faq-hero-lead { max-width: 660px; margin: 0; color: rgba(255,255,255,.87); font-size: clamp(1.12rem, 2vw, 1.3rem); line-height: 1.65; }
.faq-hero-mark { width: 220px; height: 220px; flex: 0 0 auto; display: grid; place-items: center; color: var(--gold-light); background: rgba(1,14,29,.72); border: 1px solid rgba(240,195,77,.62); outline: 1px solid rgba(240,195,77,.16); outline-offset: -12px; font-family: "Barlow Condensed", sans-serif; font-size: 8rem; font-weight: 800; line-height: 1; transform: rotate(3deg); }

.faq-intro { width: min(1180px, calc(100% - 48px)); display: grid; grid-template-columns: .65fr 1.35fr; align-items: center; gap: clamp(45px, 8vw, 105px); margin: 0 auto; padding: 82px 0; }
.faq-label { color: #936a11; }
.faq-intro h2, .faq-group-heading h2, .faq-contact h2 { margin: 8px 0 0; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: clamp(2.8rem, 5vw, 4.4rem); font-weight: 800; line-height: .96; text-transform: uppercase; }
.faq-intro > p { margin: 0; color: #465568; font-size: 1.1rem; line-height: 1.8; }

.faq-content { width: min(1260px, calc(100% - 48px)); display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: clamp(45px, 7vw, 90px); margin: 0 auto; padding-bottom: 90px; }
.faq-section-index { position: sticky; top: 28px; display: grid; padding: 22px 0; border-top: 2px solid var(--gold); border-bottom: 1px solid rgba(3,27,54,.18); }
.faq-section-index a { padding: 12px 4px; color: #526174; font-family: "Barlow Condensed", sans-serif; font-size: 1.05rem; font-weight: 700; text-transform: uppercase; }
.faq-section-index a:hover, .faq-section-index a:focus-visible { color: #936a11; }
.faq-groups { min-width: 0; }
.faq-group + .faq-group { margin-top: 72px; }
.faq-group-heading { display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start; margin-bottom: 28px; }
.faq-group-heading > span { padding-top: 5px; color: #936a11; font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.faq-group-heading p { margin: 0; color: #936a11; font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.faq-group-heading h2 { font-size: clamp(2.4rem, 4vw, 3.5rem); }
.faq-list { border-top: 1px solid rgba(3,27,54,.18); }
.faq-list details { border-bottom: 1px solid rgba(3,27,54,.18); }
.faq-list summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 54px 24px 0; color: var(--navy); cursor: pointer; list-style: none; font-family: "Barlow Condensed", sans-serif; font-size: 1.35rem; font-weight: 700; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 6px; color: #936a11; font-family: "Barlow Condensed", sans-serif; font-size: 1.8rem; font-weight: 400; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details[open] summary { color: #936a11; }
.faq-answer { padding: 0 54px 25px 0; }
.faq-answer p { margin: 0; color: #526174; font-size: 1.03rem; line-height: 1.75; }
.faq-answer a { color: #7d590d; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.faq-contact { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 32px; padding: 38px max(24px, 10vw); color: var(--navy); background: linear-gradient(145deg, #edc34c, #d8a62b); }
.faq-contact > i { font-size: 3rem; }
.faq-contact .faq-label { color: #634807; }
.faq-contact h2 { margin-top: 4px; font-size: clamp(2rem, 4vw, 3rem); }
.faq-contact p:last-child { margin: 8px 0 0; color: #253448; line-height: 1.55; }
.faq-contact .button { min-width: 170px; color: var(--gold-light); background: var(--navy); }

@media (max-width: 900px) {
    .faq-hero { min-height: 480px; justify-content: center; padding: 70px 38px; text-align: center; }
    .faq-hero-shade { background: rgba(2,18,36,.72); }
    .faq-hero-mark { display: none; }
    .faq-hero-content { margin: 0 auto; }
    .faq-hero-lead { width: min(610px, 100%); margin-inline: auto; text-wrap: balance; }
    .faq-intro { grid-template-columns: 1fr; gap: 28px; padding: 68px 0; }
    .faq-content { grid-template-columns: 1fr; gap: 42px; }
    .faq-section-index { position: static; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px 0; }
    .faq-section-index a { text-align: center; }
    .faq-contact { grid-template-columns: auto 1fr; }
    .faq-contact .button { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 600px) {
    .faq-hero { min-height: 420px; padding: 58px 24px; }
    .faq-hero h1 { font-size: clamp(4rem, 20vw, 5.8rem); }
    .faq-intro, .faq-content { width: min(calc(100% - 36px), 1180px); }
    .faq-section-index { grid-template-columns: 1fr; }
    .faq-section-index a { text-align: left; }
    .faq-group-heading { grid-template-columns: 34px 1fr; gap: 12px; }
    .faq-list summary { padding: 21px 42px 21px 0; font-size: 1.2rem; }
    .faq-answer { padding-right: 0; }
    .faq-contact { grid-template-columns: 1fr; gap: 18px; text-align: center; }
    .faq-contact > i { margin: 0 auto; }
    .faq-contact .button { grid-column: auto; }
}

/* Final Update Information page */
.update-information-page {
    color: var(--navy);
    background: #f4f0e5;
}

.update-information-hero {
    min-height: 480px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr);
    align-items: center;
    gap: 70px;
    padding: 76px max(7vw, 42px);
    text-align: left;
}

.update-information-hero::before {
    background: linear-gradient(90deg, rgba(1, 18, 38, .94) 0%, rgba(1, 18, 38, .82) 52%, rgba(1, 18, 38, .52) 100%);
}

.update-information-hero-content {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.update-information-eyebrow,
.update-information-label {
    margin: 0 0 14px;
    color: var(--gold);
    font-family: "Barlow Condensed", sans-serif;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.3;
    text-transform: uppercase;
}

.update-information-hero h1 {
    margin: 0;
    color: #fff;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(4.5rem, 7.4vw, 7.5rem);
    font-weight: 800;
    letter-spacing: .01em;
    line-height: .88;
    text-transform: uppercase;
}

.update-information-hero h1 span {
    color: var(--gold-light);
}

.update-information-hero-lead {
    max-width: 680px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(1.05rem, 1.5vw, 1.28rem);
    line-height: 1.72;
}

.update-information-hero-mark {
    position: relative;
    z-index: 1;
    justify-self: end;
    width: min(100%, 340px);
    padding: 44px 30px;
    color: #fff;
    background: rgba(1, 17, 36, .74);
    border: 1px solid rgba(216, 166, 43, .62);
    box-shadow: 0 22px 58px rgba(0, 0, 0, .3);
    text-align: center;
    transform: rotate(2deg);
}

.update-information-hero-mark i {
    display: block;
    margin-bottom: 20px;
    color: var(--gold-light);
    font-size: 3.5rem;
}

.update-information-hero-mark span,
.update-information-hero-mark strong {
    display: block;
    font-family: "Barlow Condensed", sans-serif;
    text-transform: uppercase;
}

.update-information-hero-mark span {
    color: var(--gold-light);
    font-size: .95rem;
    letter-spacing: .2em;
}

.update-information-hero-mark strong {
    margin-top: 5px;
    font-size: 2rem;
    letter-spacing: .04em;
}

.update-information-intro,
.update-information-options,
.update-information-privacy {
    width: min(calc(100% - 64px), 1160px);
    margin-inline: auto;
}

.update-information-intro {
    max-width: 850px;
    padding: 86px 0 50px;
    text-align: center;
}

.update-information-intro h2,
.update-information-option h2,
.update-information-privacy h2,
.update-information-help h2 {
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
}

.update-information-intro h2 {
    font-size: clamp(2.8rem, 4.8vw, 4.6rem);
}

.update-information-intro > p:last-child {
    max-width: 720px;
    margin: 18px auto 0;
    color: #566273;
    font-size: 1.08rem;
    line-height: 1.8;
}

.update-information-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding-bottom: 84px;
}

.update-information-option {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 560px;
    padding: 48px;
    overflow: hidden;
    background: #fff;
    border-top: 5px solid var(--gold);
    box-shadow: 0 18px 48px rgba(2, 27, 52, .1);
}

.update-information-option-number {
    position: absolute;
    top: 18px;
    right: 25px;
    color: rgba(3, 27, 54, .07);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 6.5rem;
    font-weight: 800;
    line-height: 1;
}

.update-information-option-icon {
    position: relative;
    z-index: 1;
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin-bottom: 30px;
    color: var(--gold-light);
    background: var(--navy);
    border-radius: 50%;
    font-size: 2rem;
}

.update-information-option h2 {
    position: relative;
    z-index: 1;
    font-size: clamp(2.25rem, 3.3vw, 3.45rem);
}

.update-information-option > p:not(.update-information-label) {
    margin: 18px 0 22px;
    color: #5c6877;
    font-size: 1.05rem;
    line-height: 1.75;
}

.update-information-option ul {
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}

.update-information-option li {
    position: relative;
    padding: 8px 0 8px 28px;
    color: #344255;
    line-height: 1.5;
}

.update-information-option li::before {
    content: '\f058';
    position: absolute;
    left: 0;
    color: var(--gold);
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.update-information-option .button {
    width: 100%;
    margin-top: auto;
    text-align: center;
}

.update-information-option .button i {
    margin-left: 8px;
}

.update-information-new {
    color: #fff;
    background: var(--navy);
}

.update-information-new .update-information-option-number {
    color: rgba(255, 255, 255, .06);
}

.update-information-new .update-information-option-icon {
    color: var(--navy);
    background: var(--gold-light);
}

.update-information-new h2 {
    color: #fff;
}

.update-information-new > p:not(.update-information-label),
.update-information-new li {
    color: rgba(255, 255, 255, .78);
}

.update-information-new .button {
    color: var(--navy);
    background: var(--gold-light);
    border-color: var(--gold-light);
}

.update-information-privacy {
    display: grid;
    grid-template-columns: 145px 1fr;
    align-items: stretch;
    margin-bottom: 88px;
    background: #fff;
    border-left: 5px solid var(--gold);
    box-shadow: 0 16px 44px rgba(2, 27, 52, .08);
}

.update-information-privacy-icon {
    display: grid;
    place-items: center;
    min-height: 220px;
    color: var(--gold-light);
    background: var(--navy);
    font-size: 3.8rem;
}

.update-information-privacy > div:last-child {
    padding: 42px 48px;
}

.update-information-privacy h2 {
    font-size: clamp(2rem, 3.2vw, 3.2rem);
}

.update-information-privacy p:last-child {
    max-width: 820px;
    margin: 16px 0 0;
    color: #566273;
    font-size: 1.05rem;
    line-height: 1.75;
}

.update-information-help {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
    padding: 52px max(7vw, 42px);
    color: var(--navy);
    background: var(--gold-light);
}

.update-information-help > i {
    font-size: 3.5rem;
}

.update-information-help .update-information-label {
    color: #6f4d00;
}

.update-information-help h2 {
    font-size: clamp(2rem, 3.1vw, 3.25rem);
}

.update-information-help p:last-child {
    max-width: 730px;
    margin: 9px 0 0;
    font-size: 1.04rem;
    line-height: 1.65;
}

.update-information-help .button {
    white-space: nowrap;
    color: #fff;
    background: var(--navy);
    border-color: var(--navy);
}

@media (max-width: 960px) {
    .update-information-hero {
        min-height: 565px;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 36px;
        padding: 68px 40px;
        text-align: center;
    }

    .update-information-hero::before {
        background: rgba(1, 18, 38, .73);
    }

    .update-information-hero-lead {
        margin-inline: auto;
        text-wrap: balance;
    }

    .update-information-hero-mark {
        justify-self: center;
        padding: 26px;
        transform: none;
    }

    .update-information-hero-mark i {
        margin-bottom: 12px;
        font-size: 2.5rem;
    }

    .update-information-options {
        grid-template-columns: 1fr;
        max-width: 760px;
    }

    .update-information-option {
        min-height: 0;
    }

    .update-information-help {
        grid-template-columns: auto 1fr;
    }

    .update-information-help .button {
        grid-column: 1 / -1;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 600px) {
    .update-information-hero {
        min-height: 510px;
        padding: 54px 24px;
    }

    .update-information-hero h1 {
        font-size: clamp(3.65rem, 18.5vw, 5.1rem);
    }

    .update-information-hero-mark {
        display: none;
    }

    .update-information-intro,
    .update-information-options,
    .update-information-privacy {
        width: min(calc(100% - 36px), 1160px);
    }

    .update-information-intro {
        padding: 64px 0 42px;
    }

    .update-information-option {
        padding: 36px 25px;
    }

    .update-information-option-number {
        font-size: 5rem;
    }

    .update-information-privacy {
        grid-template-columns: 1fr;
        margin-bottom: 65px;
    }

    .update-information-privacy-icon {
        min-height: 115px;
        font-size: 3rem;
    }

    .update-information-privacy > div:last-child {
        padding: 32px 25px;
    }

    .update-information-help {
        grid-template-columns: 1fr;
        padding: 44px 24px;
        text-align: center;
    }

    .update-information-help > i {
        margin: 0 auto;
    }

    .update-information-help .button {
        grid-column: auto;
    }
}

/* Final public Fundraisers page */
.public-fundraisers-page { color: var(--navy); background: #f4f0e5; }

.public-fundraisers-hero {
    min-height: 480px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr);
    align-items: center;
    gap: 70px;
    padding: 76px max(7vw, 42px);
    text-align: left;
}

.public-fundraisers-hero-content { position: relative; z-index: 1; max-width: 760px; }
.public-fundraisers-eyebrow,
.public-fundraisers-label {
    margin: 0 0 14px;
    color: var(--gold);
    font-family: "Barlow Condensed", sans-serif;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .22em;
    line-height: 1.3;
    text-transform: uppercase;
}

.public-fundraisers-hero h1 {
    margin: 0;
    color: #fff;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(4.5rem, 7.4vw, 7.5rem);
    font-weight: 800;
    letter-spacing: .01em;
    line-height: .88;
    text-transform: uppercase;
}

.public-fundraisers-hero h1 span { color: var(--gold-light); }
.public-fundraisers-hero-lead {
    max-width: 690px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: clamp(1.05rem, 1.5vw, 1.28rem);
    line-height: 1.72;
}

.public-fundraisers-hero-mark {
    position: relative;
    z-index: 1;
    justify-self: end;
    width: min(100%, 340px);
    padding: 44px 30px;
    color: #fff;
    background: rgba(1, 17, 36, .74);
    border: 1px solid rgba(216, 166, 43, .62);
    box-shadow: 0 22px 58px rgba(0, 0, 0, .3);
    text-align: center;
    transform: rotate(2deg);
}

.public-fundraisers-hero-mark i { display: block; margin-bottom: 20px; color: var(--gold-light); font-size: 3.5rem; }
.public-fundraisers-hero-mark span,
.public-fundraisers-hero-mark strong { display: block; font-family: "Barlow Condensed", sans-serif; text-transform: uppercase; }
.public-fundraisers-hero-mark span { color: var(--gold-light); font-size: .95rem; letter-spacing: .2em; }
.public-fundraisers-hero-mark strong { margin-top: 5px; font-size: 2rem; letter-spacing: .04em; }

.public-fundraisers-intro,
.fundraiser-success,
.pinnacle-fundraiser,
.fundraiser-participation { width: min(calc(100% - 64px), 1160px); margin-inline: auto; }

.public-fundraisers-intro {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 90px;
    padding: 88px 0 76px;
}

.public-fundraisers-intro h2,
.fundraiser-success h2,
.pinnacle-fundraiser h2,
.fundraiser-participation h2,
.public-fundraisers-cta h2 {
    margin: 0;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
}

.public-fundraisers-intro h2 { max-width: 470px; font-size: clamp(2.7rem, 4.5vw, 4.5rem); }
.public-fundraisers-intro-copy { padding-top: 22px; border-top: 3px solid var(--gold); }
.public-fundraisers-intro-copy p { margin: 0 0 18px; color: #536172; font-size: 1.07rem; line-height: 1.8; }

.fundraiser-success {
    display: grid;
    grid-template-columns: 340px 1fr;
    margin-bottom: 92px;
    overflow: hidden;
    background: #fff;
    border-top: 5px solid var(--gold);
    box-shadow: 0 18px 50px rgba(2, 27, 52, .1);
}

.fundraiser-success-result {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 340px;
    padding: 35px;
    color: #fff;
    background: var(--navy);
    text-align: center;
}

.fundraiser-success-result i { color: var(--gold-light); font-size: 3.25rem; }
.fundraiser-success-result span { margin-top: 17px; color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.fundraiser-success-result strong { margin-top: 3px; font-family: "Barlow Condensed", sans-serif; font-size: 5rem; line-height: 1; }
.fundraiser-success-result small { margin-top: 13px; color: rgba(255,255,255,.68); font-size: .84rem; letter-spacing: .13em; text-transform: uppercase; }
.fundraiser-success-copy { padding: 55px 60px; }
.fundraiser-success h2 { font-size: clamp(2.6rem, 4.2vw, 4.25rem); }
.fundraiser-success-copy > p:not(.public-fundraisers-label) { max-width: 700px; margin: 20px 0 26px; color: #596575; font-size: 1.08rem; line-height: 1.8; }
.fundraiser-success-status { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 330px; padding: 15px 20px; background: #f4f0e5; border-left: 4px solid var(--gold); }
.fundraiser-success-status span { color: #596575; }
.fundraiser-success-status i { margin-right: 8px; color: var(--gold); }
.fundraiser-success-status strong { text-transform: uppercase; }

.pinnacle-fundraiser { margin-bottom: 92px; }
.pinnacle-fundraiser-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 34px; }
.pinnacle-fundraiser h2 { font-size: clamp(3rem, 5vw, 5rem); }
.pinnacle-status { padding: 11px 16px; color: var(--navy); background: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pinnacle-fundraiser-content { display: grid; grid-template-columns: 1fr 310px; gap: 24px; }
.pinnacle-prizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.pinnacle-prizes article { min-height: 210px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 30px; background: #fff; border-bottom: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(2,27,52,.07); text-align: center; }
.pinnacle-prizes .pinnacle-prize-first { grid-column: 1 / -1; min-height: 245px; color: #fff; background: var(--navy); }
.pinnacle-prizes article > span { color: var(--gold); font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pinnacle-prizes i { margin: 20px 0 14px; color: var(--gold-light); font-size: 3.4rem; }
.pinnacle-prizes h3 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 2rem; text-transform: uppercase; }
.pinnacle-prize-first h3 { color: #fff; font-size: 2.8rem; }
.pinnacle-ticket-details { display: grid; gap: 1px; color: #fff; background: rgba(255,255,255,.16); }
.pinnacle-ticket-details > div { display: flex; flex-direction: column; justify-content: center; min-height: 165px; padding: 28px; background: var(--navy); text-align: center; }
.pinnacle-ticket-details span { color: var(--gold-light); font-family: "Barlow Condensed", sans-serif; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.pinnacle-ticket-details strong { margin-top: 4px; font-family: "Barlow Condensed", sans-serif; font-size: 3.8rem; line-height: 1; }
.pinnacle-ticket-details .pinnacle-date-tba { margin: 10px auto 0; font-size: 1.8rem; line-height: 1.05; text-transform: uppercase; }
.pinnacle-ticket-details small { margin-top: 8px; color: rgba(255,255,255,.68); }
.pinnacle-fundraiser-notice { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; margin-top: 22px; padding: 22px 25px; background: #fff4d2; border-left: 4px solid var(--gold); }
.pinnacle-fundraiser-notice i { margin-top: 3px; color: #a77700; font-size: 1.3rem; }
.pinnacle-fundraiser-notice p { margin: 0; color: #5e5131; line-height: 1.65; }

.fundraiser-participation { padding-bottom: 92px; }
.fundraiser-participation > header { max-width: 760px; margin: 0 auto 42px; text-align: center; }
.fundraiser-participation h2 { font-size: clamp(2.8rem, 4.6vw, 4.5rem); }
.fundraiser-participation > header > p:last-child { margin: 17px 0 0; color: #5c6877; font-size: 1.06rem; line-height: 1.75; }
.fundraiser-participation-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.fundraiser-participation-list article { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 30px; background: #fff; border-top: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(2,27,52,.07); }
.fundraiser-participation-list article > span { color: var(--gold); font-family: "Barlow Condensed", sans-serif; font-size: 1.8rem; font-weight: 800; }
.fundraiser-participation-list h3 { margin: 0 0 9px; font-family: "Barlow Condensed", sans-serif; font-size: 1.35rem; text-transform: uppercase; }
.fundraiser-participation-list p { margin: 0; color: #626c78; line-height: 1.65; }

.public-fundraisers-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; padding: 52px max(7vw, 42px); color: var(--navy); background: var(--gold-light); }
.public-fundraisers-cta > i { font-size: 3.5rem; }
.public-fundraisers-cta .public-fundraisers-label { color: #6f4d00; }
.public-fundraisers-cta h2 { font-size: clamp(2rem, 3.1vw, 3.3rem); }
.public-fundraisers-cta p:last-child { max-width: 730px; margin: 9px 0 0; font-size: 1.04rem; line-height: 1.65; }
.public-fundraisers-cta .button { white-space: nowrap; color: #fff; background: var(--navy); border-color: var(--navy); }

@media (max-width: 960px) {
    .public-fundraisers-hero { min-height: 565px; grid-template-columns: 1fr; justify-items: center; gap: 36px; padding: 68px 40px; text-align: center; }
    .public-fundraisers-hero-lead { margin-inline: auto; text-wrap: balance; }
    .public-fundraisers-hero-mark { justify-self: center; padding: 26px; transform: none; }
    .public-fundraisers-hero-mark i { margin-bottom: 12px; font-size: 2.5rem; }
    .public-fundraisers-intro { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .public-fundraisers-intro h2 { margin-inline: auto; }
    .fundraiser-success { grid-template-columns: 260px 1fr; }
    .fundraiser-success-copy { padding: 45px 38px; }
    .pinnacle-fundraiser-content { grid-template-columns: 1fr; }
    .pinnacle-ticket-details { grid-template-columns: repeat(3, 1fr); }
    .fundraiser-participation-list { grid-template-columns: 1fr; }
    .public-fundraisers-cta { grid-template-columns: auto 1fr; }
    .public-fundraisers-cta .button { grid-column: 1 / -1; width: 100%; text-align: center; }
}

@media (max-width: 600px) {
    .public-fundraisers-hero { min-height: 510px; padding: 54px 24px; }
    .public-fundraisers-hero h1 { font-size: clamp(3.65rem, 18vw, 5rem); }
    .public-fundraisers-hero-mark { display: none; }
    .public-fundraisers-intro,
    .fundraiser-success,
    .pinnacle-fundraiser,
    .fundraiser-participation { width: min(calc(100% - 36px), 1160px); }
    .public-fundraisers-intro { padding: 64px 0 54px; }
    .fundraiser-success { grid-template-columns: 1fr; margin-bottom: 68px; }
    .fundraiser-success-result { min-height: 250px; }
    .fundraiser-success-copy { padding: 34px 25px; }
    .pinnacle-fundraiser { margin-bottom: 68px; }
    .pinnacle-fundraiser-heading { align-items: start; flex-direction: column; }
    .pinnacle-prizes { grid-template-columns: 1fr; }
    .pinnacle-prizes .pinnacle-prize-first { grid-column: auto; }
    .pinnacle-ticket-details { grid-template-columns: 1fr; }
    .pinnacle-ticket-details > div { min-height: 145px; }
    .fundraiser-participation { padding-bottom: 68px; }
    .fundraiser-participation-list article { grid-template-columns: 1fr; }
    .public-fundraisers-cta { grid-template-columns: 1fr; padding: 44px 24px; text-align: center; }
    .public-fundraisers-cta > i { margin: 0 auto; }
    .public-fundraisers-cta .button { grid-column: auto; }
}

/* Final public Donate page */
.public-donate-page { color: var(--navy); background: #f4f0e5; }
.public-donate-hero {
    min-height: 480px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr);
    align-items: center;
    gap: 70px;
    padding: 76px max(7vw, 42px);
    text-align: left;
}
.public-donate-hero-content { position: relative; z-index: 1; max-width: 760px; }
.public-donate-eyebrow,
.public-donate-label { margin: 0 0 14px; color: var(--gold); font-family: "Barlow Condensed", sans-serif; font-size: .9rem; font-weight: 700; letter-spacing: .22em; line-height: 1.3; text-transform: uppercase; }
.public-donate-hero h1 { margin: 0; color: #fff; font-family: "Barlow Condensed", sans-serif; font-size: clamp(4.5rem, 7.4vw, 7.5rem); font-weight: 800; letter-spacing: .01em; line-height: .88; text-transform: uppercase; }
.public-donate-hero h1 span { color: var(--gold-light); }
.public-donate-hero-lead { max-width: 680px; margin: 28px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.05rem,1.5vw,1.28rem); line-height: 1.72; }
.public-donate-hero-mark { position: relative; z-index: 1; justify-self: end; width: min(100%,340px); padding: 44px 30px; color: #fff; background: rgba(1,17,36,.74); border: 1px solid rgba(216,166,43,.62); box-shadow: 0 22px 58px rgba(0,0,0,.3); text-align: center; transform: rotate(2deg); }
.public-donate-hero-mark i { display: block; margin-bottom: 20px; color: var(--gold-light); font-size: 3.5rem; }
.public-donate-hero-mark span,
.public-donate-hero-mark strong { display: block; font-family: "Barlow Condensed",sans-serif; text-transform: uppercase; }
.public-donate-hero-mark span { color: var(--gold-light); font-size: .95rem; letter-spacing: .2em; }
.public-donate-hero-mark strong { margin-top: 5px; font-size: 3.4rem; line-height: 1; }

.public-donate-status,
.public-donate-explainer,
.public-donate-before,
.public-donate-safety,
.public-donate-support { width: min(calc(100% - 64px),1160px); margin-inline: auto; }
.public-donate-status { display: grid; grid-template-columns: 180px 1fr; margin-top: 88px; margin-bottom: 88px; overflow: hidden; background: #fff; border-left: 5px solid var(--gold); box-shadow: 0 18px 50px rgba(2,27,52,.1); }
.public-donate-status-icon { display: grid; place-items: center; min-height: 250px; color: var(--gold-light); background: var(--navy); font-size: 4rem; }
.public-donate-status-copy { padding: 46px 52px; }
.public-donate-status h2,
.public-donate-explainer h2,
.public-donate-before h2,
.public-donate-safety h2,
.public-donate-support h2,
.public-donate-cta h2 { margin: 0; font-family: "Barlow Condensed",sans-serif; font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.public-donate-status h2 { font-size: clamp(2.2rem,3.7vw,3.7rem); }
.public-donate-status-copy p:last-child { max-width: 800px; margin: 18px 0 0; color: #576474; font-size: 1.07rem; line-height: 1.78; }

.public-donate-explainer { padding-bottom: 92px; }
.public-donate-explainer > header,
.public-donate-support > header { max-width: 790px; margin: 0 auto 42px; text-align: center; }
.public-donate-explainer h2,
.public-donate-support h2 { font-size: clamp(2.8rem,4.7vw,4.6rem); }
.public-donate-explainer > header > p:last-child,
.public-donate-support > header > p:last-child { margin: 17px 0 0; color: #5b6877; font-size: 1.06rem; line-height: 1.75; }
.public-donate-explainer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-donate-explainer-grid article { position: relative; min-height: 340px; padding: 38px 30px; background: #fff; border-bottom: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(2,27,52,.07); text-align: center; }
.public-donate-explainer-grid article > span { position: absolute; top: 16px; right: 20px; color: rgba(3,27,54,.08); font-family: "Barlow Condensed",sans-serif; font-size: 4.5rem; font-weight: 800; line-height: 1; }
.public-donate-explainer-grid article > i { position: relative; color: var(--gold); font-size: 3.5rem; }
.public-donate-explainer-grid h3 { position: relative; margin: 24px 0 14px; font-family: "Barlow Condensed",sans-serif; font-size: 2rem; text-transform: uppercase; }
.public-donate-explainer-grid p { position: relative; margin: 0; color: #606c7a; line-height: 1.7; }
.public-donate-explainer-grid a { display: inline-block; position: relative; margin-top: 22px; color: #996d00; font-weight: 700; }
.public-donate-explainer-grid a i { margin-left: 6px; }

.public-donate-before { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; margin-bottom: 92px; padding: 55px; color: #fff; background: var(--navy); border-top: 5px solid var(--gold); }
.public-donate-before h2 { color: #fff; font-size: clamp(2.4rem,3.8vw,3.8rem); }
.public-donate-before-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-donate-before-list > div { display: grid; grid-template-columns: auto 1fr; gap: 15px; padding: 20px; background: rgba(255,255,255,.07); border-left: 3px solid var(--gold); }
.public-donate-before-list i { color: var(--gold-light); font-size: 1.45rem; }
.public-donate-before-list p { margin: 0; }
.public-donate-before-list strong,
.public-donate-before-list span { display: block; }
.public-donate-before-list strong { color: #fff; }
.public-donate-before-list span { margin-top: 5px; color: rgba(255,255,255,.67); line-height: 1.45; }

.public-donate-safety { display: grid; grid-template-columns: 160px 1fr; margin-bottom: 92px; overflow: hidden; background: #fff; box-shadow: 0 16px 44px rgba(2,27,52,.08); }
.public-donate-safety-icon { display: grid; place-items: center; color: var(--gold-light); background: var(--navy); font-size: 4rem; }
.public-donate-safety > div:last-child { padding: 46px 52px; }
.public-donate-safety h2 { font-size: clamp(2.3rem,3.6vw,3.6rem); }
.public-donate-safety ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 28px; margin: 25px 0 0; padding: 0; list-style: none; }
.public-donate-safety li { position: relative; padding-left: 28px; color: #566273; line-height: 1.62; }
.public-donate-safety li::before { content: '\f058'; position: absolute; left: 0; color: var(--gold); font-family: "Font Awesome 6 Free"; font-weight: 900; }

.public-donate-support { padding-bottom: 92px; }
.public-donate-support-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.public-donate-support .button-outline { color: var(--navy); border-color: var(--navy); }
.public-donate-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; padding: 52px max(7vw,42px); color: var(--navy); background: var(--gold-light); }
.public-donate-cta > i { font-size: 3.5rem; }
.public-donate-cta .public-donate-label { color: #6f4d00; }
.public-donate-cta h2 { font-size: clamp(2rem,3.1vw,3.3rem); }
.public-donate-cta p:last-child { max-width: 730px; margin: 9px 0 0; font-size: 1.04rem; line-height: 1.65; }
.public-donate-cta .button { white-space: nowrap; color: #fff; background: var(--navy); border-color: var(--navy); }

@media (max-width: 960px) {
    .public-donate-hero { min-height: 565px; grid-template-columns: 1fr; justify-items: center; gap: 36px; padding: 68px 40px; text-align: center; }
    .public-donate-hero-lead { margin-inline: auto; text-wrap: balance; }
    .public-donate-hero-mark { justify-self: center; padding: 26px; transform: none; }
    .public-donate-hero-mark i { margin-bottom: 12px; font-size: 2.5rem; }
    .public-donate-explainer-grid { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; }
    .public-donate-explainer-grid article { min-height: 0; }
    .public-donate-before { grid-template-columns: 1fr; gap: 35px; }
    .public-donate-safety ul { grid-template-columns: 1fr; }
    .public-donate-cta { grid-template-columns: auto 1fr; }
    .public-donate-cta .button { grid-column: 1 / -1; width: 100%; text-align: center; }
}

@media (max-width: 600px) {
    .public-donate-hero { min-height: 510px; padding: 54px 24px; }
    .public-donate-hero h1 { font-size: clamp(3.8rem,19vw,5.2rem); }
    .public-donate-hero-mark { display: none; }
    .public-donate-status,
    .public-donate-explainer,
    .public-donate-before,
    .public-donate-safety,
    .public-donate-support { width: min(calc(100% - 36px),1160px); }
    .public-donate-status { grid-template-columns: 1fr; margin-top: 65px; margin-bottom: 68px; }
    .public-donate-status-icon { min-height: 115px; font-size: 3rem; }
    .public-donate-status-copy { padding: 32px 25px; }
    .public-donate-explainer { padding-bottom: 68px; }
    .public-donate-before { margin-bottom: 68px; padding: 35px 25px; }
    .public-donate-before-list { grid-template-columns: 1fr; }
    .public-donate-safety { grid-template-columns: 1fr; margin-bottom: 68px; }
    .public-donate-safety-icon { min-height: 115px; font-size: 3rem; }
    .public-donate-safety > div:last-child { padding: 32px 25px; }
    .public-donate-support { padding-bottom: 68px; }
    .public-donate-support-actions { flex-direction: column; }
    .public-donate-support-actions .button { width: 100%; text-align: center; }
    .public-donate-cta { grid-template-columns: 1fr; padding: 44px 24px; text-align: center; }
    .public-donate-cta > i { margin: 0 auto; }
    .public-donate-cta .button { grid-column: auto; }
}

/* Final public Volunteer page */
.public-volunteer-page { color: var(--navy); background: #f4f0e5; }
.public-volunteer-hero { min-height: 480px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); align-items: center; gap: 70px; padding: 76px max(7vw,42px); text-align: left; }
.public-volunteer-hero-content { position: relative; z-index: 1; max-width: 780px; }
.public-volunteer-eyebrow,
.public-volunteer-label { margin: 0 0 14px; color: var(--gold); font-family: "Barlow Condensed",sans-serif; font-size: .9rem; font-weight: 700; letter-spacing: .22em; line-height: 1.3; text-transform: uppercase; }
.public-volunteer-hero h1 { margin: 0; color: #fff; font-family: "Barlow Condensed",sans-serif; font-size: clamp(4.3rem,7vw,7.2rem); font-weight: 800; letter-spacing: .01em; line-height: .88; text-transform: uppercase; }
.public-volunteer-hero h1 span { color: var(--gold-light); }
.public-volunteer-hero-lead { max-width: 690px; margin: 28px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.05rem,1.5vw,1.28rem); line-height: 1.72; }
.public-volunteer-hero-mark { position: relative; z-index: 1; justify-self: end; width: min(100%,340px); padding: 44px 30px; color: #fff; background: rgba(1,17,36,.74); border: 1px solid rgba(216,166,43,.62); box-shadow: 0 22px 58px rgba(0,0,0,.3); text-align: center; transform: rotate(2deg); }
.public-volunteer-hero-mark i { display: block; margin-bottom: 20px; color: var(--gold-light); font-size: 3.5rem; }
.public-volunteer-hero-mark span,
.public-volunteer-hero-mark strong { display: block; font-family: "Barlow Condensed",sans-serif; text-transform: uppercase; }
.public-volunteer-hero-mark span { color: var(--gold-light); font-size: .95rem; letter-spacing: .2em; }
.public-volunteer-hero-mark strong { margin-top: 5px; font-size: 2.6rem; line-height: 1; }

.public-volunteer-intro,
.public-volunteer-areas,
.public-volunteer-process,
.public-volunteer-expectations,
.public-volunteer-access { width: min(calc(100% - 64px),1160px); margin-inline: auto; }
.public-volunteer-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; padding: 88px 0 76px; }
.public-volunteer-intro h2,
.public-volunteer-areas h2,
.public-volunteer-process h2,
.public-volunteer-expectations h2,
.public-volunteer-access h2,
.public-volunteer-cta h2 { margin: 0; font-family: "Barlow Condensed",sans-serif; font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.public-volunteer-intro h2 { max-width: 490px; font-size: clamp(2.7rem,4.5vw,4.5rem); }
.public-volunteer-intro-copy { padding-top: 22px; border-top: 3px solid var(--gold); }
.public-volunteer-intro-copy p { margin: 0 0 18px; color: #536172; font-size: 1.07rem; line-height: 1.8; }

.public-volunteer-areas { padding-bottom: 92px; }
.public-volunteer-areas > header { max-width: 790px; margin: 0 auto 42px; text-align: center; }
.public-volunteer-areas h2 { font-size: clamp(2.8rem,4.7vw,4.6rem); }
.public-volunteer-areas > header > p:last-child { margin: 17px 0 0; color: #5c6877; font-size: 1.06rem; line-height: 1.75; }
.public-volunteer-area-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.public-volunteer-area-grid article { min-height: 250px; padding: 34px 29px; background: #fff; border-bottom: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(2,27,52,.07); text-align: center; }
.public-volunteer-area-grid i { color: var(--gold); font-size: 3rem; }
.public-volunteer-area-grid h3 { margin: 22px 0 12px; font-family: "Barlow Condensed",sans-serif; font-size: 1.75rem; text-transform: uppercase; }
.public-volunteer-area-grid p { margin: 0; color: #606c7a; line-height: 1.68; }

.public-volunteer-process { display: grid; grid-template-columns: .75fr 1.25fr; gap: 65px; margin-bottom: 92px; padding: 55px; color: #fff; background: var(--navy); border-top: 5px solid var(--gold); }
.public-volunteer-process h2 { color: #fff; font-size: clamp(2.5rem,4vw,4rem); }
.public-volunteer-process-list { display: grid; gap: 16px; }
.public-volunteer-process-list article { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 22px; background: rgba(255,255,255,.07); border-left: 3px solid var(--gold); }
.public-volunteer-process-list article > span { color: var(--gold-light); font-family: "Barlow Condensed",sans-serif; font-size: 2rem; font-weight: 800; line-height: 1; }
.public-volunteer-process-list h3 { margin: 0 0 7px; color: #fff; font-family: "Barlow Condensed",sans-serif; font-size: 1.35rem; text-transform: uppercase; }
.public-volunteer-process-list p { margin: 0; color: rgba(255,255,255,.7); line-height: 1.6; }

.public-volunteer-expectations { display: grid; grid-template-columns: 160px 1fr; margin-bottom: 28px; overflow: hidden; background: #fff; box-shadow: 0 16px 44px rgba(2,27,52,.08); }
.public-volunteer-expectations-icon { display: grid; place-items: center; color: var(--gold-light); background: var(--navy); font-size: 4rem; }
.public-volunteer-expectations > div:last-child { padding: 46px 52px; }
.public-volunteer-expectations h2 { font-size: clamp(2.3rem,3.6vw,3.6rem); }
.public-volunteer-expectations ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 28px; margin: 25px 0 0; padding: 0; list-style: none; }
.public-volunteer-expectations li { position: relative; padding-left: 28px; color: #566273; line-height: 1.62; }
.public-volunteer-expectations li::before { content: '\f058'; position: absolute; left: 0; color: var(--gold); font-family: "Font Awesome 6 Free"; font-weight: 900; }

.public-volunteer-access { display: grid; grid-template-columns: auto 1fr; gap: 25px; align-items: start; margin-bottom: 92px; padding: 32px 38px; background: #fff4d2; border-left: 5px solid var(--gold); }
.public-volunteer-access > i { color: #9d7000; font-size: 2.5rem; }
.public-volunteer-access h2 { font-size: clamp(1.8rem,3vw,2.8rem); }
.public-volunteer-access p:last-child { margin: 12px 0 0; color: #625630; font-size: 1.03rem; line-height: 1.7; }
.public-volunteer-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; padding: 52px max(7vw,42px); color: var(--navy); background: var(--gold-light); }
.public-volunteer-cta > i { font-size: 3.5rem; }
.public-volunteer-cta .public-volunteer-label { color: #6f4d00; }
.public-volunteer-cta h2 { font-size: clamp(2rem,3.1vw,3.3rem); }
.public-volunteer-cta p:last-child { max-width: 760px; margin: 9px 0 0; font-size: 1.04rem; line-height: 1.65; }
.public-volunteer-cta .button { white-space: nowrap; color: #fff; background: var(--navy); border-color: var(--navy); }

@media (max-width: 960px) {
    .public-volunteer-hero { min-height: 565px; grid-template-columns: 1fr; justify-items: center; gap: 36px; padding: 68px 40px; text-align: center; }
    .public-volunteer-hero-lead { margin-inline: auto; text-wrap: balance; }
    .public-volunteer-hero-mark { justify-self: center; padding: 26px; transform: none; }
    .public-volunteer-hero-mark i { margin-bottom: 12px; font-size: 2.5rem; }
    .public-volunteer-intro { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .public-volunteer-intro h2 { margin-inline: auto; }
    .public-volunteer-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-volunteer-process { grid-template-columns: 1fr; gap: 35px; }
    .public-volunteer-expectations ul { grid-template-columns: 1fr; }
    .public-volunteer-cta { grid-template-columns: auto 1fr; }
    .public-volunteer-cta .button { grid-column: 1 / -1; width: 100%; text-align: center; }
}

@media (max-width: 600px) {
    .public-volunteer-hero { min-height: 510px; padding: 54px 24px; }
    .public-volunteer-hero h1 { font-size: clamp(3.45rem,17vw,4.8rem); }
    .public-volunteer-hero-mark { display: none; }
    .public-volunteer-intro,
    .public-volunteer-areas,
    .public-volunteer-process,
    .public-volunteer-expectations,
    .public-volunteer-access { width: min(calc(100% - 36px),1160px); }
    .public-volunteer-intro { padding: 64px 0 54px; }
    .public-volunteer-areas { padding-bottom: 68px; }
    .public-volunteer-area-grid { grid-template-columns: 1fr; }
    .public-volunteer-area-grid article { min-height: 0; }
    .public-volunteer-process { margin-bottom: 68px; padding: 35px 25px; }
    .public-volunteer-process-list article { grid-template-columns: 40px 1fr; padding: 19px; }
    .public-volunteer-expectations { grid-template-columns: 1fr; }
    .public-volunteer-expectations-icon { min-height: 115px; font-size: 3rem; }
    .public-volunteer-expectations > div:last-child { padding: 32px 25px; }
    .public-volunteer-access { grid-template-columns: 1fr; margin-bottom: 68px; padding: 28px 24px; text-align: center; }
    .public-volunteer-access > i { margin: 0 auto; }
    .public-volunteer-cta { grid-template-columns: 1fr; padding: 44px 24px; text-align: center; }
    .public-volunteer-cta > i { margin: 0 auto; }
    .public-volunteer-cta .button { grid-column: auto; }
}

/* Final public Gallery page */
.public-gallery-page { color: var(--navy); background: #f4f0e5; }
.public-gallery-hero { min-height: 480px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.8fr); align-items: center; gap: 70px; padding: 76px max(7vw,42px); text-align: left; }
.public-gallery-hero-content { position: relative; z-index: 1; max-width: 760px; }
.public-gallery-eyebrow,
.public-gallery-label { margin: 0 0 14px; color: var(--gold); font-family: "Barlow Condensed",sans-serif; font-size: .9rem; font-weight: 700; letter-spacing: .22em; line-height: 1.3; text-transform: uppercase; }
.public-gallery-hero h1 { margin: 0; color: #fff; font-family: "Barlow Condensed",sans-serif; font-size: clamp(4.5rem,7.4vw,7.5rem); font-weight: 800; letter-spacing: .01em; line-height: .88; text-transform: uppercase; }
.public-gallery-hero h1 span { color: var(--gold-light); }
.public-gallery-hero-lead { max-width: 680px; margin: 28px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.05rem,1.5vw,1.28rem); line-height: 1.72; }
.public-gallery-hero-mark { position: relative; z-index: 1; justify-self: end; width: min(100%,340px); padding: 44px 30px; color: #fff; background: rgba(1,17,36,.74); border: 1px solid rgba(216,166,43,.62); box-shadow: 0 22px 58px rgba(0,0,0,.3); text-align: center; transform: rotate(2deg); }
.public-gallery-hero-mark i { display: block; margin-bottom: 20px; color: var(--gold-light); font-size: 3.5rem; }
.public-gallery-hero-mark span,
.public-gallery-hero-mark strong { display: block; font-family: "Barlow Condensed",sans-serif; text-transform: uppercase; }
.public-gallery-hero-mark span { color: var(--gold-light); font-size: .95rem; letter-spacing: .2em; }
.public-gallery-hero-mark strong { margin-top: 5px; font-size: 2.5rem; line-height: 1; }

.public-gallery-intro,
.public-gallery-status,
.public-gallery-collections,
.public-gallery-submit,
.public-gallery-guidelines { width: min(calc(100% - 64px),1160px); margin-inline: auto; }
.public-gallery-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; padding: 88px 0 76px; }
.public-gallery-intro h2,
.public-gallery-status h2,
.public-gallery-collections h2,
.public-gallery-submit h2,
.public-gallery-guidelines h2,
.public-gallery-cta h2 { margin: 0; font-family: "Barlow Condensed",sans-serif; font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.public-gallery-intro h2 { max-width: 500px; font-size: clamp(2.7rem,4.5vw,4.5rem); }
.public-gallery-intro-copy { padding-top: 22px; border-top: 3px solid var(--gold); }
.public-gallery-intro-copy p { margin: 0 0 18px; color: #536172; font-size: 1.07rem; line-height: 1.8; }

.public-gallery-status { display: grid; grid-template-columns: 260px 1fr; margin-bottom: 92px; overflow: hidden; background: #fff; border-top: 5px solid var(--gold); box-shadow: 0 18px 50px rgba(2,27,52,.1); }
.public-gallery-status-visual { position: relative; display: grid; place-items: center; min-height: 310px; color: var(--gold-light); background: var(--navy); }
.public-gallery-status-visual i { font-size: 5rem; }
.public-gallery-status-visual span { position: absolute; right: 18px; bottom: 8px; color: rgba(255,255,255,.07); font-family: "Barlow Condensed",sans-serif; font-size: 7rem; font-weight: 800; line-height: 1; }
.public-gallery-status-copy { padding: 54px 58px; }
.public-gallery-status h2 { font-size: clamp(2.3rem,3.8vw,3.8rem); }
.public-gallery-status-copy p:last-child { max-width: 760px; margin: 18px 0 0; color: #576474; font-size: 1.07rem; line-height: 1.78; }

.public-gallery-collections { padding-bottom: 92px; }
.public-gallery-collections > header { max-width: 790px; margin: 0 auto 42px; text-align: center; }
.public-gallery-collections h2 { font-size: clamp(2.8rem,4.7vw,4.6rem); }
.public-gallery-collections > header > p:last-child { margin: 17px 0 0; color: #5c6877; font-size: 1.06rem; line-height: 1.75; }
.public-gallery-collection-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-gallery-collection-grid article { position: relative; min-height: 260px; padding: 38px 34px; overflow: hidden; background: #fff; border-bottom: 4px solid var(--gold); box-shadow: 0 12px 34px rgba(2,27,52,.07); }
.public-gallery-collection-grid article > span { position: absolute; top: 16px; right: 22px; color: rgba(3,27,54,.07); font-family: "Barlow Condensed",sans-serif; font-size: 5rem; font-weight: 800; line-height: 1; }
.public-gallery-collection-grid article > i { position: relative; color: var(--gold); font-size: 3.3rem; }
.public-gallery-collection-grid h3 { position: relative; margin: 24px 0 12px; font-family: "Barlow Condensed",sans-serif; font-size: 2rem; text-transform: uppercase; }
.public-gallery-collection-grid p { position: relative; max-width: 470px; margin: 0; color: #606c7a; line-height: 1.68; }

.public-gallery-submit { display: grid; grid-template-columns: .8fr 1.2fr; gap: 65px; margin-bottom: 92px; padding: 55px; color: #fff; background: var(--navy); border-top: 5px solid var(--gold); }
.public-gallery-submit h2 { color: #fff; font-size: clamp(2.5rem,4vw,4rem); }
.public-gallery-submit-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.public-gallery-submit-list > div { display: grid; grid-template-columns: auto 1fr; gap: 15px; padding: 20px; background: rgba(255,255,255,.07); border-left: 3px solid var(--gold); }
.public-gallery-submit-list i { color: var(--gold-light); font-size: 1.45rem; }
.public-gallery-submit-list p { margin: 0; }
.public-gallery-submit-list strong,
.public-gallery-submit-list span { display: block; }
.public-gallery-submit-list strong { color: #fff; }
.public-gallery-submit-list span { margin-top: 5px; color: rgba(255,255,255,.67); line-height: 1.45; }

.public-gallery-guidelines { display: grid; grid-template-columns: 160px 1fr; margin-bottom: 92px; overflow: hidden; background: #fff; box-shadow: 0 16px 44px rgba(2,27,52,.08); }
.public-gallery-guidelines-icon { display: grid; place-items: center; color: var(--gold-light); background: var(--navy); font-size: 4rem; }
.public-gallery-guidelines > div:last-child { padding: 46px 52px; }
.public-gallery-guidelines h2 { font-size: clamp(2.3rem,3.6vw,3.6rem); }
.public-gallery-guidelines ul { display: grid; gap: 11px; margin: 25px 0 0; padding: 0; list-style: none; }
.public-gallery-guidelines li { position: relative; padding-left: 28px; color: #566273; line-height: 1.62; }
.public-gallery-guidelines li::before { content: '\f058'; position: absolute; left: 0; color: var(--gold); font-family: "Font Awesome 6 Free"; font-weight: 900; }
.public-gallery-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; padding: 52px max(7vw,42px); color: var(--navy); background: var(--gold-light); }
.public-gallery-cta > i { font-size: 3.5rem; }
.public-gallery-cta .public-gallery-label { color: #6f4d00; }
.public-gallery-cta h2 { font-size: clamp(2rem,3.1vw,3.3rem); }
.public-gallery-cta p:last-child { max-width: 780px; margin: 9px 0 0; font-size: 1.04rem; line-height: 1.65; }
.public-gallery-cta .button { white-space: nowrap; color: #fff; background: var(--navy); border-color: var(--navy); }

@media (max-width: 960px) {
    .public-gallery-hero { min-height: 565px; grid-template-columns: 1fr; justify-items: center; gap: 36px; padding: 68px 40px; text-align: center; }
    .public-gallery-hero-lead { margin-inline: auto; text-wrap: balance; }
    .public-gallery-hero-mark { justify-self: center; padding: 26px; transform: none; }
    .public-gallery-hero-mark i { margin-bottom: 12px; font-size: 2.5rem; }
    .public-gallery-intro { grid-template-columns: 1fr; gap: 30px; text-align: center; }
    .public-gallery-intro h2 { margin-inline: auto; }
    .public-gallery-status { grid-template-columns: 210px 1fr; }
    .public-gallery-status-copy { padding: 44px 38px; }
    .public-gallery-submit { grid-template-columns: 1fr; gap: 35px; }
    .public-gallery-cta { grid-template-columns: auto 1fr; }
    .public-gallery-cta .button { grid-column: 1 / -1; width: 100%; text-align: center; }
}

@media (max-width: 600px) {
    .public-gallery-hero { min-height: 510px; padding: 54px 24px; }
    .public-gallery-hero h1 { font-size: clamp(3.8rem,19vw,5.2rem); }
    .public-gallery-hero-mark { display: none; }
    .public-gallery-intro,
    .public-gallery-status,
    .public-gallery-collections,
    .public-gallery-submit,
    .public-gallery-guidelines { width: min(calc(100% - 36px),1160px); }
    .public-gallery-intro { padding: 64px 0 54px; }
    .public-gallery-status { grid-template-columns: 1fr; margin-bottom: 68px; }
    .public-gallery-status-visual { min-height: 150px; }
    .public-gallery-status-visual i { font-size: 3.5rem; }
    .public-gallery-status-copy { padding: 32px 25px; }
    .public-gallery-collections { padding-bottom: 68px; }
    .public-gallery-collection-grid { grid-template-columns: 1fr; }
    .public-gallery-collection-grid article { min-height: 0; padding: 32px 25px; }
    .public-gallery-submit { margin-bottom: 68px; padding: 35px 25px; }
    .public-gallery-submit-list { grid-template-columns: 1fr; }
    .public-gallery-guidelines { grid-template-columns: 1fr; margin-bottom: 68px; }
    .public-gallery-guidelines-icon { min-height: 115px; font-size: 3rem; }
    .public-gallery-guidelines > div:last-child { padding: 32px 25px; }
    .public-gallery-cta { grid-template-columns: 1fr; padding: 44px 24px; text-align: center; }
    .public-gallery-cta > i { margin: 0 auto; }
    .public-gallery-cta .button { grid-column: auto; }
}

/* 2027 Reunion gala redesign */
.reunion-gala-page {
    --reunion-navy: #03172f;
    --reunion-navy-light: #0a2a4d;
    --reunion-orange: #c64f1a;
    --reunion-orange-dark: #9f3810;
    --reunion-gold: #d5a536;
    --reunion-gold-light: #efc65b;
    --reunion-cream: #f7f1e5;
    overflow: hidden;
    color: var(--reunion-navy);
    background: var(--reunion-cream);
}

.reunion-gala-hero {
    position: relative;
    isolation: isolate;
    min-height: 575px;
    display: flex;
    align-items: center;
    padding: 72px max(6vw, 48px);
    overflow: hidden;
    color: #fff;
    background: var(--reunion-navy) url("../images/reunion-gala-hero.webp") center / cover no-repeat;
    border-bottom: 1px solid rgba(213, 165, 54, .72);
}

.reunion-gala-hero-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(1, 13, 29, .52) 0%, rgba(1, 13, 29, .28) 42%, rgba(1, 13, 29, .02) 70%);
}

.reunion-gala-hero-content {
    width: min(720px, 48%);
}

.reunion-gala-eyebrow,
.reunion-gala-label {
    margin: 0;
    color: var(--reunion-gold-light);
    font-family: "Barlow Condensed", sans-serif;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
}

.reunion-gala-hero h1 {
    margin: 10px 0 4px;
    color: var(--reunion-gold-light);
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(4.6rem, 7vw, 7.35rem);
    font-weight: 800;
    letter-spacing: .015em;
    line-height: .9;
    text-transform: uppercase;
    text-shadow: 0 5px 26px rgba(0, 0, 0, .36);
}

.reunion-gala-theme-line {
    max-width: 660px;
    margin: 13px 0 0;
    color: #fff;
    font-family: "Caveat", cursive;
    font-size: clamp(2.1rem, 3.4vw, 3.65rem);
    line-height: .98;
    text-shadow: 0 4px 18px rgba(0, 0, 0, .55);
}

.reunion-gala-divider,
.reunion-gala-ornament {
    display: grid;
    grid-template-columns: minmax(30px, 1fr) auto minmax(30px, 1fr);
    align-items: center;
    gap: 12px;
    max-width: 530px;
    margin: 22px 0 17px;
    color: var(--reunion-gold-light);
}

.reunion-gala-divider span,
.reunion-gala-ornament span {
    height: 1px;
    background: currentColor;
}

.reunion-gala-divider i,
.reunion-gala-ornament i {
    font-size: .82rem;
}

.reunion-gala-date {
    margin: 0;
    color: rgba(255, 255, 255, .92);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.reunion-gala-date span {
    padding: 0 8px;
    color: var(--reunion-orange);
}

.reunion-gala-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.reunion-gala-actions .button {
    min-width: 230px;
    padding: 16px 24px;
    text-align: center;
}

.reunion-gala-register {
    color: #fff;
    background: linear-gradient(135deg, var(--reunion-orange), var(--reunion-orange-dark));
    border-color: var(--reunion-orange);
}

.reunion-gala-details-button {
    color: var(--reunion-gold-light);
    background: rgba(1, 13, 29, .54);
    border-color: var(--reunion-gold);
}

.reunion-gala-countdown {
    position: absolute;
    right: max(3vw, 25px);
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 18px;
    color: #fff;
    background: rgba(3, 23, 47, .78);
    border: 1px solid rgba(213, 165, 54, .58);
    backdrop-filter: blur(8px);
}

.reunion-gala-countdown strong {
    color: var(--reunion-gold-light);
    font-family: "Barlow Condensed", sans-serif;
    font-size: 2.6rem;
    line-height: 1;
}

.reunion-gala-countdown span {
    font-family: "Barlow Condensed", sans-serif;
    font-size: .83rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.08;
    text-transform: uppercase;
}

.reunion-gala-pillars {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0 max(4vw, 32px);
    color: var(--reunion-navy);
    background: #fbf7ef;
    border-bottom: 1px solid rgba(3, 23, 47, .12);
}

.reunion-gala-pillars article {
    min-height: 150px;
    display: grid;
    grid-template-columns: 72px 1fr;
    align-items: center;
    gap: 18px;
    padding: 27px 25px;
    border-right: 1px solid rgba(3, 23, 47, .16);
}

.reunion-gala-pillars article:last-child {
    border-right: 0;
}

.reunion-gala-pillars article > i {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    color: var(--reunion-gold-light);
    background: var(--reunion-navy);
    border: 2px solid var(--reunion-gold);
    border-radius: 50%;
    font-size: 1.55rem;
}

.reunion-gala-pillars h2 {
    margin: 0 0 6px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.45rem;
    text-transform: uppercase;
}

.reunion-gala-pillars p {
    margin: 0;
    color: #526071;
    font-size: .94rem;
    line-height: 1.48;
}

.reunion-gala-theme-story {
    position: relative;
    padding: 68px 24px 73px;
    overflow: hidden;
    text-align: center;
    background:
        linear-gradient(rgba(247, 241, 229, .94), rgba(247, 241, 229, .94)),
        radial-gradient(circle at center, rgba(213, 165, 54, .3), transparent 58%);
}

.reunion-gala-theme-story h2 {
    max-width: 1020px;
    margin: 10px auto 0;
    color: #9c6d1b;
    font-family: "Caveat", cursive;
    font-size: clamp(2.8rem, 5.2vw, 5rem);
    font-weight: 400;
    line-height: 1;
}

.reunion-gala-ornament {
    width: min(360px, 70%);
    margin: 17px auto;
    color: var(--reunion-gold);
}

.reunion-gala-theme-story > p:last-child {
    max-width: 850px;
    margin: 0 auto;
    color: #465568;
    font-size: 1.08rem;
    line-height: 1.75;
}

.reunion-gala-details {
    padding: 82px max(5vw, 28px) 88px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 10%, rgba(198, 79, 26, .18), transparent 32%),
        linear-gradient(145deg, #092b4d, var(--reunion-navy) 58%, #020f20);
}

.reunion-gala-details > header {
    max-width: 770px;
    margin: 0 auto 42px;
    text-align: center;
}

.reunion-gala-details h2,
.reunion-gala-registration h2,
.reunion-gala-cta h2 {
    margin: 8px 0 0;
    font-family: "Barlow Condensed", sans-serif;
    font-size: clamp(2.8rem, 4.8vw, 4.7rem);
    font-weight: 800;
    line-height: .96;
    text-transform: uppercase;
}

.reunion-gala-details > header > p:last-child {
    margin: 15px 0 0;
    color: rgba(255, 255, 255, .68);
    line-height: 1.65;
}

.reunion-gala-detail-strip {
    width: min(1240px, 100%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0 auto;
    border-top: 1px solid rgba(213, 165, 54, .45);
    border-bottom: 1px solid rgba(213, 165, 54, .45);
}

.reunion-gala-detail-strip article {
    min-height: 145px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 17px;
    padding: 25px 28px;
    border-right: 1px solid rgba(255, 255, 255, .16);
}

.reunion-gala-detail-strip article:last-child {
    border-right: 0;
}

.reunion-gala-detail-strip i {
    color: var(--reunion-gold-light);
    font-size: 2rem;
}

.reunion-gala-detail-strip span,
.reunion-gala-detail-strip strong,
.reunion-gala-detail-strip small {
    display: block;
}

.reunion-gala-detail-strip span {
    margin-bottom: 5px;
    color: var(--reunion-orange);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.reunion-gala-detail-strip strong {
    color: #fff;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.45rem;
    line-height: 1.15;
    text-transform: uppercase;
}

.reunion-gala-detail-strip small {
    margin-top: 3px;
    color: rgba(255, 255, 255, .65);
}

.reunion-gala-pending {
    width: min(820px, 100%);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 28px auto 0;
}

.reunion-gala-pending > div {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 15px;
    padding: 22px 25px;
    background: rgba(255, 255, 255, .06);
    border-left: 4px solid var(--reunion-orange);
}

.reunion-gala-pending i {
    grid-row: 1 / 3;
    color: var(--reunion-gold-light);
    font-size: 1.5rem;
}

.reunion-gala-pending span {
    color: rgba(255, 255, 255, .58);
    font-size: .78rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.reunion-gala-pending strong {
    margin-top: 4px;
    color: #fff;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 1.35rem;
    text-transform: uppercase;
}

.reunion-gala-registration {
    width: min(1180px, calc(100% - 64px));
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: clamp(55px, 8vw, 110px);
    margin: 0 auto;
    padding: 92px 0;
}

.reunion-gala-registration h2 {
    color: var(--reunion-navy);
}

.reunion-gala-registration-copy > p:not(.reunion-gala-label):not(.reunion-gala-guest-note) {
    margin: 20px 0 0;
    color: #465568;
    font-size: 1.08rem;
    line-height: 1.78;
}

.reunion-gala-guest-note {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin: 24px 0 0;
    padding: 17px 19px;
    color: #5c451b;
    background: rgba(213, 165, 54, .16);
    border-left: 4px solid var(--reunion-orange);
    line-height: 1.55;
}

.reunion-gala-guest-note i {
    margin-top: 4px;
    color: var(--reunion-orange);
}

.reunion-gala-registration-card {
    padding: 46px 34px;
    color: #fff;
    background: var(--reunion-navy);
    border: 1px solid rgba(213, 165, 54, .55);
    box-shadow: 0 22px 55px rgba(3, 23, 47, .17);
    text-align: center;
}

.reunion-gala-registration-card > i {
    color: var(--reunion-gold-light);
    font-size: 2.65rem;
}

.reunion-gala-registration-card > span {
    display: block;
    margin: 15px 0 7px;
    color: var(--reunion-orange);
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.reunion-gala-registration-card h3 {
    margin: 0 0 25px;
    font-family: "Barlow Condensed", sans-serif;
    font-size: 2rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.reunion-gala-registration-card .button {
    width: 100%;
    color: #fff;
    background: var(--reunion-orange);
    border-color: var(--reunion-orange);
}

.reunion-gala-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 40px max(6vw, 42px);
    color: var(--reunion-navy);
    background: linear-gradient(135deg, #efc65b, #d5a536);
}

.reunion-gala-cta .reunion-gala-label {
    color: #6c4b08;
}

.reunion-gala-cta h2 {
    font-size: clamp(2rem, 3.6vw, 3.55rem);
}

.reunion-gala-cta-actions {
    display: flex;
    gap: 12px;
}

.reunion-gala-cta .button {
    min-width: 165px;
    color: #fff;
    background: var(--reunion-navy);
    border-color: var(--reunion-navy);
    text-align: center;
}

.reunion-gala-cta .reunion-gala-update {
    color: var(--reunion-navy);
    background: transparent;
}

@media (max-width: 1100px) {
    .reunion-gala-hero {
        min-height: 620px;
        justify-content: center;
        padding: 72px 38px;
        text-align: center;
        background-position: 62% center;
    }

    .reunion-gala-hero-shade {
        background: rgba(1, 13, 29, .66);
    }

    .reunion-gala-hero-content {
        width: min(760px, 100%);
        margin: 0 auto;
    }

    .reunion-gala-divider,
    .reunion-gala-actions {
        margin-inline: auto;
        justify-content: center;
    }

    .reunion-gala-countdown {
        display: none;
    }

    .reunion-gala-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reunion-gala-pillars article:nth-child(2) {
        border-right: 0;
    }

    .reunion-gala-pillars article:nth-child(-n+2) {
        border-bottom: 1px solid rgba(3, 23, 47, .16);
    }

    .reunion-gala-detail-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reunion-gala-detail-strip article:nth-child(2) {
        border-right: 0;
    }

    .reunion-gala-detail-strip article:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }
}

@media (max-width: 760px) {
    .reunion-gala-hero {
        min-height: 570px;
        padding: 62px 24px;
        background-position: 64% center;
    }

    .reunion-gala-hero h1 {
        font-size: clamp(3.8rem, 17vw, 5.5rem);
    }

    .reunion-gala-theme-line {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

    .reunion-gala-date span {
        display: none;
    }

    .reunion-gala-date {
        display: grid;
        gap: 4px;
    }

    .reunion-gala-actions {
        flex-direction: column;
    }

    .reunion-gala-actions .button {
        width: 100%;
    }

    .reunion-gala-pillars,
    .reunion-gala-detail-strip,
    .reunion-gala-pending {
        grid-template-columns: 1fr;
    }

    .reunion-gala-pillars article {
        border-right: 0;
        border-bottom: 1px solid rgba(3, 23, 47, .16);
    }

    .reunion-gala-pillars article:last-child {
        border-bottom: 0;
    }

    .reunion-gala-detail-strip article {
        min-height: 110px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .reunion-gala-detail-strip article:last-child {
        border-bottom: 0;
    }

    .reunion-gala-theme-story {
        padding: 60px 20px 65px;
    }

    .reunion-gala-details {
        padding: 68px 20px 72px;
    }

    .reunion-gala-registration {
        width: min(calc(100% - 36px), 1180px);
        grid-template-columns: 1fr;
        gap: 42px;
        padding: 70px 0;
    }

    .reunion-gala-registration-card {
        padding: 40px 24px;
    }

    .reunion-gala-cta {
        flex-direction: column;
        padding: 40px 24px;
        text-align: center;
    }

    .reunion-gala-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .reunion-gala-cta .button {
        width: 100%;
    }
}

/* WEB-020 final cascade overrides */
.hero-background { background-position: center center; }
.hero-overlay {
    background: linear-gradient(90deg,rgba(2,18,36,.62),rgba(2,18,36,.52) 34%,rgba(2,18,36,.28) 66%,rgba(2,18,36,.12)),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.16));
}
:is(.interior-hero,.about-class-hero,.business-spotlight-hero,.committee-hero,.contact-hero,.faq-hero,.future-events-hero,.homecoming-hero,.memorial-final-hero,.past-events-hero,.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero) {
    background-image:url("../images/lchs95-hero-composite.jpg");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
}
:is(.about-class-hero-shade,.business-spotlight-hero-shade,.committee-hero-shade,.contact-hero-shade,.faq-hero-shade,.future-events-hero-shade,.homecoming-hero-shade,.memorial-final-hero-shade,.past-events-hero-shade),
:is(.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero)::before {
    background:linear-gradient(90deg,rgba(2,18,36,.76),rgba(2,18,36,.62) 39%,rgba(2,18,36,.26) 70%,rgba(2,18,36,.14)),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.15));
}
:is(.hero-copy,.interior-hero-content,.about-class-hero-content,.business-spotlight-hero-content,.committee-hero-content,.contact-hero-content,.faq-hero-content,.future-events-hero-content,.homecoming-hero-content,.memorial-final-hero-content,.past-events-hero-content,.public-donate-hero-content,.public-fundraisers-hero-content,.public-gallery-hero-content,.public-volunteer-hero-content,.update-information-hero-content) {
    text-shadow:0 2px 12px rgba(0,0,0,.72);
}
@media(max-width:1050px){
    .hero-background,
    :is(.interior-hero,.about-class-hero,.business-spotlight-hero,.committee-hero,.contact-hero,.faq-hero,.future-events-hero,.homecoming-hero,.memorial-final-hero,.past-events-hero,.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero){background-position:18% center}
    .hero-overlay,
    :is(.about-class-hero-shade,.business-spotlight-hero-shade,.committee-hero-shade,.contact-hero-shade,.faq-hero-shade,.future-events-hero-shade,.homecoming-hero-shade,.memorial-final-hero-shade,.past-events-hero-shade),
    :is(.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero)::before{background:rgba(2,18,36,.50)}
}
@media(max-width:600px){
    .hero-background,
    :is(.interior-hero,.about-class-hero,.business-spotlight-hero,.committee-hero,.contact-hero,.faq-hero,.future-events-hero,.homecoming-hero,.memorial-final-hero,.past-events-hero,.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero){background-position:9% center}
    .hero-overlay,
    :is(.about-class-hero-shade,.business-spotlight-hero-shade,.committee-hero-shade,.contact-hero-shade,.faq-hero-shade,.future-events-hero-shade,.homecoming-hero-shade,.memorial-final-hero-shade,.past-events-hero-shade),
    :is(.public-donate-hero,.public-fundraisers-hero,.public-gallery-hero,.public-volunteer-hero,.update-information-hero)::before{background:rgba(2,18,36,.46)}
}

/* Approved four-page brightness refinement. */
:is(.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
    background-image:
        linear-gradient(rgba(2,18,36,.30),rgba(2,18,36,.34)),
        url("../images/lchs95-hero-composite.jpg");
}
@media(max-width:1050px){
    :is(.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        background-image:
            linear-gradient(rgba(2,18,36,.36),rgba(2,18,36,.39)),
            url("../images/lchs95-hero-composite.jpg");
    }
}
@media(max-width:600px){
    :is(.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        background-image:
            linear-gradient(rgba(2,18,36,.39),rgba(2,18,36,.42)),
            url("../images/lchs95-hero-composite.jpg");
    }
}

/* WEB-020 portrait-tablet refinement: remove the floating-card collision. */
@media (min-width:601px) and (max-width:900px) and (orientation:portrait) {
    .hero-background,
    :is(.business-spotlight-hero,.update-information-hero,.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        background-position:center center;
    }

    :is(.business-spotlight-hero-mark,.update-information-hero-mark,.public-fundraisers-hero-mark,.public-donate-hero-mark,.public-volunteer-hero-mark,.public-gallery-hero-mark) {
        display:none;
    }

    :is(.business-spotlight-hero,.update-information-hero,.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        min-height:500px;
        grid-template-columns:1fr;
        justify-items:center;
        gap:0;
        text-align:center;
    }

    :is(.business-spotlight-hero-content,.update-information-hero-content,.public-fundraisers-hero-content,.public-donate-hero-content,.public-volunteer-hero-content,.public-gallery-hero-content),
    :is(.business-spotlight-hero-lead,.update-information-hero-lead,.public-fundraisers-hero-lead,.public-donate-hero-lead,.public-volunteer-hero-lead,.public-gallery-hero-lead) {
        margin-inline:auto;
    }

    .date-card {
        width:min(330px,100%);
        padding:24px;
    }
}

/* WEB-020 phone refinement: keep one eye at the edge, not a full looming face. */
@media (max-width:600px) {
    .hero-background,
    :is(.business-spotlight-hero,.update-information-hero,.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        background-position:center center;
    }
}

/* WEB-020 final focal-point balance after device review. */
@media (min-width:601px) and (max-width:900px) and (orientation:portrait) {
    .hero-background {
        background-position:30% center;
    }
}

@media (min-width:601px) and (max-width:1050px) and (orientation:landscape) {
    .hero-background {
        background-position:8% center;
    }
}

@media (max-width:600px) {
    /* Match the approved Contact hero crop on phones. */
    :is(.business-spotlight-hero,.update-information-hero,.public-fundraisers-hero,.public-donate-hero,.public-volunteer-hero,.public-gallery-hero) {
        background-position:9% center;
    }
}
