/*
    CSS file for Windham Eagles Boys Basketball
*/

@font-face {
    font-family: "Barlow Condensed";
    src: url("../fonts/barlow-condensed-800-latin.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Barlow Condensed";
    src: url("../fonts/barlow-condensed-700-latin.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Bitter";
    src: url("../fonts/bitter-latin.woff2") format("woff2");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Bitter";
    src: url("../fonts/bitter-italic-latin.woff2") format("woff2");
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "Mr Dafoe";
    src: url("../fonts/mr-dafoe-latin.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Public Sans";
    src: url("../fonts/public-sans-latin.woff2") format("woff2");
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}


/*  Base
-------------------------------------------*/

    /*
     *  Global Variables
     */
    :root {
        --color-maroon: #6A061B;
        --color-dark-maroon: #520414;
        --color-black: #111111;
        --color-pure-black: #000000;
        --color-charcoal: #1C1C1C;
        --color-light-charcoal: #262626;
        --color-hover-charcoal: #2B2B2B;
        --color-gray: #5C5C5C;
        --color-mute-gray: #6B6B6B;
        --color-silver: #BDBDBD;
        --color-light-gray: #E8E8E8;
        --color-pale-gray: #F2F2F2;
        --color-white: #FFFFFF;
        --color-soft-white: rgb(255 255 255 / 0.14);
        --color-dark-gold: #B07A00;
        --color-gold: #C5B358;

        --scrim-hero: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 15%, transparent) 0%, color-mix(in srgb, var(--color-black) 40%, transparent) 32%, color-mix(in srgb, var(--color-black) 86%, transparent) 64%, color-mix(in srgb, var(--color-black) 94%, transparent) 100%);
        --scrim-hero-lg: linear-gradient(90deg, color-mix(in srgb, var(--color-black) 90%, transparent) 0%, color-mix(in srgb, var(--color-black) 72%, transparent) 36%, color-mix(in srgb, var(--color-black) 15%, transparent) 64%, color-mix(in srgb, var(--color-black) 0%, transparent) 80%);
        --scrim-tile: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 0%, transparent) 30%, color-mix(in srgb, var(--color-black) 60%, transparent) 60%, color-mix(in srgb, var(--color-black) 92%, transparent) 100%);

        --ff-display: "Barlow Condensed", "Arial Narrow", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
        --ff-heading: "Bitter", Georgia, serif;
        --ff-script: "Mr Dafoe", cursive;
        --ff-body: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

        --fs-sm: 0.9375rem;
        --fs-base: 1.1875rem;
        --fs-nav: clamp(1.25rem, 0.5rem + 1vw, 1.4375rem);
        --fs-lg: clamp(1.25rem, 1.12rem + 0.55vw, 1.5rem);
        --fs-h4: clamp(1.25rem, 1.12rem + 0.5vw, 1.5rem);
        --fs-h3: clamp(1.5rem, 1.3rem + 0.9vw, 2.0625rem);
        --fs-h2: clamp(2rem, 1.35rem + 2.8vw, 3.75rem);
        --fs-score: clamp(2.25rem, 1.8rem + 1.8vw, 3.25rem);
        --fs-stat: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);

        --fw-semibold: 600;
        --fw-bold: 700;
        --fw-extrabold: 800;

        --lh-tight: 1.02;
        --lh-snug: 1.1;
        --lh-body: 1.65;
        --ls-display: -0.015em;
        --ls-heading: 0;

        --s-1: 0.25rem;
        --s-2: 0.5rem;
        --s-3: 0.75rem;
        --s-4: 1rem;
        --s-5: 1.5rem;
        --s-6: 2rem;
        --s-7: 3rem;
        --s-8: 4.5rem;
        --s-9: 6rem;
        --section-y: clamp(3rem, 1.6rem + 6.6vw, 8rem);
        --band-y: var(--s-6);

        --r-sm: 4px;
        --r-md: 8px;
        --r-lg: 12px;
        --r-pill: 999px;
        --shadow-card-hover: 0 14px 32px color-mix(in srgb, var(--color-black) 14%, transparent);

        --tap-min: 44px;
        --page-hero-h: 20rem;
        --page-hero-top: 6.25rem;
        --ticker-h: 40px;
        --header-h: 104px;
        --pennant-w: 144px;
        --pennant-pad: 14px;
        --pennant-gap: 10px;
        --pennant-notch: 16px;
        --pennant-fs: 1.125rem;
        --pennant-title-fs: 1.0625rem;
        --pennant-eagle: 88px;
        --pennant-hang: 96px;
        --btn-w: 20rem;
        --ribbon: 10px;
        --ribbon-sm: 7px;
        --header-rail: 4px;
        --band: 14px;
        --container-max: 1440px;

        --control-h: 3.5rem;
        --control-h-sm: 2.75rem;
        --control-border: 2px;
        --control-radius: var(--r-sm);
        --btn-fs: 1.3125rem;
        --btn-fw: var(--fw-extrabold);
        --btn-icon: 1.15em;
        --focus-ring: 3px solid var(--color-dark-gold);
    }

    /*
     *  Bootstrap Variables
     */
    :root {
        --bs-body-font-family: var(--ff-body);
        --bs-body-font-size: var(--fs-base);
        --bs-body-line-height: var(--lh-body);
        --bs-body-color: var(--color-black);
        --bs-body-bg: var(--color-pale-gray);
        --bs-link-color: var(--color-maroon);
        --bs-link-hover-color: var(--color-black);
        --bs-border-radius: var(--r-sm);
        --bs-focus-ring-color: var(--color-dark-gold);
    }

    /*
     *  Typography
     */
    body {
        font-family: var(--ff-body);
        color: var(--color-black);
        text-rendering: optimizeLegibility;
        background-color: var(--color-pale-gray);
        -webkit-font-smoothing: antialiased;
    }

    h1,
    h2,
    h3,
    h4 {
        font-family: var(--ff-heading);
        font-weight: var(--fw-extrabold);
        line-height: var(--lh-snug);
        letter-spacing: var(--ls-heading);
        text-transform: uppercase;
        color: var(--color-black);
    }

    h1,
    h2 {
        line-height: var(--lh-tight);
        letter-spacing: var(--ls-display);
    }

    h2 {
        margin-bottom: var(--s-5);
        font-size: var(--fs-h2);
    }

    h3 {
        font-size: var(--fs-h3);
    }

    h4 {
        font-size: var(--fs-h4);
    }

    a {
        color: var(--color-maroon);
        text-underline-offset: 0.2em;
        text-decoration-thickness: 1px;
    }

    a:hover {
        color: var(--color-black);
    }

    a:has(.ph, svg, img) {
        text-decoration: none;
    }

    .ph {
        display: inline-block;
    }

        .ph::before {
            display: inline-block;
            text-decoration: none;
        }

    /*
     *  Transition
     */
    a,
    svg,
    path,
    button {
        transition: all ease 0.4s;
    }

    /*
     *  Focus
     */
    :focus-visible {
        outline: var(--focus-ring);
        outline-offset: 3px;
        border-radius: var(--r-sm);
    }

    /*
     *  Images
     */
    img {
        max-width: 100%;
        height: auto;
    }

    /*
     *  Section Spacing
     */
    section,
    footer {
        margin-top: 0;
    }

    /*
     *  Layout
     */
    [id] {
        scroll-margin-top: calc(var(--header-h) + var(--s-4));
    }

    .container {
        max-width: var(--container-max);
        --bs-gutter-x: 4rem;
    }

    .skip-link:focus {
        top: var(--s-2);
        left: 50%;
        z-index: 1100;
        padding: var(--s-3) var(--s-5);
        color: var(--color-white);
        font-weight: var(--fw-bold);
        background-color: var(--color-black);
        border-radius: var(--r-sm);
        transform: translateX(-50%);
        position: fixed;
    }

    /*
     *  Bands
     */
    .section {
        padding-block: var(--section-y);
    }

        main > .section:last-child:has(> .container > .prose:last-child) {
            padding-bottom: var(--s-7);
        }

    .section-sand {
        background-color: var(--color-light-gray);
    }

    .section-white {
        background-color: var(--color-white);
    }

    .section-ink {
        color: var(--color-white);
        background-color: var(--color-black);
    }

    .page-hero + .section {
        padding-top: var(--s-7);
    }

    .section-ink + .section:not(.section-ink) {
        padding-top: calc(var(--section-y) / 2);
    }

    .section-white + .section-white,
    .section-sand + .section-sand,
    .section-ink + .section-ink,
    .section:not(.section-white, .section-sand, .section-ink) + .section:not(.section-white, .section-sand, .section-ink) {
        padding-top: 0;
    }

        .section-ink h2,
        .section-ink h3 {
            color: var(--color-white);
        }


