/* Shared public palette: use the configured hue without mixing in dark blue. */
body {
    --theme-soft: color-mix(in srgb, var(--school-color) 7%, #fff);
    --theme-soft-hover: color-mix(in srgb, var(--school-color) 12%, #fff);
    --theme-line: color-mix(in srgb, var(--school-color) 20%, #fff);
    --theme-ink: #202124;
    --theme-muted: #5f6368;
    --theme-footer-text: #fff;
    --campus-soft: var(--theme-soft);
    --campus-line: var(--theme-line);
}
body .footer-grid p,
body .footer-grid a,
body .copyright,
body .site-header .utility a {
    color: #fff;
}
/* Use the configured color itself for every primary surface. */
body {
    --theme-dark: var(--school-color);
    --theme-strong: var(--school-color);
    --campus-dark: var(--school-color);
    --campus-link: var(--school-color);
    --campus-menu-bg: var(--school-color);
}
body .site-footer,
body .site-header .utility,
body .campus-header .utility,
body .home-action-button.home-action-button,
body .news-list-button.news-list-button,
body .campus-header .campus-contact-button,
body .campus-hero-button,
body .button:not(.hero-wide .button),
body .home-action-button.home-action-button:hover,
body .news-list-button.news-list-button:hover,
body .campus-header .campus-contact-button:hover,
body .campus-hero-button:hover,
body .button:not(.hero-wide .button):hover {
    background: var(--school-color) !important;
    border-color: var(--school-color) !important;
    color: #fff;
}

/* Image text wrapping. Inline width settings take priority over the default. */
article.prose { display: flow-root; }
article.prose img.article-image-left,
article.prose img.article-image-right { width: 40%; max-width: 100%; height: auto; }
article.prose img.article-image-left { float: left; margin: 0 24px 16px 0; }
article.prose img.article-image-right { float: right; margin: 0 0 16px 24px; }
@media (max-width: 640px) {
    article.prose img.article-image-left,
    article.prose img.article-image-right { float: none; display: block; margin: 16px 0; }
}

/* Fit images to small screens without retaining a fixed pixel height. */
@media (max-width: 640px) {
    article.prose img {
        max-width: 100% !important;
        height: auto !important;
    }
}
