/* =========================================================
   SDHS ALUMNI — MOBILE / TABLET
   Desktop remains authoritative above 900px.
   ========================================================= */

@media (max-width: 900px) {
    body { overflow-x: hidden; }
    .wp-site-blocks { overflow-x: hidden; }

    body.home .site-header { padding: 1rem 0; }
    body.home .site-header > .wp-block-group { width: calc(100vw - 40px); }
    body.home .wp-block-site-title { max-width: 260px; }
    body.home .wp-block-site-title a { font-size: .78rem !important; }
    

    body.home .sdhs-hero-photo { min-height: 680px; }
    body.home .sdhs-hero-content {
        width: min(720px, calc(100vw - 64px));
        min-width: 0;
    }
    body.home .sdhs-hero h1 {
        font-size: clamp(3.8rem, 9vw, 5.8rem);
        line-height: .92;
    }

    .sdhs-history-intro {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .sdhs-history-intro .wp-block-columns { gap: 3rem; }

    .sdhs-three-stories {
        padding-left: 28px;
        padding-right: 28px;
    }
    .sdhs-three-stories .wp-block-columns { gap: 1.25rem; }
    .sdhs-three-stories .wp-block-column > h3,
.sdhs-three-stories .wp-block-column > p,
.sdhs-three-stories .wp-block-column > .wp-block-buttons {
        margin-left: 1.25rem;
        margin-right: 1.25rem;
    }

    .sdhs-honor-v3 { grid-template-columns: 42% 58%; }
    .sdhs-honor-v3-copy {
        grid-column: 1;
        grid-row: 1 / span 2;
        padding: 2.5rem;
    }
    .sdhs-honor-v3-image {
        grid-column: 2;
        grid-row: 1;
        min-height: 300px;
    }
    .sdhs-honor-v3-image img {
        height: 280px;
        max-width: 80%;
    }
    .sdhs-honor-v3-meta {
        grid-column: 2;
        grid-row: 2;
        min-height: 0;
        padding: 1.5rem 2rem;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .sdhs-home-updates {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
    .sdhs-home-updates-news,
.sdhs-home-updates-events { width: 100%; }
    .sdhs-home-updates .sdhs-news-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }

    .sdhs-footer-columns {
        display: grid !important;
        grid-template-columns: 1fr 1.4fr;
        gap: 3rem;
    }
    .sdhs-footer-brand { grid-column: 1; }
    .sdhs-footer-contact { grid-column: 2; }
    .sdhs-footer-nav { grid-column: 1 / -1; }
    .sdhs-footer-nav .wp-block-navigation {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
        max-width: 520px;
    }
}

@media (max-width: 700px) {
    body { font-size: 16px; }

    body.home .site-header { top: 46px; }
    body.home .site-header > .wp-block-group { width: calc(100vw - 28px); }
    body.home .wp-block-site-title { max-width: 220px; }
    body.home .wp-block-site-title a { font-size: .72rem !important; }
    

    body.home .sdhs-hero-photo {
        min-height: 660px;
        padding-top: 110px;
        background-position: 58% center;
    }
    body.home .sdhs-hero-content {
        width: calc(100vw - 40px);
        max-width: none;
    }
    body.home .sdhs-hero h1 {
        font-size: clamp(3.25rem, 14vw, 4.7rem);
        line-height: .91;
        letter-spacing: -.045em;
    }
    body.home .sdhs-hero-content .sdhs-lede {
        max-width: 31rem;
        font-size: 1rem;
        line-height: 1.5;
    }
    body.home .sdhs-hero-content .wp-block-buttons { gap: .65rem; }
    body.home .sdhs-hero-content .wp-block-button__link {
        padding: .75rem 1rem;
        font-size: .78rem;
    }

    .sdhs-history-intro { padding: 4rem 20px; }
    .sdhs-history-intro .wp-block-columns {
        display: flex;
        flex-direction: column;
        gap: 2.75rem;
    }
    .sdhs-history-intro .wp-block-column { width: 100%; }
    .sdhs-history-intro h2 {
        font-size: clamp(2.7rem, 11vw, 4rem);
    }
    .sdhs-history-intro .sdhs-archive-image::after {
        width: 95px;
        height: 95px;
        right: 10px;
        bottom: 10px;
        font-size: 2rem;
    }

    .sdhs-three-stories { padding: 3rem 20px; }
    .sdhs-three-stories .wp-block-columns { display: block; }
    .sdhs-three-stories .wp-block-column {
        width: 100%;
        margin: 0 0 2.5rem;
        padding-bottom: 1.6rem;
    }
    
    .sdhs-three-stories .sdhs-card-image img {
        aspect-ratio: 16 / 9;
        width: 100%;
    }
    .sdhs-three-stories .wp-block-column::after {
        width: 46px;
        height: 46px;
    }
    .sdhs-three-stories .wp-block-column > h3 {
        margin-top: 2.25rem;
        font-size: 2rem;
    }

    .sdhs-honor-v3-shell { width: 100vw; }
    .sdhs-honor-v3 {
        width: calc(100vw - 28px);
        display: flex;
        flex-direction: column;
        margin-top: 4rem;
        margin-bottom: 4rem;
    }
    .sdhs-honor-v3-copy {
        min-height: 0;
        padding: 2.4rem 2rem;
    }
    .sdhs-honor-v3 h2 {
        width: auto;
        max-width: none;
        font-size: clamp(2.25rem, 10vw, 3rem);
    }
    .sdhs-honor-v3-copy p { font-size: .92rem; }
    .sdhs-honor-v3-image {
        width: 100%;
        min-height: 340px;
    }
    .sdhs-honor-v3-image::before { inset: -24px; }
    .sdhs-honor-v3-image img {
        height: 320px;
        max-width: 82%;
        transform: translateY(0);
    }
    .sdhs-honor-v3-meta {
        min-height: 0;
        padding: 1.8rem 2rem 2rem;
        border-top: 1px solid rgba(255,255,255,.12);
    }

    .sdhs-home-updates {
        width: calc(100vw - 28px);
        display: block;
        padding-bottom: 4rem;
    }
    .sdhs-home-updates-news { margin-bottom: 4.5rem; }
    .sdhs-home-updates .sdhs-news-grid {
        display: block;
        border-right: 0;
    }
    .sdhs-home-updates .sdhs-news-card {
        width: 100%;
        margin-bottom: 1.5rem;
        border: 1px solid #d9dfe4;
        box-shadow: none;
    }
    .sdhs-home-updates .sdhs-news-card:last-child {
        border-right: 1px solid #d9dfe4 !important;
    }
    .sdhs-home-updates .sdhs-news-card-image img {
        aspect-ratio: 16 / 9;
    }
    .sdhs-home-updates .sdhs-news-card-body {
        min-height: 0;
        padding: 1.35rem 1.4rem 1.6rem;
    }

    .sdhs-home-updates .sdhs-event-row {
        grid-template-columns: 70px minmax(0,1fr) 20px;
        min-height: 0;
        padding: 1.25rem 0;
    }
    .sdhs-home-updates .sdhs-event-date strong { font-size: 2rem; }
    .sdhs-home-updates .sdhs-event-content h3 { font-size: 1rem; }
    .sdhs-home-updates .sdhs-event-content p { font-size: .82rem; }

    .sdhs-final-cta,
.sdhs-interior-cta {
        min-height: 360px !important;
        padding: 3.5rem 20px !important;
        background-position: 62% center !important;
    }
    .sdhs-final-cta h2,
.sdhs-interior-cta h2 {
        font-size: clamp(2.8rem, 12vw, 4rem);
        max-width: 8ch;
    }
    .sdhs-final-cta .wp-block-buttons,
.sdhs-interior-cta .wp-block-buttons { gap: .65rem; }

    .sdhs-footer-inner {
        width: calc(100vw - 36px) !important;
        padding-top: 3rem;
    }
    .sdhs-footer-columns { display: block !important; }
    .sdhs-footer-columns > .wp-block-column {
        width: 100%;
        margin-bottom: 2.8rem;
    }
    .sdhs-footer-brand .wp-block-site-title { max-width: 300px; }
    .sdhs-footer-contact { display: block; }
    .sdhs-footer-contact p {
        margin-bottom: 1.35rem;
        font-size: .9rem;
    }
    .sdhs-footer-nav .wp-block-navigation {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0,1fr)) !important;
        gap: .8rem 2rem !important;
    }
    .sdhs-footer-bottom { display: block !important; }
    .sdhs-footer-bottom p + p { margin-top: .75rem; }
}