/*  Common Elements
-------------------------------------------*/

    /*
     *  Display Labels: the condensed bold capitals of dates, facts, tags and small headings
     */
    .site-mega-title,
    .site-nav-group,
    .level-label,
    .shop-sort-label,
    .fact-panel-title,
    .fact-panel dt,
    .cal-menu-teams legend,
    .game-tag,
    .article-share-label,
    .article-pager-link span,
    .game-wide-when,
    .game-wide-times span,
    .game-wide-venue,
    .game-player span:first-child,
    .season-strip-record,
    .gameday-meta,
    .gameday-where,
    .gameday-unit,
    .game-date,
    .film-facts dt,
    .film-credit-label,
    .film-credit-roll dt,
    .dash-count,
    .dash-plan-label,
    .practice-head,
    .practice-bar-label,
    .pl-index a,
    .pl-cell-label,
    .game-row-date,
    .game-row-site,
    .shop-product table.variations label,
    .product-details-title,
    .pz-title,
    .quality-switch-label,
    .woocommerce table.shop_table th,
    .shop-shipping-table thead th {
        font-family: var(--ff-display);
        font-weight: var(--fw-bold);
        text-transform: uppercase;
    }

    /*
     *  Display Titles: the condensed extra-bold capitals of headlines, names and scores
     */
    .ticker-flag,
    .footer-heading,
    .game-name,
    .post-chip,
    .game-rows .game-tag,
    .article-meta .game-tag,
    .product-card-tag,
    .game-wide-teams,
    .hero-title,
    .hero-gear-title,
    .hero-pre-title,
    .gameday-label,
    .gameday-opp,
    .champs-shot figcaption,
    .slogan-text,
    .dash-label,
    .dash-date,
    .dash-game-opp,
    .dash-tile,
    .dash-standard-text,
    .pl-strong,
    .game-row-tag,
    .shop-facet-title,
    .shop .pz-field .input-text,
    .quality-option-name,
    .woocommerce table.shop_table .product-name a,
    .cart-drawer-soon {
        font-family: var(--ff-display);
        font-weight: var(--fw-extrabold);
        text-transform: uppercase;
    }

    /*
     *  Icon Buttons: a bare, centred button that holds an icon or a swatch
     */
    .hero-dot,
    .rail-arrow,
    .product-card-colour,
    .product-swatch,
    .photo-lightbox-button,
    .cart-drawer-close,
    .cart-line-step,
    .cart-line-remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
    }

    /*
     *  Cover Photos: a photo that fills its frame
     */
    .site-mega-feature img,
    .champs-keepsakes img,
    .film-video img,
    .film-video iframe,
    .player-photo img,
    .insta-tile img,
    .coach-photo img,
    .program-photo img,
    .post-card-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    /*
     *  Overlay Layers: a decorative layer over its whole box
     */
    .page-hero::before,
    .hero::after,
    .page-hero::after,
    .titles::before,
    .hero::before,
    .hero-slide-gear::before,
    .hero-slide-pre::after,
    .gameday::after,
    .champs::before,
    .post-card-title::after,
    .post-type-card::before,
    .post-card-lead .post-card-media::after {
        inset: 0;
        content: "";
        position: absolute;
    }

    /*
     *  Focus Ring: the keyboard focus outline of controls and links
     */
    .level-bar select:focus,
    .gform_wrapper input:focus,
    .gform_wrapper textarea:focus,
    .gform_wrapper select:focus,
    .news-search input:focus,
    .news-search select:focus,
    .portal-field input:focus,
    .shop-toolbar .shop-filter-open:focus-visible,
    .shop-choice input:focus-visible,
    .product-gallery-thumb:focus-visible,
    .product-gallery-step:focus-visible,
    .product-details-title:focus-visible,
    .quality-option:focus-visible,
    .product-swatch:focus-visible,
    .shop select:focus,
    .shop .input-text:focus,
    .woocommerce .input-text:focus,
    .woocommerce select:focus,
    .cart-drawer select:focus,
    .site-header-cart:focus-visible {
        outline: var(--focus-ring);
        outline-offset: 2px;
    }

    /*
     *  Section Heads
     */
    .section-head {
        margin-bottom: var(--s-7);
    }

        .section-head .section-title {
            margin-bottom: var(--s-4);
        }

    .section-lede {
        margin-bottom: 0;
        font-size: var(--fs-lg);
        color: var(--color-gray);
    }

        .section-ink .section-lede {
            color: var(--color-silver);
        }

    .news-search select,
    .level-bar select,
    .gform_wrapper select {
        background: var(--color-white) url("../img/caret-down.svg") right var(--s-4) center / 1rem no-repeat;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }

    .level-bar {
        display: flex;
        align-items: center;
        gap: var(--s-3);
        margin-bottom: var(--s-5);
    }

        .level-label,
        .shop-sort-label {
            color: var(--color-gray);
            font-size: 1.0625rem;
        }

        .level-bar select {
            width: min(100%, 16rem);
            min-height: var(--control-h-sm);
            padding: 0 2.75rem 0 var(--s-4);
            color: var(--color-black);
            font-family: var(--ff-display);
            font-size: var(--fs-base);
            font-weight: var(--fw-bold);
            border: var(--control-border) solid var(--color-mute-gray);
            border-radius: var(--control-radius);
        }

    .section-foot {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--s-3);
        margin-top: var(--s-6);
    }

        .section-foot-note {
            color: var(--color-gray);
            font-weight: var(--fw-semibold);
        }

            .section-ink .section-foot-note {
                color: var(--color-silver);
            }

    /*
     *  Buttons
     */
    .btn {
        min-height: var(--control-h);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        line-height: 1.1;
        --bs-btn-font-family: var(--ff-display);
        --bs-btn-font-size: var(--btn-fs);
        --bs-btn-font-weight: var(--btn-fw);
        --bs-btn-border-width: var(--control-border);
        --bs-btn-border-radius: var(--control-radius);
        --bs-btn-padding-x: var(--s-6);
        --bs-btn-padding-y: 0;
        transition: all ease 0.4s;
    }

        .btn .ph {
            flex-shrink: 0;
            font-size: var(--btn-icon);
        }

    .btn-primary,
    .btn-secondary {
        border-radius: var(--r-sm);
    }

    .btn-ribbon {
        isolation: isolate;
        border-radius: 0;
        --cut: var(--ribbon);
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 50%, 100% 100%, 0 100%, var(--cut) 50%);
        position: relative;
    }

        .btn-ribbon > * {
            z-index: 1;
            position: relative;
        }

        .btn-ribbon:focus-visible::before,
        .btn-ribbon:focus-visible::after {
            content: "";
            clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%, 8px 50%);
            position: absolute;
        }

        .btn-ribbon:focus-visible::before {
            inset: 5px 9px;
            background-color: var(--color-white);
        }

        .btn-ribbon:focus-visible::after {
            inset: 8px 13px;
            background: inherit;
        }

    .btn-primary:focus-visible,
    .btn-secondary:focus-visible {
        outline: var(--focus-ring);
        outline-offset: 3px;
        box-shadow: none;
    }

    .btn-ribbon:focus-visible {
        outline: none;
        box-shadow: none;
    }

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

    .btn:active {
        transform: translateY(1px);
    }

    .btn-cta {
        width: min(100%, var(--btn-w));
    }

        .btn-cta span {
            min-width: 0;
            text-align: center;
        }

    .btn-row {
        max-width: calc(2 * var(--btn-w) + var(--s-3));
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
        gap: var(--s-3);
    }

        .btn-row .btn-cta {
            width: 100%;
        }

    /*
     *  Buttons: Tertiary Action Links (repeated card actions and minor actions)
     */
    .link-action {
        min-height: var(--tap-min);
        display: inline-flex;
        align-items: center;
        align-self: flex-start;
        gap: var(--s-2);
        color: var(--color-maroon);
        font-family: var(--ff-display);
        font-size: var(--fs-base);
        font-weight: var(--fw-bold);
        line-height: 1.2;
        text-decoration: none;
        transition: all ease 0.4s;
    }

    .link-action:hover {
        color: var(--color-maroon);
        text-decoration: none;
    }

    .link-action:focus-visible {
        outline: var(--focus-ring);
        outline-offset: 4px;
    }

        .link-action span {
            text-decoration: underline 2px transparent;
            text-underline-offset: 0.25em;
            transition: all ease 0.4s;
        }

        .link-action:hover span {
            text-decoration-color: currentColor;
        }

        .link-action .ph {
            flex-shrink: 0;
            font-size: 1.2em;
        }

        .section-ink .link-action,
        .cta-band .link-action,
        .season-strip .link-action,
        .hero .link-action {
            color: var(--color-white);
        }

        .btn-row .link-action {
            align-self: center;
            justify-self: center;
        }

    /*
     *  Buttons: Primary (maroon ribbon) and Secondary (black ribbon, a primary's partner only)
     */
    .btn-primary {
        --bs-btn-color: var(--color-white);
        --bs-btn-bg: var(--color-maroon);
        --bs-btn-border-color: var(--color-maroon);
        --bs-btn-hover-color: var(--color-white);
        --bs-btn-hover-bg: var(--color-dark-maroon);
        --bs-btn-hover-border-color: var(--color-dark-maroon);
        --bs-btn-active-color: var(--color-white);
        --bs-btn-active-bg: var(--color-dark-maroon);
        --bs-btn-active-border-color: var(--color-dark-maroon);
    }

    .btn-secondary {
        --bs-btn-color: var(--color-white);
        --bs-btn-bg: var(--color-black);
        --bs-btn-border-color: var(--color-black);
        --bs-btn-hover-color: var(--color-white);
        --bs-btn-hover-bg: var(--color-hover-charcoal);
        --bs-btn-hover-border-color: var(--color-hover-charcoal);
        --bs-btn-active-color: var(--color-white);
        --bs-btn-active-bg: var(--color-hover-charcoal);
        --bs-btn-active-border-color: var(--color-hover-charcoal);
    }

    .hero .btn-secondary,
    .page-hero .btn-secondary,
    .site-nav .btn-secondary,
    .cta-rail .btn-secondary,
    .section-ink .btn-secondary,
    .cta-band .btn-secondary {
        --bs-btn-bg: transparent;
        --bs-btn-border-color: var(--color-white);
        --bs-btn-hover-border-color: var(--color-white);
        --bs-btn-active-border-color: var(--color-white);
    }

    /*
     *  Small Buttons (rectangles; the ribbon is only the header Fan Gear and the hero's main action)
     */
    .site-footer .footer-social a,
    .share-btn {
        border-radius: var(--r-sm);
    }

    /*
     *  Filters
     */
    .filter-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 0 var(--s-5);
        border-bottom: 1px solid var(--color-silver);
    }

    .filter-chip {
        min-height: var(--tap-min);
        display: inline-flex;
        align-items: center;
        gap: var(--s-2);
        margin-bottom: -1px;
        padding: 0;
        color: var(--color-gray);
        font-family: var(--ff-display);
        font-size: var(--fs-base);
        font-weight: var(--fw-bold);
        line-height: 1;
        text-decoration: none;
        white-space: nowrap;
        border: 0;
        border-bottom: 3px solid transparent;
        background: none;
        transition: all ease 0.4s;
    }

    .filter-chip:hover {
        color: var(--color-black);
    }

    .filter-chip[aria-pressed="true"],
    .filter-chip[aria-current="page"] {
        color: var(--color-black);
        border-bottom-color: var(--color-maroon);
    }

    .filter-chip-count {
        color: var(--color-maroon);
        font-size: var(--fs-sm);
    }

        .filter-chip[aria-pressed="false"] .filter-chip-count {
            color: var(--color-mute-gray);
        }

    /*
     *  Page Hero
     */
    .page-hero {
        isolation: isolate;
        height: var(--page-hero-h);
        display: flex;
        align-items: flex-start;
        color: var(--color-white);
        background-color: var(--color-black);
        position: relative;
    }

        .page-hero:has(.btn-row) {
            height: auto;
            min-height: var(--page-hero-h);
        }

    .page-hero-media {
        inset: 0;
        z-index: 0;
        overflow: hidden;
        position: absolute;
    }

        .page-hero-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 35%;
        }

            .page-hero.--roster .page-hero-media img {
                object-position: 50% 33%;
            }

            .page-hero.--news .page-hero-media img {
                object-position: 50% 20%;
            }

            .page-hero.--coach .page-hero-media img {
                object-position: 57% 55%;
                transform: scale(1.4);
                transform-origin: 0% 50%;
            }

            .page-hero.--about .page-hero-media img {
                object-position: 50% 31%;
            }

            .page-hero.--alumni .page-hero-media img {
                object-position: 30% 49%;
            }

            .page-hero.--awards .page-hero-media img {
                object-position: 50% 20%;
            }

            .page-hero.--camp .page-hero-media img {
                object-position: 50% 36%;
            }

            .page-hero.--support .page-hero-media img {
                object-position: 50% 30%;
            }

            .page-hero.--rising-eagles .page-hero-media img {
                object-position: 50% 50%;
            }

            .page-hero.--wyba .page-hero-media img {
                object-position: 50% 51%;
            }

            .page-hero.--schedule .page-hero-media img {
                object-position: 30% 49%;
            }

            .page-hero.--traditions .page-hero-media img {
                object-position: 50% 25%;
            }

            .page-hero.--jacobe .page-hero-media img {
                object-position: 70% 6%;
            }

            .page-hero.--kellis .page-hero-media img {
                object-position: 50% 5%;
            }

            .page-hero.--archive .page-hero-media img {
                object-position: 50% 0%;
            }

            .page-hero.--youth .page-hero-media img {
                object-position: 50% 25%;
            }

            .page-hero.--sonic .page-hero-media img {
                object-position: 50% 35%;
            }

            .page-hero.--portal .page-hero-media img {
                object-position: 50% 15%;
            }

            .page-hero.--film .page-hero-media img {
                object-position: 45% 23%;
            }

    .page-hero::before {
        z-index: 1;
        background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 30%, transparent) 0%, color-mix(in srgb, var(--color-black) 30%, transparent) 40%, color-mix(in srgb, var(--color-black) 90%, transparent) 100%), linear-gradient(90deg, color-mix(in srgb, var(--color-black) 60%, transparent) 0%, transparent 65%);
    }

    .hero::after,
    .page-hero::after {
        z-index: 1;
        background: url("../img/hero-grain-256.webp") 0 0 / 256px repeat;
        opacity: 0.2;
        mix-blend-mode: overlay;
        pointer-events: none;
    }

    .page-hero-inner {
        z-index: 2;
        width: 100%;
        padding-block: var(--page-hero-top) var(--s-6);
        position: relative;
    }

    .page-hero-title {
        margin: 0 0 var(--s-3);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.75rem);
        line-height: 0.95;
        letter-spacing: 0;
    }

    .page-hero-lede {
        margin: 0;
        color: var(--color-white);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
    }

        .page-hero .btn-row {
            margin-top: var(--s-5);
        }

    /*
     *  Breadcrumbs
     */
    .crumbs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0 var(--s-2);
        margin: 0 0 var(--s-3);
        padding: 0;
        list-style: none;
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

        .crumbs li {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
        }

        .crumbs li + li::before {
            margin-right: var(--s-2);
            content: "/";
            color: var(--color-silver);
        }

        .crumbs a {
            min-width: var(--tap-min);
            min-height: var(--tap-min);
            display: inline-flex;
            align-items: center;
            line-height: 1;
            color: var(--color-white);
            text-decoration: none;
        }

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

        .crumbs [aria-current] {
            line-height: 1;
            color: var(--color-silver);
        }

    /*
     *  General Content
     */
    .prose {
        overflow-wrap: anywhere;
        font-size: var(--fs-base);
        line-height: var(--lh-body);
        color: var(--color-black);
    }

        .prose > * + * {
            margin-top: var(--s-4);
        }

        .prose p {
            margin-bottom: 0;
        }

        .prose h2,
        .prose h3,
        .prose h4 {
            margin-top: var(--s-7);
            margin-bottom: 0;
            line-height: 1.2;
        }

        .prose h2 + *,
        .prose h3 + *,
        .prose h4 + * {
            margin-top: var(--s-4);
        }

        .prose h2 {
            font-size: var(--fs-h3);
        }

        .prose h3 {
            font-size: var(--fs-h4);
        }

        .prose h4 {
            font-size: var(--fs-lg);
        }

        .prose h2:first-child,
        .prose h3:first-child {
            margin-top: 0;
        }

        .prose a {
            color: var(--color-maroon);
        }

        .prose a:where(:not(:has(.ph, svg, img))) {
            text-decoration: underline;
            text-decoration-thickness: 1px;
        }

        .prose a:hover {
            color: var(--color-black);
        }

        .prose ul,
        .prose ol {
            padding-left: 1.25em;
        }

        .prose li + li {
            margin-top: var(--s-2);
        }

        .prose blockquote {
            margin: var(--s-6) 0;
            padding: var(--s-5);
            font-family: var(--ff-heading);
            font-size: var(--fs-lg);
            font-weight: var(--fw-bold);
            color: var(--color-black);
            border-radius: var(--r-md);
            background-color: var(--color-light-gray);
        }

    .prose-dark {
        margin-top: var(--s-6);
        color: var(--color-silver);
    }

        .prose-dark a {
            color: var(--color-white);
        }

    .quote-by {
        display: block;
        margin-top: var(--s-3);
        font-family: var(--ff-body);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--color-maroon);
    }

        .prose .check-list {
            padding-left: 0;
        }

            .prose .check-list li + li {
                margin-top: 0;
            }

    /*
     *  Post Table
     */
    .post-table {
        overflow-x: auto;
        margin-block: var(--s-5);
        border-radius: var(--r-md);
        background-color: var(--color-white);
        -webkit-overflow-scrolling: touch;
    }

        .post-table table {
            width: 100%;
            min-width: 34rem;
            font-family: var(--ff-display);
            font-size: 1.0625rem;
            font-weight: var(--fw-bold);
            font-variant-numeric: tabular-nums;
            border-collapse: collapse;
        }

        .post-table th,
        .post-table td {
            padding: var(--s-2) var(--s-3);
            text-align: center;
            white-space: nowrap;
        }

        .post-table th {
            color: var(--color-white);
            font-family: var(--ff-display);
            font-size: 1rem;
            font-weight: var(--fw-bold);
            background-color: var(--color-black);
        }

            .post-table tr:nth-child(even) td,
            .post-table tbody tr:nth-child(even) th {
                background-color: var(--color-pale-gray);
            }

        .post-table td:first-child {
            text-align: left;
            font-weight: var(--fw-semibold);
        }

            .post-table thead th:first-child {
                text-align: left;
            }

        .post-table a {
            color: var(--color-maroon);
        }

    /*
     *  Post Video
     */
    .post-video {
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: var(--r-md);
        background-color: var(--color-black);
        position: relative;
    }

        .post-video iframe {
            inset: 0;
            width: 100%;
            height: 100%;
            border: 0;
            position: absolute;
        }

    /*
     *  Content With Facts
     */
    .layout-aside {
        display: flex;
        flex-direction: column;
        gap: var(--s-6);
    }

        .layout-aside > aside {
            order: -1;
        }

    /*
     *  Text With Side Photos
     */
    .story-cols {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        align-items: start;
        gap: var(--s-7);
    }

    .story-photos {
        display: grid;
        gap: var(--s-5);
    }

    .story-photo {
        margin: 0;
    }

        .story-photo img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: var(--r-md);
        }

        .story-photos:has(> .story-photo + .story-photo) .story-photo img {
            aspect-ratio: 3 / 2;
            object-fit: cover;
        }

        .story-photo figcaption {
            margin-top: var(--s-2);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    /*
     *  Facts Strip
     */
    .fact-panel {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: end;
        gap: var(--s-4) var(--s-6);
    }

    .fact-panel-title {
        grid-column: 1 / -1;
        margin: 0;
        color: var(--color-silver);
        font-size: 1.125rem;
        line-height: 1;
    }

        .fact-panel dl {
            display: grid;
            grid-auto-columns: minmax(0, 1fr);
            grid-auto-flow: column;
            gap: var(--s-5) var(--s-7);
            margin: 0;
        }

        .fact-panel dt {
            margin-bottom: var(--s-1);
            color: var(--color-silver);
            font-size: 1rem;
        }

        .fact-panel dd {
            overflow-wrap: break-word;
            margin: 0;
            color: var(--color-white);
            font-weight: var(--fw-semibold);
        }

    .fact-panel.--photo {
        grid-template-columns: 16rem minmax(0, 1fr);
        align-items: start;
        column-gap: var(--s-6);
    }

        .fact-panel.--photo .fact-panel-photo {
            grid-column: 1;
            grid-row: 1 / span 3;
        }

        .fact-panel.--photo .fact-panel-title,
        .fact-panel.--photo dl,
        .fact-panel.--photo .btn {
            grid-column: 2;
        }

        .fact-panel.--photo dl {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            grid-auto-flow: row;
        }

        .fact-panel .btn {
            grid-column: 1 / -1;
            justify-self: start;
            white-space: nowrap;
        }

    .fact-panel-maroon {
        background-color: var(--color-maroon);
    }

        .fact-panel-maroon dt {
            color: var(--color-white);
            opacity: 0.85;
        }

        .fact-panel-maroon .btn-primary {
            --bs-btn-bg: var(--color-black);
            --bs-btn-border-color: var(--color-black);
            --bs-btn-hover-bg: var(--color-light-charcoal);
            --bs-btn-hover-border-color: var(--color-light-charcoal);
        }

    /*
     *  Sponsor Profiles
     */
    .sponsor-profiles {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-5);
        margin: var(--s-6) 0 0;
    }

    .sponsor-profile {
        overflow: hidden;
        display: flex;
        flex-direction: column;
        transition: all ease 0.4s;
    }

    .sponsor-profile:hover {
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

        .sponsor-profile-photo img {
            width: 100%;
            aspect-ratio: 16 / 9;
            object-fit: cover;
            display: block;
        }

    .sponsor-profile-body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        flex-grow: 1;
        gap: var(--s-3);
        padding: var(--s-6);
    }

        .sponsor-profile-logo {
            width: 14rem;
            height: 6rem;
            display: flex;
            align-items: center;
            margin-bottom: var(--s-2);
            --logo-area: 7.125rem;
        }

            .sponsor-profile-logo img {
                max-width: 100%;
                width: auto;
                height: min(100%, var(--logo-area) / sqrt(var(--logo-ratio, 2)));
                object-fit: contain;
                object-position: left center;
            }

        .sponsor-profile-name {
            margin: 0;
            font-size: var(--fs-h4);
        }

        .sponsor-profile-blurb {
            margin: 0;
            color: var(--color-gray);
        }

        .sponsor-profile-link {
            margin-top: auto;
        }

    /*
     *  Photos
     */
    .photo-mono img,
    img.photo-mono {
        filter: grayscale(1) contrast(1.1);
    }

    .photo-figure {
        margin: 0;
    }

        .photo-figure img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: var(--r-md);
        }

        .photo-figure figcaption {
            margin-top: var(--s-2);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    .photo-pair {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-4);
        margin-block: var(--s-6);
    }

        .photo-pair img {
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
            border-radius: var(--r-md);
        }

        .photo-pair-tall img {
            aspect-ratio: 3 / 4;
            object-position: 50% 12%;
        }

    /*
     *  Disclosure: the FAQ and the alumni entries open on one caret (Phosphor caret-down) that turns over
     */
    .faq-item summary::after,
    .alumni-entry summary .ph {
        color: var(--color-maroon);
        font-size: 1.5rem;
        transition: all ease 0.4s;
    }

        .faq-item[open] summary::after,
        .alumni-entry[open] summary .ph {
            transform: rotate(180deg);
        }

    /*
     *  Check List
     */
    .check-list {
        display: grid;
        gap: var(--s-3);
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .check-list li {
            display: flex;
            gap: var(--s-3);
            align-items: flex-start;
            font-weight: var(--fw-semibold);
        }

        .check-list .ph {
            flex-shrink: 0;
            margin-top: 0.15em;
            color: var(--color-maroon);
            font-size: 1.25rem;
        }

            .section-ink .check-list .ph {
                color: var(--color-white);
            }

    /*
     *  Schedule Tools: Add to Calendar, Print, PDF
     */
    .schedule-tools {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--s-3) var(--s-5);
        margin-block: var(--s-4) var(--s-5);
    }

        .schedule-tools .link-action {
            padding: 0;
            border: 0;
            background: none;
            cursor: pointer;
        }

    .cal-menu {
        position: relative;
    }

        .cal-menu summary {
            list-style: none;
            cursor: pointer;
        }

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

            .cal-menu[open] .cal-menu-caret {
                transform: rotate(180deg);
            }

        .cal-menu-panel {
            top: calc(100% + var(--s-2));
            left: 0;
            z-index: 20;
            width: min(20rem, calc(100vw - 2 * var(--s-4)));
            display: grid;
            gap: var(--s-3);
            padding: var(--s-4);
            box-shadow: var(--shadow-card-hover);
            position: absolute;
        }

        .cal-menu-teams {
            display: flex;
            flex-wrap: wrap;
            gap: var(--s-2);
            margin: 0;
            padding: 0;
            border: 0;
        }

            .cal-menu-teams legend {
                width: 100%;
                margin-bottom: var(--s-2);
                color: var(--color-gray);
                font-size: 0.875rem;
            }

            .cal-menu-teams label {
                cursor: pointer;
                position: relative;
            }

                .cal-menu-teams input {
                    opacity: 0;
                    position: absolute;
                }

                .cal-menu-teams span {
                    display: inline-block;
                    padding: var(--s-1) var(--s-3);
                    font-family: var(--ff-display);
                    font-weight: var(--fw-bold);
                    border: 1px solid var(--color-light-gray);
                    border-radius: var(--r-sm);
                }

                .cal-menu-teams input:checked + span {
                    color: var(--color-white);
                    border-color: var(--color-maroon);
                    background-color: var(--color-maroon);
                }

                .cal-menu-teams input:focus-visible + span {
                    outline: 2px solid var(--color-maroon);
                    outline-offset: 2px;
                }

        .cal-menu-links {
            display: grid;
            margin: 0;
        }

            .cal-menu:has(.cal-menu-teams) .cal-menu-links {
                display: none;
            }

            .cal-menu:has([value="varsity"]:checked) [data-cal="varsity"],
            .cal-menu:has([value="jv"]:checked) [data-cal="jv"],
            .cal-menu:has([value="first-team"]:checked) [data-cal="first-team"],
            .cal-menu:has([value="all"]:checked) [data-cal="all"] {
                display: grid;
            }

            .cal-menu-links a {
                display: flex;
                align-items: center;
                gap: var(--s-3);
                padding: var(--s-2) 0;
                color: var(--color-black);
                font-weight: var(--fw-semibold);
                text-decoration: none;
            }

            .cal-menu-links a:hover {
                color: var(--color-maroon);
            }

                .cal-menu-links .ph {
                    color: var(--color-maroon);
                    font-size: 1.25rem;
                }

    /*
     *  Card Grid: three across (stories, programs)
     */
    .post-grid,
    .program-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-5);
        margin: 0;
    }

    /*
     *  Card Boxes: one box a card; white on the page, pale on white, ink on the page, charcoal raised on a dark band
     */
    .sponsor-profile,
    .cal-menu-panel,
    .form-card,
    .game-link,
    .post-card,
    .news-empty,
    .article-press,
    .article-pager-link,
    .honor-season,
    .alumni-entry,
    .dash-day,
    .dash-tile,
    .practice-days,
    .milestone-grid li,
    .season-stat,
    .product-card {
        border-radius: var(--r-md);
        background-color: var(--color-white);
    }

    .program,
    .sponsor-list a,
    .year-card,
    .portal-file,
    .pl-card,
    .contact-card,
    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        border-radius: var(--r-md);
        background-color: var(--color-pale-gray);
    }

    .fact-panel,
    .gform_confirmation_message,
    .roster-soon,
    .player,
    .game-wide,
    .game-rows,
    .honor-team,
    .pl-band {
        border-radius: var(--r-md);
        background-color: var(--color-black);
    }

    .film-facts,
    .portal-form {
        border-radius: var(--r-md);
        background-color: var(--color-charcoal);
    }

    .fact-panel,
    .game-wide {
        padding: var(--s-5) var(--s-6);
        color: var(--color-white);
    }

    .year-card,
    .pl-card,
    .milestone-grid li,
    .article-pager-link {
        padding: var(--s-5);
    }

    .sponsor-list a,
    .portal-file {
        padding: var(--s-4) var(--s-5);
        transition: all ease 0.4s;
    }

    /*
     *  Game Marks: the tag, the result square, the next-game mark and the team name (home, schedule, game pages, matchups)
     */
    .game-tag {
        color: var(--color-maroon);
        font-size: 0.8125rem;
        line-height: 1;
    }

    .game-name {
        min-width: 0;
        font-size: 1.125rem;
        line-height: 1.05;
    }

    .game-result {
        width: 2.25rem;
        height: 2.25rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: var(--ff-display);
        font-size: 1.375rem;
        font-weight: var(--fw-extrabold);
        border-radius: var(--r-sm);
    }

        .game-w .game-result {
            color: var(--color-white);
            background-color: var(--color-maroon);
        }

        .game-l .game-result {
            color: var(--color-gray);
            background-color: var(--color-light-gray);
        }

    .game-result-next {
        width: auto;
        padding-inline: var(--s-3);
        color: var(--color-white);
        font-size: 1.125rem;
        text-transform: uppercase;
        background-color: var(--color-maroon);
    }

    /*
     *  Tags: one look for the story chip, the schedule and game-page tag and the product tag; the colour by modifier
     */
    .post-chip,
    .game-rows .game-tag,
    .article-meta .game-tag,
    .product-card-tag {
        display: inline-flex;
        align-items: center;
        padding: var(--s-1) var(--s-2);
        font-size: var(--fs-sm);
        line-height: 1.2;
        border-radius: var(--r-sm);
    }

    .post-chip-recap,
    .post-chip-level,
    .game-rows .game-tag,
    .product-card-tag {
        color: var(--color-white);
        background-color: var(--color-maroon);
    }

    .post-chip-honors {
        color: var(--color-maroon);
        background-color: var(--color-white);
        box-shadow: inset 0 0 0 2px var(--color-maroon);
    }

    .post-chip-press,
    .article-meta .game-tag {
        color: var(--color-white);
        background-color: var(--color-black);
    }

    .post-chip-program {
        color: var(--color-black);
        background-color: var(--color-light-gray);
    }

    /*
     *  Pennant Notch: the pennant, the game box and the player photo end in one notch, its depth --cut
     */
    .pennant,
    .game-box,
    .player-photo {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - var(--cut)), 0 100%);
    }

    /*
     *  Team Logo: an opponent's logo on a white circle, or its initials
     */
    .team-logo {
        width: 2.5rem;
        height: 2.5rem;
        display: inline-flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        color: var(--color-black);
        font-family: var(--ff-display);
        font-size: 1rem;
        font-weight: var(--fw-extrabold);
        line-height: 1;
        border-radius: 50%;
        background-color: var(--color-white);
    }

        .team-logo picture {
            display: contents;
        }

        .team-logo img {
            width: 80%;
            height: 80%;
            object-fit: contain;
            display: block;
        }

    /*
     *  Milestones (the Awards honor style, one card a milestone)
     */
    .milestone-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-4);
        padding: 0;
        list-style: none;
    }

        .prose .milestone-grid {
            padding-left: 0;
        }

        .milestone-grid li {
            display: flex;
            flex-direction: column;
            gap: var(--s-3);
            margin: 0;
        }

            .prose .milestone-grid li + li {
                margin-top: 0;
            }

            .milestone-grid .ph {
                color: var(--color-maroon);
                font-size: 2rem;
            }

            .milestone-grid span {
                font-family: var(--ff-heading);
                font-size: var(--fs-lg);
                font-weight: var(--fw-semibold);
                font-style: italic;
                line-height: 1.3;
            }

    /*
     *  Closing Band
     */
    .cta-band {
        padding-block: var(--section-y);
        color: var(--color-white);
        background-color: var(--color-maroon);
    }

    .cta-band-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--s-5);
        align-items: center;
    }

        .cta-band h2 {
            margin: 0;
            color: var(--color-white);
            font-size: var(--fs-h3);
        }

        .cta-band p {
            margin: var(--s-2) 0 0;
            font-weight: var(--fw-semibold);
        }

        .cta-band .btn-primary {
            --bs-btn-bg: var(--color-black);
            --bs-btn-border-color: var(--color-black);
            --bs-btn-hover-bg: var(--color-light-charcoal);
            --bs-btn-hover-border-color: var(--color-light-charcoal);
        }

    /*
     *  Forms
     */
    .form-card {
        padding: var(--s-7);
    }

        .form-card .section-title {
            font-size: var(--fs-h3);
        }

        .form-card .section-lede {
            margin-bottom: var(--s-6);
            font-size: var(--fs-base);
        }

        .gform_wrapper .gform_required_legend {
            margin-bottom: var(--s-5);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

        .gform_wrapper .gform_fields {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: var(--s-5) var(--s-4);
        }

        .gform_wrapper .gfield {
            min-width: 0;
            grid-column: 1 / -1;
            margin: 0;
            padding: 0;
            border: 0;
        }

        .gform_wrapper .gfield--width-half {
            grid-column: span 6;
        }

        .gform_wrapper .gfield--width-third {
            grid-column: span 4;
        }

        .gform_wrapper .gfield_label {
            display: block;
            margin-bottom: var(--s-2);
            font-family: var(--ff-display);
            font-size: var(--fs-base);
            font-weight: var(--fw-bold);
            color: var(--color-black);
        }

        .gform_wrapper .gfield_required_asterisk,
        .gform_wrapper .gfield_required_text_asterisk {
            margin-left: 0.15em;
            color: var(--color-maroon);
        }

        .gform_wrapper .gfield_required_text_screen_reader,
        .shop .screen-reader-text,
        .woocommerce .screen-reader-text {
            width: 1px;
            height: 1px;
            overflow: hidden;
            margin: -1px;
            padding: 0;
            white-space: nowrap;
            border: 0;
            clip-path: inset(50%);
            position: absolute;
        }

        .gform_wrapper input[type="text"],
        .gform_wrapper input[type="email"],
        .gform_wrapper input[type="tel"],
        .gform_wrapper input[type="number"],
        .gform_wrapper select,
        .gform_wrapper textarea,
        .news-search input,
        .news-search select,
        .portal-field input {
            width: 100%;
            min-height: var(--control-h);
            padding: var(--s-3) var(--s-4);
            color: var(--color-black);
            font-size: max(16px, 1.0625rem);
            border: var(--control-border) solid var(--color-mute-gray);
            border-radius: var(--control-radius);
            background-color: var(--color-white);
            transition: all ease 0.4s;
        }

        .gform_wrapper select {
            padding-right: 2.75rem;
        }

        .gform_wrapper textarea {
            min-height: 8rem;
            resize: vertical;
        }

        .gform_wrapper ::placeholder {
            color: var(--color-gray);
            opacity: 0.85;
        }

        .gform_wrapper input:hover,
        .gform_wrapper textarea:hover,
        .gform_wrapper select:hover {
            border-color: var(--color-black);
        }

        .gform_wrapper input:focus,
        .gform_wrapper textarea:focus,
        .gform_wrapper select:focus {
            border-color: var(--color-black);
        }

        .gform_wrapper input[aria-invalid="true"],
        .gform_wrapper select[aria-invalid="true"],
        .gform_wrapper textarea[aria-invalid="true"] {
            border-color: var(--color-maroon);
        }

        .gform_wrapper .gchoice {
            display: flex;
            align-items: flex-start;
            gap: var(--s-3);
        }

            .gform_wrapper .gchoice input {
                width: 1.375rem;
                height: 1.375rem;
                flex-shrink: 0;
                margin-top: 0.15em;
                accent-color: var(--color-maroon);
            }

            .gform_wrapper .gchoice label {
                font-weight: var(--fw-semibold);
            }

        .gform_wrapper .gfield_description {
            margin-top: var(--s-2);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

        .gform_wrapper .gform_footer {
            margin-top: var(--s-6);
        }

    .gform_wrapper .gform_validation_errors {
        margin-bottom: var(--s-5);
        padding: var(--s-4) var(--s-5);
        border: 2px solid var(--color-maroon);
        border-radius: var(--r-sm);
        background-color: var(--color-pale-gray);
    }

        .gform_wrapper .gform_submission_error {
            margin: 0 0 var(--s-2);
            font-family: var(--ff-body);
            font-size: var(--fs-base);
            font-weight: var(--fw-bold);
            line-height: 1.4;
            letter-spacing: 0;
            text-transform: none;
            color: var(--color-maroon);
        }

        .gform_wrapper .gform_validation_errors ol {
            margin: 0;
            padding-left: 1.25em;
            font-size: var(--fs-sm);
        }

            .gform_wrapper .gform_validation_errors a {
                color: var(--color-maroon);
            }

    .gform_wrapper .gfield_validation_message,
    .gform_wrapper .validation_message {
        margin-bottom: var(--s-2);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        color: var(--color-maroon);
    }

    .gform_confirmation_message {
        display: flex;
        align-items: center;
        gap: var(--s-3);
        margin: var(--s-5) 0 0;
        padding: var(--s-4) var(--s-5);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: 1.25rem;
        font-weight: var(--fw-bold);
    }

        .gform_confirmation_message .ph {
            flex-shrink: 0;
            color: var(--color-white);
            font-size: 1.5rem;
        }

    /*
     *  Page Header Focus: a caller's own image position (page-header.php, focus) wins over the per-page rules
     */
    .page-hero .page-hero-media[style] img {
        object-position: var(--focus);
    }

    /*
     *  Motion
     */
    @keyframes rise-in {
        from {
            opacity: 0;
            transform: translateY(1.5rem);
        }
        to {
            opacity: 1;
            transform: none;
        }
    }

    .hero-script {
        animation: rise-in 0.7s ease 0s both;
    }

    .hero-title {
        animation: rise-in 0.7s ease 0.1s both;
    }

    .hero-lede {
        animation: rise-in 0.7s ease 0.25s both;
    }

    .hero-copy .btn-row {
        animation: rise-in 0.7s ease 0.4s both;
    }

    .reveal {
        opacity: 0;
        transform: translateY(1.5rem);
        transition: all ease 0.4s;
    }

    .reveal.is-shown {
        opacity: 1;
        transform: none;
    }


/*  Header
-------------------------------------------*/

    /*
     *  Bar
     */
    /*
     *  News Ticker (above the header; scrolls away; a fixed gold flag, the items crawl right to left)
     */
    .ticker {
        height: var(--ticker-h);
        display: flex;
        overflow: hidden;
        color: var(--color-white);
        border-bottom: 1px solid var(--color-light-charcoal);
        background-color: var(--color-black);
        position: relative;
    }

        .ticker-flag {
            z-index: 1;
            display: flex;
            flex-shrink: 0;
            align-items: center;
            gap: var(--s-2);
            padding: 0 var(--s-5) 0 var(--s-4);
            color: var(--color-black);
            font-size: 1rem;
            background-color: var(--color-gold);
            clip-path: polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
            position: relative;
        }

            .ticker-pulse {
                display: block;
                color: var(--color-black);
                font-size: 18px;
                animation: ticker-bounce 1.2s ease-out infinite alternate;
            }

        .ticker-window {
            inset: 0;
            display: flex;
            align-items: center;
            overflow: hidden;
            position: absolute;
        }

        .ticker-track {
            width: max-content;
            display: flex;
        }

        .ticker-list {
            display: flex;
            flex-shrink: 0;
            align-items: center;
            gap: var(--s-5);
            margin: 0;
            padding: 0 var(--s-5);
        }

            .ticker-item {
                flex-shrink: 0;
                transition: all ease 0.4s;
            }

            .ticker-item.is-fading {
                opacity: 0;
            }

            .ticker.is-still .ticker-track,
            .ticker.is-still .ticker-list,
            .ticker.is-still .ticker-item,
            .ticker.is-still .ticker-link {
                min-width: 0;
                max-width: 100%;
            }

            .ticker.is-still .ticker-list {
                width: 100%;
                padding-left: calc(var(--ticker-flag-w, 7rem) + var(--s-4));
            }

            .ticker.is-still .ticker-text {
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .ticker-link {
                gap: var(--s-2);
                font-size: 1rem;
                white-space: nowrap;
            }

            .ticker-link:focus-visible {
                outline-offset: -3px;
            }

            .ticker .link-action {
                color: var(--color-white);
            }

            .ticker-label {
                color: var(--color-gold);
                font-weight: var(--fw-extrabold);
                text-transform: uppercase;
            }

            .ticker-sep img {
                width: 22px;
                height: auto;
                display: block;
            }

    @keyframes ticker-bounce {
        to { transform: translateY(-3px); }
    }

    .site-header {
        top: 0;
        z-index: 1030;
        background-color: var(--color-black);
        border-bottom: var(--header-rail) solid var(--color-maroon);
        position: sticky;
    }

        .site-header .navbar {
            min-height: calc(var(--header-h) - var(--header-rail));
            align-items: stretch;
            --bs-navbar-padding-y: 0;
        }

        .site-header .site-header-inner {
            flex-wrap: nowrap;
            align-items: stretch;
            gap: var(--s-4);
        }

        .site-header .site-header-inner.is-short .site-lockup-school {
            width: 1px;
            height: 1px;
            overflow: hidden;
            white-space: nowrap;
            clip-path: inset(50%);
            position: absolute;
        }

        .site-header .site-header-inner.is-compact .site-menu-toggle {
            width: var(--control-h-sm);
            padding: 0;
        }

            .site-header .site-header-inner.is-compact .site-menu-toggle span {
                width: 1px;
                height: 1px;
                overflow: hidden;
                white-space: nowrap;
                clip-path: inset(50%);
                position: absolute;
            }

    /*
     *  Logo
     */
    .site-logo {
        min-width: 0;
        display: flex;
        align-items: center;
        align-self: stretch;
        gap: var(--s-4);
        margin: 0;
        padding: 0;
        color: var(--color-white);
        text-decoration: none;
    }

    .site-logo:hover {
        color: var(--color-white);
    }

    /*
     *  Pennant
     */
    .pennant {
        z-index: 2;
        width: var(--pennant-w);
        display: flex;
        flex-direction: column;
        align-items: center;
        align-self: flex-start;
        flex-shrink: 0;
        gap: var(--pennant-gap);
        margin-bottom: calc(-1 * var(--pennant-hang));
        padding: var(--pennant-pad) var(--s-2) calc(var(--pennant-pad) + var(--pennant-notch));
        color: var(--color-white);
        font-family: var(--ff-heading);
        font-weight: var(--fw-extrabold);
        text-align: center;
        text-transform: uppercase;
        white-space: normal;
        background-color: var(--color-maroon);
        --cut: var(--pennant-notch);
        position: relative;
    }

    .pennant-line {
        display: block;
        font-size: var(--pennant-fs);
        line-height: 1;
    }

    .pennant-title {
        white-space: nowrap;
        font-size: var(--pennant-title-fs);
    }

        .pennant-eagle svg {
            width: var(--pennant-eagle);
            height: auto;
            display: block;
        }

    /*
     *  Lockup
     */
    .site-lockup {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: var(--s-3);
    }

    .site-lockup-text {
        display: flex;
        flex-direction: column;
        font-family: var(--ff-heading);
        font-size: clamp(1.375rem, calc(1.375rem + (100vw - 1200px) * 0.022), 1.75rem);
        font-weight: var(--fw-semibold);
        line-height: 1.05;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        white-space: nowrap;
    }

        .site-lockup-text b {
            font-weight: 900;
        }

    /*
     *  Actions
     */
    .site-header-actions {
        display: flex;
        align-items: center;
        gap: var(--s-3);
        margin-left: auto;
    }

    /*
     *  Links
     */
    .site-header-links {
        display: flex;
        align-items: center;
        gap: var(--s-1);
        margin: 0 var(--s-2) 0 0;
        padding: 0;
        list-style: none;
    }

        .site-header-links a {
            min-height: var(--tap-min);
            display: inline-flex;
            align-items: center;
            padding: 0 var(--s-2);
            color: var(--color-white);
            font-family: var(--ff-display);
            font-size: var(--fs-nav);
            font-weight: var(--fw-bold);
            text-decoration: none;
            transition: all ease 0.4s;
        }

        .site-header-links > li > a:not(:has(.ph)):hover,
        .site-header-links > li > a:not(:has(.ph))[aria-current="page"],
        .site-header-links > li > a:has(.ph):hover > span,
        .site-header-links > li > a:has(.ph)[aria-current="page"] > span {
            text-decoration: underline;
            text-decoration-thickness: 2px;
            text-underline-offset: 0.35em;
        }

    /*
     *  Dropdowns
     */
    .site-drop-toggle {
        min-height: var(--tap-min);
        display: inline-flex;
        align-items: center;
        gap: var(--s-1);
        padding: 0 var(--s-2);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: var(--fs-nav);
        font-weight: var(--fw-bold);
        border: 0;
        background: transparent;
        transition: all ease 0.4s;
    }

        .site-drop-toggle .ph {
            font-size: 0.85em;
            transition: all ease 0.4s;
        }

    .site-drop-toggle:hover span,
    .site-drop-toggle[aria-expanded="true"] span {
        text-decoration: underline;
        text-decoration-thickness: 2px;
        text-underline-offset: 0.35em;
    }

        .site-drop-toggle[aria-expanded="true"] .ph {
            transform: rotate(180deg);
        }

    .site-mega {
        top: 100%;
        right: 0;
        left: 0;
        z-index: 1040;
        padding-block: var(--s-6) var(--s-7);
        color: var(--color-white);
        background-color: var(--color-black);
        border-top: var(--band) solid var(--color-maroon);
        box-shadow: 0 24px 40px color-mix(in srgb, var(--color-black) 35%, transparent);
        position: absolute;
    }

        .site-mega-inner {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 18rem;
            align-items: stretch;
            gap: var(--s-7);
        }

        .site-mega-cols {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: var(--s-6);
        }

            .site-mega-col:only-child {
                grid-column: 1 / -1;
            }

            .site-header-links .site-mega-title .link-action {
                min-height: 0;
                padding: 0;
                color: var(--color-silver);
                font-size: inherit;
                font-weight: inherit;
            }

                .site-header-links .site-mega-title .link-action:hover {
                    color: var(--color-white);
                }

            .site-mega-title {
                margin: 0 0 var(--s-3);
                padding-bottom: var(--s-2);
                font-size: 1rem;
                color: var(--color-silver);
                border-bottom: 1px solid color-mix(in srgb, var(--color-white) 18%, transparent);
            }

            .site-mega-list {
                display: grid;
                gap: var(--s-1);
                margin: 0;
                padding: 0;
                list-style: none;
            }

                .site-header-links .site-mega-list a {
                    min-height: var(--tap-min);
                    display: flex;
                    align-items: center;
                    gap: var(--s-3);
                    padding: var(--s-1) 0;
                    font-family: var(--ff-display);
                    font-size: 1.25rem;
                    font-weight: var(--fw-bold);
                    line-height: 1.15;
                    text-transform: none;
                    color: var(--color-white);
                }

                    .site-header-links .site-mega-list a .ph {
                        flex-shrink: 0;
                        font-size: 1.25em;
                        color: var(--color-white);
                    }

                    .site-header-links .site-mega-list a:hover span {
                        text-decoration: underline;
                        text-decoration-thickness: 2px;
                        text-underline-offset: 0.3em;
                    }

                    .site-header-links .site-mega-list a:focus-visible {
                        outline: 2px solid var(--color-white);
                        outline-offset: 4px;
                    }

                .site-header-links .site-mega-list.--facts a {
                    align-items: flex-start;
                }

                    .site-header-links .site-mega-list.--facts a .ph {
                        margin-top: 0.05em;
                    }

                .site-mega-list.--facts {
                    grid-template-columns: repeat(3, minmax(0, 1fr));
                    gap: var(--s-1) var(--s-5);
                }

                    .site-mega-list small {
                        width: 100%;
                        display: inline-block;
                        margin-top: var(--s-1);
                        font-family: var(--ff-body);
                        font-size: var(--fs-sm);
                        font-weight: var(--fw-semibold);
                        color: var(--color-silver);
                    }

        .site-header-links .site-mega-feature {
            aspect-ratio: 1 / 1;
            display: block;
            align-self: start;
            padding: 0;
        }

            .site-mega-feature img {
                border-radius: var(--r-md);
                filter: grayscale(1) contrast(1.1);
                transition: all ease 0.4s;
            }

            .site-mega:not(.--youth) .site-mega-feature img {
                object-fit: contain;
                background-color: var(--color-pure-black);
            }

            .site-mega.--youth .site-mega-feature img {
                object-position: 32% 50%;
            }

            .site-mega-feature:hover img {
                opacity: 0.85;
            }

    /*
     *  Menu Button
     */
    .site-menu-toggle {
        height: var(--control-h-sm);
        display: none;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        padding: 0 var(--s-4);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: var(--btn-fs);
        font-weight: var(--btn-fw);
        line-height: 1;
        white-space: nowrap;
        border: 0;
        border-radius: var(--r-sm);
        background-color: var(--color-maroon);
        transition: all ease 0.4s;
    }

        .site-menu-toggle .ph {
            font-size: var(--btn-icon);
        }

    .site-menu-toggle:hover {
        background-color: var(--color-dark-maroon);
    }

    .site-menu-toggle:focus {
        box-shadow: none;
    }

    /*
     *  Fan Gear
     */
        .site-header .site-header-cta {
            min-height: var(--control-h-sm);
            display: inline-flex;
            padding-inline: calc(var(--s-4) + var(--ribbon-sm));
            white-space: nowrap;
            --cut: var(--ribbon-sm);
        }

        .site-header-links a,
        .site-drop-toggle,
        .site-header .site-header-cta,
        .site-menu-toggle {
            text-transform: uppercase;
        }

        .site-header .site-menu-toggle:focus-visible,
        .site-header .site-header-cta:focus-visible {
            color: var(--color-white);
            outline: none;
            background-color: var(--color-dark-maroon);
        }

            .site-header .site-menu-toggle:focus-visible span,
            .site-header .site-header-cta:focus-visible span {
                text-decoration: underline;
                text-decoration-thickness: 2px;
                text-underline-offset: 0.3em;
            }

    /*
     *  Slide-out Menu
     */
    .site-nav.offcanvas {
        --bs-offcanvas-bg: var(--color-black);
        --bs-offcanvas-color: var(--color-white);
        --bs-offcanvas-width: min(100vw, 440px);
        --bs-offcanvas-border-width: 0;
        --bs-offcanvas-padding-x: var(--s-5);
        --bs-offcanvas-padding-y: var(--s-5);
    }

        .site-nav .offcanvas-header,
        .site-nav .offcanvas-body {
            z-index: 1;
            position: relative;
        }

    .site-nav.offcanvas:focus-visible {
        outline: 0;
    }

        .site-nav .offcanvas-title {
            margin: 0;
            font-family: var(--ff-heading);
            font-size: var(--fs-h4);
            font-weight: var(--fw-extrabold);
            text-transform: uppercase;
            color: var(--color-white);
        }

    .site-nav-close {
        height: var(--control-h-sm);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        margin-left: auto;
        padding: 0 var(--s-4);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: var(--btn-fs);
        font-weight: var(--btn-fw);
        line-height: 1;
        text-transform: uppercase;
        border: 0;
        border-radius: var(--r-sm);
        background-color: var(--color-soft-white);
    }

        .site-nav-close .ph {
            font-size: var(--btn-icon);
        }

    .site-nav-close:hover {
        color: var(--color-black);
        background-color: var(--color-white);
    }

    .site-nav-close:focus-visible {
        color: var(--color-black);
        outline: none;
        background-color: var(--color-white);
    }

        .site-nav .offcanvas-body {
            display: flex;
            flex-direction: column;
            gap: var(--s-6);
            padding-top: 0;
            padding-bottom: calc(var(--s-6) + env(safe-area-inset-bottom));
        }

    .site-nav-list {
        --bs-nav-link-color: var(--color-white);
        --bs-nav-link-hover-color: var(--color-white);
        --bs-nav-link-font-size: var(--fs-h4);
        --bs-nav-link-font-weight: var(--fw-extrabold);
    }

        .site-nav-list .nav-link {
            min-height: 3.5rem;
            display: flex;
            align-items: center;
            gap: var(--s-3);
            font-family: var(--ff-display);
            letter-spacing: var(--ls-heading);
        }

            .site-nav-list .nav-link .ph {
                flex-shrink: 0;
                font-size: 1.1em;
                color: var(--color-white);
            }

        .nav-sub summary {
            list-style: none;
            cursor: pointer;
        }

        .nav-sub summary::-webkit-details-marker {
            display: none;
        }

            .nav-sub summary .ph-caret-down {
                margin-left: auto;
                transition: all ease 0.4s;
            }

                .nav-sub details[open] summary .ph-caret-down {
                    transform: rotate(180deg);
                }

    .site-nav-group {
        margin: var(--s-3) 0 var(--s-1) var(--s-6);
        font-size: var(--fs-sm);
        color: var(--color-silver);
    }

    .site-nav-sub {
        margin: 0 0 var(--s-3);
        padding: 0 0 0 var(--s-6);
        list-style: none;
    }

        .site-nav-sub a {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            gap: var(--s-3);
            color: var(--color-silver);
            font-family: var(--ff-display);
            font-size: var(--fs-base);
            font-weight: var(--fw-bold);
            text-decoration: none;
        }

            .site-nav-sub small {
            display: block;
            font-family: var(--ff-body);
            font-size: var(--fs-sm);
            font-weight: var(--fw-semibold);
            color: var(--color-silver);
        }

        .site-nav-sub a .ph {
                color: var(--color-white);
            }

        .site-nav-sub a:hover {
            color: var(--color-white);
        }

    .site-nav-extra {
        display: flex;
        flex-direction: column;
        gap: var(--s-3);
    }

    .site-nav-rings {
        width: 70%;
        aspect-ratio: 708 / 323;
        flex-shrink: 0;
        align-self: center;
        margin-top: auto;
        opacity: 0.9;
        -webkit-mask-image: linear-gradient(180deg, transparent, var(--color-black) 25%);
        mask-image: linear-gradient(180deg, transparent, var(--color-black) 25%);
    }

        .site-nav.showing .site-nav-rings,
        .site-nav.show .site-nav-rings,
        .site-nav.hiding .site-nav-rings {
            background: url("../img/menu-rings.webp") center / contain no-repeat;
        }

    /*
     *  Cart
     */
    .site-header-cart {
        min-width: var(--tap-min);
        min-height: var(--tap-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--s-1);
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: 1.125rem;
        font-weight: var(--fw-extrabold);
        text-decoration: none;
    }

        .site-header-cart .ph {
            font-size: 1.6rem;
        }

        .site-header-cart:hover {
            color: var(--color-silver);
        }

        .site-header-cart-count {
            min-width: 1.375rem;
            height: 1.375rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 var(--s-1);
            color: var(--color-white);
            font-size: 0.875rem;
            line-height: 1;
            border-radius: var(--r-pill);
            background-color: var(--color-maroon);
        }

        .site-header-cart-count[hidden] {
            display: none;
        }


/*  Footer
-------------------------------------------*/

    /*
     *  Footer
     */
    .site-footer {
        padding-block: var(--s-8) var(--s-5);
        padding-bottom: calc(var(--s-9) + env(safe-area-inset-bottom));
        color: var(--color-white);
        font-family: var(--ff-display);
        text-transform: uppercase;
        letter-spacing: 0;
        background-color: var(--color-black);
    }

        .site-footer a:not(.btn) {
            color: var(--color-silver);
            text-decoration: none;
        }

        .site-footer a:not(.btn):hover {
            color: var(--color-white);
        }

    .footer-top {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-6);
        padding-bottom: var(--s-7);
        margin-bottom: var(--s-7);
    }

    /*
     *  Brand
     */
    .footer-brand {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        column-gap: var(--s-5);
        color: var(--color-white);
        text-decoration: none;
    }

        .site-footer a.footer-brand,
        .site-footer a.footer-brand:hover {
            color: var(--color-white);
        }

        .footer-brand img {
            height: 112px;
            width: auto;
        }

        .footer-brand:has(.footer-titles) img {
            grid-row: span 2;
        }

    .footer-brand-name {
        display: flex;
        flex-direction: column;
        color: var(--color-white);
        font-family: var(--ff-heading);
        font-size: 1.875rem;
        font-weight: var(--fw-semibold);
        line-height: 1.05;
        letter-spacing: -0.01em;
        text-transform: uppercase;
        white-space: nowrap;
    }

        .footer-brand-name b {
            font-weight: 900;
        }

    .footer-titles {
        align-self: start;
        margin-top: var(--s-2);
        color: var(--color-silver);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

    /*
     *  Social
     */
        .footer-follow .footer-heading {
            margin-bottom: var(--s-3);
        }

    .footer-social {
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: var(--s-2);
        margin: 0;
    }

            .site-footer .footer-social a {
                min-height: var(--control-h-sm);
                display: flex;
                align-items: center;
                justify-content: center;
                gap: var(--s-2);
                padding: 0 var(--s-4);
                color: var(--color-white);
                font-family: var(--ff-display);
                font-size: var(--fs-base);
                font-weight: var(--fw-bold);
                border-radius: var(--r-sm);
                background-color: var(--color-charcoal);
                transition: all ease 0.4s;
            }

        .footer-social .ph {
            color: var(--color-white);
            font-size: 1.35rem;
        }

            .site-footer .footer-social a:hover {
                color: var(--color-white);
                background-color: var(--color-hover-charcoal);
            }

                .site-footer .footer-social a:hover .ph {
                    color: var(--color-white);
                }

    .footer-heading {
        margin-bottom: var(--s-4);
        font-size: var(--fs-h4);
        line-height: 1;
        color: var(--color-white);
    }

    /*
     *  Columns
     */
    .footer-cols {
        --bs-gutter-x: 3rem;
        --bs-gutter-y: 3rem;
    }

        .footer-cols .footer-col {
            width: 25%;
            flex: 0 0 auto;
        }

    .footer-nav {
        margin: 0;
    }

        .footer-nav a {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            font-size: var(--fs-base);
            font-weight: var(--fw-semibold);
        }

    /*
     *  Bottom
     */
    .footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-2);
        margin-top: var(--s-7);
        padding-top: var(--s-5);
        font-size: 1.0625rem;
        font-weight: var(--fw-semibold);
    }

    .footer-slogan {
        margin: 0;
        font-size: 1.25rem;
        font-weight: var(--fw-bold);
        color: var(--color-white);
    }

    .footer-legal {
        margin: 0;
        color: var(--color-silver);
    }

    .footer-credit {
        margin: 0;
    }

        .footer-credit a {
            min-height: var(--tap-min);
            display: inline-flex;
            align-items: center;
            gap: var(--s-1);
        }

    /*
     *  Quick Actions
     */
    .cta-rail {
        inset: auto 0 0 0;
        z-index: 1020;
        display: none;
        grid-template-columns: 1fr 1fr;
        gap: var(--s-2);
        padding: var(--s-2) var(--s-3) calc(var(--s-2) + env(safe-area-inset-bottom));
        background-color: var(--color-black);
        border-top: var(--header-rail) solid var(--color-maroon);
        transform: translateY(110%);
        transition: all ease 0.4s;
        position: fixed;
    }

    .cta-rail.is-shown {
        transform: none;
    }

        .cta-rail .btn {
            width: 100%;
            white-space: nowrap;
            --bs-btn-font-size: 1rem;
        }


/*  Section: Hero
-------------------------------------------*/

    /*
     *  Photos
     */
    .hero {
        isolation: isolate;
        min-height: min(47.5rem, max(34rem, 72vh));
        display: flex;
        align-items: flex-end;
        color: var(--color-white);
        background-color: var(--color-black);
        position: relative;
    }

    .hero-media.swiper {
        inset: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        position: absolute;
    }

    .hero-slide,
    .hero-slide picture,
    .hero-slide img {
        width: 100%;
        height: 100%;
        display: block;
    }

        .hero-slide img {
            object-fit: cover;
            object-position: 60% 30%;
            filter: grayscale(0.85) sepia(0.2) contrast(1.08);
        }

        .hero-slide-starters img {
            object-position: 72% 20%;
        }

        .hero-slide-layup img {
            object-position: 62% 18%;
        }

        .hero-slide-final img {
            object-position: 70% 50%;
        }

    .hero-slide-ft {
        overflow: hidden;
    }

        .hero-slide-ft img {
            width: 135%;
            max-width: none;
            object-position: 0 30%;
        }

        .hero-media:not(.swiper-initialized) .hero-slide + .hero-slide {
            display: none;
        }

    .hero::before {
        z-index: 1;
        background: linear-gradient(0deg, color-mix(in srgb, var(--color-black) 80%, transparent) 0%, color-mix(in srgb, var(--color-black) 55%, transparent) 30%, color-mix(in srgb, var(--color-black) 0%, transparent) 60%), var(--scrim-hero-lg);
        transition: all ease 0.4s;
    }

    /*
     *  Copy
     */
    .hero-inner {
        z-index: 2;
        padding-block: var(--s-9) var(--s-8);
        transition: all ease 0.4s;
        position: relative;
    }

    .hero.is-own::before,
    .hero.is-own .hero-copy > :not(.hero-title) {
        visibility: hidden;
        opacity: 0;
    }

    .hero.is-own .hero-inner {
        pointer-events: none;
    }

        .hero.is-own .hero-title {
            width: 1px;
            height: 1px;
            overflow: hidden;
            margin: -1px;
            padding: 0;
            white-space: nowrap;
            border: 0;
            clip: rect(0 0 0 0);
            position: absolute;
        }

    .hero-script {
        display: block;
        margin-bottom: calc(-1 * var(--s-2));
        color: var(--color-gold);
        font-family: var(--ff-script);
        font-size: clamp(3rem, 2rem + 4vw, 6rem);
        line-height: 1;
        transform-origin: left bottom;
        rotate: -6deg;
    }

    .hero-title {
        margin-bottom: var(--s-4);
        color: var(--color-white);
        font-size: clamp(2.5rem, 6.2vw - 0.5rem, 5.375rem);
        line-height: 0.95;
    }

    .hero-lede {
        margin-bottom: var(--s-6);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
        color: var(--color-white);
    }

    /*
     *  Controls
     */
    .hero-arrow {
        width: var(--tap-min);
        height: var(--tap-min);
        display: flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        background: none;
        opacity: 0.7;
        filter: drop-shadow(0 1px 3px color-mix(in srgb, var(--color-black) 60%, transparent));
        transition: all ease 0.4s;
    }

        .hero-arrow::before {
            width: 0.875rem;
            height: 0.875rem;
            content: "";
            border-bottom: 2px solid var(--color-white);
            border-left: 2px solid var(--color-white);
            transform: translateX(20%) rotate(45deg);
        }

        .hero-next::before {
            transform: translateX(-20%) rotate(-135deg);
        }

    .hero-arrow:hover,
    .hero-arrow:focus-visible {
        opacity: 1;
    }

    .hero-arrow:focus-visible {
        outline: var(--focus-ring);
        outline-offset: -4px;
    }

    .hero-dots {
        bottom: var(--s-2);
        left: 50%;
        z-index: 3;
        display: flex;
        align-items: center;
        transform: translateX(-50%);
        position: absolute;
    }

    .hero-dots .hero-pagination {
        width: auto;
        display: flex;
    }

    .hero-dot {
        width: var(--tap-min);
        height: var(--tap-min);
        color: var(--color-white);
        background: none;
    }

        .hero-dot::before {
            width: 0.625rem;
            height: 0.625rem;
            content: "";
            border: 2px solid var(--color-white);
            border-radius: 50%;
            box-shadow: 0 1px 3px color-mix(in srgb, var(--color-black) 50%, transparent);
            transition: all ease 0.4s;
        }

        .hero-dot.is-active::before {
            background-color: var(--color-white);
        }

    .hero-dot:focus-visible {
        outline: 2px solid var(--color-white);
        outline-offset: -6px;
    }

    /*
     *  Fan Gear Slide
     */
    .hero-slide-gear {
        isolation: isolate;
        overflow: hidden;
        background-color: var(--color-charcoal);
        position: relative;
    }

        .hero-slide-gear::before {
            z-index: 1;
            background: url("../img/hero-grain-256.webp") 0 0 / 256px repeat;
            opacity: 0.18;
            mix-blend-mode: screen;
            pointer-events: none;
        }

    .hero-gear {
        z-index: 3;
        height: 100%;
        display: grid;
        grid-template-columns: min(34rem, 37.8vw) minmax(0, 1fr);
        align-items: center;
        position: relative;
    }

    .hero-gear-copy {
        padding-bottom: var(--s-6);
    }

        .hero-gear-title {
            margin-bottom: var(--s-4);
            color: var(--color-white);
            font-size: clamp(2.5rem, 1rem + 4.5vw, 5.25rem);
            line-height: 0.95;
        }

        .hero-gear-line {
            margin-bottom: var(--s-6);
            color: var(--color-white);
            font-size: var(--fs-lg);
            font-weight: var(--fw-semibold);
        }

    .hero-gear-pile {
        top: 0;
        right: max(0px, (100% - var(--container-max)) / 2);
        bottom: 0;
        z-index: 2;
        width: min(62%, calc(var(--container-max) * 0.62));
        margin: 0;
        padding: 0;
        list-style: none;
        position: absolute;
    }

        .hero-gear-item {
            position: absolute;
        }

            .hero-slide .hero-gear-item img {
                width: 100%;
                height: auto;
                object-fit: contain;
            }

        .hero-gear-item:nth-child(1) {
            top: 8%;
            left: 28%;
            z-index: 6;
            width: 44%;
            rotate: -3deg;
        }

        .hero-gear-item:nth-child(2) {
            top: 5%;
            left: 0%;
            z-index: 3;
            width: 36%;
            rotate: -8deg;
        }

        .hero-gear-item:nth-child(3) {
            top: 53%;
            left: 3%;
            z-index: 5;
            width: 30%;
            rotate: -6deg;
        }

        .hero-gear-item:nth-child(4) {
            top: 63%;
            left: 38%;
            z-index: 7;
            width: 37%;
            rotate: 4deg;
        }

        .hero-gear-item:nth-child(5) {
            top: 3%;
            left: 67%;
            z-index: 4;
            width: 33%;
            rotate: 7deg;
        }

        .hero-gear-item:nth-child(6) {
            top: 53%;
            left: 78%;
            z-index: 2;
            width: 28%;
            rotate: -4deg;
        }

    /*
     *  Preseason Slide
     */
    .hero-slide-pre {
        isolation: isolate;
        overflow: hidden;
        position: relative;
    }

        .hero-slide-pre::after {
            z-index: 1;
            background: linear-gradient(0deg, color-mix(in srgb, var(--color-black) 92%, transparent) 0%, color-mix(in srgb, var(--color-black) 70%, transparent) 45%, color-mix(in srgb, var(--color-black) 10%, transparent) 85%), linear-gradient(90deg, color-mix(in srgb, var(--color-black) 55%, transparent), transparent 70%);
            pointer-events: none;
        }

    .hero-pre-media {
        inset: 0;
        z-index: 0;
        position: absolute;
    }

        .hero-slide .hero-pre-media img {
            object-position: 55% 25%;
        }

    .hero-pre {
        z-index: 3;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        padding-block: var(--s-9) var(--s-8);
        position: relative;
    }

        .hero-pre-title {
            margin-bottom: var(--s-5);
            color: var(--color-white);
            font-size: clamp(2.5rem, 1rem + 4.5vw, 5.5rem);
            line-height: 0.95;
        }

    .hero-pre-games {
        width: 100%;
        max-width: 62rem;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--s-3);
        margin: 0 0 var(--s-6);
    }

        .hero-pre-games .hero-pre-game {
            width: auto;
        }

            .hero-pre-game .game-link {
                display: flex;
                flex-direction: column;
                gap: var(--s-1);
                padding: var(--s-3) var(--s-4);
            }

            .hero-pre-game a.game-link:hover {
                color: var(--color-white);
                background-color: var(--color-maroon);
            }

                .hero-pre-game a.game-link:hover :is(.game-date, .game-name, .game-note) {
                    color: inherit;
                }

            .hero-pre-game .game-name {
                color: var(--color-black);
                font-size: 1.25rem;
            }

            .hero-pre-game .game-note {
                height: auto;
                display: flex;
                flex-direction: column;
                line-height: 1.35;
            }

            .hero-pre-time,
            .hero-pre-long {
                white-space: nowrap;
            }

            .hero-pre-short {
                display: none;
            }


