@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Lato:ital,wght@0,400;0,700;1,400&family=Libre+Baskerville:ital,wght@0,400;0,700;1,700&display=swap');
/* ARTWORK NOTES
--------------------------------------------

--------------------------------------------
*/
body.school-redesign.site-home {
    --section-above-bg: var(--secondary-color);
}

body.school-redesign {
    --side-menu-bg: var(--primary-color);
    --side-menu-bg-hover: var(--secondary-color);
    --side-menu-font-size-desktop: min(1.25vw, 1.25rem);
    --side-menu-font-family: var(--body-font-family);
    --side-menu-font-weight: 400;
}

body.school-redesign #g-navigation {
    --main-menu-text-color: var(--default-white);
    --main-menu-text-color-hover: var(--default-white);
	--main-menu-bg: var(--secondary-color);

    --navigation-floating-social-padding: min(1vw, 1rem);
}

body.school-redesign body.school-redesign .g-array-item-text {
    margin: 0!important;
    padding: 0!important;
}

/* NAVIGATION */
@media only screen and (min-width: 50.99rem) {
    body.school-redesign #g-navigation > .g-container > .g-grid:has(.g-main-nav) {
        position: relative;
    }
    body.school-redesign #g-navigation > .g-container > .g-grid:has(.g-main-nav):before {
        content: '';
        background: var(--secondary-color);
        height: 100%;
        width: 3000%;
        margin-left: -500%;
        margin-right: -500%;
        position: absolute;
    }
}

/*BOTTOM*/
@media only screen and (min-width: 50.99rem) {
    body.school-redesign #g-bottom {
        position: relative;
        z-index: 10;
    }
    body.school-redesign #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    body.school-redesign #g-bottom .admod td {
        padding-top: 0!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    body.school-redesign #g-bottom {
        position: relative;
        z-index: 10;
    }
    body.school-redesign .site.withmaxwidth #g-bottom > .g-container {
        padding: 2rem 0!important;
    }
    body.school-redesign #g-bottom .admod td {
        padding-top: .5rem!important;
    }
}

body.school-redesign body.school-redesign .search-page #searchForm .btn {
    background: var(--primary-color);
}

body.school-redesign body.school-redesign .grid-articles .g-array-item-text a:not(a.button) {
    color: var(--primary-color);
}
body.school-redesign .grid-articles .g-array-item-text a {
    color: var(--primary-color);
}

@media only screen and (max-width: 50.99rem) {
    body.school-redesign .admod.adside tbody {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: .5rem .5rem;
    }
}

@media only screen and (max-width: 50.99rem) {
    body#site-grid.newslayout #g-container-main > .g-container {
        padding: 2rem 1rem!important;
    }
    body#site-grid.newslayout #g-container-main #g-mainbar {
        margin: 0!important;
        padding: 0!important;
    }

    body.school-redesign #site-grid.newslayout .grid-mobile-stacked .g-item-title {
        --grid-title-font-size: 3vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    body.school-redesign .side-menu-particle .g-blockcontent-subcontent-title-text {
        --side-menu-font-size-desktop: 4vw;
    }
}

@media only screen and (max-width: 50.99rem) {
    body.school-redesign .grid-img-box-shadow-50 .g-array-item-image {
        box-shadow: none!important;
    }
    body.school-redesign .grid-mobile-stacked .g-array-item-image img {
        box-shadow: none!important;
    }
}

@media only screen and (max-width: 50.99rem) {
    body.school-redesign .bulletin-page .koowa_media {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1rem;
    }
    body.school-redesign .bulletin-page .koowa_media__item {
        flex: 1;
        min-width: calc(50% - .5rem);
        max-width: calc(50% - .5rem);
    }
}

/* Schulte school redesign 2026. Loaded only by the four school outlines. */