@media (max-width: 430px) {
    body.home .sdhs-hero h1 {
        font-size: clamp(3rem, 15vw, 4rem);
    }

    body.home .sdhs-hero-content .wp-block-buttons {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .sdhs-honor-v3-image { min-height: 310px; }
    .sdhs-honor-v3-image img {
        height: 295px;
        max-width: 88%;
    }

    .sdhs-footer-nav .wp-block-navigation {
        grid-template-columns: 1fr 1fr !important;
    }
}


/* =========================================================
   MOBILE REFINEMENT PASS 2
   ========================================================= */

@media (max-width: 700px) {

    /* HEADER */
    body.home .wp-block-site-title {
        max-width: 260px;
    }

    body.home .wp-block-site-title a {
        font-size: .78rem !important;
        line-height: 1.2;
    }

    

    /* HERO */
    body.home .sdhs-hero-content {
        width: calc(100vw - 40px);
        padding-bottom: 2rem;
    }

    body.home .sdhs-hero h1 {
        max-width: 7.6ch;
        font-size: clamp(3rem, 13vw, 4.2rem);
        line-height: .9;
        letter-spacing: -.045em;
    }

    body.home .sdhs-hero-content .sdhs-lede {
        max-width: 29rem;
        margin-top: 1rem;
        font-size: .96rem;
        line-height: 1.45;
    }

    body.home .sdhs-hero-content .wp-block-buttons {
        margin-top: 1.25rem;
    }

    /* HISTORY */
    .sdhs-history-intro {
        padding-top: 3.6rem;
        padding-bottom: 3.8rem;
    }

    .sdhs-history-intro .wp-block-columns {
        gap: 2.4rem;
    }

    /* ACTION CARDS */
    .sdhs-three-stories .wp-block-column {
        margin-bottom: 2.2rem;
    }

    .sdhs-three-stories .wp-block-column:last-child {
        margin-bottom: 0;
    }

    /* WALL OF HONOR */
    .sdhs-honor-v3 {
        margin-top: 3rem;
        margin-bottom: 3.2rem;
    }

    .sdhs-honor-v3-copy {
        padding: 2rem 1.8rem;
    }

    .sdhs-honor-v3-copy .sdhs-kicker {
        margin-bottom: .75rem;
    }

    .sdhs-honor-v3 h2 {
        font-size: clamp(2.15rem, 9.5vw, 2.85rem);
        line-height: .98;
    }

    .sdhs-honor-v3-copy p {
        font-size: .9rem;
        line-height: 1.48;
    }

    .sdhs-honor-v3-image {
        min-height: 315px;
    }

    .sdhs-honor-v3-image img {
        height: 300px;
        max-width: 84%;
        transform: translateY(0);
    }

    .sdhs-honor-v3-meta {
        padding: 1.5rem 1.8rem 1.7rem;
    }

    /* LATEST STORIES */
    .sdhs-home-updates-news {
        margin-bottom: 4rem;
    }

    .sdhs-home-updates .sdhs-news-card {
        margin-bottom: 1.35rem;
    }

    .sdhs-home-updates .sdhs-news-card-body {
        padding: 1.25rem 1.3rem 1.5rem;
    }

    /* EVENTS */
    .sdhs-home-updates .sdhs-event-row {
        grid-template-columns: 54px minmax(0, 1fr) 18px;
        gap: .75rem;
        padding: 1.2rem 0;
    }

    .sdhs-home-updates .sdhs-event-date {
        padding-right: .65rem;
    }

    .sdhs-home-updates .sdhs-event-date strong {
        font-size: 1.75rem;
    }

    .sdhs-home-updates .sdhs-event-content h3 {
        margin-bottom: .3rem;
        font-size: .94rem;
        line-height: 1.2;
    }

    .sdhs-home-updates .sdhs-event-content p {
        font-size: .8rem;
        line-height: 1.42;
    }

    /* CTA */
    .sdhs-final-cta,
.sdhs-interior-cta {
        min-height: 340px !important;
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .sdhs-final-cta h2,
.sdhs-interior-cta h2 {
        max-width: 8.5ch;
        font-size: clamp(2.6rem, 11vw, 3.7rem);
        line-height: .94;
    }

    /* FOOTER */
    .sdhs-footer-columns > .wp-block-column {
        margin-bottom: 3.1rem;
    }

    .sdhs-footer-contact p {
        margin-bottom: 1.55rem;
    }

    .sdhs-footer-nav .wp-block-navigation {
        row-gap: 1rem !important;
    }

    .sdhs-footer-bottom {
        margin-top: 2rem;
    }
}

@media (max-width: 430px) {

    body.home .sdhs-hero h1 {
        max-width: 7ch;
        font-size: clamp(2.9rem, 14.5vw, 3.8rem);
    }

    body.home .sdhs-hero-content .wp-block-buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .sdhs-honor-v3-image {
        min-height: 300px;
    }

    .sdhs-honor-v3-image img {
        height: 287px;
        max-width: 88%;
    }
}


/* =========================================================
   MOBILE POLISH PASS 3
   Header brand, off-canvas nav, story cards, events heading
   ========================================================= */

@media (max-width: 700px) {

    /* -----------------------------------------------------
       HEADER BRAND — show monogram beside site title
       ----------------------------------------------------- */

    body.home .wp-block-site-title a {
        display: flex !important;
        align-items: center;
        gap: .55rem;
    }

    


    /* -----------------------------------------------------
       OFF-CANVAS NAV — dark, readable, intentional
       ----------------------------------------------------- */

    .wp-block-navigation__responsive-container.is-menu-open {
        background: #0b2c49 !important;
        color: #fff !important;
        padding: 1.5rem 1.4rem 2rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        padding-top: 4rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container {
        width: 100%;
        gap: 0 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item {
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content {
        display: block;
        width: 100%;
        padding: 1rem 0 !important;
        color: #fff !important;
        font-size: 1rem !important;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .sdhs-nav-give .wp-block-navigation-item__content {
        width: auto;
        display: inline-block;
        margin-top: 1rem;
        padding: .8rem 1.2rem !important;
        border-radius: 999px;
        background: #0755bb !important;
    }

    .wp-block-navigation__responsive-container-close {
        color: #fff !important;
    }

    .wp-block-navigation__responsive-container-close svg {
        fill: #fff !important;
        stroke: #fff !important;
    }


    /* -----------------------------------------------------
       LATEST STORIES — tighten heading / remove boxy borders
       ----------------------------------------------------- */

    .sdhs-home-updates-news {
        margin-bottom: 3.25rem !important;
    }

    .sdhs-home-updates-news > .sdhs-section-heading,
.sdhs-home-updates-news > h2,
.sdhs-home-updates-news > header {
        margin-bottom: 1rem !important;
    }

    .sdhs-home-updates .sdhs-news-grid {
        margin-top: 0 !important;
        border: 0 !important;
    }

    .sdhs-home-updates .sdhs-news-card,
.sdhs-home-updates .sdhs-news-card:last-child {
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #d9dfe4 !important;
        box-shadow: none !important;
        margin-bottom: 0 !important;
    }

    .sdhs-home-updates .sdhs-news-card + .sdhs-news-card {
        margin-top: 1.35rem !important;
    }

    .sdhs-home-updates .sdhs-news-card-body {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* -----------------------------------------------------
       UPCOMING EVENTS — normalize heading / view-all row
       ----------------------------------------------------- */

    .sdhs-home-updates-events {
        margin-top: 0 !important;
    }

    .sdhs-home-updates-events .sdhs-section-head {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin: 0 0 .9rem !important;
        padding: 0 0 .8rem !important;
        border-bottom: 1px solid #d9dfe4;
    }

    .sdhs-home-updates-events .sdhs-section-head h2,
.sdhs-home-updates-events .sdhs-section-head .sdhs-kicker {
        margin: 0 !important;
    }

    .sdhs-home-updates-events .sdhs-section-head .sdhs-text-link {
        margin: 0 !important;
        white-space: nowrap;
    }

    .sdhs-home-updates-events .sdhs-events-list {
        border-top: 0 !important;
    }
}


/* =========================================================
   MOBILE POLISH PASS 4
   Upcoming Events header + off-canvas menu + mobile logo
   ========================================================= */

@media (max-width: 700px) {

    /* -----------------------------------------------------
       MOBILE HEADER BRAND — ensure monogram is visible
       ----------------------------------------------------- */

    body.home .site-header .wp-block-site-title a {
        display: flex !important;
        align-items: center !important;
        gap: .6rem !important;
    }

    


    /* -----------------------------------------------------
       OFF-CANVAS NAV — cleaner spacing and left-aligned Give
       ----------------------------------------------------- */

    .wp-block-navigation__responsive-container.is-menu-open {
        padding: 1.4rem 1.4rem 2rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        padding-top: 3.6rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item {
        border-bottom: 1px solid rgba(255,255,255,.14) !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content {
        padding: .9rem 0 !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .sdhs-nav-give {
        border-bottom: 0 !important;
        padding-top: .9rem !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .sdhs-nav-give .wp-block-navigation-item__content {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: .72rem 1.1rem !important;
        border-radius: 999px !important;
        background: #0755bb !important;
        color: #fff !important;
    }

    .wp-block-navigation__responsive-container-close {
        top: 1.25rem !important;
        right: 1.25rem !important;
    }


    /* -----------------------------------------------------
       UPCOMING EVENTS — compact heading row, single divider
       ----------------------------------------------------- */

    .sdhs-home-updates-events {
        display: grid !important;
        grid-template-columns: 1fr auto;
        column-gap: 1rem;
        align-items: end;
    }

    .sdhs-home-updates-events > .sdhs-kicker,
.sdhs-home-updates-events > h2,
.sdhs-home-updates-events > .sdhs-section-title {
        grid-column: 1;
        margin: 0 !important;
        padding: 0 !important;
    }

    .sdhs-home-updates-events > .sdhs-text-link,
.sdhs-home-updates-events > .sdhs-view-all {
        grid-column: 2;
        margin: 0 !important;
        padding: 0 !important;
        white-space: nowrap;
        align-self: end;
    }

    .sdhs-home-updates-events > .sdhs-section-head {
        grid-column: 1 / -1;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        margin: 0 0 .75rem !important;
        padding: 0 0 .75rem !important;
        border-bottom: 1px solid #d9dfe4 !important;
    }

    .sdhs-home-updates-events > .sdhs-events-list,
.sdhs-home-updates-events > .sdhs-event-list {
        grid-column: 1 / -1;
        margin-top: .75rem !important;
        border-top: 0 !important;
    }

    /* If heading and view-all are separate direct children,
       give the event list one clean divider and remove extras. */
    .sdhs-home-updates-events > .sdhs-text-link + *,
.sdhs-home-updates-events > .sdhs-view-all + * {
        grid-column: 1 / -1;
    }

    .sdhs-home-updates-events .sdhs-event-row:first-child {
        border-top: 1px solid #d9dfe4 !important;
    }

    .sdhs-home-updates-events .sdhs-event-row {
        border-bottom: 1px solid #d9dfe4 !important;
    }
}


/* =========================================================
   UPCOMING EVENTS — MOBILE FOOTER LINK
   ========================================================= */

@media (max-width: 700px) {

    .sdhs-events-footer {
        margin-top: 1rem;
        padding-top: .9rem;
        text-align: left;
    }

}


/* =========================================================
   UPCOMING EVENTS — REMOVE DOUBLE DIVIDERS
   ========================================================= */

.sdhs-events-list {
    border-top: 0 !important;
}

.sdhs-events-footer {
    border-top: 0 !important;
}

/* Keep one clean line above the events */
.sdhs-home-section-heading {
    border-bottom: 1px solid #d9dfe4 !important;
}

/* Keep one clean line below the final event */
.sdhs-event-row:last-child {
    border-bottom: 1px solid #d9dfe4 !important;
}


/* Upcoming Events — remove duplicate top divider */
.sdhs-events-home .sdhs-event-row:first-child {
    border-top: 0 !important;
}


/* Upcoming Events — tighten space below heading */
.sdhs-home-updates .sdhs-events-home .sdhs-home-section-heading {
    margin-bottom: .65rem !important;
}

/* === SDHS FINAL MOBILE LAST-LOAD OVERRIDES === */

@media (max-width: 700px) {

    html,
body,
.wp-site-blocks,
main,
.wp-block-post-content,
.sdhs-about-page,
.sdhs-events-page,
.sdhs-join-page,
.sdhs-give-page,
.sdhs-membership-payment-page,
.sdhs-form-page,
.sdhs-gbnf-page,
.sdhs-woh-page,
.sdhs-newsletter-page,
.sdhs-history-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html,
body,
.wp-site-blocks,
main {
        overflow-x: hidden !important;
    }

    /* Header must reserve a real slot for the hamburger. */
    .site-header {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .site-header > .wp-block-group {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .site-header .wp-block-site-title {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 54px) !important;
        margin: 0 !important;
    }

    .site-header .wp-block-site-title a {
        max-width: 100% !important;
        white-space: normal !important;
        font-size: .72rem !important;
        line-height: 1.15 !important;
    }

    .site-header .wp-block-navigation {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        margin-left: 10px !important;
    }

    .site-header .wp-block-navigation__responsive-container-open {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #fff !important;
    }

    .site-header .wp-block-navigation__responsive-container-open svg {
        width: 28px !important;
        height: 28px !important;
        display: block !important;
        fill: currentColor !important;
        stroke: currentColor !important;
    }

    /* Hero content is full viewport with fixed inset, never percentage-based. */
    body.home .sdhs-hero-content,
.sdhs-history-hero-inner,
.sdhs-about-hero-inner,
.sdhs-events-hero-inner,
.sdhs-event-single-hero-inner,
.sdhs-join-hero-inner,
.sdhs-give-hero-inner,
.sdhs-form-hero-inner,
.sdhs-membership-payment-hero-inner,
.sdhs-gbnf-hero-inner,
.sdhs-woh-hero-inner,
.sdhs-newsletter-hero-inner {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* All major mobile section containers use one 20px side gutter. */
    .sdhs-history-timeline,
.sdhs-history-intro,
.sdhs-history-story,
.sdhs-history-preserve,
.sdhs-about-intro,
.sdhs-about-work-inner,
.sdhs-about-leadership,
.sdhs-about-why-inner,
.sdhs-about-contact,
.sdhs-events-archive-wrap,
.sdhs-events-reunion-note,
.sdhs-event-single-body,
.sdhs-join-intro,
.sdhs-join-experience-inner,
.sdhs-join-memberships,
.sdhs-join-who-inner,
.sdhs-join-help,
.sdhs-give-intro,
.sdhs-give-impact,
.sdhs-give-story-inner,
.sdhs-give-now,
.sdhs-give-sports-inner,
.sdhs-give-legacy,
.sdhs-give-contact,
.sdhs-form-content,
.sdhs-membership-payment-content,
.sdhs-gbnf-intro,
.sdhs-gbnf-directory,
.sdhs-gbnf-submit,
.sdhs-woh-intro,
.sdhs-woh-feature,
.sdhs-woh-grid-wrap,
.sdhs-woh-archive,
.sdhs-woh-nominate,
.sdhs-newsletter-intro,
.sdhs-newsletter-latest,
.sdhs-newsletter-archive {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

/* === SDHS HOME MOBILE CHILD WIDTH SAFETY ===
     * The page-level gutter is authoritative. Children must fit inside it
     * rather than adding their own viewport width/flex basis.
     */
    body.home .sdhs-three-stories .wp-block-columns,
    body.home .sdhs-three-stories .wp-block-column,
    body.home .sdhs-story-card,
    body.home .sdhs-honor-v3 > *,
    body.home .sdhs-home-updates > *,
    body.home .sdhs-home-updates-news,
    body.home .sdhs-home-updates-events,
    body.home .sdhs-home-updates .sdhs-news-grid,
    body.home .sdhs-home-updates .sdhs-news-card,
    body.home .sdhs-home-updates .sdhs-news-card-image,
    body.home .sdhs-home-updates .sdhs-news-card-body,
    body.home .sdhs-home-updates .sdhs-events-home,
    body.home .sdhs-home-updates .sdhs-events-list,
    body.home .sdhs-home-updates .sdhs-event-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-three-stories .wp-block-column {
        flex-basis: 100% !important;
    }

    body.home .sdhs-three-stories img,
    body.home .sdhs-home-updates img,
    body.home .sdhs-honor-v3 img {
        display: block;
        max-width: 100% !important;
        height: auto;
    }

    body.home .sdhs-home-updates .sdhs-news-card,
    body.home .sdhs-three-stories .wp-block-column,
    body.home .sdhs-honor-v3 {
        overflow: hidden;
    }

    body.home .sdhs-home-updates .sdhs-event-row {
        grid-template-columns: minmax(0, 54px) minmax(0, 1fr) minmax(0, 18px);
    }

    body.home .sdhs-home-updates .sdhs-event-content,
    body.home .sdhs-home-updates .sdhs-event-content h3,
    body.home .sdhs-home-updates .sdhs-event-content p {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word;
    }

/* === SDHS HOME MOBILE CARD FIT ===
     * Keep card-like components inside the canonical 20px mobile gutter.
     * Reset older centering/breakout geometry on homepage children only.
     */
    body.home .sdhs-three-stories .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.home .sdhs-three-stories .wp-block-column,
    body.home .sdhs-story-card,
    body.home .sdhs-honor-v3,
    body.home .sdhs-home-updates-news,
    body.home .sdhs-home-updates-events,
    body.home .sdhs-home-updates .sdhs-news-card,
    body.home .sdhs-home-updates .sdhs-events-home {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-three-stories .wp-block-column {
        flex: 0 0 auto !important;
        margin-bottom: 0 !important;
    }

    body.home .sdhs-three-stories .wp-block-image,
    body.home .sdhs-three-stories .wp-block-image img,
    body.home .sdhs-home-updates .sdhs-news-card-image,
    body.home .sdhs-home-updates .sdhs-news-card-image img {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-three-stories .wp-block-image img,
    body.home .sdhs-home-updates .sdhs-news-card-image img {
        display: block !important;
        height: auto !important;
    }

    body.home .sdhs-home-updates .sdhs-news-grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card {
        overflow: hidden !important;
    }

    body.home .sdhs-home-updates .sdhs-event-row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

/* === SDHS HOME MOBILE DENSITY + ICON FIX ===
     * Final homepage-only mobile refinements after gutter normalization.
     */

    /* Action cards: keep the badge fully visible and remove oversized gaps. */
    body.home .sdhs-three-stories,
    body.home .sdhs-three-stories .wp-block-columns,
    body.home .sdhs-three-stories .wp-block-column {
        overflow: visible !important;
    }

    body.home .sdhs-three-stories .wp-block-columns {
        gap: 1.25rem !important;
    }

    body.home .sdhs-three-stories .wp-block-column {
        min-height: 0 !important;
        padding-bottom: 1.15rem !important;
    }

    body.home .sdhs-three-stories .wp-block-column::after {
        top: -22px !important;
        z-index: 5 !important;
    }

    body.home .sdhs-three-stories .wp-block-image {
        margin-bottom: 0 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-three-stories .wp-block-column > h3 {
        margin-top: 1.7rem !important;
    }

    /* Wall of Honor: collapse the old tall desktop/mobile proportions. */
    body.home .sdhs-honor-v3 {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-honor-v3-copy,
    body.home .sdhs-honor-v3-image,
    body.home .sdhs-honor-v3-meta {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-honor-v3-image {
        min-height: 240px !important;
    }

    body.home .sdhs-honor-v3-image img {
        width: auto !important;
        max-width: 84% !important;
        height: 230px !important;
        max-height: 230px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    /* Latest Stories: eliminate inherited minimum heights and breakout sizing. */
    body.home .sdhs-home-updates .sdhs-news-card {
        display: block !important;
        min-height: 0 !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-image {
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-image img {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-body {
        min-height: 0 !important;
        height: auto !important;
        padding: 1rem 0 1.15rem !important;
    }

    /* Upcoming Events: keep the three grid tracks inside the parent. */
    body.home .sdhs-home-updates .sdhs-event-row {
        grid-template-columns: 48px minmax(0, 1fr) 16px !important;
        gap: .65rem !important;
    }

    body.home .sdhs-home-updates .sdhs-event-date,
    body.home .sdhs-home-updates .sdhs-event-content,
    body.home .sdhs-home-updates .sdhs-event-arrow {
        min-width: 0 !important;
        max-width: 100% !important;
    }

/* === SDHS HOME MOBILE CONSISTENT GUTTERS ===
     * One 20px inset for all major homepage sections.
     */
    body.home .sdhs-history-intro,
    body.home .sdhs-three-stories,
    body.home .sdhs-honor-v3,
    body.home .sdhs-home-updates {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* History image/columns must stay inside that same gutter. */
    body.home .sdhs-history-intro .wp-block-columns,
    body.home .sdhs-history-intro .wp-block-column,
    body.home .sdhs-history-intro .wp-block-image,
    body.home .sdhs-history-intro figure,
    body.home .sdhs-history-intro img {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-history-intro img {
        display: block !important;
        height: auto !important;
        object-fit: cover;
    }

    /* News and Events are children of the guttered updates container. */
    body.home .sdhs-home-updates-news,
    body.home .sdhs-home-updates-events {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

/* === SDHS HOME MOBILE CANONICAL LAYOUT ===
     * One consistent 20px horizontal inset for homepage content.
     * Full-width section wrappers use padding; card components are inset.
     */

    body.home .sdhs-history-intro,
    body.home .sdhs-three-stories,
    body.home .sdhs-home-updates {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-honor-v3 {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        margin-left: 20px !important;
        margin-right: 20px !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-history-intro .wp-block-columns,
    body.home .sdhs-history-intro .wp-block-column,
    body.home .sdhs-history-intro .wp-block-image,
    body.home .sdhs-history-intro figure,
    body.home .sdhs-history-intro img {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-history-intro img {
        display: block !important;
        height: auto !important;
        object-fit: cover;
    }

    body.home .sdhs-three-stories,
    body.home .sdhs-three-stories .wp-block-columns,
    body.home .sdhs-three-stories .wp-block-column {
        overflow: visible !important;
    }

    body.home .sdhs-three-stories .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 1.25rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.home .sdhs-three-stories .wp-block-column,
    body.home .sdhs-story-card {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding-bottom: 1.15rem !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-three-stories .wp-block-column::after {
        top: -22px !important;
        z-index: 5 !important;
    }

    body.home .sdhs-three-stories .wp-block-image,
    body.home .sdhs-three-stories .wp-block-image img {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-three-stories .wp-block-image {
        margin-bottom: 0 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-three-stories .wp-block-image img {
        display: block !important;
        height: auto !important;
    }

    body.home .sdhs-three-stories .wp-block-column > h3 {
        margin-top: 1.7rem !important;
    }

    body.home .sdhs-honor-v3 {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-honor-v3-copy,
    body.home .sdhs-honor-v3-image,
    body.home .sdhs-honor-v3-meta {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-honor-v3-image {
        min-height: 240px !important;
    }

    body.home .sdhs-honor-v3-image img {
        display: block !important;
        width: auto !important;
        max-width: 84% !important;
        height: 230px !important;
        max-height: 230px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        object-position: center bottom !important;
    }

    body.home .sdhs-home-updates > *,
    body.home .sdhs-home-updates-news,
    body.home .sdhs-home-updates-events,
    body.home .sdhs-home-updates .sdhs-news-grid,
    body.home .sdhs-home-updates .sdhs-news-card,
    body.home .sdhs-home-updates .sdhs-news-card-image,
    body.home .sdhs-home-updates .sdhs-news-card-body,
    body.home .sdhs-home-updates .sdhs-events-home,
    body.home .sdhs-home-updates .sdhs-events-list,
    body.home .sdhs-home-updates .sdhs-event-row {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-home-updates .sdhs-news-grid {
        display: block !important;
        margin-top: 0 !important;
        padding: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card {
        display: block !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-image {
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
    }

    body.home .sdhs-home-updates .sdhs-news-card-body {
        min-height: 0 !important;
        height: auto !important;
        padding: 1rem 0 1.15rem !important;
    }

    body.home .sdhs-home-updates .sdhs-event-row {
        grid-template-columns: 48px minmax(0, 1fr) 16px !important;
        gap: .65rem !important;
    }

    body.home .sdhs-home-updates .sdhs-event-date,
    body.home .sdhs-home-updates .sdhs-event-content,
    body.home .sdhs-home-updates .sdhs-event-arrow,
    body.home .sdhs-home-updates .sdhs-event-content h3,
    body.home .sdhs-home-updates .sdhs-event-content p {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: break-word;
    }

    /* Headings and copy must wrap inside their container. */
    .wp-block-post-content h1,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content p,
body.home .sdhs-hero h1,
.sdhs-about-title,
.sdhs-events-hero h1,
.sdhs-event-single-hero h1,
.sdhs-membership-payment-hero h1 {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        box-sizing: border-box !important;
    }

    body.home .sdhs-hero h1 {
        font-size: clamp(2.65rem, 12vw, 3.35rem) !important;
        line-height: .93 !important;
    }

    .sdhs-about-title,
.sdhs-events-hero h1,
.sdhs-event-single-hero h1 {
        font-size: clamp(2.7rem, 12.5vw, 3.35rem) !important;
        line-height: .94 !important;
    }

    .sdhs-membership-payment-hero h1 {
        font-size: clamp(2.55rem, 11.5vw, 3.2rem) !important;
        line-height: .94 !important;
    }

    .gform_wrapper,
.gform_wrapper form,
.gform_wrapper .gfield,
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
img,
video,
iframe {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 430px) {
    .site-header > .wp-block-group {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.home .sdhs-hero-content,
.sdhs-history-hero-inner,
.sdhs-about-hero-inner,
.sdhs-events-hero-inner,
.sdhs-event-single-hero-inner,
.sdhs-join-hero-inner,
.sdhs-give-hero-inner,
.sdhs-form-hero-inner,
.sdhs-membership-payment-hero-inner,
.sdhs-gbnf-hero-inner,
.sdhs-woh-hero-inner,
.sdhs-newsletter-hero-inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .sdhs-history-timeline,
.sdhs-history-intro,
.sdhs-history-story,
.sdhs-history-preserve,
.sdhs-about-intro,
.sdhs-about-work-inner,
.sdhs-about-leadership,
.sdhs-about-why-inner,
.sdhs-about-contact,
.sdhs-events-archive-wrap,
.sdhs-events-reunion-note,
.sdhs-event-single-body,
.sdhs-join-intro,
.sdhs-join-experience-inner,
.sdhs-join-memberships,
.sdhs-join-who-inner,
.sdhs-join-help,
.sdhs-give-intro,
.sdhs-give-impact,
.sdhs-give-story-inner,
.sdhs-give-now,
.sdhs-give-sports-inner,
.sdhs-give-legacy,
.sdhs-give-contact,
.sdhs-form-content,
.sdhs-membership-payment-content,
.sdhs-gbnf-intro,
.sdhs-gbnf-directory,
.sdhs-gbnf-submit,
.sdhs-woh-intro,
.sdhs-woh-feature,
.sdhs-woh-grid-wrap,
.sdhs-woh-archive,
.sdhs-woh-nominate,
.sdhs-newsletter-intro,
.sdhs-newsletter-latest,
.sdhs-newsletter-archive {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
    }
}

/* === SDHS MOBILE ABOUT SUBMENU + LOGO FIX === */

@media (max-width: 700px) {

    /* Correct official logo on all mobile pages. */
    

    /* About submenu inside the dark mobile drawer. */
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 0 .35rem 1rem !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
        border-bottom: 0 !important;
        background: transparent !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        padding: .65rem 0 !important;
        color: rgba(255,255,255,.84) !important;
        background: transparent !important;
        font-size: .9rem !important;
        font-weight: 600 !important;
        letter-spacing: .02em !important;
        text-transform: none !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle {
        color: #fff !important;
    }

    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle svg {
        stroke: #fff !important;
        fill: #fff !important;
    }
}

/* === SDHS MOBILE LOGO COLOR PRESERVE === */

@media (max-width: 700px) {
    
}

/* === SDHS FOOTER MOBILE WRAP REFINEMENT === */

@media (max-width: 700px) {
    .sdhs-footer-nav .wp-block-navigation {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 1.75rem !important;
    }

    .sdhs-footer-nav .wp-block-navigation-item__content,
.sdhs-footer-nav .wp-block-navigation-item__label {
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
}

/* === SDHS MOBILE SUBMENU + FOOTER PROPORTION === */

@media (max-width: 700px) {
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        text-transform: none !important;
        letter-spacing: .01em !important;
        font-weight: 600 !important;
    }

    .sdhs-footer-nav .wp-block-navigation {
        grid-template-columns:
            minmax(92px, .70fr)
            minmax(145px, 1.30fr) !important;
        column-gap: 1.25rem !important;
    }

    .sdhs-footer-nav .wp-block-navigation-item__content,
.sdhs-footer-nav .wp-block-navigation-item__label {
        text-transform: none !important;
        letter-spacing: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
}

/* =========================================================
   SDHS MOBILE NAV — FULLSCREEN, PAGE-INDEPENDENT FIX
   ========================================================= */

@media (max-width: 700px) {
    /* Keep the full Alumni seal usable but compact in the mobile header. */
    

    /* WordPress responsive nav must escape page-specific header/layout rules. */
    .site-header .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 100000 !important;
        overflow-y: auto !important;
        background: #0B1F33 !important;
        color: #fff !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        padding: 84px 28px 40px !important;
        margin: 0 !important;
    }

    .site-header .wp-block-navigation__responsive-container-close {
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
        z-index: 100001 !important;
        color: #fff !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container,
.site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100% !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item {
        width: 100% !important;
        margin: 0 !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content,
.site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 15px 0 !important;
        color: #fff !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.16) !important;
        font-size: 1.08rem !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
    }

    /* Nested News/About links: keep them visible and in normal flow. */
    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        position: static !important;
        inset: auto !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 0 6px 18px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .site-header .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
        padding: 12px 0 !important;
        font-size: .96rem !important;
        color: rgba(255,255,255,.86) !important;
    }

    /* Ensure page-level white/dark header overrides cannot recolor an open drawer. */
    body .site-header .wp-block-navigation__responsive-container.is-menu-open a,
body .site-header .wp-block-navigation__responsive-container.is-menu-open button,
body .site-header .wp-block-navigation__responsive-container.is-menu-open svg {
        color: #fff !important;
        fill: currentColor !important;
    }

    body.admin-bar .site-header .wp-block-navigation__responsive-container.is-menu-open {
        top: 0 !important;
    }
}

body .site-header .wp-block-site-title > a::after,
body .site-header .wp-block-site-title a::after {
    background-image: none !important;
}
@media (max-width: 700px) {
    
}

/* === SDHS NATIVE SITE LOGO - FINAL === */

/*
 * The header now uses WordPress's real Site Logo block.
 * Turn off all legacy pseudo-element logos so desktop/mobile/archive
 * headers cannot disagree about which mark to show.
 */


.site-header .sdhs-header-site-logo {
    flex: 0 0 auto !important;
    margin: 0 12px 0 0 !important;
}

.site-header .sdhs-header-site-logo img,
.site-header .wp-block-site-logo.sdhs-header-site-logo img,
.site-header .custom-logo {
    display: block !important;
    object-fit: contain !important;
    max-width: none !important;
}

.site-header .wp-block-site-logo + .wp-block-site-title {
    margin-left: 0 !important;
}

@media (max-width: 700px) {
    .site-header .sdhs-header-site-logo {
        margin-right: 9px !important;
    }

    .site-header .sdhs-header-site-logo img,
.site-header .wp-block-site-logo.sdhs-header-site-logo img,
.site-header .custom-logo {
    }
}

/* HEADER LOGO — native Site Logo only on mobile */
@media (max-width: 700px) {
    
}


/* =========================================================
   SDHS MOBILE NAV — FULL WIDTH / WORKING DROPDOWNS
   ========================================================= */
@media (max-width: 781px) {

    /* Full viewport drawer */
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background: #0b2c49 !important;
        z-index: 999999 !important;
    }

    /* WordPress adds this inner dialog wrapper */
    body .site-header .wp-block-navigation__responsive-dialog,
body .site-header .wp-block-navigation__responsive-container-content {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body .site-header .wp-block-navigation__responsive-container-content {
        display: block !important;
        padding: 90px 32px 48px !important;
    }

    /* Close button */
    body .site-header .wp-block-navigation__responsive-container-close {
        position: absolute !important;
        top: 24px !important;
        right: 28px !important;
        margin: 0 !important;
        color: #fff !important;
        z-index: 2 !important;
    }

    /* Main navigation and list */
    body .site-header .sdhs-main-nav,
body .site-header .wp-block-navigation__container {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .site-header .wp-block-navigation__container {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
    }

    /* Every top-level item gets the whole row */
    body .site-header .wp-block-navigation__container > .wp-block-navigation-item {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .site-header .wp-block-navigation__container >
    .wp-block-navigation-item >
    .wp-block-navigation-item__content {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 17px 52px 17px 0 !important;

        color: #fff !important;
        font-size: 1.15rem !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        text-decoration: none !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;

        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.18) !important;
    }

    /*
     * Put the News/About dropdown button on the SAME ROW
     * instead of allowing it to become a separate little row.
     */
    body .site-header
    .wp-block-navigation__container >
    .wp-block-navigation-submenu >
    .wp-block-navigation-submenu__toggle {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 56px !important;
        min-width: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #fff !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    body .site-header
    .wp-block-navigation-submenu__toggle svg {
        display: block !important;
        width: 16px !important;
        height: 16px !important;
        margin: 0 !important;
        fill: currentColor !important;
        stroke: currentColor !important;
    }

    /* Closed submenu */
    body .site-header
    .wp-block-navigation-submenu__toggle[aria-expanded="false"]
    ~ .wp-block-navigation__submenu-container {
        display: none !important;
    }

    /* Open submenu */
    body .site-header
    .wp-block-navigation-submenu__toggle[aria-expanded="true"]
    ~ .wp-block-navigation__submenu-container {
        display: block !important;
    }

    /* Submenus become normal full-width rows */
    body .site-header .wp-block-navigation__submenu-container {
        position: static !important;
        inset: auto !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 4px 0 8px 20px !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    body .site-header
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .site-header
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;

        margin: 0 !important;
        padding: 13px 0 !important;

        color: rgba(255,255,255,.86) !important;
        font-size: 1rem !important;
        line-height: 1.35 !important;
        font-weight: 500 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;

        border: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }
}


/* =========================================================
   SDHS MOBILE NAV — CLEAN FINAL APPEARANCE
   No borders, no dropdown arrows, submenus always visible
   ========================================================= */
@media (max-width: 781px) {

    /* Remove all menu borders/dividers */
    body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content,
body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Remove dropdown toggle arrows/buttons entirely */
    body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-submenu__toggle {
        display: none !important;
    }

    /* Keep submenu content visible */
    body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__submenu-container {
        display: block !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 12px 18px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Slightly quieter submenu styling */
    body .site-header
    .wp-block-navigation__submenu-container
    .wp-block-navigation-item__content {
        padding: 9px 0 !important;
        font-size: .95rem !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
        color: rgba(255,255,255,.88) !important;
    }

    /* Clean spacing between top-level groups */
    body .site-header
    .wp-block-navigation__container >
    .wp-block-navigation-item {
        margin: 0 0 8px !important;
    }

    /* Remove any rounded/bordered nav-container treatment */
    body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container,
body .site-header
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}


/* SDHS HEADER LOGO MOBILE MAX 44 V1 */
@media (max-width: 700px) {
    .site-header .sdhs-header-site-logo img,
    .site-header .wp-block-site-logo.sdhs-header-site-logo img,
    .site-header .custom-logo {
        max-width: 44px !important;
    }
}