/*  Section: Banner Strip
-------------------------------------------*/

    .banner-strip {
        isolation: isolate;
        overflow: hidden;
        color: var(--color-white);
        background-color: var(--color-maroon);
        position: relative;
    }

        .banner-strip::before {
            top: 50%;
            right: -4%;
            width: min(46rem, 70%);
            aspect-ratio: 118 / 89;
            content: "";
            background: url("../img/eagle-white.svg") center / contain no-repeat;
            opacity: 0.08;
            transform: translateY(-50%);
            pointer-events: none;
            position: absolute;
        }

        .banner-strip .container {
            position: relative;
        }

    .banner-grid {
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        margin: 0;
    }

    .banner-cell {
        display: flex;
        flex-direction: column-reverse;
        justify-content: flex-end;
        gap: var(--s-1);
        padding: var(--s-6) var(--s-4) var(--s-6) 0;
    }

        .banner-cell dt {
            color: var(--color-white);
            font-size: var(--fs-base);
            font-weight: var(--fw-semibold);
            line-height: 1.3;
        }

        .banner-cell dd {
            margin: 0;
            font-family: var(--ff-display);
            font-size: var(--fs-stat);
            font-weight: var(--fw-extrabold);
            line-height: 1;
            white-space: nowrap;
        }


/*  Section: Season Strip
-------------------------------------------*/

    .season-strip {
        isolation: isolate;
        overflow: hidden;
        padding-block: var(--band-y);
        color: var(--color-white);
        background-color: var(--color-maroon);
        position: relative;
    }

        .season-strip::before {
            top: 50%;
            right: -4%;
            width: min(46rem, 70%);
            aspect-ratio: 118 / 89;
            content: "";
            background: url("../img/eagle-white.svg") center / contain no-repeat;
            opacity: 0.08;
            transform: translateY(-50%);
            pointer-events: none;
            position: absolute;
        }

    .season-strip-inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 26rem);
        align-items: center;
        gap: var(--s-6);
        position: relative;
    }

        .season-strip .gameday {
            margin-bottom: 0;
        }

    .season-strip-side {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-self: stretch;
        gap: var(--s-4);
        padding: var(--s-6);
        border-radius: var(--r-md);
        background-color: color-mix(in srgb, var(--color-black) 90%, transparent);
    }

    .season-strip-record {
        display: flex;
        align-items: baseline;
        gap: var(--s-3);
        margin: 0;
        font-size: 1.125rem;
    }

        .season-strip-record strong {
            font-size: var(--fs-stat);
            font-weight: var(--fw-extrabold);
            line-height: 1;
        }

    .season-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-4) var(--s-5);
        margin: 0;
    }

        .season-links .link-action {
            font-size: 1.375rem;
        }


/*  Section: Results
-------------------------------------------*/

    /*
     *  Background
     */
    .results {
        isolation: isolate;
        overflow: hidden;
        position: relative;
    }

        .results::before {
            top: 50%;
            left: -4rem;
            width: min(42rem, 70%);
            aspect-ratio: 118 / 89;
            content: "";
            background: url("../img/eagle-maroon.svg") center / contain no-repeat;
            opacity: 0.06;
            transform: translateY(-50%);
            pointer-events: none;
            position: absolute;
        }

        .results .container {
            position: relative;
        }

    /*
     *  Game Day
     */
    .gameday {
        isolation: isolate;
        overflow: hidden;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: var(--s-5);
        margin-bottom: var(--s-5);
        padding: var(--s-6);
        color: var(--color-white);
        text-decoration: none;
        border-radius: var(--r-md);
        background: linear-gradient(90deg, var(--color-black) 30%, color-mix(in srgb, var(--color-black) 55%, transparent)), url("../img/hero-free-throw-1000.webp") right 35% / cover no-repeat, var(--color-black);
        background-blend-mode: normal, luminosity;
        transition: all ease 0.4s;
        position: relative;
    }

        .gameday::after {
            z-index: -1;
            background: url("../img/hero-grain-256.webp") 0 0 / 256px repeat;
            opacity: 0.2;
            mix-blend-mode: overlay;
            pointer-events: none;
        }

    .gameday:hover {
        color: var(--color-white);
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

    .gameday-body {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

        .gameday-team {
            display: flex;
            align-items: center;
            gap: var(--s-3);
            margin: var(--s-3) 0 var(--s-4);
        }

            .gameday-logo {
                width: 3.5rem;
                height: 3.5rem;
                font-size: 1.375rem;
            }

    .gameday-label {
        color: var(--color-gold);
        font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem);
        line-height: 1;
    }

    .gameday-opp {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: var(--s-3);
        color: var(--color-white);
        font-size: clamp(2.75rem, 1.5rem + 4.5vw, 5.5rem);
        line-height: 0.95;
    }

        .gameday-site {
            font-size: 0.5em;
        }

        .gameday-name {
            white-space: nowrap;
        }

    .gameday-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--s-1) var(--s-3);
        margin-bottom: var(--s-2);
        color: var(--color-silver);
        font-size: 1.125rem;
    }

    .gameday-where {
        display: flex;
        flex-wrap: wrap;
        gap: 0 var(--s-4);
        color: var(--color-silver);
        font-size: 1.125rem;
    }

        .gameday .game-tag {
            color: var(--color-gold);
            font-size: 1.125rem;
        }

    .gameday-count {
        display: flex;
        gap: var(--s-5);
    }

    .gameday-unit {
        display: flex;
        flex-direction: column;
        align-items: center;
        color: var(--color-silver);
        font-size: 1rem;
    }

        .gameday-unit strong {
            color: var(--color-white);
            font-size: clamp(2.5rem, 2rem + 2vw, 4rem);
            font-weight: var(--fw-extrabold);
            line-height: 0.9;
        }

    /*
     *  Rail Arrows
     */
    .results-rail {
        position: relative;
    }

    .rail-arrow {
        top: 50%;
        z-index: 2;
        width: var(--tap-min);
        height: 4.5rem;
        background: none;
        opacity: 0;
        transform: translateY(-50%);
        transition: all ease 0.4s;
        position: absolute;
    }

        .rail-arrow::before {
            width: 1.125rem;
            height: 1.125rem;
            content: "";
            border-bottom: 2px solid var(--color-black);
            border-left: 2px solid var(--color-black);
            transform: translateX(25%) rotate(45deg);
        }

        .rail-arrow.results-next::before {
            transform: translateX(-25%) rotate(-135deg);
        }

    .results-prev {
        left: calc(-1 * var(--tap-min));
    }

    .results-next {
        right: calc(-1 * var(--tap-min));
    }

    .results-rail:hover .rail-arrow,
    .rail-arrow:focus-visible {
        opacity: 0.75;
    }

    .results-rail .rail-arrow:hover {
        opacity: 1;
    }

    .rail-arrow:focus-visible {
        outline: 2px solid var(--color-black);
        outline-offset: -4px;
    }

    .results-rail .rail-arrow.swiper-button-disabled {
        opacity: 0;
        pointer-events: none;
    }

    /*
     *  Scoreboard
     */
    .results-swiper {
        overflow: visible;
        clip-path: inset(-2rem -100vw -2rem 0);
    }

        .results-swiper .swiper-wrapper {
            margin: 0;
            padding: 0;
        }

    .game {
        width: 15.5rem;
        height: auto;
    }

    .game-link {
        height: 100%;
        display: grid;
        grid-template-rows: 2.25rem minmax(13rem, auto) minmax(2.75rem, auto);
        gap: var(--s-3);
        padding: var(--s-4);
        color: var(--color-black);
        text-decoration: none;
        box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-black) 10%, transparent);
        transition: all ease 0.4s;
    }

        .results-rail:not(:has(.game-note)) .game-link {
            grid-template-rows: 2.25rem minmax(13rem, auto);
        }

    a.game-link:hover {
        color: var(--color-black);
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

    .game-head {
        height: 2.25rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-3);
    }

        .game-when {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .game-date {
            color: var(--color-gray);
            font-size: 1.0625rem;
            line-height: 1.1;
        }

        .game-labels {
            min-height: 0.8125rem;
            display: flex;
            gap: var(--s-2);
        }

    .game-box {
        height: 13rem;
        display: grid;
        grid-template-rows: 4.25rem auto auto;
        align-content: start;
        gap: var(--s-2);
        padding: var(--s-5) var(--s-4) calc(var(--s-2) + var(--cut));
        color: var(--color-white);
        background-color: var(--color-black);
        transition: all ease 0.4s;
        --cut: 12px;
    }

        .game-logo {
            width: 4.25rem;
            height: 4.25rem;
            justify-self: center;
            margin-bottom: var(--s-2);
            font-size: 1.75rem;
        }

        .game-w .game-box,
        a.game-link:hover .game-box {
            background-color: var(--color-maroon);
        }

        .game-team {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: var(--s-3);
        }

                .game-upcoming .game-team:first-child .game-name,
                .game-next .game-team:first-child .game-name {
                    font-size: var(--fs-sm);
                    opacity: 0.8;
                }

                .game-upcoming .game-team + .game-team .game-name,
                .game-next .game-team + .game-team .game-name {
                    min-height: 2em;
                    font-size: 1.6875rem;
                    line-height: 1;
                }

                .game-upcoming .game-team + .game-team .game-name.--long,
                .game-next .game-team + .game-team .game-name.--long {
                    font-size: 1.375rem;
                }

                .game-site {
                    font-weight: var(--fw-bold);
                    text-transform: none;
                }

            .game-points {
                font-family: var(--ff-display);
                font-size: var(--fs-score);
                font-weight: var(--fw-extrabold);
                line-height: 0.9;
            }

            .game-team + .game-team .game-points {
                opacity: 0.75;
            }

    .game-next .game-link {
        color: var(--color-white);
        background-color: var(--color-black);
        box-shadow: none;
    }

    .game-next a.game-link:hover {
        color: var(--color-white);
    }

        .game-next .game-date {
            color: var(--color-white);
        }

        .game-next .game-tag {
            color: var(--color-gold);
        }

        .game-next .game-box {
            background-color: var(--color-maroon);
        }

        .game-next .game-name {
            font-size: 1.375rem;
        }

        .game-next .game-note {
            color: var(--color-silver);
        }

    .game-note {
        min-height: 2.75rem;
        display: flex;
        flex-direction: column;
        color: var(--color-gray);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
        line-height: 1.35;
    }

        .game-note-time {
            color: var(--color-black);
        }

            .game-next .game-note-time {
                color: var(--color-white);
            }


/*  Section: News
-------------------------------------------*/

    .news-home {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--s-5);
    }

        .news-home .post-card-lead {
            grid-column: span 2;
            grid-row: span 2;
        }