/* Utility article grids also contain the embedded menu; suppress legacy bands. */
body.school-redesign #g-navigation .g-grid:has(.g-main-nav)::before { content: none !important; }
body.school-redesign #g-navigation .g-grid:has(.g-main-nav) { background: transparent !important; }
body.school-redesign :is(.school-information,.school-story,.school-footer-grid) h3 { border: 0 !important; padding: 0 !important; }
body.school-redesign .school-information h2 { border-bottom: 1px solid #001642 !important; padding-bottom: 10px !important; margin-bottom: 24px !important; }
body.school-redesign .school-search { background: #ffffff1a; border: 1px solid #ffffff80; }
body.school-redesign .school-search input[type=search],body.school-redesign .school-search button { background: transparent; color: #fff; }
body.school-redesign .school-search input::placeholder { color: #ffffffb3; }
body.school-redesign .school-give { border: 1px solid #fff !important; background: transparent !important; color: #fff !important; }
body.school-redesign .school-news-widget .g-item-title { font: 700 15px/1.4 'Libre Baskerville',serif; border: 0; padding: 0; margin: 0; }
body.school-redesign .school-news-widget .g-array-item-title { margin: 0; }
body.school-redesign .school-events-widget .rme-items { display: grid; grid-template-columns: 1fr; gap: 15px; margin: 0; padding: 0; list-style: none; }
body.school-redesign .school-events-widget .rme-items .rme-item { width: 100%; min-height: 90px; display: flex; gap: 20px; align-items: center; padding: 12px; margin: 0; border-radius: 6px; background: #fff; box-shadow: 0 2px 8px #0000000d; }
body.school-redesign .school-events-widget .rme-badge { width: 53px; height: 57px; flex: 0 0 53px; display: flex; flex-direction: column-reverse; justify-content: center; align-items: center; background: #001642; color: #fff; padding: 5px; border-radius: 6px; }
body.school-redesign .school-events-widget .rme-day { font: 700 20px/24px var(--title-font-family); }
body.school-redesign .school-events-widget .rme-month { font: 700 12px/16px var(--body-font-family); }
body.school-redesign .school-events-widget .rme-description { min-width: 0; padding: 0; color: #666; }
body.school-redesign .school-events-widget .rme-title { font: 700 15px/1.4 'Libre Baskerville',serif; color: #2b2b2b; display: block; margin: 0 0 5px; }
body.school-redesign .school-events-widget .rme-time { font: 400 13px/18px var(--body-font-family); }
body.school-redesign .school-events-widget .rme-timeline { display: none; }
body.school-redesign .school-copyright-block { width: 100%; text-align: left; }
body.school-redesign .school-copyright-block .school-copyright a { color: #fff; }
body.school-redesign .school-sponsor-opportunities-block > .g-content { margin: 0; padding: 0; }
body.school-redesign .school-sponsor-opportunities { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px; }
body.school-redesign .school-sponsor-opportunities a.button { min-height: 67px; border: 1px dashed #888; border-radius: 0; background: transparent; color: #2b2b2b; font-size: 14px; }
body.school-redesign .school-sponsor-opportunities a.button:hover { border-color: #001642; background: #fff; }
body.school-redesign .school-search input[type=search], body.school-redesign .school-search button { background: transparent !important; color: #fff !important; }
body.school-redesign .school-search { background: #ffffff1a !important; border: 1px solid #ffffff80; }
body.school-redesign #g-copyright .g-grid { width: 100%; display: block; }
body.school-redesign #g-copyright .g-block { width: 100%; }
@media (max-width: 50.99rem) { body.school-redesign .school-sponsor-opportunities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; } }
@media (max-width: 540px) { body.school-redesign .school-sponsor-opportunities a.button { font-size: 12px; padding-inline: 8px; } }

body.school-redesign {
    --primary-color-rgb: 0,22,66;
    --secondary-color-rgb: 201,164,76;
    --tertiary-color-rgb: 232,221,197;
    --primary-color: rgb(var(--primary-color-rgb));
    --secondary-color: rgb(var(--secondary-color-rgb));
    --tertiary-color: rgb(var(--tertiary-color-rgb));
    --title-font-family: 'Cinzel', serif;
    --body-font-family: 'Lato', sans-serif;
    --school-ivory: #f4efe4;
    --school-charcoal: #2b2b2b;
    --section-above-bg: var(--secondary-color);
    --side-menu-bg: var(--primary-color);
    --side-menu-bg-hover: var(--secondary-color);
    --site-max-width: 1440px;
    font: 400 16px/1.5 var(--body-font-family);
    color: var(--school-charcoal);
    background: var(--school-ivory);
}
body.school-redesign *, body.school-redesign *::before, body.school-redesign *::after { box-sizing: border-box; }
body.school-redesign h1, body.school-redesign h2 { font-family: var(--title-font-family); }
body.school-redesign a { color: inherit; }
body.school-redesign a:focus-visible, body.school-redesign button:focus-visible { outline: 3px solid var(--secondary-color); outline-offset: 4px; }
body.school-redesign .button { display: inline-flex; justify-content: center; align-items: center; background: var(--primary-color); color: #fff; border: 0; border-radius: 6px; padding: 10px 20px; font: 700 14px/1.4 var(--body-font-family); text-decoration: none; text-transform: none; letter-spacing: normal; transition: background-color .2s, box-shadow .2s; }
body.school-redesign .button:hover { background: #183969; color: #fff; box-shadow: 0 3px 10px #00164226; }
body.school-redesign .school-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
body.school-redesign #g-page-surround { background: var(--school-ivory); }
body.school-redesign #g-navigation { padding: 0 !important; margin: 0 !important; background: var(--primary-color); --main-menu-text-color: #2b2b2b; --main-menu-text-color-hover: #001642; --main-menu-bg: #fff; }
body.school-redesign #g-navigation > .g-container { width: 100% !important; max-width: none !important; padding: 0 !important; }
body.school-redesign.site.withmaxwidth #g-navigation > .g-container { width: 100% !important; max-width: none !important; }
body.school-redesign :is(#g-slideshow,#g-above,#g-expanded,#g-bottom,#g-footer,#g-copyright) > .g-container { margin-inline: auto !important; }
body.school-redesign :is(.school-mission-block,.school-quicklinks,.school-footer) { width: 100% !important; max-width: none !important; }
body.school-redesign :is(.school-information-block,.school-mission-block,.school-story-block,.school-news-block,.school-events-block,.school-footer) .g-content { width: 100% !important; }
body.school-redesign .school-footer .g-grid > .g-block { width: 100% !important; flex: 1; }
body.school-redesign #g-footer > .g-container > .g-grid:has(.school-footer) { display: block !important; }
body.school-redesign #g-footer .school-footer { flex: 0 0 100% !important; }
body.school-redesign.site.withmaxwidth #g-footer .school-footer .g-content { width: 100% !important; max-width: none !important; }
body.school-redesign .school-action-links .button { width: auto !important; }
body.school-redesign .school-navigation > .g-content,
body.school-redesign .school-navigation .g-array-item,
body.school-redesign .school-navigation .g-array-item-text,
body.school-redesign .school-navigation .g-content-array,
body.school-redesign .school-navigation .g-content { padding: 0 !important; margin: 0 !important; }
body.school-redesign .school-navigation .g-array-item-text > p:empty { display: none; }
body.school-redesign .school-brandbar { min-height: 232px; background: linear-gradient(90deg, #001642 15%, #001642e6 100%), url('/images/pub/redesign-2026/school/images/header-texture.jpg') right center/cover no-repeat; }
body.school-redesign .school-header-inner { position: relative; width: min(100% - 124px, 1316px); min-height: 232px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
body.school-redesign .school-brand { display: block; width: 564px; max-width: 46%; }
body.school-redesign .school-brand img { display: block; width: 100%; height: auto; }
body.school-redesign .school-header-actions { display: flex; flex-direction: column; align-items: flex-end; }
body.school-redesign .school-search { position: absolute; top: 12px; right: -40px; width: 202px; height: 36px; display: flex; background: #fff; border-radius: 6px; overflow: hidden; }
body.school-redesign .school-search input[type=search] { min-width: 0; width: 100%; height: 36px; border: 0; border-radius: 0; margin: 0; padding: 8px 12px; background: #fff; color: #2b2b2b; font: 14px var(--body-font-family); }
body.school-redesign .school-search button { border: 0; background: transparent; color: var(--primary-color); width: 34px; cursor: pointer; }
body.school-redesign .school-action-links { display: flex; gap: 12px; }
body.school-redesign .school-action-links .button { min-height: 40px; padding: 10px 18px; font-size: 14px; white-space: nowrap; }
body.school-redesign .school-action-links .school-give { background: var(--secondary-color); color: #001642; }
body.school-redesign .school-action-links .school-visit { background: transparent; border: 1px solid #fff; color: #fff !important; }
body.school-redesign .school-action-links .school-parish { background: #fff; color: #001642; }
body.school-redesign .school-menu-bar { min-height: 63px; background: #fff; box-shadow: 0 3px 10px #0003; position: relative; z-index: 15; }
body.school-redesign .school-menu-bar .g-main-nav { margin: auto; max-width: 1296px; }
body.school-redesign .school-menu-bar .g-toplevel { display: flex; justify-content: space-between; align-items: stretch; }
body.school-redesign .school-menu-bar .g-toplevel > li > .g-menu-item-container { padding: 20px 8px !important; color: #2b2b2b; font: 700 16px/23px var(--body-font-family); }
body.school-redesign .school-menu-bar .g-toplevel > li.active > .g-menu-item-container { color: #001642; box-shadow: inset 0 -3px var(--secondary-color); }
body.school-redesign .school-menu-bar .g-menu-item-title { font: inherit; }
body.school-redesign .school-menu-bar .g-dropdown { background: #fff; border: 0; box-shadow: 0 5px 16px #0002; }
@media only screen and (min-width: 50.99rem) {
    body.school-redesign #g-navigation .school-menu-bar .g-main-nav .g-sublevel > li > .g-menu-item-container {
        background: #fff;
        color: var(--primary-color) !important;
        padding: 12px 18px !important;
        font: 700 16px/1.35 var(--body-font-family);
        text-align: left;
        box-shadow: none;
    }
    body.school-redesign #g-navigation .school-menu-bar .g-main-nav .g-sublevel > li:is(:hover, :focus-within, .active, .g-selected) > .g-menu-item-container {
        background: var(--school-ivory) !important;
        color: var(--primary-color) !important;
    }
    body.school-redesign #g-navigation .school-menu-bar .g-main-nav .g-sublevel > li > .g-menu-item-container:focus-visible {
        outline: 2px solid var(--primary-color);
        outline-offset: -2px;
    }
}

body.school-redesign.site-home #g-slideshow { background: var(--tertiary-color); margin: 0 !important; padding: 63px 0 70px !important; }
body.school-redesign.site-home #g-slideshow > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child { display: grid; grid-template-columns: minmax(0,876fr) minmax(0,380fr); gap: 40px; }
body.school-redesign.site-home #g-slideshow > .g-container > .g-grid > .g-block { width: auto; flex: initial; min-width: 0; }
body.school-redesign :is(.school-hero-photo,.school-information-block,.school-mission-block,.school-story-block,.school-news-block,.school-events-block,.school-quicklinks,.school-footer) > .g-content { margin: 0 !important; padding: 0 !important; }
body.school-redesign :is(.school-information-block,.school-mission-block,.school-story-block,.school-news-block,.school-events-block,.school-footer) .g-content-array,
body.school-redesign :is(.school-information-block,.school-mission-block,.school-story-block,.school-news-block,.school-events-block,.school-footer) .g-array-item,
body.school-redesign :is(.school-information-block,.school-mission-block,.school-story-block,.school-news-block,.school-events-block,.school-footer) .g-array-item-text { margin: 0 !important; padding: 0 !important; }
body.school-redesign .school-hero-photo { border-radius: 12px; overflow: hidden; align-self: start; }
body.school-redesign .school-hero-photo :is(.g-swiper,.swiper-container,.swiper-slide) { width: 100%; height: auto !important; min-height: 0; aspect-ratio: 876/440; }
body.school-redesign .school-hero-photo .swiper-slide { background-size: cover; background-position: center; }
body.school-redesign .school-hero-photo .swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.school-redesign .school-hero-photo :is(.g-swiper-slider,.g-swiper-container) { height: auto !important; }
body.school-redesign .school-information { min-height: 440px; padding: 32px; border-radius: 12px; background: #fff; box-shadow: 5px 5px 20px #0000001a; }
body.school-redesign .school-information h2 { font: 700 22px/30px var(--title-font-family); margin: 0 0 20px; color: #2b2b2b; }
body.school-redesign .school-information h3 { font: 700 16px/19.2px var(--body-font-family); margin: 0 0 6px; color: #001642; }
body.school-redesign .school-information p { font: 400 15px/18px var(--body-font-family); margin: 0 0 16px; }
body.school-redesign .school-calendar-link { display: block; color: #001642; font-size: 14px; font-weight: 700; text-decoration: underline; margin: 0 0 18px; }
body.school-redesign .school-visit-button { width: 100%; min-height: 38px; padding: 8px 16px; }
body.school-redesign .school-mission { padding: 40px 60px 46px; text-align: center; }
body.school-redesign .school-mission h2 { font: 700 22px/30px var(--title-font-family); text-transform: uppercase; letter-spacing: 2px; margin: 0 0 16px; }
body.school-redesign .school-mission p { font: italic 700 18px/1.65 'Libre Baskerville',serif; margin: 0; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block { width: auto !important; margin: 0; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block-content { position: relative; min-height: 69px; display: flex; align-items: center; justify-content: flex-start; gap: 12px; background: #001642; border-radius: 6px; padding: 15px; color: #fff; box-shadow: none; transition: background-color .2s; }
body.school-redesign .school-quicklinks :is(.g-blockcontent-subcontent-title,.g-blockcontent-subcontent-title-text) { font: 400 18px/1.3 var(--body-font-family); margin: 0; padding: 0; color: #fff; letter-spacing: 0; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title { display: flex; align-items: center; justify-content: flex-start; width: 100%; text-align: left; gap: 12px; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title-icon { font-size: 20px; color: #fff; }
body.school-redesign .school-quicklinks .g-blockcontent-buttons { position: absolute; inset: 0; margin: 0; padding: 0; }
body.school-redesign .school-quicklinks .g-blockcontent-buttons a.button { position: absolute; inset: 0; width: 100%; padding: 0; margin: 0; font-size: 0; color: transparent; background: transparent; border: 0; border-radius: 6px; box-shadow: none; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block-content:is(:hover, :focus-within) { background: #183969; box-shadow: none; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block-content:focus-within { outline: 3px solid #2b2b2b; outline-offset: 3px; }

body.school-redesign.site-home #g-above { background: var(--secondary-color); padding: 80px 0 !important; margin: 0 !important; }
body.school-redesign.site-home #g-above > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign.site-home #g-above > .g-container > .g-grid { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 40px; }
body.school-redesign.site-home #g-above > .g-container > .g-grid > .g-block { width: auto; flex: initial; min-width: 0; }
body.school-redesign .school-story h2 { font: 700 30px/40px var(--title-font-family); color: #001642; margin: 0 0 40px; }
body.school-redesign .school-story-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 24px; }
body.school-redesign .school-story-card { grid-column: span 2; display: block; padding: 24px; background: #fff; border-radius: 6px; box-shadow: 0 2px 8px #00000014; text-decoration: none; transition: box-shadow .2s,background-color .2s; }
body.school-redesign .school-story-card:nth-child(n+4) { grid-column: span 3; }
body.school-redesign .school-story-card img { width: 100%; height: 191px; display: block; object-fit: cover; border-radius: 4px; }
body.school-redesign .school-story-card h3 { font: 700 15px/1.4 'Libre Baskerville',serif; color: #001642; margin: 12px 0 8px; }
body.school-redesign .school-story-card p { font: 400 13px/18px var(--body-font-family); margin: 0; color: #2b2b2b; }
body.school-redesign .school-story-card:hover { background: #fffdf7; box-shadow: 0 6px 20px #00164238; }
body.school-redesign .school-home-sponsors { padding-top: 80px; }
body.school-redesign .school-home-sponsors > .g-content { margin: 0; padding: 0; }
body.school-redesign .school-home-sponsors :is(table,tbody,tr,td) { width: 100% !important; display: block; padding: 0; border: 0; margin: 0; }
body.school-redesign .school-home-sponsors td { margin-bottom: 16px; }
body.school-redesign .school-home-sponsors img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
body.school-redesign.site-home #g-expanded { background: var(--school-ivory); padding: 80px 0 !important; margin: 0 !important; }
body.school-redesign.site-home #g-expanded > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign.site-home #g-expanded > .g-container > .g-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 89px; }
body.school-redesign.site-home #g-expanded > .g-container > .g-grid > .g-block { width: auto; flex: initial; min-width: 0; }
body.school-redesign :is(.school-news-widget,.school-events-widget) { display: flex; flex-direction: column; height: 100%; }
body.school-redesign :is(.school-news-widget,.school-events-widget) .s-widget-title-wrapper { border-bottom: 2px solid #001642; margin: 0 0 32px; padding: 0 0 12px; }
body.school-redesign :is(.school-news-widget,.school-events-widget) h2.g-title { font: 700 30px/40px var(--title-font-family); color: #001642; margin: 0; padding: 0; }
body.school-redesign :is(.school-news-widget,.school-events-widget) .s-widget-feed { flex: 1; }
body.school-redesign .school-widget-cta { width: 100%; margin-top: 24px; min-height: 40px; background: #2b2b2b; }
body.school-redesign .school-news-widget .g-array-item { position: relative; display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 14px; background: #fff; padding: 12px !important; margin: 0 0 15px !important; border-radius: 6px; box-shadow: none; min-height: 90px; transition: background-color .2s; }
body.school-redesign .school-news-widget .g-array-item-image { margin: 0; grid-row: span 3; }
body.school-redesign .school-news-widget .g-array-item-image img { width: 90px; height: 66px; object-fit: cover; border-radius: 4px; }
body.school-redesign .school-news-widget .g-array-item-title { font: 700 15px/1.4 'Libre Baskerville',serif; margin: 0 0 6px; color: #001642; }
body.school-redesign .school-news-widget .g-array-item-text { font: 400 13px/18px var(--body-font-family); }
body.school-redesign .school-news-widget .g-array-item-read-more { margin: 0; }
body.school-redesign .school-news-widget .g-array-item-read-more a { position: absolute; inset: 0; background: transparent; color: transparent; font-size: 0; border: 0; box-shadow: none; }
body.school-redesign .school-news-widget .g-array-item:is(:hover, :focus-within) { background: var(--school-ivory); box-shadow: none; }
body.school-redesign .school-events-widget :is(.rokminievents-title,.rokminievents-title a) { font: 700 15px/1.4 'Libre Baskerville',serif; color: #001642; }
body.school-redesign .school-events-widget .rokminievents-date { background: #001642; color: #fff; border: 0; border-radius: 6px; }
body.school-redesign #g-bottom { background: var(--school-ivory); padding: 20px 0 !important; }
body.school-redesign #g-bottom > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign #g-bottom .admod { width: 100%; }
body.school-redesign #g-bottom .admod img { max-width: 100%; height: auto; }
body.school-redesign #g-footer { background: #001642; color: #fff; padding: 60px 0 24px !important; }
body.school-redesign #g-footer > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign .school-footer-grid { display: grid; grid-template-columns: 400fr 220fr 220fr 220fr; gap: 70px; }
body.school-redesign .school-footer-brand img { width: 380px; max-width: 100%; height: auto; display: block; margin: 0 0 24px; }
body.school-redesign .school-footer-grid h3 { font: 700 16px/1.5 var(--title-font-family); letter-spacing: 1px; text-transform: uppercase; margin: 0 0 20px; color: #fff; }
body.school-redesign .school-footer-grid p { font: 400 14px/1.7 var(--body-font-family); margin: 0 0 16px; }
body.school-redesign .school-footer-grid > div:not(:first-child) > a { display: block; margin-bottom: 12px; font: 400 14px/1.5 var(--body-font-family); }
body.school-redesign .school-footer-grid a:hover { color: var(--secondary-color); }
body.school-redesign #g-copyright { background: #001642; color: #fff; padding: 0 0 40px !important; }
body.school-redesign #g-copyright > .g-container { width: min(90%,1296px); padding: 0 !important; }
body.school-redesign #g-copyright .school-copyright-block > .g-content { padding: 0; margin: 0; width: 100% !important; max-width: none !important; }
body.school-redesign #g-copyright .school-copyright a { color: #fff !important; }
body.school-redesign .school-news-block > .g-content, body.school-redesign .school-news-block > .g-content > .g-content-array, body.school-redesign .school-news-block > .g-content > .g-content-array > .g-grid, body.school-redesign .school-news-block > .g-content > .g-content-array > .g-grid > .g-block, body.school-redesign .school-news-block > .g-content > .g-content-array > .g-grid > .g-block > .g-content, body.school-redesign .school-news-block > .g-content > .g-content-array > .g-grid > .g-block > .g-content > .g-array-item, body.school-redesign .school-news-block > .g-content > .g-content-array > .g-grid > .g-block > .g-content > .g-array-item > .g-array-item-text { height: 100%; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title-icon { flex: 0 0 20px; }
body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title-text { white-space: normal; }
@media (min-width: 816px) { body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block:nth-child(5) .g-blockcontent-subcontent-title { max-width: 215px; text-align: left; } }
body.school-redesign .school-copyright { display: flex; align-items: center; gap: 28px; border-top: 1px solid #ffffff33; padding-top: 32px; font: 400 13px/1.5 var(--body-font-family); }
body.school-redesign .school-copyright span { margin-right: auto; }
body.school-redesign.site-sub #g-container-main { background: var(--school-ivory); padding: 48px 0; }
body.school-redesign.site-sub #g-container-main > .g-container { width: min(90%,1296px); }
body.school-redesign .grid-articles .g-array-item-text a:not(.button) { color: var(--primary-color); }

@media (min-width: 1441px) {
    body.school-redesign .school-header-inner { width: min(90%,1296px); }
    body.school-redesign .school-search { right: 0; }
}
@media (max-width: 1100px) and (min-width: 816px) {
    body.school-redesign .school-header-inner { width: 90%; gap: 24px; }
    body.school-redesign .school-brand { max-width: 40%; }
    body.school-redesign .school-action-links { gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
    body.school-redesign .school-action-links .button { padding: 10px 12px; }
    body.school-redesign .school-search { right: 0; }
    body.school-redesign .school-menu-bar .g-toplevel > li > .g-menu-item-container { font-size: 13px; padding-inline: 4px !important; }
    body.school-redesign .school-information { padding: 24px; }
    body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child { gap: 24px; grid-template-columns: 3fr 2fr; }
    body.school-redesign .school-story-card { padding: 16px; }
    body.school-redesign .school-story-card img { height: 150px; }
    body.school-redesign .school-footer-grid { gap: 28px; }
}
@media (max-width: 50.99rem) {
    body.school-redesign .school-brandbar, body.school-redesign .school-header-inner { min-height: 180px; }
    body.school-redesign .school-header-inner { width: calc(100% - 40px); padding: 28px 0 24px; display: block; }
    body.school-redesign .school-brand { width: 450px; max-width: calc(100% - 42px); margin: 0 auto 24px; }
    body.school-redesign .school-header-actions { align-items: center; }
    body.school-redesign .school-search { display: none; }
    body.school-redesign .school-action-links { gap: 8px; flex-wrap: wrap; justify-content: center; }
    body.school-redesign .school-action-links .button { min-height: 38px; padding: 9px 12px; font-size: 12px; }
    body.school-redesign .school-menu-bar { display: none; }
    body.school-redesign .school-navigation .g-grid > .g-block.hidden { display: block !important; visibility: visible !important; }
    body.school-redesign .g-offcanvas-toggle { top: 18px; left: 10px; }
    body.school-redesign.site-home #g-slideshow { padding: 30px 0 36px !important; }
    body.school-redesign.site-home #g-slideshow > .g-container { width: calc(100% - 40px); }
    body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child { display: grid; grid-template-columns: 1fr; gap: 24px; }
    body.school-redesign .school-information { min-height: 0; padding: 26px; }
    body.school-redesign .school-mission { padding: 30px 0; }
    body.school-redesign .school-mission h2 { font-size: 20px; }
    body.school-redesign .school-mission p { font-size: 15px; line-height: 1.8; }
    body.school-redesign .school-quicklinks .g-blockcontent-subcontent { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title { flex-direction: row; gap: 8px; }
    body.school-redesign .school-quicklinks .g-blockcontent-subcontent-block-content { padding: 18px 10px; min-height: 100px; gap: 10px; }
    body.school-redesign .school-quicklinks .g-blockcontent-subcontent-title-text { font-size: 14px; text-align: left; }
    body.school-redesign.site-home #g-above, body.school-redesign.site-home #g-expanded { padding: 40px 0 !important; }
    body.school-redesign.site-home #g-above > .g-container, body.school-redesign.site-home #g-expanded > .g-container { width: calc(100% - 40px); }
    body.school-redesign.site-home #g-above > .g-container > .g-grid, body.school-redesign.site-home #g-expanded > .g-container > .g-grid { grid-template-columns: 1fr; gap: 40px; }
    body.school-redesign .school-story h2 { font-size: 26px; margin-bottom: 24px; }
    body.school-redesign .school-story-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
    body.school-redesign .school-story-card, body.school-redesign .school-story-card:nth-child(n+4) { grid-column: span 1; padding: 20px; }
    body.school-redesign .school-story-card:last-child { grid-column: 1/-1; }
    body.school-redesign .school-home-sponsors { padding-top: 0; }
    body.school-redesign .school-home-sponsors tbody { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px; }
    body.school-redesign .school-home-sponsors tr { width: auto !important; max-width: 210px; }
    body.school-redesign .school-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
    body.school-redesign #g-footer { padding-top: 40px !important; }
    body.school-redesign .school-copyright { flex-wrap: wrap; gap: 16px; padding-top: 24px; }
    body.school-redesign .school-copyright span { flex-basis: 100%; }
}
@media (max-width: 540px) {
    body.school-redesign .school-header-inner { padding-top: 28px; }
    body.school-redesign .school-brand { margin-left: 36px; max-width: calc(100% - 36px); }
    body.school-redesign .school-action-links .school-parish { width: 100% !important; }
    body.school-redesign .school-story-grid { grid-template-columns: 1fr; }
    body.school-redesign .school-story-card img { height: auto; aspect-ratio: 1.65; }
    body.school-redesign .school-footer-grid { grid-template-columns: 1fr; gap: 28px; }
    body.school-redesign .school-footer-brand img { width: 340px; }
    body.school-redesign .school-footer-grid h3 { margin-bottom: 14px; }
    body.school-redesign #g-bottom .admod :is(tbody,tr) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
    body.school-redesign #g-bottom .admod td { display: block; width: 100%; max-width: 299px; }
}
@media (prefers-reduced-motion: reduce) {
    body.school-redesign :is(.button,.school-story-card,.school-quicklinks .g-blockcontent-subcontent-block-content) { transition: none; }
}

/************ MOBILE MENU ************/
@media only screen and (max-width: 50.99rem) {
    /* Safari browser tint and overscroll use the page canvas background. */
    @media (display-mode: browser) {
        body.school-redesign.site,
        body.school-redesign.site #g-page-surround {
            background-color: var(--primary-color);
        }
    }
    body.school-redesign #g-offcanvas {
        box-sizing: border-box;
        top: 0;
        bottom: 0;
        width: min(21rem, calc(100vw - 4.5rem));
        height: 100%;
        height: 100dvh;
        padding: 0 0 calc(1.25rem + env(safe-area-inset-bottom, 0px));
        background: linear-gradient(160deg, rgba(var(--default-white-rgb), .055), transparent 60%), var(--primary-color);
        border: 0;
        border-right: 1px solid rgba(var(--default-white-rgb), .12);
        box-shadow: .75rem 0 2rem rgba(var(--default-black-rgb), .25);
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgba(var(--default-white-rgb), .2) transparent;
    }
    .g-offcanvas-open body.school-redesign.g-offcanvas-left #g-page-surround {
        left: 0 !important;
        transform: translate3d(min(21rem, calc(100vw - 4.5rem)), 0, 0) !important;
    }
    body.school-redesign #g-offcanvas::before {
        content: '';
        position: static;
        display: block;
        height: 3.5rem;
        margin: 1.25rem 1.25rem .75rem;
        background: url('/images/pub/redesign-2026/school/branding/logo.png') left center / 9rem auto no-repeat;
    }
    body.school-redesign #g-offcanvas > .g-grid > .g-block > .g-content {
        margin: 0;
        padding: 0;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container {
        margin: 0;
        font-family: var(--body.school-redesign-font-family);
        font-weight: 500;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel {
        padding: .25rem 1rem 1rem !important;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel > li:not(li:last-child),
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-sublevel > li {
        border: 0;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li > .g-menu-item-container {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        min-height: 3.25rem;
        margin: 0 0 .5rem;
        padding: .875rem 1rem;
        border: 1px solid transparent;
        border-radius: 1rem;
        background: rgba(var(--default-white-rgb), .035);
        color: var(--default-white);
        font: 500 1rem/1.4 var(--body.school-redesign-font-family);
        letter-spacing: normal;
        transition: background-color .2s ease, border-color .2s ease, transform .25s ease;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel li > .g-menu-item-container > .g-menu-item-content {
        min-width: 0;
        padding: 0;
        color: inherit;
        line-height: 1.4;
        word-break: normal;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li > .g-menu-item-container .g-menu-item-content > .g-menu-item-title {
        color: inherit;
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.4;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-parent > .g-menu-item-container {
        padding-right: 3.5rem;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li:hover,
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li.active,
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li.g-selected {
        background: transparent;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-slide-out > li > .g-menu-item-container {
        opacity: 0;
        pointer-events: none;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container li.active > .g-menu-item-container,
    body.school-redesign #g-offcanvas #g-mobilemenu-container li.g-selected > .g-menu-item-container {
        background: rgba(var(--secondary-color-rgb), .18);
        border-color: rgba(var(--secondary-color-rgb), .45);
        color: var(--tertiary-color);
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-menu-item-container:hover {
        background: rgba(var(--default-white-rgb), .09);
        border-color: rgba(var(--default-white-rgb), .16);
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-menu-item-container:focus-visible,
    body.school-redesign #g-offcanvas .g-social a:focus-visible {
        outline: 2px solid var(--tertiary-color);
        outline-offset: 2px;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator {
        position: absolute;
        display: grid;
        place-items: center;
        top: 50%;
        right: .5rem;
        width: 2.75rem;
        height: 2.75rem;
        margin: 0;
        padding: 0;
        transform: translateY(-50%);
        border: 0;
        border-radius: .75rem;
        background: rgba(var(--default-white-rgb), .065);
        color: inherit;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li.g-parent > .g-menu-item-container > .g-menu-parent-indicator:hover {
        background: rgba(var(--default-white-rgb), .12);
        color: var(--default-white);
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel > li > .g-menu-item-container .g-menu-parent-indicator::after {
        width: auto;
        color: inherit;
        font-size: .875rem;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel .g-dropdown {
        background: var(--primary-color);
        border: 0;
        transition: transform .25s ease;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container ul .g-dropdown-column {
        width: 100%;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-sublevel {
        padding: .25rem 1rem 1rem !important;
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container .g-sublevel > .g-go-back > .g-menu-item-container {
        margin-bottom: 1rem;
        background: transparent;
        border-color: rgba(var(--default-white-rgb), .16);
        color: var(--tertiary-color);
    }
    body.school-redesign #g-offcanvas #g-mobilemenu-container :is(.g-toplevel, .g-sublevel) > li > .g-menu-item-container:has(.g-social) {
        width: fit-content;
        min-height: 0;
        margin-top: .875rem;
        padding: 0;
        border: 0;
        background: transparent;
    }
    body.school-redesign #g-offcanvas .g-social .g-social-items a {
        display: grid;
        place-items: center;
        width: 3rem;
        height: 3rem;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(var(--default-white-rgb), .16);
        border-radius: 50%;
        background: var(--secondary-color);
        color: var(--default-white);
        font-size: 1.25rem;
    }
    body.school-redesign #g-offcanvas .g-social .g-social-items a span {
        margin: 0;
    }
    body.school-redesign .g-offcanvas-toggle {
        width: 2.75rem;
        height: 2.75rem;
        background: rgba(var(--default-white-rgb), .08);
        color: var(--default-white);
        border: 1px solid rgba(var(--default-white-rgb), .16);
        border-radius: .875rem;
        box-shadow: none;
    }
    .g-offcanvas-open body.school-redesign #g-mobile-fixed-nav {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    .g-offcanvas-open body.school-redesign #g-mobile-fixed-nav * {
        pointer-events: none !important;
    }
    @media (prefers-reduced-motion: reduce) {
        body.school-redesign #g-offcanvas #g-mobilemenu-container .g-menu-item-container,
        body.school-redesign #g-offcanvas #g-mobilemenu-container .g-toplevel .g-dropdown {
            transition: none;
        }
    }
}

/************ PWA GLASS QUICKLINKS ************/
body.school-redesign #g-mobile-fixed-nav .pwa-quicklinks-toggle[hidden] {
    display: none;
}
@media only screen and (max-width: 50.99rem) and (display-mode: standalone) {
    body.school-redesign #g-mobile-fixed-nav {
        box-sizing: border-box;
        position: fixed;
        left: .75rem;
        right: .75rem;
        bottom: calc(.75rem + env(safe-area-inset-bottom, 0px));
        width: auto;
        max-width: 34rem;
        height: auto;
        margin: 0 auto;
        padding: .5rem;
        transform: none;
        background: rgba(var(--primary-color-rgb), .94);
        color: var(--default-white);
        border: 1px solid rgba(var(--default-white-rgb), .3);
        border-radius: 2rem;
        box-shadow: 0 .75rem 2rem rgba(var(--default-black-rgb), .28), inset 0 1px 0 rgba(var(--default-white-rgb), .35), inset 0 -1px 0 rgba(var(--default-white-rgb), .08);
        -webkit-backdrop-filter: blur(24px) saturate(160%);
        backdrop-filter: blur(24px) saturate(160%);
    }
    @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
        body.school-redesign #g-mobile-fixed-nav {
            background: linear-gradient(135deg, rgba(var(--default-white-rgb), .16), rgba(var(--default-white-rgb), .025) 55%, rgba(var(--secondary-color-rgb), .1)), rgba(var(--primary-color-rgb), .62);
        }
    }
    body.school-redesign #g-mobile-fixed-nav .mobile-fixed-nav {
        height: auto;
        overflow: visible;
    }
    body.school-redesign #g-mobile-fixed-nav.pwa-quicklinks-ready {
        left: auto;
        right: max(.75rem, calc((100% - 34rem) / 2));
        width: min(34rem, calc(100% - 1.5rem));
        height: var(--pwa-dock-height, calc(5rem + 2px));
        margin: 0;
        overflow: hidden;
        transition: width .45s cubic-bezier(.22, 1, .36, 1);
    }
    body.school-redesign #g-mobile-fixed-nav.pwa-quicklinks-ready .mobile-fixed-nav {
        position: absolute;
        top: .5rem;
        left: .5rem;
        width: var(--pwa-panel-width, calc(min(34rem, 100vw - 1.5rem) - 1rem - 2px));
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
        transition: opacity .22s ease .12s, transform .35s cubic-bezier(.22, 1, .36, 1), visibility 0s;
    }
    body.school-redesign #g-mobile-fixed-nav.is-collapsed {
        width: var(--pwa-dock-height, calc(5rem + 2px));
    }
    body.school-redesign #g-mobile-fixed-nav.is-collapsed .mobile-fixed-nav {
        opacity: 0;
        visibility: hidden;
        transform: translateX(1rem);
        pointer-events: none;
        transition-delay: 0s, 0s, .22s;
    }
    body.school-redesign #g-mobile-fixed-nav .pwa-quicklinks-toggle {
        box-sizing: border-box;
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: .5rem;
        border: 0;
        border-radius: inherit;
        background: transparent;
        color: var(--default-white);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .2s ease, visibility 0s .2s;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    body.school-redesign #g-mobile-fixed-nav.is-collapsed .pwa-quicklinks-toggle {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: .12s, 0s;
    }
    body.school-redesign #g-offcanvas {
        top: 40pt;
        height: calc(100% - 40pt);
        height: calc(100dvh - 40pt);
        padding-top: .75rem;
    }
    body.school-redesign #g-offcanvas::before {
        display: none;
    }
    body.school-redesign #g-mobile-fixed-nav .pwa-quicklinks-toggle svg {
        fill: currentColor;
    }
    body.school-redesign #g-mobile-fixed-nav .pwa-quicklinks-toggle:focus-visible {
        outline: 2px solid var(--tertiary-color);
        outline-offset: -5px;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent {
        gap: .25rem;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block {
        min-width: 0;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content {
        box-sizing: border-box;
        position: relative;
        min-height: 4rem;
        gap: .35rem;
        padding: .5rem .125rem;
        background: transparent;
        border: 1px solid transparent;
        border-radius: 1.5rem;
        transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-title-icon {
        color: var(--default-white);
        font-size: 1.25rem;
        line-height: 1;
        text-shadow: 0 1px 4px rgba(var(--default-black-rgb), .25);
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-title,
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-title-text {
        margin: 0;
        padding: 0;
        border: 0;
        color: var(--default-white);
        font-family: var(--body.school-redesign-font-family);
        font-size: clamp(.625rem, 2.8vw, .75rem);
        font-weight: 600;
        line-height: 1.25;
        text-transform: none;
        font-variant-caps: normal;
        letter-spacing: normal;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-buttons,
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-buttons a {
        border-radius: 1.5rem;
    }
    body.school-redesign.site-home #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a[href='/school-st']),
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a[aria-current='page']) {
        background: rgba(var(--default-white-rgb), .14);
        border-color: rgba(var(--default-white-rgb), .18);
    }
    body.school-redesign.site-home #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a[href='/school-st']) .g-blockcontent-subcontent-title-icon,
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a[aria-current='page']) .g-blockcontent-subcontent-title-icon {
        color: var(--tertiary-color);
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:focus-within {
        border-color: var(--tertiary-color);
        outline: 2px solid var(--tertiary-color);
        outline-offset: 1px;
    }
    body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a:active) {
        background: rgba(var(--default-white-rgb), .2);
        transform: scale(.97);
    }
    body.school-redesign #g-container-footer {
        padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px)) !important;
    }
    @media (hover: hover) and (pointer: fine) {
        body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:hover {
            background: rgba(var(--default-white-rgb), .18);
            border-color: rgba(var(--default-white-rgb), .2);
        }
    }
    @media (prefers-reduced-motion: reduce) {
        body.school-redesign #g-mobile-fixed-nav.pwa-quicklinks-ready,
        body.school-redesign #g-mobile-fixed-nav.pwa-quicklinks-ready .mobile-fixed-nav,
        body.school-redesign #g-mobile-fixed-nav .pwa-quicklinks-toggle {
            transition: none;
        }
        body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content {
            transition: none;
        }
        body.school-redesign #g-mobile-fixed-nav .g-blockcontent-subcontent-block-content:has(a:active) {
            transform: none;
        }
    }
    @media (prefers-reduced-transparency: reduce) {
        body.school-redesign #g-mobile-fixed-nav {
            background: var(--primary-color);
            -webkit-backdrop-filter: none;
            backdrop-filter: none;
        }
    }
}


/* Audit: readable prose hyperlinks and equal subpage grid title bands. */
body.school-redesign .item-page p a:not(.button):not(:has(img)),
body.school-redesign .item-page td a:not(.button){color:#345f96!important;text-decoration:underline;text-underline-offset:3px}
body.school-redesign .grid-articles .g-array-item-title{min-height:88px;display:flex;align-items:center;justify-content:center}
body.school-redesign .grid-articles .g-item-title{width:100%;margin:0!important;min-height:88px;display:flex;align-items:center;justify-content:center;padding:10px!important;box-sizing:border-box}
/* Audit: slightly larger school header logo and safe student photo crop. */
body.school-redesign .school-brand{width:620px;max-width:50%}
body.school-redesign .school-story-card-5 img{object-position:center top}
/* Audit: stretch the rotator to the information panel while side by side. */
@media(min-width:51rem){
 body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child{align-items:stretch}
 body.school-redesign .school-hero-photo{align-self:stretch;position:relative;min-height:440px}
 body.school-redesign .school-hero-photo > .g-content{position:absolute;inset:0}
 body.school-redesign .school-hero-photo :is(.g-swiper,.swiper-container,.swiper-wrapper,.swiper-slide,.g-swiper-slider,.g-swiper-container){height:100%!important;aspect-ratio:auto;min-height:0}
 body.school-redesign .school-information{height:100%;box-sizing:border-box}
}

/* Audit: fixed title band accommodates long labels without uneven cards. */
body:is(.outline-31,.outline-33,.outline-63,.outline-64) .grid-articles .g-array-item-title{min-height:120px}
body:is(.outline-31,.outline-33,.outline-63,.outline-64) .grid-articles .g-item-title{height:120px;min-height:120px;font-size:24px!important;line-height:30px!important}

/* Button wrapper links retain white text above prose hyperlink styles. */
html body.school-redesign .item-page span.button > a,
html body.school-redesign span.button > a:is(:link,:visited,:hover,:focus,:active){color:#fff!important;text-decoration:none!important}

/* School hero: image ratio controls height; stack before information becomes cramped. */
body.school-redesign .school-hero-photo{position:relative;align-self:start;min-height:0;aspect-ratio:16/9}
body.school-redesign .school-hero-photo > .g-content{position:absolute;inset:0}
body.school-redesign .school-hero-photo :is(.g-swiper,.swiper-container,.swiper-wrapper,.swiper-slide,.g-swiper-slider,.g-swiper-container){height:100%!important;min-height:0;aspect-ratio:auto}
body.school-redesign .school-information{min-height:0;box-sizing:border-box}
@media(min-width:80rem){
 body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child{grid-template-columns:minmax(0,876fr) minmax(0,380fr);gap:40px;align-items:stretch}
 body.school-redesign .school-information{height:100%;padding:24px}
 body.school-redesign .school-information h2{margin-bottom:16px!important}
 body.school-redesign .school-information p{margin-bottom:12px}
 body.school-redesign .school-calendar-link{margin-bottom:14px}
}
@media(max-width:79.99rem){
 body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child{grid-template-columns:minmax(0,1fr);gap:24px}
 body.school-redesign .school-information{height:auto;padding:26px}
}

/* Match the information card to the ratio-driven photo through Gantry wrappers. */
@media(min-width:84rem){
 body.school-redesign .school-information-block{position:relative}
 body.school-redesign .school-information-block > .g-content{position:absolute;inset:0}
 body.school-redesign .school-information-block :is(.g-content-array,.g-grid,.g-block,.g-content,.g-array-item,.g-array-item-text){height:100%;box-sizing:border-box}
 body.school-redesign .school-information{height:100%}
}
@media(max-width:83.99rem){
 body.school-redesign.site-home #g-slideshow > .g-container > .g-grid:first-child{grid-template-columns:minmax(0,1fr);gap:24px}
 body.school-redesign .school-information{height:auto;padding:26px}
}

/* Subpage sponsor rows share the school page canvas. */
body.school-redesign.site-sub :is(#g-top,#g-bottom){background-color:var(--school-ivory,#f4efe4)!important}

/* School subpage upper sponsor rail is Utility, not Top. */
body.school-redesign.site-sub #g-utility{background-color:var(--school-ivory,#f4efe4)!important}

/* Read-more controls keep white text above article hyperlink styles. */
html body.school-redesign .readon,
html body.school-redesign .item-page .readon:is(:link,:visited,:hover,:focus,:active){color:#fff!important}

/* School article/sidebar layouts need an explicit gutter before mobile stacking. */
@media(min-width:51rem){
 body.school-redesign.site-sub #g-container-main > .g-container > .g-grid:has(> .g-block > #g-aside){display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);gap:clamp(28px,3vw,48px)}
 body.school-redesign.site-sub #g-container-main > .g-container > .g-grid:has(> .g-block > #g-aside) > .g-block{width:auto!important;min-width:0}
}
@media(max-width:50.99rem){body.school-redesign.site-sub #g-aside{margin-top:28px}}

/* Story cards are informational; news overlay link text stays visually hidden. */
body.school-redesign div.school-story-card:hover{background:#fff;box-shadow:0 2px 8px #00000014;cursor:default}
html body.school-redesign .school-news-widget .g-array-item-read-more a:is(:link,:visited,:hover,:focus,:active){color:transparent!important;font-size:0!important;text-shadow:none!important}
body.school-redesign .school-news-widget .g-array-item-title a:is(:hover,:focus-visible){color:var(--primary-color,#001642)!important;text-decoration:underline}

/* School homepage news: feature cards with readable controls and natural spacing. */
body.school-redesign .school-news-widget .g-array-item{display:flex;flex-direction:column;gap:0;padding:0!important;overflow:hidden;border:1px solid #00164218;border-radius:10px;box-shadow:0 3px 12px #0016420d;transition:box-shadow .2s,border-color .2s}
body.school-redesign .school-news-widget .g-array-item-image{margin:0;width:100%}
body.school-redesign .school-news-widget .g-array-item-image img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:0}
body.school-redesign .school-news-widget .g-array-item-title{padding:20px 24px 8px;margin:0}
body.school-redesign .school-news-widget .g-item-title{font-size:20px;line-height:1.4}
body.school-redesign .school-news-widget .g-array-item-text:empty{display:none}
body.school-redesign .school-news-widget .g-array-item-read-more{padding:12px 24px 24px}
html body.school-redesign .school-news-widget .g-array-item-read-more a:is(:link,:visited,:hover,:focus,:active){position:static;inset:auto;width:auto;display:inline-flex;font-size:14px!important;color:#fff!important;background:var(--primary-color,#001642);padding:9px 18px;border-radius:5px;text-decoration:none!important}
body.school-redesign .school-news-widget .g-array-item-title a::after{content:'';position:absolute;inset:0;z-index:1}
body.school-redesign .school-news-widget .g-array-item-read-more a{position:relative!important;z-index:2}
body.school-redesign .school-news-widget .g-array-item:is(:hover,:focus-within){background:#fff;border-color:#c9a44c;box-shadow:0 6px 18px #00164224}
body.school-redesign .school-news-widget .s-widget-feed{flex:0 0 auto}
body.school-redesign .school-news-widget .school-widget-cta{margin-top:10px}

/* School news listing titles align left independently of navigation grids. */
body.school-redesign.newslayout #g-mainbar .g-array-item-title,
body.school-redesign.newslayout #g-mainbar .g-item-title{justify-content:flex-start!important;text-align:left!important}

/* School subpage sidebars need breathing room below the main navigation. */
@media(min-width:51rem){body.school-redesign.site-sub #g-aside{padding-top:42px}}
@media(max-width:50.99rem){body.school-redesign.site-sub #g-aside{padding-top:16px}}

/* Mockup school news: compact horizontal rows, not feature-image cards. */
body.school-redesign .school-news-widget .g-array-item{display:grid;grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 16px;align-content:center;min-height:90px;padding:12px!important;border:0;border-radius:6px;overflow:visible;margin-bottom:15px!important}
body.school-redesign .school-news-widget .g-array-item-image{grid-column:1;grid-row:1/3;align-self:center;width:90px;margin:0}
body.school-redesign .school-news-widget .g-array-item-image img{width:90px;height:66px;aspect-ratio:auto;object-fit:cover;border-radius:4px}
body.school-redesign .school-news-widget .g-array-item-title{grid-column:2;grid-row:1;padding:0;margin:0;align-self:end}
body.school-redesign .school-news-widget .g-item-title{font:700 15px/1.4 'Libre Baskerville',serif!important;margin:0;padding:0;border:0;text-align:left}
body.school-redesign .school-news-widget .g-array-item-text{grid-column:2;grid-row:2;padding:0;margin:0;font:400 13px/18px var(--body-font-family);color:#666}
body.school-redesign .school-news-widget .g-array-item-text p{margin:0}
body.school-redesign .school-news-widget .g-array-item-read-more{position:static;padding:0;margin:0}
html body.school-redesign .school-news-widget .g-array-item-read-more a:is(:link,:visited,:hover,:focus,:active){position:absolute!important;inset:0;width:100%;height:100%;padding:0;background:transparent!important;color:transparent!important;font-size:0!important;box-shadow:none!important;z-index:1;border:0}
body.school-redesign .school-news-widget .g-array-item-title a::after{content:none}
body.school-redesign .school-news-widget .g-array-item:is(:hover,:focus-within){background:#fffdf7;box-shadow:0 5px 15px #00164220}
body.school-redesign .school-news-widget .s-widget-feed{flex:1}
body.school-redesign .school-news-widget .school-widget-cta{margin-top:24px}

body.school-redesign .school-news-widget .g-array-item-read-more{display:contents}
body.school-redesign .school-news-widget .g-array-item-details{grid-column:2;grid-row:2}
body.school-redesign .school-news-widget .g-array-item{height:auto!important;min-height:90px;max-height:none}

/* Audit 2026-10-16: school subpages share the requested warm canvas. */
body.school-redesign.site-sub{--school-ivory:#e8ddc5}
body.school-redesign.site-sub :is(#g-page-surround,#g-container-main,#g-utility,#g-top,#g-bottom){background-color:#e8ddc5!important}