/*  Section: Arena
-------------------------------------------*/

    .arena {
        isolation: isolate;
        overflow: clip;
        background-color: var(--color-black);
        position: relative;
    }

        .arena-art {
            top: 0;
            z-index: -1;
            height: 100svh;
            margin-bottom: -100svh;
            background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 15%, transparent), color-mix(in srgb, var(--color-black) 60%, transparent)), url("../img/art-arena-2000.webp") center top / cover no-repeat;
            pointer-events: none;
            position: sticky;
        }

            .arena-art::before {
                inset: 0;
                content: "";
                background: url("../img/grain-512.webp") 0 0 / 256px repeat;
                opacity: 0.18;
                mix-blend-mode: screen;
                pointer-events: none;
                position: absolute;
            }

        .arena .champs,
        .arena .slogan-band,
        .arena .pride {
            background: none;
        }

        .arena .champs::before {
            display: none;
        }


/*  Section: Champions
-------------------------------------------*/

    .champs.--compact {
        padding-block: var(--section-y);
    }

        .champs.--compact .champs-signature,
        .champs.--compact .champs-keepsakes {
            display: none;
        }

        .champs.--compact .champs-shot img {
            aspect-ratio: 16 / 9;
        }

        .champs.--compact .film {
            margin-top: var(--s-5);
        }

    .champs {
        isolation: isolate;
        overflow: hidden;
        background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 15%, transparent), color-mix(in srgb, var(--color-black) 70%, transparent) 40%, var(--color-black) 85%), url("../img/art-arena-2000.webp") center top / 100% auto no-repeat, var(--color-black);
        position: relative;
    }

        .champs::before {
            background: url("../img/grain-512.webp") 0 0 / 256px repeat;
            opacity: 0.18;
            mix-blend-mode: screen;
            pointer-events: none;
        }

        .champs .container {
            position: relative;
        }

        .champs .section-title {
            font-family: var(--ff-display);
            font-weight: var(--fw-extrabold);
        }

    .champs-signature {
        top: var(--s-7);
        right: -2rem;
        font-family: var(--ff-script);
        font-size: clamp(8rem, 4rem + 16vw, 22rem);
        line-height: 1;
        color: var(--color-white);
        opacity: 0.07;
        transform: rotate(-8deg);
        pointer-events: none;
        position: absolute;
    }

    .champs-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--s-5);
    }

    .champs-shot {
        overflow: hidden;
        margin: 0;
        border-radius: var(--r-md);
        background-color: var(--color-charcoal);
    }

        .champs-shot img {
            width: 100%;
            aspect-ratio: 3 / 2;
            object-fit: cover;
            display: block;
            filter: grayscale(1) contrast(1.15);
        }

        .champs-shot figcaption {
            display: flex;
            align-items: baseline;
            gap: var(--s-3);
            padding: var(--s-4) var(--s-5);
            line-height: 1;
        }

            .champs-shot figcaption strong {
                color: var(--color-gold);
                font-family: var(--ff-display);
                font-size: var(--fs-stat);
                font-weight: var(--fw-extrabold);
            }

            .champs-shot figcaption span {
                font-family: var(--ff-heading);
                font-size: var(--fs-h4);
                font-weight: var(--fw-bold);
                font-style: italic;
                text-transform: none;
            }

    .champs-keepsakes {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-5);
        margin: var(--s-5) 0 0;
    }

        .champs-keepsakes img {
            aspect-ratio: 4 / 5;
            border-radius: var(--r-md);
        }


/*  Section: Film
-------------------------------------------*/

    .film {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        align-items: center;
        gap: var(--s-7);
        margin-top: var(--s-7);
        padding: var(--s-6);
        border-radius: var(--r-lg);
        background-color: var(--color-charcoal);
    }

    .film-video {
        aspect-ratio: 16 / 9;
        display: block;
        overflow: hidden;
        border-radius: var(--r-md);
        background-color: var(--color-black);
        position: relative;
    }

        .film-video img,
        .film-video iframe {
            border: 0;
        }

    .film-play {
        left: 50%;
        top: 50%;
        width: 5.5rem;
        height: 5.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--color-white);
        font-size: 2.5rem;
        border-radius: 50%;
        background-color: var(--color-maroon);
        transform: translate(-50%, -50%);
        transition: all ease 0.4s;
        position: absolute;
    }

        .film-play .ph {
            margin-left: 0.15em;
        }

        .film-video:hover .film-play {
            background-color: var(--color-black);
            transform: translate(-50%, -50%) scale(1.06);
        }

    /*
     *  Film Page: the Player, the Facts, the Credits
     */
    .film-player img {
        object-fit: contain;
    }

    .film-watch {
        left: 50%;
        bottom: var(--s-5);
        transform: translateX(-50%);
        position: absolute;
    }

        .film-player:hover .film-watch {
            --bs-btn-bg: var(--color-dark-maroon);
        }

    .film-facts {
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: var(--s-5) var(--s-7);
        margin: var(--s-6) 0 0;
        padding: var(--s-5) var(--s-6);
    }

        .film-facts dt {
            margin-bottom: var(--s-1);
            color: var(--color-silver);
            font-size: 1rem;
        }

        .film-facts dd {
            margin: 0;
            color: var(--color-white);
            font-weight: var(--fw-semibold);
        }

    .film-lead {
        max-width: 60rem;
        margin-top: var(--s-7);
        font-size: var(--fs-lg);
    }

    .film-link {
        margin: var(--s-5) 0 0;
    }

        .film-link .link-action {
            color: var(--color-white);
        }

    .film-credits {
        text-align: center;
    }

        .film-credit-lead {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: var(--s-2);
            margin: 0;
        }

            .film-credit-label,
            .film-credit-roll dt {
                color: var(--color-silver);
                font-size: 1rem;
            }

            .film-credit-name {
                color: var(--color-white);
                font-family: var(--ff-script);
                font-size: clamp(3rem, 2rem + 4vw, 5.5rem);
                line-height: 1.1;
            }

            .film-credit-thanks {
                max-width: 36rem;
                color: var(--color-silver);
            }

        .film-credit-roll {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: var(--s-5) var(--s-8);
            margin: var(--s-7) 0 0;
        }

            .film-credit-roll dd {
                margin: var(--s-1) 0 0;
                color: var(--color-white);
                font-family: var(--ff-heading);
                font-size: var(--fs-lg);
                font-weight: var(--fw-semibold);
            }

    .film-text {
        display: flex;
        flex-direction: column;
        gap: var(--s-4);
    }

    .film-title {
        margin: 0;
        color: var(--color-white);
        font-size: var(--fs-h2);
    }

    .film-lede {
        margin: 0;
        color: var(--color-white);
        font-size: var(--fs-lg);
        font-weight: var(--fw-semibold);
    }

        .film .btn-row {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }


/*  Section: Slogan
-------------------------------------------*/

    .slogan-band {
        overflow: hidden;
        padding: var(--band-y) max(2rem, (100% - var(--container-max)) / 2 + 2rem);
        background-color: var(--color-black);
    }

    .slogan-text {
        margin: 0;
        padding: 0.2em calc(var(--cut) + 0.5em);
        color: var(--color-white);
        font-size: clamp(2.25rem, 9vw, 8rem);
        line-height: 0.9;
        text-align: center;
        white-space: nowrap;
        background-color: var(--color-maroon);
        --cut: 0.25em;
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 50%, 100% 100%, 0 100%, var(--cut) 50%);
    }


/*  Section: Roster
-------------------------------------------*/

    .roster {
        isolation: isolate;
        overflow: hidden;
        position: relative;
    }

        .roster::before {
            top: var(--s-5);
            right: -2rem;
            content: "Eagles" / "";
            font-family: var(--ff-script);
            font-size: clamp(8rem, 4rem + 16vw, 24rem);
            line-height: 1;
            color: var(--color-maroon);
            opacity: 0.07;
            transform: rotate(-8deg);
            pointer-events: none;
            position: absolute;
        }

        .roster .container {
            position: relative;
        }

    .roster-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: var(--s-6) var(--s-4);
        margin: 0;
    }

        .roster-grid:has(> .player:nth-child(5):last-child) {
            grid-template-columns: repeat(5, minmax(0, 1fr));
        }

    .roster-archive-link {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0 var(--s-5);
        margin: var(--s-6) 0 0;
    }

    .roster-soon {
        min-height: 22rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--s-3);
        isolation: isolate;
        overflow: hidden;
        padding: var(--s-8) var(--s-5);
        text-align: center;
        position: relative;
    }

        .roster-soon::before {
            top: 50%;
            left: 50%;
            z-index: -1;
            width: min(30rem, 80%);
            aspect-ratio: 118 / 89;
            content: "";
            background: url("../img/eagle-white.svg") center / contain no-repeat;
            opacity: 0.07;
            transform: translate(-50%, -50%);
            pointer-events: none;
            position: absolute;
        }

        .roster-soon-title {
            margin: 0;
            color: var(--color-white);
        }

        .roster-soon-text {
            margin: 0;
            color: color-mix(in srgb, var(--color-white) 80%, transparent);
            font-size: 1.125rem;
        }

        .roster-block + .roster-soon {
            margin-top: var(--s-6);
        }

    .player {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        padding: var(--s-2) var(--s-2) 0;
        transition: all ease 0.4s;
    }

    .player:hover {
        background-color: var(--color-maroon);
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

    .player-photo {
        aspect-ratio: 4 / 5;
        display: block;
        overflow: hidden;
        background-color: var(--color-white);
        --cut: 14px;
    }

        .player-photo img {
            filter: grayscale(1) contrast(1.1);
            transition: all ease 0.4s;
        }

        .player:hover .player-photo img {
            filter: none;
        }

    .player-nophoto {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--color-gray);
        font-size: 3rem;
    }

    .player-plate {
        display: flex;
        align-items: flex-end;
        gap: var(--s-3);
        flex-grow: 1;
        padding: var(--s-3);
    }

    .player-num {
        min-width: 2ch;
        flex-shrink: 0;
        color: var(--color-white);
        font-family: var(--ff-display);
        font-size: clamp(2.75rem, 2rem + 2vw, 4rem);
        font-weight: var(--fw-extrabold);
        line-height: 0.8;
    }

    .player-num-icon {
        font-size: 1.5rem;
    }

    .player-id {
        min-width: 0;
        display: flex;
        flex-direction: column;
    }

    .player-name {
        color: var(--color-white);
        font-family: var(--ff-heading);
        font-size: 1.125rem;
        font-weight: var(--fw-extrabold);
        line-height: 1;
        text-transform: uppercase;
    }

    .player-meta {
        margin-top: var(--s-1);
        color: var(--color-silver);
        font-size: var(--fs-sm);
        line-height: 1.25;
    }


/*  Section: Instagram
-------------------------------------------*/

    .insta-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: var(--s-2);
        margin: 0;
    }

    .insta-tile {
        aspect-ratio: 1;
        display: block;
        overflow: hidden;
        background-color: var(--color-charcoal);
    }

        .insta-tile img {
            filter: grayscale(1) contrast(1.1);
            transition: all ease 0.4s;
        }

            .insta-tile:hover img {
                opacity: 0.85;
                filter: none;
                transform: scale(1.04);
            }


/*  Section: Coach
-------------------------------------------*/

    .coach-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: var(--s-8);
        align-items: stretch;
    }

    .coach-photo,
    .coach-photo picture {
        height: 100%;
    }

    .coach-photo {
        overflow: hidden;
        border-radius: var(--r-md);
    }

        .coach-photo img {
            aspect-ratio: auto;
            min-height: 30rem;
            object-position: var(--focus, 56% 100%);
        }

        .coach.--compact .coach-photo img {
            min-height: 24rem;
        }

        .coach-body .section-lede {
            margin-bottom: var(--s-5);
        }

    .coach-facts {
        display: grid;
        gap: var(--s-4);
        margin: 0 0 var(--s-6);
    }

        .coach-facts li {
            display: flex;
            gap: var(--s-3);
            align-items: flex-start;
        }

        .coach-facts .ph {
            flex-shrink: 0;
            margin-top: 0.15em;
            color: var(--color-maroon);
            font-size: 1.5rem;
        }

        .coach-facts span {
            display: flex;
            flex-direction: column;
            color: var(--color-gray);
        }

        .coach-facts strong {
            color: var(--color-black);
            font-weight: var(--fw-bold);
        }


/*  Section: Programs
-------------------------------------------*/

    .program {
        display: flex;
        flex-direction: column;
        padding: var(--s-6);
    }

    .action-cards {
        margin-top: var(--s-6);
    }

        .prose .action-cards {
            padding-left: 0;
        }

        .prose .action-cards li + li {
            margin-top: 0;
        }

        .action-cards .program {
            background-color: var(--color-white);
            transition: all ease 0.4s;
        }

        .action-cards .program:hover {
            box-shadow: var(--shadow-card-hover);
            transform: translateY(-2px);
        }

        .prose .action-cards .program-name {
            margin-top: 0;
        }

        .prose .action-cards .program-link {
            text-decoration: none;
        }

    .program.--photo {
        overflow: hidden;
        padding-top: 0;
    }

    .program-photo {
        aspect-ratio: 3 / 2;
        display: block;
        overflow: hidden;
        margin: 0 calc(-1 * var(--s-6)) var(--s-5);
    }

    .program-icon {
        width: 3.5rem;
        height: 3.5rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: var(--s-4);
        color: var(--color-maroon);
        font-size: 2.5rem;
    }

    .program-name {
        margin-bottom: var(--s-3);
        font-size: var(--fs-h3);
    }

    .program-facts {
        display: grid;
        gap: var(--s-1);
        margin: 0 0 var(--s-4);
    }

        .program-facts li {
            color: var(--color-gray);
            font-size: var(--fs-sm);
            font-weight: var(--fw-semibold);
            line-height: 1.4;
        }

    .program-text {
        margin-bottom: var(--s-5);
    }

        .program-link {
            margin-top: auto;
        }


/*  Section: Eagle Pride
-------------------------------------------*/

    .pride-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
        gap: var(--s-8);
        align-items: start;
    }

    .pride-photo {
        margin: 0;
    }

        .pride-photo img {
            width: 100%;
            aspect-ratio: 3 / 2;
            object-fit: cover;
            display: block;
            border-radius: var(--r-md);
        }

        .pride-photo figcaption {
            margin-top: var(--s-3);
            color: var(--color-silver);
            font-size: var(--fs-sm);
        }

    .pride-list {
        display: grid;
        gap: var(--s-3);
        margin: 0;
    }

        .pride-list a {
            display: flex;
            align-items: center;
            gap: var(--s-4);
            padding: var(--s-5);
            color: var(--color-white);
            text-decoration: none;
            border-radius: var(--r-md);
            background-color: var(--color-maroon);
            transition: all ease 0.4s;
        }

        .pride-list a:hover {
            color: var(--color-white);
            background-color: var(--color-dark-maroon);
        }

            .pride-list a > .ph:first-child {
                flex-shrink: 0;
                color: var(--color-white);
                font-size: 2rem;
            }

            .pride-list a > span {
                display: flex;
                flex-direction: column;
                gap: var(--s-1);
            }

        .pride-list strong {
            color: var(--color-white);
            font-family: var(--ff-heading);
            font-size: var(--fs-h4);
            font-weight: var(--fw-extrabold);
            line-height: 1;
            text-transform: uppercase;
        }

    .pride-arrow {
        flex-shrink: 0;
        margin-left: auto;
        color: var(--color-white);
        transition: all ease 0.4s;
    }

            .pride-list a:hover .pride-arrow {
                transform: translateX(4px);
            }


/*  Section: FAQ
-------------------------------------------*/

    .faq {
        isolation: isolate;
        overflow: hidden;
        background-color: var(--color-black);
        position: relative;
    }

    .arena + .faq {
        padding-top: 100px;
    }

        .faq::before {
            inset: 0;
            z-index: -1;
            content: "";
            background: linear-gradient(90deg, color-mix(in srgb, var(--color-black) 55%, transparent), color-mix(in srgb, var(--color-black) 15%, transparent)), url("../img/art-chalk-2000.webp") center / cover no-repeat;
            opacity: 0.7;
            transform: scaleX(-1);
            pointer-events: none;
            position: absolute;
        }

        .faq .container {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
            gap: var(--s-8);
            align-items: start;
        }

        .faq .section-head {
            margin: 0;
        }

    .faq-list {
        display: grid;
        gap: var(--s-3);
    }

    .faq-item {
        overflow: hidden;
        border-radius: var(--r-md);
        background-color: var(--color-white);
    }

        .faq-item summary {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            gap: var(--s-4);
            padding: var(--s-4) var(--s-5);
            color: var(--color-black);
            font-family: var(--ff-heading);
            font-size: var(--fs-h4);
            font-weight: var(--fw-extrabold);
            line-height: var(--lh-snug);
            text-transform: uppercase;
            list-style: none;
            cursor: pointer;
        }

        .faq-item summary::-webkit-details-marker {
            display: none;
        }

        .faq-item summary::after {
            flex-shrink: 0;
            margin-left: auto;
            content: "\e136";
            font-family: "Phosphor";
            line-height: 1;
        }

        .faq-item p {
            margin: 0;
            padding: 0 var(--s-5) var(--s-4);
        }

        .faq .faq-item {
            background-color: color-mix(in srgb, var(--color-charcoal) 88%, transparent);
        }

            .faq .faq-item summary {
                color: var(--color-white);
            }

            .faq .faq-item summary::after {
                color: var(--color-white);
            }

            .faq .faq-item p {
                color: var(--color-silver);
            }


/*  Section: Support
-------------------------------------------*/

    .sponsor-profiles.--four {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--s-4);
        margin: 0;
    }

        .sponsor-profiles.--four .sponsor-profile-body {
            padding: var(--s-5);
        }

        .sponsor-profiles.--four .sponsor-profile-logo {
            width: 100%;
        }

        .sponsor-profiles.--four .sponsor-profile-name {
            font-size: 1.25rem;
        }

    .sponsor-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-3);
        margin: 0;
    }

        .sponsor-list a {
            height: 8.5rem;
            display: flex;
            flex-direction: column;
            gap: var(--s-2);
            align-items: center;
            justify-content: center;
        }

        .sponsor-list a:hover {
            background-color: var(--color-light-gray);
        }

        .sponsor-list img {
            width: 100%;
            max-width: 12rem;
            height: 4.5rem;
            object-fit: contain;
        }

    .sponsor-url {
        font-size: var(--fs-sm);
        color: var(--color-gray);
        text-decoration: underline;
        text-underline-offset: 2px;
    }


/*  Section: Post Grid
-------------------------------------------*/

    .post-grid {
        row-gap: var(--s-7);
    }

    .post-card {
        height: 100%;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        color: var(--color-black);
        transition: all ease 0.4s;
        position: relative;
    }

    .post-card:hover {
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

    .post-card:has(.post-card-title:focus-visible) {
        outline: 3px solid var(--color-dark-gold);
        outline-offset: 2px;
    }

    .post-card-media {
        aspect-ratio: 16 / 10;
        display: block;
        overflow: hidden;
        background-color: var(--color-black);
    }

        .post-card-media img {
            object-position: 50% 30%;
            transition: all ease 0.4s;
        }

        .post-card-media img.is-logo,
        .article-figure img.is-logo {
            object-fit: contain;
            padding: var(--s-5);
            background-color: var(--color-white);
        }

    .article-figure:has(img.is-logo) {
        background-color: var(--color-white);
    }

        .article-figure img.is-logo {
            width: auto;
            max-width: 100%;
            height: 12rem;
            margin-inline: auto;
            padding: var(--s-5);
        }

    .post-card-body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-2);
        flex-grow: 1;
        padding: var(--s-5);
    }

    .post-card-title {
        color: inherit;
        font-family: var(--ff-heading);
        font-size: var(--fs-h4);
        font-weight: var(--fw-bold);
        line-height: 1.22;
        text-decoration: none;
        transition: all ease 0.4s;
    }

        .post-card:hover .post-card-title {
            color: var(--color-maroon);
        }

        .post-card-title::after {
            z-index: 1;
        }

        .post-card-title:focus-visible {
            outline: none;
        }

    .post-card-date {
        color: var(--color-gray);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

    .post-card-more {
        margin-top: auto;
        padding-top: var(--s-2);
    }

        .post-card:hover .post-card-more span {
            text-decoration-color: currentColor;
        }

    .post-type-card {
        width: 100%;
        height: 100%;
        min-height: 12rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: var(--s-2);
        color: var(--color-white);
        font-family: var(--ff-heading);
        font-weight: var(--fw-extrabold);
        text-transform: uppercase;
        background-color: var(--color-black);
        position: relative;
    }

        .post-type-card::before {
            background: url("../img/eagle-white.svg") center / 60% auto no-repeat;
            opacity: 0.08;
            pointer-events: none;
        }

        .post-type-card .ph {
            font-size: 3rem;
            color: var(--color-white);
        }


/*  Section: News Feature
-------------------------------------------*/

    .news-feature {
        display: grid;
        grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
        gap: var(--s-5);
        margin-bottom: var(--s-8);
    }

    .news-feature-side {
        display: grid;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: var(--s-5);
    }

        .post-card-lead {
            color: var(--color-white);
            background-color: var(--color-black);
        }

        .post-card-lead .post-card-media {
            aspect-ratio: auto;
            height: 100%;
            min-height: 24rem;
        }

        .post-card-lead .post-card-media::after {
            background: var(--scrim-tile);
        }

        .post-card-lead .post-card-body {
            inset: auto 0 0 0;
            z-index: 1;
            padding: var(--s-6);
            position: absolute;
        }

        .post-card-lead .post-card-title {
            font-size: var(--fs-h3);
            color: var(--color-white);
        }

        .post-card-lead .post-card-date {
            color: var(--color-silver);
        }

        .post-card-lead .post-card-more {
            color: var(--color-white);
        }


/*  Section: News Filters
-------------------------------------------*/

    .news-tools {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 37rem);
        align-items: center;
        gap: var(--s-4) var(--s-6);
        margin-bottom: var(--s-4);
    }

    .news-search {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-3);
    }

        .news-search input,
        .news-search select {
            min-height: var(--control-h-sm);
            padding: 0 var(--s-4);
            font-size: max(16px, 1rem);
        }

        .news-search select {
            padding-right: 2.75rem;
        }

    .news-count {
        margin: 0 0 var(--s-3);
        color: var(--color-gray);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

    .news-more {
        display: flex;
        justify-content: center;
        margin-top: var(--s-7);
    }

    .news-empty {
        padding: var(--s-7) var(--s-5);
        text-align: center;
        color: var(--color-gray);
    }


/*  Section: Article
-------------------------------------------*/

    /*
     *  Column
     */
    .article-wrap {
        padding-block: var(--section-y);
    }

        .section > .article-wrap {
            padding-block: 0;
        }

    [data-page="news"] .article-wrap {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 885px) minmax(0, 1fr);
    }

        [data-page="news"] .article-wrap > * {
            grid-column: 2;
        }

        [data-page="news"] .article-wrap > .article-head,
        [data-page="news"] .article-wrap > .article-pager {
            grid-column: 1 / -1;
        }

        [data-page="news"] .article-wrap > .article-head {
            padding-bottom: var(--s-6);
            border-bottom: 1px solid var(--color-silver);
        }

        [data-page="news"] .article-figure {
            width: 100%;
            justify-self: center;
            margin-bottom: 0;
        }

        [data-page="news"] .article-body > :last-child {
            margin-bottom: 0;
        }

    /*
     *  Game Page: One Column the Container's Width, So the Head, the Card and the Text Share Their Edges
     */
    [data-page="news"] .game-page .article-wrap {
        display: block;
    }

        [data-page="news"] .game-page .article-wrap > .article-head {
            padding-bottom: 0;
            border-bottom: 0;
        }

        .game-page .article-title {
            margin-bottom: var(--s-5);
        }

    /*
     *  Head
     */
    .article-crumbs {
        color: var(--color-gray);
    }

        .article-crumbs a,
        .article-crumbs a:hover {
            color: var(--color-maroon);
        }

        .article-crumbs li + li::before,
        .article-crumbs [aria-current] {
            color: var(--color-mute-gray);
        }

    .article-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--s-2) var(--s-4);
        color: var(--color-gray);
        font-size: var(--fs-sm);
        font-weight: var(--fw-semibold);
    }

    .article-title {
        margin: var(--s-4) 0;
        font-family: var(--ff-display);
        font-size: clamp(2.375rem, 1.6rem + 3vw, 4rem);
        line-height: 1;
        letter-spacing: 0;
        text-transform: none;
    }

    .article-byline {
        display: flex;
        flex-wrap: wrap;
        gap: var(--s-4);
        color: var(--color-gray);
        font-size: var(--fs-sm);
    }

        .article-byline strong {
            color: var(--color-black);
        }

    /*
     *  Body
     */
    .article-figure {
        max-width: var(--figure-max, none);
        overflow: hidden;
        margin: var(--s-6) 0;
        border-radius: var(--r-md);
        background-color: var(--color-black);
    }

        .article-figure img {
            width: 100%;
            height: auto;
            max-height: 38rem;
            object-fit: cover;
            display: block;
        }

    .article-body {
        margin-top: var(--s-6);
    }

    .article-press {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-5);
        margin-top: var(--s-6);
        padding: var(--s-6);
    }

    .article-press-note {
        display: flex;
        align-items: center;
        gap: var(--s-3);
        margin: 0;
        font-size: var(--fs-lg);
    }

        .article-press-note .ph {
            color: var(--color-maroon);
            font-size: 1.75rem;
        }

    .letter-sign {
        margin-top: var(--s-6);
    }

    .letter-signature {
        display: flex;
        flex-direction: column;
        margin-top: var(--s-5);
    }

        .letter-signature-script {
            margin-bottom: var(--s-2);
            color: var(--color-maroon);
            font-family: var(--ff-script);
            font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem);
            line-height: 1;
        }

    .letter-link {
        margin-top: var(--s-5);
    }

    /*
     *  Share
     */
    .article-share {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--s-2);
        margin-top: var(--s-7);
    }

    .article-share-label {
        margin-right: var(--s-2);
        color: var(--color-black);
    }

    .share-btn {
        width: 3.25rem;
        height: var(--tap-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--color-white);
        font-size: 1.25rem;
        border: 0;
        background-color: var(--color-black);
        transition: all ease 0.4s;
    }

    .share-btn:hover {
        color: var(--color-white);
        background-color: var(--color-hover-charcoal);
    }

    .share-done {
        color: var(--color-maroon);
        font-weight: var(--fw-semibold);
    }

    /*
     *  Pager
     */
    .article-pager {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--s-3);
        margin-top: var(--s-7);
    }

    .article-pager-link {
        display: flex;
        flex-direction: column;
        gap: var(--s-1);
        color: var(--color-black);
        text-decoration: none;
        transition: all ease 0.4s;
    }

    .article-pager-link:hover {
        color: var(--color-black);
        background-color: var(--color-light-gray);
    }

        .prose .article-pager-link,
        .prose .article-pager-link:hover {
            text-decoration: none;
        }

        .article-pager-link span {
            color: var(--color-maroon);
        }

        .article-pager-link strong {
            font-family: var(--ff-heading);
            line-height: 1.25;
        }

    .article-pager-older {
        text-align: right;
    }


/*  Section: Game
-------------------------------------------*/

    .game-wide {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr);
        grid-auto-columns: auto;
        grid-auto-flow: column;
        align-items: center;
        gap: var(--s-5) var(--s-6);
    }

        .game-wide p {
            margin: 0;
        }

        .game-wide-when {
            min-width: 5.5rem;
            display: flex;
            flex-direction: column;
            line-height: 1.1;
        }

            .game-wide-day {
                color: var(--color-silver);
                font-size: 1rem;
            }

            .game-wide-date {
                font-size: 2rem;
                font-weight: var(--fw-extrabold);
            }

            .game-wide-tag {
                margin-top: var(--s-1);
                color: var(--color-gold);
                font-size: 0.875rem;
            }

        .game-wide-logos {
            display: flex;
            align-items: center;
        }

            .game-wide-logos .team-logo {
                width: 4.5rem;
                height: 4.5rem;
                font-size: 1.75rem;
            }

                .game-wide-logos .team-logo + .team-logo {
                    margin-left: calc(-1 * var(--s-3));
                    box-shadow: 0 0 0 3px var(--color-black);
                }

        .game-wide-teams {
            display: flex;
            flex-direction: column;
            gap: var(--s-1);
            line-height: 1;
        }

            .game-wide-us {
                color: var(--color-silver);
                font-size: 1rem;
            }

            .game-wide-them {
                font-size: clamp(2rem, 1.4rem + 1.8vw, 2.75rem);
            }

                .game-wide-them span {
                    font-size: 0.6em;
                    text-transform: none;
                }

        .game-wide-info {
            display: grid;
            gap: var(--s-2);
        }

            .game-wide-times {
                display: flex;
                gap: var(--s-4);
                margin: 0;
            }

                .game-wide-times li {
                    display: flex;
                    flex-direction: column;
                    font-weight: var(--fw-semibold);
                }

                    .game-wide-times span,
                    .game-wide-venue {
                        color: var(--color-silver);
                        font-size: 0.875rem;
                    }

            .game-wide-time {
                font-weight: var(--fw-semibold);
            }

            .game-wide-venue {
                display: flex;
                align-items: center;
                gap: var(--s-1);
            }

            .game-wide-score {
                display: flex;
                align-items: center;
                gap: var(--s-3);
                font-family: var(--ff-display);
                font-size: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
                font-weight: var(--fw-extrabold);
                line-height: 1;
            }

                .game-wide-score .game-result {
                    color: var(--color-black);
                    background-color: var(--color-white);
                }

        .game-wide-link {
            color: var(--color-white);
        }

        .game-wide-add {
            margin: 0;
        }

            .game-wide-add .cal-menu-panel {
                right: 0;
                left: auto;
            }

    .game-section {
        margin-top: var(--s-7);
    }

        .game-section .section-title {
            margin-bottom: var(--s-4);
        }

        .game-section .btn {
            margin-top: var(--s-4);
        }

        .game-section .section-title + .article-body {
            margin-top: 0;
        }

        .game-section .article-body + .matchup-panel {
            margin-top: var(--s-5);
        }

    .game-player {
        margin-bottom: var(--s-5);
        font-size: var(--fs-lg);
    }

        .game-player span:first-child {
            color: var(--color-maroon);
        }

    .post-table tbody th,
    .post-table tfoot th {
        color: var(--color-black);
        text-align: left;
        background-color: transparent;
    }

    .post-table tfoot td,
    .post-table tfoot th {
        border-top: 2px solid var(--color-black);
    }


/*  Section: Schedule
-------------------------------------------*/

    /*
     *  Season
     */
    .season-summary {
        display: grid;
        grid-auto-columns: minmax(0, 1fr);
        grid-auto-flow: column;
        gap: var(--s-5);
        margin-bottom: var(--s-6);
    }

    .season-stat {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--s-1);
        padding: var(--s-5);
        color: var(--color-gray);
        font-family: var(--ff-display);
        font-size: 1.0625rem;
        font-weight: var(--fw-bold);
    }

        .season-stat strong {
            color: var(--color-black);
            font-size: var(--fs-stat);
            font-weight: var(--fw-extrabold);
            line-height: 1;
        }

    /*
     *  Games
     */
    .game-rows-group {
        margin-bottom: var(--s-3);
        color: var(--color-maroon);
        font-size: var(--fs-h4);
    }

        .game-rows + .game-rows-group {
            margin-top: var(--s-6);
        }

    .schedule-coaches {
        margin: calc(-1 * var(--s-3)) 0 var(--s-4);
        color: var(--color-gray);
        font-weight: var(--fw-semibold);
    }

    .game-rows {
        display: grid;
        margin: 0;
        padding: var(--s-2) var(--s-5);
    }

        .game-rows .game-tag {
            vertical-align: middle;
        }

    .matchup-title {
        display: flex;
        align-items: center;
        gap: var(--s-3);
    }

    .matchup-recent .game-rows {
        margin-top: var(--s-5);
    }

        .game-row + .game-row {
            border-top: 1px solid color-mix(in srgb, var(--color-white) 18%, transparent);
        }

        .game-row a,
        .game-row > div {
            min-height: 4.75rem;
            display: grid;
            grid-template-columns: 6.5rem minmax(0, 1fr) auto;
            align-items: center;
            gap: var(--s-4);
            margin-inline: calc(-1 * var(--s-3));
            padding: var(--s-3);
            color: var(--color-white);
            text-decoration: none;
            border-radius: var(--r-sm);
        }

        .game-row a {
            transition: all ease 0.4s;
        }

        .game-row a:hover {
            color: var(--color-white);
            background-color: var(--color-charcoal);
        }

        .game-row.is-next a,
        .game-row.is-next > div {
            background-color: var(--color-maroon);
        }

    .game-row-date {
        color: var(--color-silver);
        font-size: 1rem;
        line-height: 1.2;
    }

        .game-row-date strong {
            display: block;
            color: var(--color-white);
            font-size: 1.25rem;
            font-weight: var(--fw-extrabold);
        }

    .game-row-opp {
        min-width: 0;
        font-family: var(--ff-heading);
        font-size: var(--fs-lg);
        font-weight: var(--fw-extrabold);
        line-height: 1.15;
        text-transform: uppercase;
    }

        .game-row-name {
            display: block;
        }

            .game-row-logo {
                width: 1.75rem;
                height: 1.75rem;
                margin-right: 0.35em;
                font-size: 0.5625rem;
                vertical-align: middle;
            }

        .game-row-opp small {
            display: block;
            color: var(--color-silver);
            font-family: var(--ff-body);
            font-size: var(--fs-sm);
            font-weight: var(--fw-semibold);
            text-transform: none;
        }

    .game-row-site {
        color: var(--color-silver);
    }

    .game-row-score {
        display: grid;
        grid-template-columns: 2rem 4.75rem 1.25rem;
        align-items: center;
        gap: var(--s-3);
        font-family: var(--ff-display);
        font-size: 1.75rem;
        font-weight: var(--fw-extrabold);
        white-space: nowrap;
    }

        .game-row-points {
            text-align: right;
        }

        .game-row-score .game-result {
            width: 2rem;
            height: 2rem;
            font-size: 1.125rem;
        }

        .game-row-score .ph {
            font-size: 1.25rem;
            color: var(--color-white);
        }

    .game-row-pending {
        color: var(--color-silver);
        font-size: var(--fs-sm);
        font-family: var(--ff-body);
        font-weight: var(--fw-semibold);
    }

    .game-row-tag {
        font-size: 1.125rem;
    }

            .game-row .game-w .game-result,
            .game-row-w .game-result {
                color: var(--color-black);
                background-color: var(--color-white);
            }

        .game-row-l .game-result {
            color: var(--color-silver);
            background-color: var(--color-light-charcoal);
        }

    .game-row-spacer {
        width: 1.25rem;
        display: inline-block;
    }


/*  Section: Honors
-------------------------------------------*/

    .season-tabs {
        margin-bottom: var(--s-6);
    }

    .honor-seasons {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--s-6);
    }

    .honor-season {
        overflow: hidden;
        padding: var(--s-6);
        position: relative;
    }

        .honor-season::before {
            top: 0;
            right: -4rem;
            bottom: 0;
            aspect-ratio: 118 / 89;
            content: "";
            background: url("../img/eagle-maroon.svg") center / auto 120% no-repeat;
            opacity: 0.07;
            pointer-events: none;
            position: absolute;
        }

        .honor-season > * {
            position: relative;
        }

    .honor-season-title {
        display: flex;
        align-items: baseline;
        gap: var(--s-3);
        margin-bottom: var(--s-5);
        font-size: var(--fs-h3);
    }

        .honor-season-title span {
            color: var(--color-maroon);
        }

    .honor-groups {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-5);
    }

        .honor-group h3 {
            margin: 0 0 var(--s-3);
            font-size: var(--fs-lg);
            text-transform: none;
        }

        .honor-group ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .honor-group li {
            display: flex;
            gap: var(--s-2);
            padding-block: var(--s-1);
        }

            .honor-group li span {
                font-family: var(--ff-heading);
                font-weight: var(--fw-semibold);
                font-style: italic;
            }

            .honor-group li .ph {
                flex-shrink: 0;
                margin-top: 0.25em;
                color: var(--color-maroon);
            }

    .honor-team {
        grid-column: 1 / -1;
        padding: var(--s-5);
        color: var(--color-white);
    }

        .honor-team ul {
            column-gap: var(--s-7);
            columns: 2;
        }

            .honor-team li {
                break-inside: avoid;
            }

        .honor-team h3 {
            color: var(--color-white);
        }

            .honor-team li .ph {
                color: var(--color-white);
            }


/*  Section: Titles
-------------------------------------------*/

    .titles {
        isolation: isolate;
        overflow: hidden;
        padding-block: var(--section-y);
        background-color: var(--color-black);
        position: relative;
    }

        .titles::after {
            top: 0;
            right: 0;
            bottom: 0;
            z-index: -2;
            width: min(60%, 56rem);
            content: "";
            background: url("../img/rings-bg-1200.webp") right center / cover no-repeat;
            opacity: 0.2;
            -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--color-black) 40%), linear-gradient(180deg, transparent 0%, var(--color-black) 15%, var(--color-black) 85%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0%, var(--color-black) 40%), linear-gradient(180deg, transparent 0%, var(--color-black) 15%, var(--color-black) 85%, transparent 100%);
            -webkit-mask-composite: source-in;
            mask-composite: intersect;
            pointer-events: none;
            position: absolute;
        }

        .titles::before {
            z-index: -1;
            background: url("../img/grain-512.webp") 0 0 / 256px repeat;
            opacity: 0.18;
            mix-blend-mode: screen;
            pointer-events: none;
        }

    .titles-grid {
        display: grid;
        grid-template-columns: 14rem minmax(0, 1fr);
        align-items: center;
        gap: var(--s-7);
    }

        .titles-banner {
            width: 100%;
            height: auto;
            display: block;
        }

        .titles-body .section-title {
            margin-bottom: var(--s-4);
        }

    .titles-list {
        display: grid;
        grid-template-columns: repeat(3, max-content);
        gap: var(--s-4) var(--s-8);
        margin: 0;
    }

        .titles-list dt {
            font-family: var(--ff-heading);
            font-size: var(--fs-h4);
            font-weight: var(--fw-bold);
            font-style: italic;
            color: var(--color-silver);
        }

        .titles-list dd {
            margin: 0;
            font-family: var(--ff-display);
            font-size: var(--fs-stat);
            font-weight: var(--fw-extrabold);
            line-height: 1;
            white-space: nowrap;
        }


/*  Section: Alumni
-------------------------------------------*/

    /*
     *  Name Wall
     */
    .name-wall {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
        gap: var(--s-3);
        margin: 0;
    }

        .name-wall li {
            display: flex;
            flex-direction: column;
            padding: var(--s-4) var(--s-5);
            border-radius: var(--r-md);
            background-color: var(--color-white);
        }

        .name-wall strong {
            font-family: var(--ff-heading);
            font-size: var(--fs-lg);
            line-height: 1.2;
        }

        .name-wall span {
            color: var(--color-gray);
            font-size: var(--fs-sm);
            font-weight: var(--fw-semibold);
        }

            .section-white .name-wall > li {
                background-color: var(--color-pale-gray);
            }

    .alumni-card-body {
        display: flex;
        flex-direction: column;
        gap: var(--s-1);
        padding: var(--s-5) var(--s-6) var(--s-6);
    }

    .alumni-card-name {
        font-family: var(--ff-heading);
        font-size: var(--fs-h4);
        font-weight: var(--fw-extrabold);
    }

    .alumni-card-meta {
        color: var(--color-gray);
        font-size: var(--fs-sm);
    }

    /*
     *  Point Club
     */
    .name-wall-club {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
    }

        .name-wall-club li {
            padding: var(--s-5) var(--s-5) var(--s-5) 5.25rem;
            color: var(--color-white);
            background-color: var(--color-maroon);
            position: relative;
        }

        .name-wall-club li::before {
            left: var(--s-5);
            top: 50%;
            content: "1,000";
            color: var(--color-white);
            font-family: var(--ff-display);
            font-size: 1.375rem;
            font-weight: var(--fw-extrabold);
            line-height: 1;
            transform: translateY(-50%);
            position: absolute;
        }

        .name-wall-club strong {
            color: var(--color-white);
            font-size: var(--fs-h4);
        }

        .name-wall-club span {
            color: var(--color-silver);
        }


/*  Section: Alumni Profiles
-------------------------------------------*/

    .alumni-list {
        display: grid;
        gap: var(--s-2);
    }

    .alumni-entry {
        overflow: hidden;
    }

        .alumni-list > .alumni-entry {
            border-radius: 0;
        }

        .alumni-list > .alumni-entry + .alumni-entry {
            padding-top: var(--s-2);
            border-top: 1px solid var(--color-silver);
        }

        .alumni-entry .alumni-card-body {
            padding: 0;
        }

        .alumni-entry summary {
            display: grid;
            grid-template-columns: 12rem minmax(0, 1fr) auto;
            align-items: center;
            gap: var(--s-5);
            padding: var(--s-3);
            color: var(--color-black);
            list-style: none;
            cursor: pointer;
        }

            .alumni-entry summary::-webkit-details-marker {
                display: none;
            }

            .alumni-entry summary img {
                width: 100%;
                aspect-ratio: 4 / 3;
                object-fit: cover;
                border-radius: var(--r-sm);
            }

            .alumni-entry summary .ph {
                margin-right: var(--s-3);
            }

        .alumni-entry-body {
            padding: var(--s-5) var(--s-6) var(--s-6);
        }

        .alumni-entry-lede {
            font-size: var(--fs-lg);
            font-weight: var(--fw-semibold);
        }


/*  Section: Year Cards
-------------------------------------------*/

    .year-cards {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: var(--s-4);
        margin: 0;
    }

    .year-card-year {
        display: block;
        margin-bottom: var(--s-3);
        color: var(--color-maroon);
        font-family: var(--ff-display);
        font-size: var(--fs-stat);
        font-weight: var(--fw-extrabold);
        line-height: 1;
    }

        .year-card li {
            padding-block: 0.15rem;
            font-family: var(--ff-heading);
            font-weight: var(--fw-bold);
            color: var(--color-black);
        }

    .year-card-times {
        color: var(--color-maroon);
        font-family: var(--ff-display);
        font-weight: var(--fw-bold);
    }


/*  Section: Traditions
-------------------------------------------*/

    .traditions-more {
        margin-top: var(--s-7);
    }

        .traditions-more h3 {
            margin-bottom: var(--s-5);
        }


/*  Section: Not Found
-------------------------------------------*/

    .notfound {
        padding-block: var(--section-y);
        text-align: center;
    }

    .notfound-code {
        font-family: var(--ff-display);
        font-size: clamp(6rem, 3rem + 14vw, 12rem);
        font-weight: var(--fw-extrabold);
        line-height: 0.9;
        color: var(--color-maroon);
    }

        .notfound h1 {
            font-family: var(--ff-display);
            font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.75rem);
            letter-spacing: 0;
        }

        .notfound .btn-row {
            justify-content: center;
            margin-inline: auto;
        }


/*  Section: Sign-In
-------------------------------------------*/

    body.login {
        background-color: var(--color-black);
    }

    .login-main {
        min-height: 100dvh;
        display: grid;
        grid-template-rows: auto 1fr;
        justify-items: start;
        isolation: isolate;
        overflow: hidden;
        padding-inline: max(var(--s-5), (100% - var(--container-max)) / 2 + var(--s-5));
        color: var(--color-white);
        background-color: var(--color-black);
        --wp-admin-theme-color: var(--color-maroon);
        --wp-admin-theme-color--rgb: 106, 6, 27;
        --wp-admin-theme-color-darker-10: var(--color-dark-maroon);
        --wp-admin-theme-color-darker-10--rgb: 82, 4, 20;
        --wp-admin-theme-color-darker-20: var(--color-dark-maroon);
        --wp-admin-theme-color-darker-20--rgb: 82, 4, 20;
        --login-field: color-mix(in srgb, var(--color-white) 8%, var(--color-black));
        position: relative;
    }

        .login-main::before {
            inset: 0;
            z-index: -2;
            content: "";
            background: var(--scrim-hero-lg), url("../img/hero-2024-final-2200.webp") 100% 30% / cover no-repeat;
            filter: grayscale(1) contrast(1.1);
            position: absolute;
        }

        .login-main::after {
            inset: 0;
            z-index: -1;
            content: "";
            background: url("../img/hero-grain-256.webp") 0 0 / 256px repeat;
            opacity: 0.2;
            mix-blend-mode: overlay;
            pointer-events: none;
            position: absolute;
        }

        .login-brand {
            min-width: 0;
            display: flex;
            align-items: flex-start;
            gap: var(--s-4);
            color: var(--color-white);
            text-decoration: none;
        }

        .login-brand:hover {
            color: var(--color-white);
        }

            .login-brand .pennant {
                margin-bottom: 0;
            }

            .login-brand .site-lockup {
                padding-top: var(--s-5);
            }

        .login-main #login {
            width: min(100%, 27rem);
            align-self: center;
            margin: 0;
            padding: var(--s-6) 0;
        }

        .login-main .wp-login-logo {
            display: none;
        }

        .login-main .message,
        .login-main .notice,
        .login-main .success {
            color: var(--color-white);
            border: 1px solid color-mix(in srgb, var(--color-white) 14%, transparent);
            border-radius: var(--r-md);
            background-color: color-mix(in srgb, var(--color-black) 88%, transparent);
            box-shadow: none;
        }

        .login-main .notice-error {
            color: var(--color-white);
            background-color: var(--color-maroon);
        }

            .login-main .notice-error a {
                color: var(--color-white);
            }

        .login-main form {
            margin-top: 0;
            padding: var(--s-5);
            border: 1px solid color-mix(in srgb, var(--color-white) 14%, transparent);
            border-top: 6px solid var(--color-maroon);
            border-radius: var(--r-md);
            background-color: color-mix(in srgb, var(--color-black) 88%, transparent);
            box-shadow: none;
            backdrop-filter: blur(6px);
        }

        .login-main label {
            color: var(--color-white);
            font-size: 1rem;
        }

        .login-main form .input,
        .login-main form input[type="text"],
        .login-main form input[type="password"],
        .login-main form input[type="email"] {
            min-height: 3rem;
            color: var(--color-white);
            font-size: 1.0625rem;
            border: 1px solid color-mix(in srgb, var(--color-white) 28%, transparent);
            border-radius: var(--r-sm);
            background-color: var(--login-field);
        }

        .login-main form .input:focus,
        .login-main form input[type="text"]:focus,
        .login-main form input[type="password"]:focus,
        .login-main form input[type="email"]:focus {
            border-color: var(--color-gold);
            box-shadow: 0 0 0 1px var(--color-gold);
        }

        .login-main form input:-webkit-autofill {
            box-shadow: 0 0 0 100px var(--login-field) inset;
            caret-color: var(--color-white);
            -webkit-text-fill-color: var(--color-white);
        }

        .login-main .button.wp-hide-pw {
            min-height: 3rem;
            color: var(--color-white);
        }

            .login-main .button.wp-hide-pw .dashicons {
                color: var(--color-white);
            }

        .login-main .forgetmenot {
            float: none;
            display: flex;
            align-items: center;
            margin-bottom: var(--s-4);
        }

            .login-main .forgetmenot label {
                margin-bottom: 0;
            }

        .login-main .submit {
            clear: both;
            display: block;
        }

        .login-main form .button.button-primary,
        .login-main form .button.button-primary:hover,
        .login-main form .button.button-primary:focus {
            width: 100%;
            min-height: 3.25rem;
            float: none;
            color: var(--color-white);
            font-family: var(--ff-display);
            font-size: 1.375rem;
            font-weight: var(--fw-bold);
            border: 0;
            border-radius: 0;
            box-shadow: none;
            clip-path: polygon(0 0, 100% 0, calc(100% - var(--ribbon)) 50%, 100% 100%, 0 100%, var(--ribbon) 50%);
        }

        .login-main form .button.button-primary {
            background-color: var(--color-maroon);
        }

        .login-main form .button.button-primary:hover,
        .login-main form .button.button-primary:focus {
            background-color: var(--color-dark-maroon);
        }

        .login-main #nav,
        .login-main #backtoblog,
        .login-main .privacy-policy-page-link {
            margin: var(--s-4) 0 0;
            padding: 0;
        }

        .login-main #nav a,
        .login-main #backtoblog a,
        .login-main .privacy-policy-page-link a {
            color: color-mix(in srgb, var(--color-white) 78%, transparent);
        }

        .login-main #nav a:hover,
        .login-main #backtoblog a:hover,
        .login-main .privacy-policy-page-link a:hover {
            color: var(--color-white);
        }


/*  Section: Team Portal Password Screen
-------------------------------------------*/

    .portal-form {
        display: grid;
        gap: var(--s-5);
        padding: var(--s-6);
        color: var(--color-white);
    }

    .portal-gate-section .portal-form {
        max-width: 32rem;
        margin-inline: auto;
    }

    .portal-alert {
        display: flex;
        align-items: flex-start;
        gap: var(--s-3);
        padding: var(--s-3) var(--s-4);
        font-size: var(--fs-sm);
        border: 2px solid var(--color-maroon);
        border-radius: var(--r-sm);
        background-color: var(--color-light-charcoal);
    }

        .portal-alert .ph {
            flex-shrink: 0;
            color: var(--color-white);
            font-size: 1.375rem;
        }

        .portal-alert p {
            margin: 0;
        }

    .portal-alert-ok {
        border-color: var(--color-gold);
    }

        .portal-field label {
            display: block;
            margin-bottom: var(--s-2);
            font-weight: var(--fw-semibold);
        }

        .portal-field input {
            padding-right: calc(var(--tap-min) + var(--s-2));
        }

        .portal-field input:focus {
            border-color: var(--color-black);
        }

        .portal-field input[aria-invalid="true"] {
            border-color: var(--color-maroon);
        }

    .portal-password {
        position: relative;
    }

        .portal-reveal {
            top: 50%;
            right: var(--s-1);
            width: var(--tap-min);
            height: var(--tap-min);
            display: grid;
            place-items: center;
            padding: 0;
            color: var(--color-gray);
            font-size: 1.375rem;
            border: 0;
            border-radius: var(--r-sm);
            background-color: transparent;
            transform: translateY(-50%);
            position: absolute;
        }

        .portal-reveal:hover {
            color: var(--color-black);
        }

        .portal-reveal:focus-visible {
            outline: var(--focus-ring);
        }

    .portal-submit {
        width: 100%;
    }

    .portal-help {
        margin: 0;
        color: var(--color-silver);
        font-size: var(--fs-sm);
        text-align: center;
    }


/*  Section: Team Portal Home
-------------------------------------------*/

    .portal-main > :first-child {
        margin-top: 0;
    }

    .portal-side {
        display: grid;
        gap: var(--s-6);
    }

        .portal-nav ul {
            margin: 0;
        }

            .portal-nav li + li {
                border-top: 1px solid var(--color-light-gray);
            }

            .portal-nav a,
            .portal-logout a {
                min-height: var(--tap-min);
                display: flex;
                align-items: center;
                gap: var(--s-3);
                padding-block: var(--s-2);
                color: var(--color-black);
                font-weight: var(--fw-semibold);
                text-decoration: none;
            }

            .portal-nav .ph,
            .portal-logout .ph {
                flex-shrink: 0;
                color: var(--color-maroon);
                font-size: 1.375rem;
            }

            .portal-nav a:hover span,
            .portal-logout a:hover span {
                text-decoration: underline;
                text-underline-offset: 3px;
            }

            .portal-nav a[aria-current="page"] {
                color: var(--color-maroon);
                font-weight: var(--fw-extrabold);
            }

                .portal-nav a[aria-current="page"]:hover span {
                    text-decoration: none;
                }

        .portal-side .gameday {
            grid-template-columns: minmax(0, 1fr);
            margin-bottom: 0;
            padding: var(--s-5);
        }

        .portal-side .gameday-opp {
            font-size: clamp(1.75rem, 1rem + 1.4vw, 2.5rem);
        }

    .portal-logout {
        margin: 0;
    }

        .portal-logout a {
            display: inline-flex;
        }

    .dash-top {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-3) var(--s-5);
        margin-bottom: var(--s-5);
    }

        .dash-welcome {
            margin: 0;
            font-size: var(--fs-lg);
            font-weight: var(--fw-semibold);
        }

        .dash-session {
            display: flex;
            align-items: center;
            gap: var(--s-4);
            margin: 0;
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    .dash-label {
        margin: 0 0 var(--s-3);
        color: var(--color-gray);
        font-size: 1.125rem;
    }

    .dash-lead {
        display: grid;
        grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
        gap: var(--s-5);
        margin-bottom: var(--s-6);
    }

    .dash-today,
    .dash-game,
    .dash-note,
    .dash-code,
    .dash-standard {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-3);
        padding: var(--s-6);
        border-radius: var(--r-md);
    }

    .dash-today {
        color: var(--color-white);
        background-color: var(--color-black);
    }

        .dash-today .dash-label,
        .dash-today .dash-plan-label {
            color: var(--color-silver);
        }

        .dash-today .link-action,
        .dash-standard .link-action {
            color: var(--color-white);
        }

        .dash-date {
            margin: 0;
            font-size: clamp(2rem, 1.5rem + 2vw, 3rem);
            line-height: 1;
        }

    .dash-game {
        background-color: var(--color-white);
    }

        .dash-game-opp {
            margin: 0;
            font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
            line-height: 1;
        }

            .dash-game-opp span {
                color: var(--color-maroon);
            }

        .dash-facts {
            display: grid;
            gap: var(--s-1);
            margin: 0;
        }

            .dash-facts li {
                display: flex;
                align-items: center;
                gap: var(--s-2);
            }

            .dash-facts .ph {
                color: var(--color-maroon);
                font-size: 1.25rem;
            }

        .dash-count {
            display: flex;
            gap: var(--s-4);
            margin: 0;
            color: var(--color-gray);
        }

            .dash-count strong {
                margin-right: var(--s-1);
                color: var(--color-black);
                font-size: 1.75rem;
            }

    .dash-plan {
        display: grid;
        gap: var(--s-1);
    }

        .dash-plan p {
            margin: 0;
            font-weight: var(--fw-semibold);
            white-space: nowrap;
        }

        .dash-plan.--big p {
            font-size: var(--fs-lg);
        }

        .dash-plan-label {
            margin-right: var(--s-2);
            color: var(--color-gray);
            font-size: 0.875rem;
        }

            .dash-plan.--big .dash-plan-label {
                font-size: 1rem;
            }

        .dash-plan-note {
            color: var(--color-gray);
            font-style: italic;
        }

    .dash-code {
        margin-block: var(--s-6);
        background-color: var(--color-white);
    }

        .dash-code-text {
            margin: 0;
        }

        .dash-code-box {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: var(--s-3);
            margin: 0;
        }

            .dash-code-box code {
                padding: var(--s-2) var(--s-4);
                color: var(--color-black);
                font-family: var(--ff-display);
                font-size: 1.75rem;
                font-weight: var(--fw-extrabold);
                border: 2px dashed var(--color-maroon);
                border-radius: var(--r-sm);
                background-color: var(--color-pale-gray);
            }

        .dash-code-status {
            min-height: 1.5em;
            margin: 0;
            color: var(--color-maroon);
            font-weight: var(--fw-semibold);
        }

    .dash-note {
        margin-bottom: var(--s-6);
        border: 2px solid var(--color-maroon);
        background-color: var(--color-white);
    }

        .dash-note p {
            margin: 0;
            font-size: var(--fs-lg);
        }

    .dash-week {
        margin-bottom: var(--s-6);
    }

        .dash-days {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: var(--s-2);
            margin: 0;
        }

        .dash-day {
            display: flex;
            flex-direction: column;
            gap: var(--s-2);
            padding: var(--s-3);
        }

        .dash-day.--closed {
            background-color: var(--color-light-gray);
        }

        .dash-day.--all,
        .dash-day.--game {
            color: var(--color-white);
            background-color: var(--color-maroon);
        }

        .dash-day.--game {
            background-color: var(--color-black);
        }

            .dash-day.--all .dash-plan-label,
            .dash-day.--game .dash-plan-label,
            .dash-day.--all .dash-plan-note,
            .dash-day.--game .dash-plan-note {
                color: color-mix(in srgb, var(--color-white) 75%, transparent);
            }

        .dash-day.is-today {
            outline: 2px solid var(--color-maroon);
        }

            .dash-day .dash-plan p {
                font-size: var(--fs-sm);
                white-space: normal;
            }

            .dash-day .dash-plan-label {
                display: block;
                font-size: 0.75rem;
            }

    .dash-sections {
        margin-bottom: var(--s-6);
    }

        .dash-tiles {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: var(--s-3);
            margin: 0;
        }

        .dash-tiles.--three {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .dash-tile {
            height: 100%;
            min-height: 4.5rem;
            display: flex;
            align-items: center;
            gap: var(--s-3);
            padding: var(--s-4);
            color: var(--color-black);
            font-size: 1.375rem;
            line-height: 1.05;
            text-decoration: none;
            transition: all ease 0.4s;
        }

        .dash-tile:hover span {
            text-decoration: underline;
        }

            .dash-tile .ph {
                flex-shrink: 0;
                color: var(--color-maroon);
                font-size: 1.75rem;
            }

    .dash-standard {
        color: var(--color-white);
        background-color: var(--color-maroon);
    }

        .dash-standard .dash-label {
            color: color-mix(in srgb, var(--color-white) 75%, transparent);
        }

        .dash-standard-text {
            margin: 0;
            font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
            line-height: 1.05;
        }

        .dash-standard-motto {
            margin: 0;
            font-family: var(--ff-display);
            font-size: var(--fs-lg);
        }

    .portal-rows {
        margin: 0 0 var(--s-6);
    }

        .portal-rows .portal-row-times {
            color: var(--color-white);
            font-weight: var(--fw-semibold);
        }

        .portal-body h2 {
            margin: var(--s-7) 0 var(--s-3);
            font-size: var(--fs-h3);
        }

        .portal-body h3 {
            margin: var(--s-6) 0 var(--s-2);
            font-size: var(--fs-h4);
        }

        .portal-body > :first-child {
            margin-top: 0;
        }

        .portal-body ul,
        .portal-body ol {
            margin: 0 0 var(--s-4);
            padding-left: 1.25em;
        }

            .portal-body li + li {
                margin-top: var(--s-1);
            }

        .portal-body a {
            color: var(--color-maroon);
            font-weight: var(--fw-semibold);
        }

    .portal-files {
        display: grid;
        gap: var(--s-3);
        margin: var(--s-6) 0 0;
    }

    .portal-file {
        display: flex;
        align-items: center;
        gap: var(--s-4);
        color: var(--color-black);
        text-decoration: none;
    }

    .portal-file:hover {
        background-color: var(--color-light-gray);
    }

        .portal-file > .ph {
            flex-shrink: 0;
            color: var(--color-maroon);
            font-size: 1.5rem;
        }

        .portal-file-text {
            display: flex;
            flex-direction: column;
        }

        .portal-file-title {
            font-weight: var(--fw-bold);
        }

        .portal-file-note {
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    .portal-empty {
        margin: 0;
        color: var(--color-gray);
        font-size: var(--fs-lg);
    }

        .site-header-portal a {
            white-space: nowrap;
        }

        .site-header-links > .site-header-portal > a:hover,
        .site-header-links > .site-header-portal > a[aria-current="page"] {
            text-decoration: none;
        }

            .site-header-portal a:hover span,
            .site-header-portal a[aria-current="page"] span {
                text-decoration: underline;
                text-decoration-thickness: 2px;
                text-underline-offset: 0.35em;
            }

        .site-header-portal .ph {
            margin-right: var(--s-2);
            font-size: 1.125em;
        }


/*  Section: Team Portal Practice Schedule
-------------------------------------------*/

    .practice-note {
        margin-bottom: var(--s-6);
        color: var(--color-gray);
    }

    .practice-week,
    .practice-month {
        margin-bottom: var(--s-7);
    }

        .practice-week-title,
        .practice-month-title {
            margin-bottom: var(--s-4);
            font-size: var(--fs-h4);
        }

    .practice-days {
        overflow: hidden;
        margin: 0;
    }

        .practice-head,
        .practice-day {
            display: grid;
            grid-template-columns: 22fr 34fr 34fr 10fr;
            align-items: center;
            gap: var(--s-4);
            padding: var(--s-3) var(--s-5);
        }

        .practice-head {
            color: var(--color-white);
            font-size: 1rem;
            background-color: var(--color-black);
        }

        .practice-day + .practice-day {
            border-top: 1px solid var(--color-light-gray);
        }

        .practice-day.is-today {
            background-color: var(--color-pale-gray);
        }

            .practice-date {
                white-space: nowrap;
            }

            .practice-time {
                font-weight: var(--fw-semibold);
                white-space: nowrap;
            }

            .practice-wide {
                grid-column: 2 / 4;
            }

            .practice-game {
                display: flex;
                align-items: center;
            }

            .practice-closed {
                color: var(--color-gray);
                font-style: italic;
            }

            .practice-bar {
                grid-column: 2 / -1;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: var(--s-3);
                padding: var(--s-2) var(--s-4);
                font-weight: var(--fw-semibold);
                text-align: center;
                border-radius: var(--r-sm);
                background-color: var(--color-light-gray);
            }

                .--all .practice-bar {
                    color: var(--color-white);
                    background-color: var(--color-maroon);
                }

                .--game .practice-bar {
                    color: var(--color-white);
                    background-color: var(--color-black);
                }

                    .practice-bar a {
                        display: inline-flex;
                        align-items: center;
                        gap: var(--s-2);
                        color: var(--color-white);
                        font-family: var(--ff-display);
                        font-size: 1.125rem;
                        font-weight: var(--fw-bold);
                        text-decoration: none;
                    }

                    .practice-bar a:hover {
                        text-decoration: underline;
                    }

                    .practice-bar-label {
                        color: var(--color-gold);
                        font-size: var(--fs-sm);
                    }

            .practice-label {

                display: none;
                color: var(--color-gray);
                font-family: var(--ff-display);
                font-size: 0.875rem;
                font-weight: var(--fw-bold);
                text-transform: uppercase;
            }

                .practice-label-inline {
                    display: inline;
                    margin-right: var(--s-2);
                }

            .practice-split {
                display: flex;
                flex-wrap: wrap;
                gap: var(--s-1) var(--s-4);
            }

            .practice-aside {
                color: var(--color-gray);
                font-size: var(--fs-sm);
                font-style: italic;
            }

            .practice-none {
                color: var(--color-mute-gray);
                font-weight: 400;
            }


/*  Section: Team Portal Page Layouts
-------------------------------------------*/

    .pl-block {
        margin-bottom: var(--s-7);
    }

        .portal-body .pl-title {
            margin: 0 0 var(--s-4);
        }

    .portal-body .pl-games,
    .portal-body .pl-grid,
    .portal-body .pl-strip,
    .portal-body .pl-flow,
    .portal-body .pl-index ul {
        padding: 0;
    }

        .portal-body .pl-games > li + li,
        .portal-body .pl-grid > li + li,
        .portal-body .pl-strip > li + li,
        .portal-body .pl-flow > li + li {
            margin-top: 0;
        }

    .pl-grid {
        display: grid;
        gap: var(--s-3);
        margin: 0;
    }

    .pl-grid.--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pl-grid.--two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pl-card {
        display: flex;
        flex-direction: column;
        gap: var(--s-2);
    }

    .pl-card.--center {
        align-items: flex-start;
        justify-content: flex-start;
    }

        .pl-card > .ph {
            color: var(--color-maroon);
            font-size: 2rem;
        }

        .pl-strong {
            font-size: 1.375rem;
            line-height: 1.1;
        }

        .portal-body .pl-card-title {
            display: flex;
            align-items: center;
            gap: var(--s-2);
            margin: 0;
            font-size: var(--fs-h4);
        }

            .pl-card-title .ph {
                color: var(--color-maroon);
                font-size: 1.5rem;
            }

        .portal-body .pl-list {
            margin: 0;
        }

    .pl-band {
        display: flex;
        flex-direction: column;
        gap: var(--s-2);
        padding: var(--s-7) var(--s-6);
        color: var(--color-white);
    }

        .portal-body .pl-band-title {
            margin: 0 0 var(--s-3);
            color: var(--color-silver);
            font-family: var(--ff-display);
            font-size: 1.125rem;
            text-transform: uppercase;
        }

        .pl-band-line {
            margin: 0;
            font-size: var(--fs-lg);
            font-weight: var(--fw-semibold);
        }

        .pl-band-close {
            margin: var(--s-4) 0 0;
            color: var(--color-gold);
            font-family: var(--ff-display);
            font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);
            line-height: 1.1;
            text-transform: uppercase;
        }

    .pl-index {
        margin-bottom: var(--s-6);
    }

        .pl-index ul {
            display: flex;
            flex-wrap: wrap;
            gap: var(--s-1) var(--s-4);
            margin: 0;
        }

        .portal-body .pl-index li + li {
            margin-top: 0;
        }

        .pl-index a {
            min-height: var(--tap-min);
            display: inline-flex;
            align-items: center;
            color: var(--color-maroon);
            text-decoration: none;
        }

        .pl-index a:hover {
            text-decoration: underline;
        }

    .pl-intro {
        margin-bottom: var(--s-5);
    }

    .pl-rule {
        margin-bottom: var(--s-4);
        scroll-margin-top: var(--header-h);
    }

        .pl-rule > :last-child {
            margin-bottom: 0;
        }

    .pl-strip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-2);
        margin: var(--s-2) 0 0;
    }

        .portal-body .pl-strip li {
            display: flex;
            flex-direction: column;
            gap: var(--s-1);
            margin: 0;
            padding: var(--s-3) var(--s-4);
            border-radius: var(--r-sm);
            background-color: var(--color-white);
        }

        .pl-cell-label {
            color: var(--color-maroon);
            font-size: var(--fs-sm);
        }

        .pl-cell-value {
            font-weight: var(--fw-semibold);
        }

    .pl-flow {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-3) var(--s-6);
        margin: var(--s-2) 0 0;
    }

        .portal-body .pl-flow li {
            display: flex;
            align-items: flex-start;
            gap: var(--s-3);
            margin: 0;
        }

            .pl-flow .ph {
                flex-shrink: 0;
                color: var(--color-maroon);
                font-size: 1.5rem;
            }

    .pl-games .practice-head,
    .pl-games .practice-day {
        grid-template-columns: 11rem minmax(0, 1fr) minmax(0, 1fr);
    }

        .pl-games .practice-time {
            white-space: normal;
        }


/*  Section: Team Portal Coach Contacts
-------------------------------------------*/

    .contact-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--s-3);
    }

    .contact-card:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .contact-card {
        display: grid;
        grid-template-columns: 7rem minmax(0, 1fr);
        align-items: start;
        gap: var(--s-4);
        padding: var(--s-4);
    }

        .contact-photo {
            width: 100%;
        }

        .contact-nophoto {
            height: 100%;
            display: grid;
            place-items: center;
            background-color: var(--color-charcoal);
        }

            .contact-nophoto img {
                width: 60%;
                height: auto;
            }

        .portal-body .contact-name {
            margin: 0;
            font-family: var(--ff-heading);
            font-size: var(--fs-h4);
        }

        .contact-role {
            margin: var(--s-1) 0 var(--s-3);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

        .portal-body .contact-actions {
            display: grid;
            gap: 0;
            margin: 0;
            padding: 0;
        }

            .portal-body .contact-actions li + li {
                margin-top: 0;
            }

            .portal-body .contact-actions a {
                min-height: var(--tap-min);
                display: inline-flex;
                align-items: center;
                gap: var(--s-2);
                overflow-wrap: anywhere;
                color: var(--color-maroon);
                font-weight: var(--fw-semibold);
                text-decoration: none;
            }

            .portal-body .contact-actions a:hover span {
                text-decoration: underline;
            }

                .contact-actions .ph {
                    flex-shrink: 0;
                    font-size: 1.25rem;
                }


/*  Section: Shop
-------------------------------------------*/

    /*
     *  Shop Header
     */
    .page-hero.--shop,
    .page-hero:has(.shop-hero-mark) {
        overflow: hidden;
    }

        .shop-hero-mark {
            top: 50%;
            right: -4%;
            z-index: 1;
            width: min(52rem, 70%);
            height: auto;
            opacity: 0.16;
            transform: translateY(-38%);
            pointer-events: none;
            position: absolute;
        }

    /*
     *  Coming Soon Band
     */
    .shop-soon {
        padding-block: var(--s-4);
        color: var(--color-white);
        background-color: var(--color-black);
    }

        .shop-soon-text {
            margin: 0;
            font-family: var(--ff-display);
            font-size: var(--fs-h3);
            font-weight: var(--fw-bold);
            line-height: 1.1;
        }

    /*
     *  Proceeds Goal
     */
    .shop-goal {
        color: var(--color-white);
        background-color: var(--color-maroon);
    }

        .shop-goal-inner {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            align-items: center;
            gap: var(--s-4) var(--s-7);
            padding-block: var(--s-5);
        }

        .shop-goal-text {
            margin: 0;
            font-family: var(--ff-display);
            font-size: 1.375rem;
            font-weight: var(--fw-bold);
            line-height: 1.2;
        }

        .shop-goal-bar {
            height: 0.875rem;
            overflow: hidden;
            border-radius: var(--r-pill);
            background-color: color-mix(in srgb, var(--color-white) 25%, transparent);
        }

            .shop-goal-bar span {
                height: 100%;
                display: block;
                border-radius: var(--r-pill);
                background-color: var(--color-white);
            }

        .shop-goal-line {
            margin: var(--s-2) 0 0;
            font-weight: var(--fw-semibold);
        }

    /*
     *  Store Layout
     */
    .shop-layout {
        display: grid;
        grid-template-columns: 15rem minmax(0, 1fr);
        align-items: start;
        gap: var(--s-7);
    }

    .shop-filter-head,
    .shop-filter-open {
        display: none;
    }

        .shop-toolbar .shop-filter-open {
            align-items: center;
            gap: var(--s-2);
            padding: 0 var(--s-4);
            color: var(--color-maroon);
            font-family: var(--ff-display);
            font-size: 1.0625rem;
            font-weight: var(--fw-bold);
            text-decoration: none;
            border: var(--control-border) solid var(--color-mute-gray);
            border-radius: var(--control-radius);
            background-color: var(--color-white);
            transition: all ease 0.4s;
        }

        .shop-toolbar .shop-filter-open:hover {
            border-color: var(--color-black);
        }

    .shop-facet {
        min-width: 0;
        margin: 0 0 var(--s-5);
        padding: 0 0 var(--s-5);
        border: 0;
        border-bottom: 1px solid var(--color-silver);
    }

        .shop-facet-title {
            margin-bottom: var(--s-3);
            padding: 0;
            color: var(--color-black);
            font-size: 1.25rem;
            line-height: 1.1;
        }

        .shop-facet-list {
            display: grid;
            gap: var(--s-1);
            margin: 0;
            padding: 0;
        }

        .shop-facet.--size .shop-facet-list {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            column-gap: var(--s-5);
        }

            .shop-facet.--size .shop-facet-list li:last-child:nth-child(odd) {
                grid-column: 1 / -1;
            }

    .shop-choice {
        min-height: var(--tap-min);
        display: flex;
        align-items: center;
        gap: var(--s-2);
        color: var(--color-black);
        font-size: 1rem;
        cursor: pointer;
    }

        .shop-choice input {
            width: 1.5rem;
            height: 1.5rem;
            flex-shrink: 0;
            margin: 0;
            accent-color: var(--color-maroon);
        }

        .shop-choice-name {
            flex-grow: 1;
        }

        .shop-choice-count {
            color: var(--color-mute-gray);
            font-size: var(--fs-sm);
        }

        .shop-choice:hover .shop-choice-name {
            text-decoration: underline;
            text-underline-offset: 0.2em;
        }

    .shop-swatch {
        width: 1.25rem;
        height: 1.25rem;
        flex-shrink: 0;
        border: 1px solid var(--color-silver);
        border-radius: var(--r-pill);
        background: var(--swatch);
    }

    .shop-filter-foot {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--s-3);
    }

        .shop-filter-foot .btn-cta {
            width: 100%;
        }

    .shop-clear {
        color: var(--color-maroon);
        font-weight: var(--fw-semibold);
        text-underline-offset: 0.2em;
    }

    .shop-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-3) var(--s-5);
        margin-bottom: var(--s-6);
        padding-bottom: var(--s-4);
        border-bottom: 1px solid var(--color-silver);
    }

        .shop-total {
            margin: 0;
            color: var(--color-gray);
            font-weight: var(--fw-semibold);
        }

    .shop-sort {
        display: flex;
        align-items: center;
        gap: var(--s-3);
    }

        .shop .shop-sort select {
            width: auto;
            min-height: var(--control-h-sm);
            padding-block: 0;
        }

    .shop-none {
        margin: 0;
    }

    /*
     *  Category Sections
     */
    .shop-category + .shop-category {
        margin-top: var(--s-8);
    }

    .shop-category .section-head {
        margin-bottom: var(--s-5);
    }

        .shop-category .section-title {
            margin-bottom: 0;
            color: var(--color-maroon);
            font-size: var(--fs-h3);
        }

        .shop-category .section-title a {
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            color: inherit;
            text-decoration: none;
        }

        .shop-category .section-title a:hover {
            text-decoration: underline;
            text-underline-offset: 0.15em;
        }

    /*
     *  Product Grid
     */
    .shop-grid,
    .shop ul.products {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--s-6) var(--s-5);
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .product-card {
        min-width: 0;
        display: flex;
        flex-direction: column;
        padding: var(--s-4);
        transition: all ease 0.4s;
    }

    .product-card:hover {
        box-shadow: var(--shadow-card-hover);
        transform: translateY(-2px);
    }

        .product-card-link {
            width: 100%;
            display: flex;
            flex-direction: column;
            gap: var(--s-3);
            color: var(--color-black);
            text-decoration: none;
        }

            .section-ink .product-card-link {
                color: var(--color-white);
            }

        .product-card-media {
            aspect-ratio: 1;
            display: block;
            overflow: hidden;
            border-radius: var(--r-md);
            background-color: var(--color-white);
            position: relative;
        }

            .product-card-media img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                transition: all ease 0.4s;
            }

            .product-card-tag {
                top: var(--s-3);
                left: var(--s-3);
                z-index: 1;
                position: absolute;
            }

            .product-card-back {
                inset: 0;
                opacity: 0;
                position: absolute;
            }

            .product-card-link:hover .product-card-back,
            .product-card-link:focus-visible .product-card-back {
                opacity: 1;
            }

        .product-card-body {
            display: flex;
            flex-direction: column;
            gap: var(--s-1);
        }

        .product-card-name {
            font-family: var(--ff-display);
            font-size: 1.3125rem;
            font-weight: var(--fw-bold);
            line-height: 1.15;
        }

            .product-card-link:hover .product-card-name {
                text-decoration: underline;
                text-decoration-thickness: 2px;
                text-underline-offset: 0.2em;
            }

        .product-card-colours {
            display: flex;
            flex-wrap: wrap;
            gap: var(--s-1);
            margin-top: var(--s-2);
        }

            .product-card-colour {
                min-width: 2.75rem;
                min-height: 2.75rem;
                margin: -0.375rem;
                border-radius: var(--r-pill);
                background: none;
                cursor: pointer;
            }

            .product-card-colour:hover .shop-swatch,
            .product-card-colour[aria-pressed="true"] .shop-swatch {
                outline: 2px solid var(--color-black);
                outline-offset: 2px;
            }

            .product-card-colour:focus-visible {
                outline: var(--focus-ring);
                outline-offset: 1px;
            }

            .product-card-colours .shop-swatch {
                width: 1rem;
                height: 1rem;
            }

        .product-card-note {
            color: var(--color-gray);
            font-size: var(--fs-sm);
            font-weight: var(--fw-semibold);
        }

        .product-card-price {
            color: var(--color-maroon);
            font-family: var(--ff-display);
            font-size: 1.25rem;
            font-weight: var(--fw-bold);
        }

            .section-ink .product-card-price {
                color: var(--color-gold);
            }

        .product-card-link:focus-visible {
            outline: var(--focus-ring);
            outline-offset: 4px;
        }

    /*
     *  Product Page
     */
    .shop-product {
        padding-top: var(--s-7);
    }

        .shop-product div.product {
            display: grid;
            grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
            gap: var(--s-7) var(--s-8);
        }

            .shop-product .related,
            .shop-product .product-description {
                grid-column: 1 / -1;
            }

    .product-gallery {
        min-width: 0;
    }

        .product-gallery-list[hidden] {
            display: none;
        }

        .product-gallery-stage {
            display: flex;
            overflow-x: auto;
            margin: 0;
            border-radius: var(--r-md);
            background-color: var(--color-white);
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            overscroll-behavior-x: contain;
        }

        .product-gallery-stage::-webkit-scrollbar {
            display: none;
        }

            .product-gallery-item {
                aspect-ratio: 1;
                flex: 0 0 100%;
                scroll-snap-align: start;
            }

            .product-gallery-open {
                width: 100%;
                height: 100%;
                display: block;
                padding: 0;
                border: 0;
                background: none;
                cursor: zoom-in;
            }

            .product-gallery-open:focus-visible {
                outline: var(--focus-ring);
                outline-offset: -4px;
            }

                .product-gallery-open img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }

        .product-gallery-nav {
            display: flex;
            align-items: center;
            gap: var(--s-2);
            margin-top: var(--s-3);
        }

        .product-gallery-thumbs {
            min-width: 0;
            display: grid;
            flex: 1 1 auto;
            grid-template-columns: repeat(var(--thumb-cols), minmax(0, 1fr));
            gap: var(--s-2);
            padding: 3px;
            --thumb-cols: 6;
            --thumb-min: 5;
            --thumb-max: 7;
        }

            .product-gallery-thumb {
                width: 100%;
                aspect-ratio: 1;
                overflow: hidden;
                padding: 0;
                border: 1px solid var(--color-light-gray);
                border-radius: var(--r-sm);
                background-color: var(--color-white);
                transition: all ease 0.4s;
                cursor: pointer;
            }

            .product-gallery-thumb[hidden] {
                display: none;
            }

            .product-gallery-thumb:hover {
                border-color: var(--color-mute-gray);
            }

            .product-gallery-thumb[aria-current="true"] {
                border-color: var(--color-black);
                box-shadow: 0 0 0 1px var(--color-black);
            }

                .product-gallery-thumb img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }

        .product-gallery-step {
            width: var(--tap-min);
            height: var(--tap-min);
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            color: var(--color-black);
            font-size: 1.25rem;
            border: 1px solid var(--color-black);
            border-radius: var(--r-pill);
            background-color: var(--color-white);
            transition: all ease 0.4s;
            cursor: pointer;
        }

        .product-gallery-step:hover {
            color: var(--color-white);
            background-color: var(--color-black);
        }

        .product-gallery-step:disabled {
            opacity: 0.35;
            cursor: default;
        }

        .product-gallery-step:disabled:hover {
            color: var(--color-black);
            background-color: var(--color-white);
        }

        .product-gallery-step[hidden] {
            display: none;
        }

    .shop-product .summary {
        align-self: start;
    }

        .shop-product .summary .price {
            margin-bottom: var(--s-5);
            color: var(--color-maroon);
            font-family: var(--ff-display);
            font-size: var(--fs-score);
            font-weight: var(--fw-extrabold);
            line-height: 1;
        }

    .shop-product table.variations {
        width: 100%;
        margin-bottom: var(--s-4);
        border-collapse: collapse;
    }

        .shop-product table.variations tr {
            display: flex;
            flex-direction: column;
            gap: var(--s-2);
            margin-bottom: var(--s-4);
        }

        .shop-product table.variations tr:has(.wb-one-option) {
            display: none;
        }

        .shop-product table.variations th,
        .shop-product table.variations td {
            display: block;
            padding: 0;
            text-align: left;
        }

        .shop-product table.variations label {
            font-size: var(--fs-base);
        }

        .shop-product .reset_variations {
            min-width: 44px;
            min-height: 44px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-top: var(--s-2);
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    .shop-product .single_variation {
        margin-bottom: var(--s-4);
        font-weight: var(--fw-semibold);
    }

        .shop-product .single_variation .price {
            margin-bottom: var(--s-2);
            font-size: var(--fs-h4);
        }

        .shop-product .out-of-stock {
            color: var(--color-maroon);
        }

    .product-details {
        margin-top: var(--s-6);
        border-top: 1px solid var(--color-light-gray);
    }

        .product-details-title {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: var(--s-3);
            padding: var(--s-3) 0;
            font-size: var(--fs-base);
            list-style: none;
            cursor: pointer;
        }

        .product-details-title::-webkit-details-marker {
            display: none;
        }

        .product-details-title .ph {
            transition: all ease 0.4s;
        }

        .product-details[open] .product-details-title .ph {
            transform: rotate(180deg);
        }

        .product-details-list {
            margin: 0 0 var(--s-4);
            padding-left: 1.25rem;
            color: var(--color-gray);
        }

            .product-details-list li + li {
                margin-top: var(--s-1);
            }

    /*
     *  Product Shipping (A Second Row Under Details)
     */
    .product-details + .product-details {
        margin-top: 0;
    }

    .product-shipping {
        border-bottom: 1px solid var(--color-light-gray);
    }

        .product-shipping-list {
            display: grid;
            grid-template-columns: minmax(7rem, max-content) minmax(0, 1fr);
            column-gap: var(--s-4);
            row-gap: var(--s-2);
            margin: 0 0 var(--s-4);
        }

            .product-shipping-row {
                display: contents;
            }

                .product-shipping-row dt {
                    font-weight: var(--fw-semibold);
                }

                .product-shipping-row dd {
                    margin: 0;
                    color: var(--color-gray);
                }

        .product-shipping-apart {
            display: flex;
            align-items: flex-start;
            gap: var(--s-2);
            margin: 0 0 var(--s-4);
            color: var(--color-maroon);
            font-weight: var(--fw-semibold);
        }

            .product-shipping-apart .ph {
                margin-top: 0.2em;
            }

        .product-shipping-more {
            margin: 0 0 var(--s-4);
        }

    /*
     *  Personalize
     */
    .pz {
        margin: 0 0 var(--s-5);
        padding-top: var(--s-4);
        border-top: 1px solid var(--color-light-gray);
    }

        .pz-title {
            margin: 0 0 var(--s-2);
            font-size: var(--fs-base);
        }

            .pz-fee {
                color: var(--color-maroon);
            }

        .pz-toggle {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            gap: var(--s-3);
            font-weight: var(--fw-semibold);
            cursor: pointer;
        }

        .pz-body[hidden] {
            display: none;
        }

        .pz-fields {
            display: grid;
            grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
            gap: var(--s-3);
            margin-top: var(--s-3);
        }

            .pz-field {
                display: flex;
                flex-direction: column;
                gap: var(--s-1);
                margin: 0;
            }

                .pz-field label {
                    font-family: var(--ff-display);
                    font-size: 1.0625rem;
                    font-weight: var(--fw-bold);
                }

                    .pz-field label span {
                        color: var(--color-gray);
                        font-family: var(--ff-body);
                        font-size: var(--fs-sm);
                        font-weight: 400;
                    }

                .shop .pz-field .input-text {
                    font-size: 1.375rem;
                }

        .pz-error {
            margin: var(--s-2) 0 0;
            color: var(--color-maroon);
            font-weight: var(--fw-semibold);
        }

        .pz-error[hidden] {
            display: none;
        }

        .pz-preview {
            max-width: 22rem;
            margin: var(--s-4) 0 0;
            border-radius: var(--r-md);
            background-color: var(--color-white);
            position: relative;
        }

            .pz-preview img {
                width: 100%;
                height: auto;
                display: block;
            }

            .pz-preview svg {
                inset: 0;
                width: 100%;
                height: 100%;
                position: absolute;
            }

                .pz-preview-name,
                .pz-preview-number {
                    font-family: var(--ff-display);
                    font-weight: var(--fw-extrabold);
                }

                .pz-preview-name {
                    font-size: 92px;
                }

                .pz-preview-number {
                    font-size: 330px;
                }

        .pz-note {
            margin: var(--s-3) 0 0;
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

    /*
     *  Gift Message (Cart Drawer And Checkout)
     */
    .gift {
        margin: 0;
    }

        .gift[hidden],
        .gift-body[hidden],
        .gift-error[hidden],
        .gift-note[hidden] {
            display: none;
        }

        .woocommerce-checkout .gift {
            margin: var(--s-5) 0;
            padding-top: var(--s-4);
            border-top: 1px solid var(--color-light-gray);
        }

        .gift-toggle {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            gap: var(--s-3);
            font-weight: var(--fw-semibold);
            cursor: pointer;
        }

            .gift-fee {
                color: var(--color-maroon);
            }

        .gift-body {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: var(--s-2);
        }

            .gift-text {
                width: 100%;
                resize: vertical;
            }

            .gift-hint {
                width: 100%;
                display: flex;
                justify-content: space-between;
                gap: var(--s-3);
                margin: 0;
                color: var(--color-gray);
                font-size: var(--fs-sm);
            }

                .gift-count {
                    white-space: nowrap;
                }

            .gift-error {
                margin: 0;
                color: var(--color-maroon);
                font-weight: var(--fw-semibold);
            }

            .gift-note {
                margin: 0;
                color: var(--color-gray);
                font-size: var(--fs-sm);
            }

    .quality-switch {
        margin: 0 0 var(--s-5);
    }

        .quality-switch-label {
            margin: 0 0 var(--s-2);
            font-size: var(--fs-base);
        }

        .quality-switch-options {
            display: grid;
            grid-auto-columns: minmax(0, 1fr);
            grid-auto-flow: column;
            gap: var(--s-2);
        }

            .quality-option {
                min-height: var(--control-h);
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 2px;
                padding: var(--s-2) var(--s-3);
                color: var(--color-black);
                text-align: center;
                text-decoration: none;
                border: var(--control-border) solid var(--color-mute-gray);
                border-radius: var(--control-radius);
                background-color: var(--color-white);
                transition: all ease 0.4s;
            }

            .quality-option:hover {
                color: var(--color-black);
                border-color: var(--color-black);
            }

            .quality-option[aria-current="page"] {
                color: var(--color-white);
                border-color: var(--color-maroon);
                background-color: var(--color-maroon);
            }

                .quality-option[aria-current="page"] .quality-option-price,
                .quality-option[aria-current="page"] .quality-option-note {
                    color: var(--color-white);
                }

                .quality-option-name {
                    font-size: 1.125rem;
                    line-height: 1.1;
                }

                .quality-option-price {
                    color: var(--color-gray);
                    font-size: var(--fs-sm);
                }

                .quality-option-note {
                    color: var(--color-gray);
                    font-size: 0.8125rem;
                    line-height: 1.2;
                }

    .product-swatches {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--s-2);
    }

        .product-swatch {
            min-width: var(--tap-min);
            min-height: var(--tap-min);
            border-radius: var(--r-pill);
            background: none;
            cursor: pointer;
        }

            .product-swatch .shop-swatch {
                width: 2rem;
                height: 2rem;
            }

        .product-swatch:hover .shop-swatch,
        .product-swatch[aria-pressed="true"] .shop-swatch {
            outline: 2px solid var(--color-black);
            outline-offset: 2px;
        }

        .product-swatch-name {
            width: 100%;
            color: var(--color-gray);
            font-weight: var(--fw-semibold);
        }

    .shop-product .has-swatches select {
        width: 1px;
        height: 1px;
        overflow: hidden;
        margin: -1px;
        padding: 0;
        border: 0;
        clip-path: inset(50%);
        position: absolute;
    }

    .shop-product form.cart {
        display: flex;
        flex-wrap: wrap;
        gap: var(--s-3);
    }

        .shop-product form.cart.variations_form {
            display: block;
        }

        .shop-product .woocommerce-variation-add-to-cart {
            display: flex;
            flex-wrap: wrap;
            gap: var(--s-3);
        }

    .shop .related ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .shop-closed {
        width: 100%;
        --bs-btn-disabled-color: var(--color-white);
        --bs-btn-disabled-bg: var(--color-maroon);
        --bs-btn-disabled-border-color: var(--color-maroon);
        --bs-btn-disabled-opacity: 0.7;
    }

    .shop-product .related > h2 {
        margin-bottom: var(--s-6);
        font-size: var(--fs-h3);
    }

    /*
     *  Controls
     */
    .shop select,
    .shop .input-text,
    .woocommerce .input-text,
    .woocommerce select,
    .cart-drawer select {
        width: 100%;
        min-height: var(--control-h);
        padding: var(--s-3) var(--s-4);
        color: var(--color-black);
        font-size: max(16px, 1.0625rem);
        border: var(--control-border) solid var(--color-mute-gray);
        border-radius: var(--control-radius);
        background-color: var(--color-white);
        transition: all ease 0.4s;
    }

    .shop select,
    .woocommerce select,
    .cart-drawer select {
        padding-right: 2.75rem;
        background: var(--color-white) url("../img/caret-down.svg") right var(--s-4) center / 1rem no-repeat;
        appearance: none;
        -webkit-appearance: none;
        cursor: pointer;
    }

    .shop .quantity .qty,
    .woocommerce .quantity .qty {
        width: 5.5rem;
        text-align: center;
    }

    .shop select:hover,
    .shop .input-text:hover,
    .woocommerce .input-text:hover,
    .woocommerce select:hover,
    .cart-drawer select:hover {
        border-color: var(--color-black);
    }

    .shop select:focus,
    .shop .input-text:focus,
    .woocommerce .input-text:focus,
    .woocommerce select:focus,
    .cart-drawer select:focus {
        border-color: var(--color-black);
    }

    .shop .single_add_to_cart_button {
        flex: 1 1 14rem;
    }

    /*
     *  Notices
     */
    .woocommerce-notices-wrapper:empty {
        display: none;
    }

    .woocommerce-message,
    .woocommerce-info,
    .woocommerce-error {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-3) var(--s-5);
        margin: 0 0 var(--s-5);
        padding: var(--s-4) var(--s-5);
        color: var(--color-black);
        font-weight: var(--fw-semibold);
        list-style: none;
    }

    .woocommerce-error {
        color: var(--color-white);
        background-color: var(--color-maroon);
    }

        .woocommerce-message .link-action,
        .woocommerce-info .link-action {
            min-height: var(--tap-min);
            order: 2;
        }

        .woocommerce-error a {
            color: var(--color-white);
        }

    /*
     *  Cart And Checkout
     */
    .shop-page {
        padding-top: var(--s-7);
    }

    .woocommerce table.shop_table {
        width: 100%;
        margin-bottom: var(--s-6);
        border-collapse: collapse;
    }

        .woocommerce table.shop_table th {
            padding: var(--s-3);
            color: var(--color-gray);
            font-size: 1.0625rem;
            text-align: left;
            border-bottom: 2px solid var(--color-black);
        }

        .woocommerce table.shop_table td {
            padding: var(--s-4) var(--s-3);
            vertical-align: middle;
            border-bottom: 1px solid var(--color-light-gray);
        }

        .woocommerce table.shop_table .product-thumbnail img {
            width: 5.5rem;
            height: auto;
            border-radius: var(--r-sm);
        }

        .woocommerce table.shop_table .product-name a {
            color: var(--color-black);
            font-size: 1.25rem;
        }

        .woocommerce table.shop_table .variation {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 0 var(--s-2);
            margin: var(--s-1) 0 0;
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

            .woocommerce table.shop_table .variation p {
                margin: 0;
            }

        .woocommerce a.remove {
            width: var(--tap-min);
            height: var(--tap-min);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--color-maroon);
            font-size: 1.75rem;
            text-decoration: none;
        }

        .woocommerce table.shop_table .actions .coupon {
            display: flex;
            flex-wrap: wrap;
            gap: var(--s-3);
            margin-bottom: var(--s-3);
        }

            .woocommerce table.shop_table .actions .coupon .input-text {
                width: auto;
                flex: 1 1 12rem;
            }

    /*
     *  Totals: One Hairline Between Rows, Labels Left, Amounts Right, Total Bold Over A Heavier Rule
     */
    .woocommerce .cart_totals table.shop_table th,
    .woocommerce table.woocommerce-checkout-review-order-table tfoot th {
        width: 40%;
        padding: var(--s-4) var(--s-3) var(--s-4) 0;
        color: var(--color-black);
        font-family: var(--ff-body);
        font-size: 1rem;
        font-weight: var(--fw-semibold);
        text-transform: none;
        vertical-align: top;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .woocommerce .cart_totals table.shop_table td,
    .woocommerce table.woocommerce-checkout-review-order-table tfoot td,
    .woocommerce table.woocommerce-checkout-review-order-table .product-total {
        padding-right: 0;
        text-align: right;
        vertical-align: top;
    }

    .woocommerce table.woocommerce-checkout-review-order-table th:first-child,
    .woocommerce table.woocommerce-checkout-review-order-table td:first-child {
        padding-left: 0;
    }

    .woocommerce tr.shipping-note td {
        padding: var(--s-3) 0 0;
        color: var(--color-gray);
        font-size: var(--fs-sm);
        text-align: left;
        border-bottom: 0;
    }

        .woocommerce tr.shipping-note a {
            color: var(--color-maroon);
            text-underline-offset: 0.2em;
        }

    .woocommerce .woocommerce-shipping-totals td {
        text-align: left;
    }

    .woocommerce .cart_totals .order-total th,
    .woocommerce .cart_totals .order-total td,
    .woocommerce table.woocommerce-checkout-review-order-table .order-total th,
    .woocommerce table.woocommerce-checkout-review-order-table .order-total td {
        font-size: 1.125rem;
        font-weight: var(--fw-bold);
        border-top: 2px solid var(--color-black);
    }

    .woocommerce .woocommerce-shipping-methods {
        margin: calc(-1 * var(--s-3)) 0 0;
        padding: 0;
        list-style: none;
    }

        .woocommerce .woocommerce-shipping-methods li {
            min-height: var(--tap-min);
            display: flex;
            align-items: center;
            gap: var(--s-3);
        }

        .woocommerce .woocommerce-shipping-methods label {
            min-height: var(--tap-min);
            display: flex;
            flex: 1 1 auto;
            align-items: center;
            justify-content: space-between;
            gap: var(--s-3);
            cursor: pointer;
        }

        .woocommerce .shipping-name {
            text-align: left;
        }

        .woocommerce .shipping-price {
            font-weight: var(--fw-semibold);
            white-space: nowrap;
        }

    .woocommerce .woocommerce-shipping-destination {
        margin: var(--s-2) 0 0;
        color: var(--color-gray);
        font-size: var(--fs-sm);
        text-align: left;
    }

        .woocommerce .woocommerce-shipping-destination strong {
            color: var(--color-black);
        }

    .woocommerce .shipping-calculator-button {
        display: inline-block;
        margin-top: var(--s-1);
        font-size: var(--fs-sm);
    }

    .woocommerce .cart-collaterals {
        display: flex;
        justify-content: flex-end;
    }

        .woocommerce .cart_totals {
            width: min(100%, 30rem);
        }

        .woocommerce .wc-proceed-to-checkout .btn {
            width: 100%;
        }

    .woocommerce form.checkout {
        display: grid;
        grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
        grid-template-rows: auto 1fr;
        gap: var(--s-5) var(--s-8);
    }

        .woocommerce form.checkout > .woocommerce-NoticeGroup {
            grid-column: 1 / -1;
        }

        .woocommerce form.checkout #customer_details {
            grid-row: span 2;
        }

        .woocommerce .form-row {
            display: flex;
            flex-direction: column;
            gap: var(--s-2);
            margin: 0 0 var(--s-4);
        }

            .woocommerce .form-row label {
                font-family: var(--ff-display);
                font-size: var(--fs-base);
                font-weight: var(--fw-bold);
            }

            .woocommerce .form-row .required {
                color: var(--color-maroon);
                text-decoration: none;
            }

            .woocommerce .form-row.woocommerce-invalid .input-text {
                border-color: var(--color-maroon);
            }

        .woocommerce #order_review_heading,
        .woocommerce .woocommerce-billing-fields h3,
        .woocommerce .woocommerce-additional-fields h3,
        .woocommerce .cart_totals h2 {
            margin-bottom: var(--s-4);
            font-size: var(--fs-h4);
        }

        .woocommerce #ship-to-different-address {
            margin: var(--s-5) 0 var(--s-4);
            font-size: var(--fs-h4);
        }

            .woocommerce #ship-to-different-address label {
                display: flex;
                align-items: center;
                gap: var(--s-3);
                cursor: pointer;
            }

        .woocommerce input[type="checkbox"],
        .woocommerce input[type="radio"],
        .gift-toggle input {
            width: 1.375rem;
            height: 1.375rem;
            flex-shrink: 0;
            accent-color: var(--color-maroon);
        }

        .woocommerce #payment .payment_methods {
            margin: 0 0 var(--s-4);
            padding: 0;
            list-style: none;
        }

        .woocommerce #payment .place-order .btn {
            width: 100%;
        }

    /*
     *  Shipping Chart
     */
    .shop-shipping-table {
        max-width: 48rem;
        overflow-x: auto;
    }

        .shop-shipping-table table {
            width: 100%;
            border-collapse: collapse;
        }

        .shop-shipping-table th,
        .shop-shipping-table td {
            padding: var(--s-3) var(--s-3) var(--s-3) 0;
            text-align: left;
            vertical-align: top;
            border-bottom: 1px solid var(--color-silver);
        }

        .shop-shipping-table thead th {
            color: var(--color-gray);
            font-size: 1.0625rem;
            border-bottom: 2px solid var(--color-black);
        }

        .shop-shipping-table tbody th {
            font-weight: var(--fw-semibold);
        }

        .shop-shipping-table td {
            white-space: nowrap;
        }

    .shop-shipping-note {
        margin: var(--s-4) 0 0;
        color: var(--color-gray);
        font-size: var(--fs-sm);
    }

    .cart-drawer-note a {
        color: var(--color-maroon);
        text-underline-offset: 0.2em;
    }


/*  Section: Sports Showcase (unlisted home-page designs for other Windham teams)
-------------------------------------------*/

    /*
     *  The List
     */
    .sx-list {
        padding-block: var(--section-y);
    }

        .sx-list-title {
            margin-bottom: var(--s-5);
            font-size: var(--fs-h2);
        }

    .sx-list-items {
        display: grid;
        gap: var(--s-2);
    }

    /*
     *  Header: the ticker and the header stick as one block; the eagle beside the lockup
     */
    .sx-top {
        top: calc(-1 * var(--ticker-h));
        z-index: 1030;
        position: sticky;
    }

        .sx-top .site-header {
            position: relative;
        }

    .sx-logo-mark {
        width: 4.5rem;
        flex-shrink: 0;
    }

        .sx-logo-mark svg {
            width: 100%;
            height: auto;
            display: block;
        }

    /*
     *  Shared Words (each team page is one hero, so it fills the screen under the header)
     */
    .sx-hero {
        isolation: isolate;
        overflow: hidden;
        position: relative;
    }

    .sx-hero .sx-copy {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-block: var(--s-9);
    }

        .sx-label {
            margin-bottom: var(--s-3);
            color: var(--color-gray);
            font-family: var(--ff-heading);
            font-size: var(--fs-lg);
            font-weight: var(--fw-bold);
            line-height: var(--lh-snug);
            text-transform: uppercase;
        }

        .sx-title {
            margin-bottom: var(--s-6);
            color: var(--color-black);
            font-family: var(--ff-display);
            font-size: clamp(3rem, 1rem + 4.2vw, 5rem);
            font-weight: var(--fw-extrabold);
            line-height: 0.95;
            text-transform: uppercase;
        }

        .sx-line {
            margin-top: calc(-1 * var(--s-3));
            margin-bottom: var(--s-6);
            color: var(--color-gray);
            font-size: var(--fs-lg);
        }

        .sx-copy .btn-row {
            width: 100%;
        }

    /*
     *  Baseball: Split (words on white beside a tall photo; the words get the room their title needs on one line)
     */
    .sx-split {
        min-height: max(min(47.5rem, max(34rem, 72vh)), calc(100svh - var(--ticker-h) - var(--header-h)));
        display: grid;
        grid-template-columns: minmax(0, 8fr) minmax(0, 3fr);
        background-color: var(--color-white);
    }

    .sx-split .sx-copy {
        justify-content: center;
        padding-inline: var(--s-6);
    }

    .sx-split-photo {
        position: relative;
    }

        .sx-split-photo img {
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 60% 25%;
            display: block;
            position: absolute;
        }

    /*
     *  Football: Stack (words centred on charcoal above a wide photo that fades into it)
     */
    .sx-stack {
        min-height: max(min(52rem, max(38rem, 80vh)), calc(100svh - var(--ticker-h) - var(--header-h)));
        display: flex;
        flex-direction: column;
        background-color: var(--color-charcoal);
    }

    .sx-stack .sx-copy {
        align-items: center;
        padding-block: var(--s-9) var(--s-6);
        text-align: center;
    }

        .sx-stack .sx-label,
        .sx-stack .sx-line {
            color: var(--color-silver);
        }

        .sx-stack .sx-title {
            color: var(--color-white);
            font-size: clamp(3rem, 1rem + 4.6vw, 5.5rem);
        }

        .sx-stack .btn-row {
            margin-inline: auto;
        }

        .sx-stack .btn-secondary {
            --bs-btn-bg: transparent;
            --bs-btn-border-color: var(--color-white);
            --bs-btn-hover-border-color: var(--color-white);
            --bs-btn-active-border-color: var(--color-white);
        }

    .sx-stack-photo {
        min-height: 40vh;
        flex-grow: 1;
        margin-top: -10rem;
        position: relative;
    }

        .sx-stack-photo img {
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 50% 100%;
            display: block;
            mask-image: linear-gradient(180deg, transparent 0%, var(--color-black) 40%);
            position: absolute;
        }

    /*
     *  Soccer: Panel (a white panel floating over a full-bleed photo, wide enough for its title on one line)
     */
    .sx-panel {
        min-height: max(min(47.5rem, max(34rem, 72vh)), calc(100svh - var(--ticker-h) - var(--header-h)));
        display: flex;
        align-items: center;
        background-color: var(--color-charcoal);
    }

    .sx-panel-photo {
        inset: 0;
        z-index: -1;
        position: absolute;
    }

        .sx-panel-photo img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: 75% 50%;
            display: block;
        }

    .sx-panel .sx-copy {
        width: 71%;
        padding: var(--s-7) var(--s-6);
        background-color: var(--color-white);
    }

    .sx-panel-inner {
        padding-block: var(--s-8);
    }


/*  Popup: Photo Lightbox
-------------------------------------------*/

    .photo-lightbox {
        inset: 0;
        z-index: 1080;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        background-color: var(--color-black);
        position: fixed;
    }

    .photo-lightbox[hidden] {
        display: none;
    }

    .photo-lightbox-open {
        overflow: hidden;
    }

        .photo-lightbox-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: var(--s-2) var(--s-3) var(--s-2) var(--s-5);
            color: var(--color-white);
        }

            .photo-lightbox-count {
                margin: 0;
                font-family: var(--ff-display);
                font-size: 1.125rem;
                font-weight: var(--fw-bold);
            }

        .photo-lightbox-button {
            width: var(--tap-min);
            height: var(--tap-min);
            color: var(--color-white);
            font-size: 1.5rem;
            border-radius: var(--r-pill);
            background-color: color-mix(in srgb, var(--color-white) 12%, transparent);
            transition: all ease 0.4s;
        }

        .photo-lightbox-button:hover {
            background-color: color-mix(in srgb, var(--color-white) 24%, transparent);
        }

        .photo-lightbox-button:focus-visible {
            outline: 3px solid var(--color-white);
            outline-offset: 2px;
        }

        .photo-lightbox-prev,
        .photo-lightbox-next {
            top: 50%;
            transform: translateY(-50%);
            position: absolute;
        }

        .photo-lightbox-prev {
            left: var(--s-4);
        }

        .photo-lightbox-next {
            right: var(--s-4);
        }

        .photo-lightbox-view {
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            touch-action: none;
        }

            .photo-lightbox-image {
                max-width: min(100%, 90vh);
                max-height: 100%;
                object-fit: contain;
                transition: all ease 0.4s;
                cursor: zoom-in;
            }

            .photo-lightbox.is-zoomed .photo-lightbox-image {
                cursor: zoom-out;
            }

        .photo-lightbox-thumbs {
            display: flex;
            justify-content: center;
            gap: var(--s-2);
            overflow-x: auto;
            padding: var(--s-3) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom));
        }

            .photo-lightbox-thumbs .product-gallery-thumb {
                width: 3.5rem;
                border-color: transparent;
            }

            .photo-lightbox-thumbs .product-gallery-thumb[aria-current="true"] {
                border-color: var(--color-white);
                box-shadow: 0 0 0 1px var(--color-white);
            }


/*  Popup: Cart Drawer
-------------------------------------------*/

    /*
     *  Shell: Slides In From The Right Over A Dimmed Page
     */
    .cart-drawer {
        inset: 0;
        z-index: 1070;
        position: fixed;
    }

    .cart-drawer[hidden] {
        display: none;
    }

    .cart-drawer-open {
        overflow: hidden;
    }

    .cart-drawer-backdrop {
        inset: 0;
        background-color: color-mix(in srgb, var(--color-black) 55%, transparent);
        opacity: 0;
        transition: all ease 0.4s;
        position: absolute;
    }

        .cart-drawer.is-open .cart-drawer-backdrop {
            opacity: 1;
        }

    .cart-drawer-panel {
        top: 0;
        right: 0;
        bottom: 0;
        width: min(100%, 26.25rem);
        display: flex;
        flex-direction: column;
        background-color: var(--color-white);
        box-shadow: var(--shadow-card-hover);
        transform: translateX(100%);
        transition: all ease 0.4s;
        position: absolute;
    }

        .cart-drawer.is-open .cart-drawer-panel {
            transform: none;
        }

        .cart-drawer-panel:focus {
            outline: none;
        }

    .cart-drawer-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var(--s-3);
        padding: var(--s-3) var(--s-3) var(--s-3) var(--s-5);
        border-bottom: 1px solid var(--color-light-gray);
    }

        .cart-drawer-title {
            margin: 0;
            font-size: var(--fs-h4);
        }

        .cart-drawer-close {
            width: var(--tap-min);
            height: var(--tap-min);
            color: var(--color-black);
            font-size: 1.5rem;
            background: none;
        }

        .cart-drawer-close:focus-visible {
            outline: var(--focus-ring);
            outline-offset: 0;
        }

    .cart-drawer-body {
        flex: 1 1 auto;
        overflow-y: auto;
        padding: 0 var(--s-5) var(--s-5);
        overscroll-behavior: contain;
    }

        .cart-drawer.is-busy .cart-drawer-body,
        .cart-drawer.is-busy .cart-drawer-foot {
            opacity: 0.6;
            pointer-events: none;
        }

        .cart-drawer-empty,
        .cart-drawer-soon {
            margin: var(--s-5) 0 0;
            color: var(--color-gray);
        }

        .cart-drawer-empty[hidden] {
            display: none;
        }

        .cart-drawer-soon {
            color: var(--color-black);
            font-size: 1.25rem;
        }

    /*
     *  Lines
     */
    .cart-drawer-lines {
        margin: 0;
    }

        .cart-line {
            display: grid;
            grid-template-columns: 4.5rem minmax(0, 1fr) auto;
            gap: var(--s-3);
            padding: var(--s-4) 0;
            border-bottom: 1px solid var(--color-light-gray);
        }

            .cart-line-media img {
                width: 100%;
                height: auto;
                display: block;
                border-radius: var(--r-sm);
                background-color: var(--color-pale-gray);
            }

            .cart-line-info {
                min-width: 0;
                display: flex;
                flex-direction: column;
                gap: var(--s-1);
            }

            .cart-line-name {
                color: var(--color-black);
                font-family: var(--ff-display);
                font-size: 1.125rem;
                font-weight: var(--fw-extrabold);
                line-height: 1.15;
                text-decoration: none;
            }

            .cart-line-name:hover {
                color: var(--color-maroon);
            }

            .cart-line-meta {
                color: var(--color-gray);
                font-size: var(--fs-sm);
            }

            .cart-line-qty {
                display: inline-flex;
                align-items: center;
                align-self: flex-start;
                margin-top: var(--s-1);
                border: 1px solid var(--color-silver);
                border-radius: var(--r-sm);
            }

                .cart-line-step {
                    width: var(--tap-min);
                    height: var(--tap-min);
                    color: var(--color-black);
                    background: none;
                }

                .cart-line-step:hover {
                    color: var(--color-maroon);
                }

                .cart-line-count {
                    min-width: 2ch;
                    font-weight: var(--fw-semibold);
                    text-align: center;
                }

            .cart-line-end {
                display: flex;
                flex-direction: column;
                align-items: flex-end;
                justify-content: space-between;
            }

            .cart-line-price {
                font-weight: var(--fw-semibold);
                white-space: nowrap;
            }

            .cart-line-remove {
                width: var(--tap-min);
                height: var(--tap-min);
                margin-right: calc(-1 * var(--s-3));
                color: var(--color-gray);
                font-size: 1.25rem;
                background: none;
            }

            .cart-line-remove:hover {
                color: var(--color-maroon);
            }

            .cart-line-step:focus-visible,
            .cart-line-remove:focus-visible {
                outline: var(--focus-ring);
                outline-offset: -2px;
            }

    /*
     *  Complete The Look
     */
    .cart-drawer-picks {
        margin-top: var(--s-6);
    }

        .cart-drawer-picks-title {
            margin: 0 0 var(--s-3);
            font-size: 1.25rem;
        }

        .cart-drawer-pick-list {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: var(--s-3);
            margin: 0;
        }

            .cart-pick {
                min-width: 0;
                display: flex;
                flex-direction: column;
                gap: var(--s-1);
            }

                .cart-pick-media img {
                    width: 100%;
                    height: auto;
                    display: block;
                    border-radius: var(--r-sm);
                    background-color: var(--color-pale-gray);
                }

                .cart-pick-name {
                    color: var(--color-black);
                    font-family: var(--ff-display);
                    font-size: 1rem;
                    font-weight: var(--fw-bold);
                    line-height: 1.15;
                    text-decoration: none;
                }

                .cart-pick-price {
                    color: var(--color-maroon);
                    font-size: var(--fs-sm);
                    font-weight: var(--fw-semibold);
                }

                .cart-pick-add {
                    display: flex;
                    flex-direction: column;
                    margin-top: auto;
                }

                    .cart-drawer .cart-pick-size {
                        min-height: var(--control-h-sm);
                        padding-block: 0;
                        padding-left: var(--s-3);
                    }

                    .cart-pick-add .link-action {
                        min-height: var(--tap-min);
                        margin-top: calc(-1 * var(--s-1));
                        padding: 0;
                        font-size: 1rem;
                        border: 0;
                        background: none;
                    }

    /*
     *  Foot: Subtotal, Code, Checkout
     */
    .cart-drawer-foot {
        display: flex;
        flex-direction: column;
        gap: var(--s-3);
        padding: var(--s-4) var(--s-5) 0;
        border-top: 1px solid var(--color-light-gray);
    }

        .cart-drawer-foot[hidden] {
            display: none;
        }

        .cart-drawer-subtotal,
        .cart-drawer-discount,
        .cart-drawer-fee {
            display: flex;
            justify-content: space-between;
            gap: var(--s-3);
            margin: 0;
            font-weight: var(--fw-bold);
        }

        .cart-drawer-subtotal {
            font-size: 1.125rem;
        }

        .cart-drawer-discount {
            color: var(--color-maroon);
        }

        .cart-drawer-discount[hidden],
        .cart-drawer-fee[hidden] {
            display: none;
        }

        .cart-drawer-note {
            margin: 0;
            color: var(--color-gray);
            font-size: var(--fs-sm);
        }

        .cart-drawer-coupon {
            display: flex;
            flex-direction: column;
            gap: var(--s-1);
        }

            .cart-drawer-coupon-label {
                font-size: var(--fs-sm);
                font-weight: var(--fw-semibold);
            }

            .cart-drawer-coupon-row {
                display: flex;
                gap: var(--s-2);
            }

                .cart-drawer-coupon-row .form-control {
                    min-height: var(--control-h-sm);
                    flex: 1 1 auto;
                    text-transform: uppercase;
                }

                .cart-drawer-apply {
                    min-height: var(--control-h-sm);
                    --bs-btn-padding-x: var(--s-4);
                }

            .cart-drawer-codes {
                display: flex;
                flex-wrap: wrap;
                gap: var(--s-2);
            }

                .cart-drawer-code {
                    min-height: 2rem;
                    padding: 0 var(--s-3);
                    color: var(--color-maroon);
                    font-size: var(--fs-sm);
                    font-weight: var(--fw-semibold);
                    border: 1px solid var(--color-maroon);
                    border-radius: var(--r-pill);
                    background: none;
                }

        .cart-drawer-checkout {
            width: 100%;
        }

    .cart-drawer-keep {
        display: flex;
        justify-content: center;
        margin: 0;
        padding: var(--s-3) var(--s-5) calc(var(--s-4) + env(safe-area-inset-bottom));
    }


/*  Responsive
-------------------------------------------*/

@media (max-width: 1365px)
{
    .site-header-portal a { padding: 0 var(--s-2); }
    .site-header-portal span { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; position: absolute; }
    .site-header-portal .ph { margin-right: 0; font-size: 1.375em; }
}

@media (max-width: 1199px)
{
    .site-lockup-text { font-size: clamp(0.9375rem, calc(0.9375rem + (100vw - 1024px) * 0.08), 1.5rem); }

    .site-header-links a, .site-drop-toggle { padding: 0 6px; font-size: 1.0625rem; }

    .roster-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .news-home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sponsor-profiles.--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hero-slide-final img { height: 118%; transform: translateY(-14%); }
    .season-strip-inner { grid-template-columns: none; }
    .news-home .post-card-lead { grid-row: auto; }
    .hero-gear { grid-template-columns: 22rem minmax(0, 1fr); }
    .hero-gear-title { font-size: clamp(2.5rem, 1rem + 3.5vw, 3.75rem); }
    .hero-gear-pile { width: 60%; }
    .hero-gear-item:nth-child(n+6) { display: none; }
    .hero-gear-item:nth-child(1) { top: 6%; left: 22%; width: 56%; }
    .hero-gear-item:nth-child(2) { top: 2%; left: -4%; width: 42%; }
    .hero-gear-item:nth-child(3) { top: 56%; left: -4%; width: 38%; }
    .hero-gear-item:nth-child(4) { top: 62%; left: 46%; width: 50%; }
    .hero-gear-item:nth-child(5) { top: 0; left: 64%; width: 40%; }

    .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .post-grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .news-tools { grid-template-columns: none; align-items: normal; }
    .news-search { width: min(100%, 37rem); }

    .game-wide { grid-template-columns: auto auto minmax(0, 1fr) auto; grid-auto-flow: row; }
    .game-wide-add { grid-column: 1 / -1; }

    .honor-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .contact-grid { grid-template-columns: minmax(0, 1fr); }
    .site-header-portal a { padding: 0 var(--s-1); }

    .shop-product div.product { gap: var(--s-6); }

    .sx-split { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }

    .sx-panel-photo img { object-position: 10% 50%; }
    .sx-panel .sx-copy { width: 76%; }
}

@media (max-width: 1023px)
{
    .container { --bs-gutter-x: 2rem; }

    .site-header-links { display: none; }

    .site-menu-toggle { display: inline-flex; }

    .site-lockup-text { font-size: clamp(1.4375rem, calc(1.4375rem + (100vw - 768px) * 0.02), 1.75rem); }

    .site-footer { padding-bottom: calc(var(--control-h) + var(--s-8) + env(safe-area-inset-bottom)); }
    .footer-top { flex-direction: column; align-items: normal; justify-content: normal; }

    .footer-cols { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
    .footer-cols .footer-col { width: 50%; }


    .cta-rail { display: grid; }

    .fact-panel dl > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .milestone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .story-cols { grid-template-columns: minmax(0, 1fr); gap: var(--s-6); }
    .story-photos { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); align-items: start; }
    .story-photo img { width: auto; max-width: 100%; max-height: 60vh; margin-inline: auto; }
    .fact-panel.--photo dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .cta-band-inner { grid-template-columns: minmax(0, 1fr); }

    .slogan-band { padding-inline: 1rem; }
    .roster-grid:has(> .player:nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .roster-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .hero-slide-ft { overflow: visible; }
    .hero-slide-ft img { width: 100%; max-width: 100%; object-position: 40% 30%; }
    .hero::before { background: var(--scrim-hero); }
    .hero-pre-games { grid-template-columns: repeat(2, minmax(0, 1fr)); }


    .rail-arrow { display: none; }

    .banner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; }
    .banner-cell:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
    .banner-cell { padding-block: var(--s-5); }
    .banner-cell dt { font-size: var(--fs-sm); }


    .film { grid-template-columns: minmax(0, 1fr); align-items: normal; gap: var(--s-6); padding: var(--s-5); }
    .coach-grid { grid-template-columns: none; gap: var(--s-6); align-items: start; }
    .coach-photo, .coach-photo picture { height: auto; }
    .coach-photo img { aspect-ratio: 4 / 3; min-height: auto; }
    .program-grid { grid-template-columns: none; gap: var(--s-4); }
    .pride-layout { grid-template-columns: none; gap: var(--s-6); align-items: normal; }
    .faq .container { grid-template-columns: none; gap: var(--s-6); }

    .news-feature { grid-template-columns: minmax(0, 1fr); }
    .post-grid:has(> :nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); }

    .honor-team ul { columns: auto; }

    .titles-grid { grid-template-columns: 11rem minmax(0, 1fr); gap: var(--s-6); }
    .titles-list { grid-template-columns: repeat(3, max-content); }

    .name-wall:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .year-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .year-cards > :last-child:nth-child(odd) { grid-column: 1 / -1; }

    .login-main::before { background: var(--scrim-hero), url("../img/hero-2024-final-2200.webp") 72% 30% / cover no-repeat; }
    .login-main { justify-items: center; }
    .login-brand { width: 100%; }

    .pl-grid.--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dash-lead { grid-template-columns: minmax(0, 1fr); }
    .dash-days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .dash-tiles, .dash-tiles.--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .shop-grid, .shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shop-layout { grid-template-columns: minmax(0, 1fr); }
    .shop-goal-inner { grid-template-columns: minmax(0, 1fr); }
    .shop-filter-open { min-height: var(--control-h); display: inline-flex; }
    .shop .shop-sort select { min-height: var(--control-h); }
    .shop-toolbar { flex-wrap: wrap; justify-content: flex-start; gap: var(--s-3); }
    .shop-toolbar .shop-sort { min-width: 0; flex: 1 1 0; }
    .shop-toolbar .shop-sort select { width: 100%; }
    .shop-filters { inset: 0; z-index: 1060; display: none; overflow-y: auto; padding: 0 var(--s-4); background-color: var(--color-white); position: fixed; }
    .shop-filters:target, .shop-filters.is-open { display: block; }
    .shop-filter-head { top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; margin: 0 calc(-1 * var(--s-4)) var(--s-4); padding: var(--s-3) var(--s-4); background-color: var(--color-white); border-bottom: 1px solid var(--color-light-gray); position: sticky; }
    .shop-filter-title { margin: 0; font-family: var(--ff-display); font-size: 1.5rem; font-weight: var(--fw-extrabold); text-transform: uppercase; }
    .shop-filter-close { min-width: var(--tap-min); min-height: var(--tap-min); display: inline-flex; align-items: center; justify-content: center; color: var(--color-black); font-size: 1.5rem; text-decoration: none; }
    .shop-filter-foot { bottom: 0; margin: 0 calc(-1 * var(--s-4)); padding: var(--s-3) var(--s-4) calc(var(--s-3) + env(safe-area-inset-bottom)); background-color: var(--color-white); border-top: 1px solid var(--color-light-gray); position: sticky; }
    .shop-filters-open { overflow: hidden; }
    .shop-toolbar .shop-total { width: 100%; }
    .shop .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shop-product div.product { grid-template-columns: minmax(0, 1fr); }
    .woocommerce form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
    .woocommerce form.checkout #customer_details { grid-row: auto; }

    .sx-hero { min-height: calc(100svh - var(--ticker-h) - var(--header-h) - var(--control-h) - var(--s-5)); margin-bottom: calc(var(--control-h) + var(--s-5)); }

    .sx-split { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(26rem, 1fr) auto; }
    .sx-split-photo { order: -1; }
    .sx-split .sx-copy { padding: var(--s-8) var(--s-6); }

    .sx-stack .sx-copy { padding-top: var(--s-8); }
    .sx-stack-photo { min-height: 24rem; }

    .sx-panel { flex-direction: column; align-items: stretch; }
    .sx-panel-photo { inset: auto; z-index: auto; height: auto; min-height: 26rem; flex-grow: 1; position: relative; }
    .sx-panel-photo img { object-position: 80% 50%; position: absolute; }
    .sx-panel-inner { margin-top: calc(-1 * var(--s-4)); padding-block: 0 var(--s-6); position: relative; }
    .sx-panel .sx-copy { width: 100%; }
}

@media (max-width: 767px)
{
    :root { --header-h: 80px; --pennant-w: 88px; --pennant-pad: 8px; --pennant-gap: 5px; --pennant-notch: 10px; --pennant-fs: 0.625rem; --pennant-title-fs: 0.59375rem; --pennant-eagle: 44px; --pennant-hang: 34px; --page-hero-top: 3rem; --ticker-h: 36px; --page-hero-h: 21rem; }

    .ticker-flag { padding: 0 var(--s-4) 0 var(--s-3); font-size: 0.875rem; }
    .site-lockup-text { font-size: max(0.6875rem, min(1.1875rem, 0.75rem + max(0px, 100vw - 375px) * 0.075, 0.75rem + (100vw - 334px) * 0.25)); }

    .site-header .site-header-cta { display: none; }
    .site-menu-toggle { padding: 0 var(--s-3); gap: var(--s-1); font-size: clamp(1rem, 0.25rem + 3.75vw, 1.3125rem); }

    .site-footer { padding-top: var(--s-7); }
    .footer-top { gap: var(--s-5); padding-bottom: var(--s-5); margin-bottom: var(--s-5); }
    .footer-brand img { height: 88px; }
    .footer-brand-name { font-size: 1.375rem; }
    .site-footer .footer-social a { gap: var(--s-1); padding: 0 var(--s-3); font-size: 1rem; }
    .footer-social .ph { font-size: 1.125rem; }
    .footer-social:has(> li:nth-child(4)) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; }

    .btn-row { max-width: none; grid-template-columns: minmax(0, 1fr); }
    .milestone-grid { grid-template-columns: minmax(0, 1fr); }
    .sponsor-profiles { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
    .sponsor-profile-body { padding: var(--s-5); }
    .sponsor-profile-logo { width: 12rem; height: 4.75rem; --logo-area: 5.75rem; }

    .fact-panel.--photo { grid-template-columns: minmax(0, 1fr); }
    .fact-panel.--photo .fact-panel-photo, .fact-panel.--photo .fact-panel-title, .fact-panel.--photo dl, .fact-panel.--photo .btn { grid-column: 1; grid-row: auto; }
    .fact-panel.--photo .fact-panel-photo { width: calc((100% - var(--s-3)) / 2); order: -1; }

    .page-hero.--coach .page-hero-media img { object-position: 57% 0%; transform: scale(1.35) translateY(18%); }
    .page-hero-title { font-size: clamp(2rem, 1.2rem + 4vw, 2.5rem); }
    .page-hero-lede { font-size: 1rem; }

    .fact-panel { padding: var(--s-5); }
    .fact-panel dl { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; column-gap: var(--s-5); }
    .fact-panel dd { font-size: var(--fs-sm); }
    .fact-panel .btn { width: 100%; }

    .post-table { display: grid; }
    .post-table > table, .post-table::after { grid-area: 1 / 1; }
    .post-table::after { right: 0; width: 2.5rem; justify-self: end; content: ""; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-black) 18%, transparent)); pointer-events: none; position: sticky; }

    .filter-chips { flex-wrap: nowrap; gap: 0 var(--s-4); overflow-x: auto; margin-inline: calc(-1 * var(--s-4)); padding-inline: var(--s-4); scrollbar-width: none; }
    .filter-chip { flex-shrink: 0; }
    .level-bar select { width: 100%; }

    .btn-cta { width: 100%; }
    .btn-cta .lead-in { display: none; }
    .btn { --bs-btn-padding-x: var(--s-5); }


    .photo-pair { grid-template-columns: minmax(0, 1fr); }

    .cta-band .btn-row { grid-template-columns: minmax(0, 1fr); }

    .form-card { padding: var(--s-6); }
    .gform_wrapper .gfield--width-half { grid-column: 1 / -1; }
    .gform_wrapper .gfield--width-third { grid-column: 1 / -1; }

    .film .btn-row { grid-template-columns: minmax(0, 1fr); }
    .film-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; padding: var(--s-5); column-gap: var(--s-5); }
    .film-facts > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .film-player { aspect-ratio: auto; display: flex; flex-direction: column; align-items: center; gap: var(--s-3); padding-bottom: var(--s-3); }
    .film-player img { height: auto; aspect-ratio: 16 / 9; }
    .film-watch { transform: none; position: static; }
    .hero { min-height: 62svh; }
    .hero-copy .btn-row { display: none; }
    .game { width: 14rem; }
    .gameday { grid-template-columns: none; align-items: start; gap: var(--s-6); padding: var(--s-5); }
    .season-strip-side { padding: var(--s-5); }
    .insta-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-1); }
    .news-home { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(82%, 20rem); gap: var(--s-3); overflow-x: auto; margin-inline: calc(-1 * var(--s-4)); padding-inline: var(--s-4); scroll-padding-inline: var(--s-4); scroll-snap-type: x mandatory; scrollbar-width: none; }
    .news-home .post-card { scroll-snap-align: start; }
    .news-home .post-card-lead { grid-column: auto; }
    .news-home .post-card-lead .post-card-media { min-height: 100%; }

    .champs-keepsakes { gap: var(--s-3); }

    .hero-lede { font-size: 1.125rem; margin-bottom: 0; }
    .hero-slide-gear { display: flex; flex-direction: column; }
    .results::before { left: -3rem; width: 110%; }
    .hero-slide-final img { height: 130%; transform: translateY(-22%); }
    .hero-pre { padding-block: calc(var(--pennant-hang) + var(--s-5)) 3.5rem; }
    .hero-pre-title { margin-bottom: var(--s-3); font-size: clamp(1.625rem, 0.75rem + 4.5vw, 2.5rem); }
    .hero-pre-games { grid-template-columns: minmax(0, 1fr); gap: 6px; margin-bottom: var(--s-3); }
    .hero-pre-game .game-link { min-height: 44px; display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); grid-template-rows: auto auto; align-items: baseline; gap: 2px var(--s-2); padding: var(--s-2) var(--s-3); }
    .hero-pre-game .game-date { grid-row: span 2; align-self: start; font-size: var(--fs-sm); line-height: 1.15; }
    .hero-pre-game .game-name { font-size: 1rem; line-height: 1.15; }
    .hero-pre-game .game-note { min-height: 0; flex-direction: row; flex-wrap: wrap; gap: 0 var(--s-3); font-size: 0.8125rem; line-height: 1.3; }
    .hero-pre-long { display: none; }
    .hero-pre-short { display: inline; }
    .hero-gear { height: auto; grid-template-columns: minmax(0, 1fr); flex-shrink: 0; padding-top: var(--s-6); }
    .hero-gear-copy { padding-bottom: 0; }
    .hero-gear-title { margin-bottom: var(--s-2); font-size: clamp(2.25rem, 1rem + 6vw, 3rem); }
    .hero-gear-line { margin-bottom: var(--s-4); font-size: 1.0625rem; }
    .hero-gear-pile { top: auto; right: auto; bottom: auto; width: 100%; min-height: 0; flex: 1; margin: var(--s-4) 0 var(--s-7); container-type: size; position: relative; }
    .hero-gear-item:nth-child(n+4) { display: none; }
    .hero-gear-item:nth-child(1) { top: 0; left: calc(50cqw - min(31cqw, 46cqh)); width: min(62cqw, 92cqh); }
    .hero-gear-item:nth-child(2) { top: 14%; left: calc(50cqw - min(31cqw, 46cqh) - min(40cqw, 64cqh) * 0.72); width: min(40cqw, 64cqh); }
    .hero-gear-item:nth-child(3) { top: 10%; left: calc(50cqw + min(31cqw, 46cqh) - min(40cqw, 64cqh) * 0.28); width: min(40cqw, 64cqh); }


    .champs { background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 15%, transparent), var(--color-black) 40%), url("../img/art-arena-1000.webp") center top / 220% auto no-repeat, var(--color-black); }
    .arena-art { background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 15%, transparent), color-mix(in srgb, var(--color-black) 60%, transparent)), url("../img/art-arena-1000.webp") center top / cover no-repeat; }
    .champs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
    .champs-shot figcaption { flex-direction: column; align-items: flex-start; gap: var(--s-1); padding: var(--s-3); font-size: var(--fs-sm); }
    .champs-shot figcaption strong { font-size: 1.75rem; }
    .roster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-3); }
    .roster-soon { min-height: 15rem; padding: var(--s-7) var(--s-4); }
    .roster-grid > .player:last-child:nth-child(odd) { grid-column: 1 / -1; flex-direction: row; }
    .roster-grid > .player:last-child:nth-child(odd) .player-photo { width: 40%; flex-shrink: 0; }
    [data-page="home"] .roster-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 44%; gap: var(--s-3); overflow-x: auto; margin-inline: calc(-1 * var(--s-4)); padding-inline: var(--s-4); scroll-padding-inline: var(--s-4); scroll-snap-type: x mandatory; scrollbar-width: none; }
    .roster-grid:has(> .player:nth-child(5):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-3); }
    [data-page="home"] .roster-grid:has(> .player:nth-child(5):last-child) { grid-template-columns: none; }
    [data-page="home"] .roster-grid > .player { scroll-snap-align: start; }
    [data-page="home"] .roster-grid > .player:last-child:nth-child(odd) { grid-column: auto; flex-direction: column; }
    [data-page="home"] .roster-grid > .player:last-child:nth-child(odd) .player-photo { width: auto; }
    .banner-cell dd { font-size: clamp(1.75rem, 1rem + 3.5vw, 2.25rem); }
    .player-plate { flex-direction: column; align-items: flex-start; gap: var(--s-1); padding: var(--s-2); }
    .player-name { font-size: 1.0625rem; }
    .player-meta { font-size: 0.8125rem; }
    .program { padding: var(--s-5); scroll-snap-align: start; }
    .program-photo { margin-inline: calc(-1 * var(--s-5)); }
    .coach-photo img { aspect-ratio: 16 / 9; }
    .program-grid { grid-auto-flow: column; grid-auto-columns: min(82%, 20rem); gap: var(--s-3); overflow-x: auto; margin-inline: calc(-1 * var(--s-4)); padding-inline: var(--s-4); scroll-padding-inline: var(--s-4); scroll-snap-type: x mandatory; scrollbar-width: none; }
    .prose .action-cards { grid-template-columns: minmax(0, 1fr); grid-auto-columns: auto; grid-auto-flow: row; overflow-x: visible; margin-inline: 0; padding-inline: 0; }
    .program-icon { width: 3rem; height: 3rem; font-size: 2.25rem; }
    .pride-list a { padding: var(--s-4); gap: var(--s-3); align-items: flex-start; }
    .pride-list a > .ph:first-child { font-size: 1.5rem; margin-top: 0.1em; }
    .pride-arrow { display: none; }
    .faq::before { background: linear-gradient(180deg, color-mix(in srgb, var(--color-black) 30%, transparent) 0%, color-mix(in srgb, var(--color-black) 70%, transparent) 35%, var(--color-black) 58%), url("../img/art-chalk-1000.webp") 80% top / auto 60% no-repeat, var(--color-black); }
    .sponsor-profiles.--four { grid-template-columns: minmax(0, 1fr); }
    .sponsor-list { gap: var(--s-2); }
    .sponsor-list a { height: 7rem; padding: var(--s-3); }
    .sponsor-list img { height: 3.5rem; }

    .post-grid { grid-template-columns: minmax(0, 1fr); }
    .news-search { width: 100%; grid-template-columns: none; gap: var(--s-2); }

    .article-crumbs li[aria-current] { display: none; }
    .game-wide { grid-template-columns: auto minmax(0, 1fr); gap: var(--s-4) var(--s-5); padding: var(--s-5); }
    .game-wide-logos { grid-column: 2; grid-row: 1; justify-self: end; }
    .game-wide-logos .team-logo { width: 3rem; height: 3rem; font-size: 1.25rem; }
    .game-wide-teams { grid-column: 1 / -1; }
    .game-wide-info { grid-column: 1 / -1; }
    .game-wide-add .cal-menu, .game-wide-add .btn { width: 100%; }
    .game-section { margin-top: var(--s-7); }

    .article-pager { grid-template-columns: none; }
    .article-pager-older { text-align: left; }

    .season-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .season-stat { padding: var(--s-4) var(--s-2); }

    .game-rows { padding: var(--s-1) var(--s-4); }
    .game-row a, .game-row > div { min-height: 0; grid-template-columns: 3.5rem minmax(0, 1fr) auto; gap: var(--s-2); margin-inline: calc(-1 * var(--s-2)); padding: var(--s-3) var(--s-2); }
    .game-row-score { grid-template-columns: 2rem 3.5rem 1rem; font-size: 1.25rem; gap: var(--s-2); }
    .game-row-opp { font-size: var(--fs-sm); }
    .game-row-opp small { font-size: 0.8125rem; }
    .game-row-logo { width: 1.5rem; height: 1.5rem; font-size: 0.5rem; }

    .titles::after { left: 0; bottom: auto; width: auto; height: 22rem; background-image: url("../img/rings-bg-700.webp"); background-position: center top; -webkit-mask-image: linear-gradient(180deg, var(--color-black) 30%, transparent 100%); mask-image: linear-gradient(180deg, var(--color-black) 30%, transparent 100%); }
    .titles-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s-5); }
    .titles-banner { width: 9rem; margin-inline: auto; }
    .titles-list { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }

    .honor-season { padding: var(--s-5) var(--s-4); }
    .honor-groups { grid-template-columns: minmax(0, 1fr); }

    .name-wall:has(> li:nth-child(3):last-child) { grid-template-columns: minmax(0, 1fr); }
    .alumni-entry summary { grid-template-columns: 6rem minmax(0, 1fr) auto; gap: var(--s-3); }
    .alumni-entry-body { padding: var(--s-4); }

    .year-cards { grid-template-columns: minmax(0, 1fr); }

    .login-main { padding-inline: var(--s-4); }
    .login-main #login { padding-block: var(--s-5); }
    .login-main form { padding: var(--s-4); }
    .login-brand .site-lockup { padding-top: var(--s-4); }
    .login-brand .site-lockup-text { font-size: clamp(0.875rem, 4.6vw, 1.125rem); }

    .contact-grid { grid-template-columns: minmax(0, 1fr); }
    .pl-grid.--three, .pl-grid.--two, .pl-strip, .pl-flow { grid-template-columns: minmax(0, 1fr); }
    .pl-band { padding: var(--s-6) var(--s-5); }
    .pl-games .practice-day { grid-template-columns: minmax(0, 1fr); }
    .dash-today, .dash-game, .dash-note, .dash-code, .dash-standard { padding: var(--s-5); }
    .dash-days { grid-template-columns: minmax(0, 1fr); }
    .dash-day { flex-direction: row; justify-content: space-between; }
    .dash-tile { font-size: 1.125rem; }
    .practice-head { display: none; }
    .practice-day { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); padding: var(--s-3) var(--s-4); }
    .practice-wide, .practice-bar { grid-column: auto; }
    .practice-aside { white-space: normal; }
    .practice-label { display: inline; margin-right: var(--s-2); }
    .portal-form { padding: var(--s-5); }

    .shop-hero-mark { right: -18%; width: 85%; }
    .shop-grid, .shop ul.products { gap: var(--s-5) var(--s-3); }
    .product-card { padding: var(--s-3); }
    .product-card-name { font-size: 1.125rem; }
    .product-card-price { font-size: 1.0625rem; }
    .shop-product { padding-top: var(--s-5); }
    .product-gallery-thumbs { --thumb-cols: 5; --thumb-min: 4; --thumb-max: 5; }
    .product-gallery-step { width: 2.25rem; height: 2.25rem; }
    .quality-option { padding-inline: var(--s-1); }
    .quality-option-name { font-size: 1rem; }
    .shop-shipping-table th, .shop-shipping-table td { padding-right: var(--s-2); font-size: var(--fs-sm); }
    .shop-shipping-table td { white-space: normal; }
    .shop-shipping-table thead th { font-size: var(--fs-sm); }
    .photo-lightbox-prev, .photo-lightbox-next { display: none; }
    .shop .single_add_to_cart_button { width: 100%; }
    .woocommerce-cart-form table.shop_table_responsive thead { display: none; }
    .woocommerce-cart-form table.shop_table_responsive tr { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: 0 var(--s-3); padding-block: var(--s-3); border-bottom: 1px solid var(--color-light-gray); }
    .woocommerce-cart-form table.shop_table_responsive td { display: flex; justify-content: space-between; gap: var(--s-3); padding: var(--s-1) 0; border: 0; grid-column: 2; }
    .woocommerce-cart-form table.shop_table_responsive td::before { content: attr(data-title); color: var(--color-gray); font-size: var(--fs-sm); }
    .woocommerce-cart-form table.shop_table_responsive td.product-thumbnail { grid-column: 1; grid-row: 1 / span 4; }
    .woocommerce-cart-form table.shop_table_responsive td.product-thumbnail::before, .woocommerce-cart-form table.shop_table_responsive td.product-name::before, .woocommerce-cart-form table.shop_table_responsive td.product-remove::before, .woocommerce-cart-form table.shop_table_responsive td.actions::before { display: none; }
    .woocommerce-cart-form table.shop_table_responsive td.actions { display: block; grid-column: 1 / -1; }
    .woocommerce-cart-form td.actions .btn { width: 100%; }
    .site-header-cart { display: none; }
    .shop-toolbar { top: calc(var(--header-h) - 1.5rem); z-index: 1020; margin-inline: calc(-0.5 * var(--bs-gutter-x)); padding: 0 calc(0.5 * var(--bs-gutter-x)) var(--s-2); background-color: var(--color-pale-gray); position: sticky; }
    .shop-toolbar .shop-total { line-height: 1.5rem; }
    .shop-filter-open, .shop .shop-sort select { min-height: var(--control-h-sm); }

    .sx-hero .sx-copy { padding-block: var(--s-6) var(--s-1); }
    .sx-logo-mark { width: 2.75rem; }
    .sx-copy .btn-row { display: none; }
    .sx-label { font-size: 1rem; }
    .sx-title { margin-bottom: var(--s-5); font-size: clamp(2.5rem, 1rem + 6.5vw, 3rem); }
    .sx-line { font-size: 1.0625rem; }

    .sx-split { grid-template-rows: minmax(16rem, 1fr) auto; }
    .sx-split .sx-copy { padding: var(--s-6) var(--s-4) var(--s-1); }

    .sx-stack .sx-copy { padding-block: var(--s-6) var(--s-5); }
    .sx-stack .sx-title { font-size: clamp(2.5rem, 1rem + 6.5vw, 3rem); }
    .sx-stack-photo { min-height: 16rem; margin-top: calc(-1 * var(--s-6)); }
    .sx-stack-photo img { object-position: 40% 100%; }

    .sx-panel-photo { min-height: 16rem; }
    .sx-panel .sx-copy { padding: var(--s-6) var(--s-5) var(--s-1); }
}

@media (max-width: 767px) and (max-height: 700px)
{
    .site-nav-rings { display: none; }
}

@media (prefers-reduced-motion: reduce)
{
    .ticker-pulse { animation: none; }
    .site-drop-toggle .ph { transition: none; }

    .cta-rail { transition: none; }

    .btn:hover, .btn:active { transform: none; }
    .sponsor-profile:hover { transform: none; }

    .hero-script, .hero-title, .hero-lede, .hero-copy .btn-row { animation: none; }
    .reveal { opacity: 1; transform: none; transition: none; }

    a.game-link:hover { transform: none; }


    .film-video:hover .film-play { transform: translate(-50%, -50%); }
    .player:hover, .gameday:hover { transform: none; }
    .action-cards .program:hover { transform: none; }
    .insta-tile:hover img { transform: none; }
    .pride-list a:hover .pride-arrow { transform: none; }

    .post-card:hover { transform: none; }

    .cart-drawer-panel, .cart-drawer-backdrop { transition: none; }
    .product-card:hover { transform: none; }
}

@media (prefers-reduced-transparency: reduce)
{
    .page-hero::after { display: none; }

    .hero::after { display: none; }
}

@media print
{
    .site-header, .ticker, .site-footer, .cta-rail, .cart-drawer, .skip-link, .page-hero, .schedule-tools, .level-bar, .fact-panel, .practice-week, .portal-side, .roster-archive-link { display: none; }
    body { color: var(--color-black); background: var(--color-white); }
    .section { padding-block: 0; }
    .game-rows, .game-row a, .game-row > div { color: var(--color-black); background: var(--color-white); }
    .game-row a, .game-row > div { height: auto; padding-block: 0.35rem; }
    .game-row + .game-row { border-top: 1px solid var(--color-silver); }
    .team-logo { box-shadow: 0 0 0 1px var(--color-silver); }
    .game-rows, .game-rows .game-row :is(a, div, span, strong, small, i), .game-rows .game-row .game-result, .season-stat, .season-stat strong { color: var(--color-black); }
    .game-row.is-next a, .game-row.is-next > div { background: var(--color-white); }
    .game-row-tag { border: 1px solid var(--color-black); }
}
