/*
Theme Name:School Alive Light
Author: School Alive
Description: A bright black, white and red WordPress block theme with School Alive's supplied landscape logo. Complete school website with accessible navigation, learning levels, and staff biographies.
Version: 1.5.2
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: schoolalive-light
*/
:root{--sa-paper:#fcfaf6;--sa-ink:#000;--sa-muted:#000;--sa-red:#c91924;--sa-sage:#edf0e7;--sa-line:#d9dcd3}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--sa-paper);color:var(--sa-ink);font-family:var(--sa-font-body);font-size:18px;line-height:1.65}a{color:inherit;text-underline-offset:.23em}a:hover{color:var(--sa-accent-ink)}a:focus-visible,button:focus-visible{outline:3px solid #16648c;outline-offset:5px}img{max-width:100%;height:auto;display:block}figure,p,h1,h2,h3{margin:0}p+p{margin-top:14px}h1,h2,h3{font-family:var(--sa-font-body);line-height:1.1;letter-spacing:-.045em;color:var(--sa-ink)}h1{font-size:clamp(46px,4.6vw,70px);font-weight:600;line-height:1.055}h1 em{font-family:var(--sa-font-display);font-weight:400;color:var(--sa-accent-ink)}h2{font-size:clamp(34px,3.15vw,47px);font-weight:500}h3{font-size:22px;letter-spacing:-.025em;font-weight:600}p{color:var(--sa-muted)}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.wp-block-group{margin-block-start:0}.wp-block-image{margin:0}.sa-wrap{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}.sa-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;color:var(--sa-accent-ink);margin-bottom:22px}.sa-small-label{font-size:11px;font-weight:600;letter-spacing:.12em}.sa-announcement{background:var(--sa-sage);text-align:center;padding:10px 24px}.sa-announcement p{font-size:12px;color:var(--sa-ink);line-height:1.6}.sa-announcement a{margin-left:18px;font-weight:700}.sa-header-inner{display:flex;align-items:center;gap:24px;min-height:108px;border-bottom:1px solid var(--sa-line)}.sa-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.sa-crest{width:47px}.sa-crest img{width:47px;height:58px;object-fit:contain}.sa-brand-name{font-family:var(--sa-font-display);font-size:28px;letter-spacing:-.04em;line-height:1.2;color:var(--sa-ink)}.sa-brand-name a{text-decoration:none}.sa-tagline{font-size:8px;font-weight:700;letter-spacing:.16em;margin-top:4px}.sa-menu,.sa-preview-nav{margin-left:auto}.sa-nav-links{display:flex;align-items:center;gap:25px}.sa-nav-links a,.sa-menu a{font-size:13px;text-decoration:none;font-weight:600;color:var(--sa-ink)}.sa-menu .wp-block-navigation__container{gap:25px}.sa-menu-toggle{display:none}.wp-block-buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:12px 22px;border:1px solid var(--sa-red);border-radius:4px;background:var(--sa-red);color:white;font-size:14px;font-weight:600;text-decoration:none;line-height:1.5}.wp-block-button__link:hover{background:var(--sa-red-hover);border-color:var(--sa-red-hover);color:white}.is-style-outline .wp-block-button__link{background:transparent;color:var(--sa-ink);border-color:#aaaFA5}.is-style-outline .wp-block-button__link:hover{background:var(--sa-sage);border-color:var(--sa-ink)}.sa-header-inner>.wp-block-buttons{flex-shrink:0}.sa-header-inner>.wp-block-buttons a{min-height:43px;padding:10px 17px;font-size:12px}.sa-hero{display:grid;grid-template-columns:1.03fr 1fr;gap:68px;align-items:center;padding-block:65px 72px}.sa-lede{font-size:17px;line-height:1.7;max-width:440px;margin-top:26px}.sa-hero .wp-block-buttons{margin-top:30px;gap:10px}.sa-hero .sa-small-label{margin-top:35px;font-size:10px}.sa-hero-visual{position:relative;padding:0 0 32px 0}.sa-hero-visual:before{content:'';position:absolute;inset:26px -18px 16px 30px;background:#e7e9dd;border-radius:5px;z-index:0}.sa-hero-photo{position:relative;z-index:1}.sa-hero-photo img{width:100%;height:510px;object-fit:cover;object-position:50% 45%;border-radius:5px}.sa-photo-note{position:absolute;bottom:0;left:-27px;right:34px;background:var(--sa-paper);border:1px solid var(--sa-line);padding:19px 25px;z-index:2;box-shadow:0 9px 25px #20282008}.sa-note-title{font-family:var(--sa-font-display);font-size:24px;color:var(--sa-ink);letter-spacing:-.02em;line-height:1.25}.sa-photo-note p+p{font-size:12px;margin-top:4px}.sa-introduction{border-top:1px solid var(--sa-line);padding-block:65px 75px;display:grid;grid-template-columns:1fr 1.9fr;gap:75px}.sa-section-intro>p:last-child{font-size:15px;line-height:1.8;margin-top:22px}.sa-section-intro h2{font-size:38px}.sa-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:10px}.sa-number{font-family:var(--sa-font-display);font-size:23px;color:var(--sa-accent-ink);margin-bottom:22px}.sa-principle h3{font-size:20px;margin-bottom:15px}.sa-principle>p:last-child{font-size:14px;line-height:1.8}.sa-learning{background:var(--sa-sage);padding-block:78px}.sa-learning-inner{display:grid;grid-template-columns:.9fr 1.15fr;gap:90px;align-items:center}.sa-learning-copy>p:not(.sa-eyebrow){font-size:16px;max-width:425px;margin-top:25px}.sa-text-link{font-size:14px;font-weight:600;margin-top:25px}.sa-text-link a{color:var(--sa-ink)}.sa-discipline-panel{border:1px solid #c9d0c0;padding:28px 32px;background:#f7f8f2}.sa-discipline-panel>.sa-small-label{color:var(--sa-ink);font-size:10px}.sa-discipline-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin-top:17px}.sa-discipline{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--sa-line);padding:12px 0}.sa-discipline p{margin:0;font-size:14px;color:var(--sa-ink)}.sa-discipline .sa-initial{width:28px;font-family:var(--sa-font-display);font-size:25px;color:var(--sa-accent-ink);line-height:1.15}.sa-passion{font-family:var(--sa-font-display);font-style:italic;font-size:22px;margin-top:23px;color:var(--sa-ink)}.sa-community{padding-block:78px}.sa-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:34px;gap:25px}.sa-section-heading .sa-text-link{margin:0}.sa-photo-grid{display:grid;grid-template-columns:1.42fr 1fr;gap:28px}.sa-story img{width:100%;height:325px;object-fit:cover;border-radius:4px}.sa-story-wide img{object-position:center}.sa-story-title{font-family:var(--sa-font-display);font-size:23px;color:var(--sa-ink);margin-top:16px}.sa-admissions{background:#f1eae0;padding-block:75px}.sa-admissions-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:105px}.sa-admissions-copy>p:not(.sa-eyebrow){font-size:16px;margin-top:24px;max-width:445px}.sa-admissions-copy .wp-block-buttons{margin-top:28px}.sa-step{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:23px 0;border-bottom:1px solid #cfc9be}.sa-step:first-child{padding-top:0}.sa-step:last-child{border:0;padding-bottom:0}.sa-step h3{font-size:20px;letter-spacing:-.02em}.sa-step p{font-size:14px;margin-top:10px}.sa-step .sa-number{margin:0;font-size:22px}.sa-step .sa-text-link{font-size:13px}.sa-support{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:64px}.sa-support-copy{max-width:720px}.sa-support h2{font-size:36px}.sa-support-copy>p:last-child{font-size:15px;max-width:610px;margin-top:18px}.sa-support .wp-block-buttons{flex-shrink:0}.sa-footer{border-top:1px solid var(--sa-line);background:#f3f3ec;padding:48px 0 20px}.sa-footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:55px}.sa-footer h3{font-size:15px;margin-bottom:17px;letter-spacing:0}.sa-footer p{font-size:13px;line-height:1.9}.sa-footer .sa-brand-name{font-size:30px}.sa-footer-brand>p:last-child{margin-top:19px}.sa-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--sa-line);margin-top:35px;padding-top:20px}.sa-footer .sa-small{font-size:11px;margin:0}.sa-page{padding-block:60px;min-height:60vh}.sa-page>h1{margin-bottom:35px}.sa-page .wp-block-post-content p{margin-block:1em}.sa-preview-notice{background:#fff;padding:10px 24px;text-align:center;font-size:11px;color:var(--sa-ink);border-top:1px solid var(--sa-line)}.sa-skip-link{position:absolute;top:8px;left:8px;padding:12px;background:#fff;transform:translateY(-200%);z-index:100}.sa-skip-link:focus{transform:none}
@media(min-width:1600px){.sa-hero{gap:85px}}
@media(max-width:1150px){.sa-wrap{width:calc(100% - 64px)}.sa-nav-links{gap:16px}.sa-header-inner{gap:15px}.sa-brand-name{font-size:24px}.sa-hero{gap:45px}.sa-hero-photo img{height:485px}.sa-introduction{gap:35px;grid-template-columns:1fr 1.8fr}.sa-principles{gap:20px}.sa-learning-inner{gap:45px}.sa-admissions-inner{gap:55px}.sa-hero .wp-block-button__link{font-size:12px;padding:12px 15px}}
@media(max-width:950px){.sa-header-inner{min-height:90px;position:relative}.sa-preview-nav{margin-left:auto}.sa-menu-toggle{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--sa-line);border-radius:4px;background:transparent;color:var(--sa-ink);font:600 14px var(--sa-font-body);cursor:pointer}.sa-nav-links{display:none;position:absolute;top:80px;right:0;left:0;padding:18px;background:var(--sa-paper);border:1px solid var(--sa-line);z-index:5;box-shadow:0 15px 25px #20282012}.sa-nav-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.sa-nav-links a{padding:12px;min-height:44px}.sa-menu .wp-block-navigation__responsive-container-open{display:flex}.sa-menu .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.sa-menu .wp-block-navigation__responsive-container.is-menu-open{background:var(--sa-paper)}.sa-introduction{grid-template-columns:1fr;gap:38px}.sa-section-intro{max-width:530px}.sa-principles{gap:30px}.sa-hero{gap:30px;padding-block:42px 60px}.sa-hero-photo img{height:445px}.sa-photo-note{left:-13px;right:10px;padding:18px}.sa-note-title{font-size:21px}.sa-discipline-panel{padding:24px}.sa-learning-inner{gap:35px}.sa-admissions-inner{gap:38px}.sa-support{gap:30px}.sa-support h2{font-size:32px}}
@media(max-width:700px){body{font-size:16px}.sa-wrap{width:calc(100% - 40px)}.sa-announcement{padding:9px 15px}.sa-announcement p{font-size:10px;line-height:1.7}.sa-announcement a{display:block;margin:2px 0 0}.sa-header-inner{min-height:85px;gap:10px}.sa-brand{gap:8px}.sa-crest,.sa-crest img{width:35px;height:43px}.sa-brand-name{font-size:23px}.sa-tagline{font-size:6px;letter-spacing:.12em}.sa-header-inner>.wp-block-buttons{display:none}.sa-hero{grid-template-columns:1fr;gap:33px;padding-block:37px 48px}.sa-eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.12em}h1{font-size:48px;line-height:1.06}h2{font-size:34px}.sa-lede{font-size:16px;margin-top:23px}.sa-hero .wp-block-buttons{margin-top:24px;gap:9px}.sa-hero .wp-block-button__link{font-size:12px;padding:12px 13px;min-height:48px}.sa-hero .sa-small-label{margin-top:24px;font-size:9px}.sa-hero-visual{margin:0 8px;padding-bottom:33px}.sa-hero-visual:before{inset:18px -10px 15px 18px}.sa-hero-photo img{height:375px;object-position:center 44%}.sa-photo-note{left:-8px;right:15px;padding:17px 19px}.sa-photo-note p+p{font-size:11px}.sa-introduction{padding-block:42px 47px;gap:29px}.sa-section-intro h2{font-size:34px}.sa-section-intro>p:last-child{font-size:15px;margin-top:20px}.sa-principles{grid-template-columns:1fr;gap:25px}.sa-principle{border-top:1px solid var(--sa-line);padding-top:22px;display:grid;grid-template-columns:32px 1fr;column-gap:13px}.sa-principle .sa-number{grid-row:1/3;margin:0}.sa-principle h3{margin-bottom:10px}.sa-principle>p:last-child{grid-column:2;font-size:14px;margin:0}.sa-learning{padding-block:45px}.sa-learning-inner{grid-template-columns:1fr;gap:27px}.sa-learning-copy>p:not(.sa-eyebrow){font-size:15px;margin-top:20px}.sa-discipline-panel{padding:23px}.sa-discipline-grid{gap:0 15px}.sa-discipline p{font-size:12px}.sa-discipline .sa-initial{font-size:24px;width:22px}.sa-discipline{gap:8px}.sa-discipline-panel>.sa-small-label{font-size:9px;letter-spacing:.07em}.sa-community{padding-block:45px}.sa-section-heading{display:block;margin-bottom:27px}.sa-section-heading .sa-text-link{margin-top:22px}.sa-photo-grid{grid-template-columns:1fr;gap:25px}.sa-story img{height:240px}.sa-story-title{font-size:21px;margin-top:12px}.sa-admissions{padding-block:45px}.sa-admissions-inner{grid-template-columns:1fr;gap:34px}.sa-admissions-copy>p:not(.sa-eyebrow){font-size:15px;margin-top:20px}.sa-step h3{font-size:19px}.sa-step{gap:11px}.sa-support{display:block;padding-block:43px}.sa-support h2{font-size:31px}.sa-support .wp-block-buttons{margin-top:25px}.sa-footer{padding-top:35px}.sa-footer-inner{grid-template-columns:1fr;gap:29px}.sa-footer h3{margin-bottom:11px}.sa-footer-bottom{margin-top:29px;gap:15px}.sa-preview-notice{font-size:10px;padding:12px 20px}.sa-page{padding-block:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Concept 02:the owner's black, white and red brand, with generous white space. */
:root {
  --sa-paper:#ffffff;
  --sa-ink:#000;
  --sa-muted:#000;
  --sa-red:#c91924;
  --sa-sage:#f5f5f5;
  --sa-line:#dedede;
}
header { background:#ffffff; }
.sa-announcement { background:#f5f5f5; }
.sa-announcement a { color:var(--sa-accent-ink); }
.sa-header-inner { min-height:116px; padding-block:15px; }
.sa-logo {
  position:relative;
  width:264px;
  aspect-ratio:3368 / 1056;
  overflow:hidden;
  background:#ffffff;
}
.sa-logo a { display:block; width:100%; height:100%; }
.sa-logo img {
  position:absolute;
  width:114.014252%;
  max-width:none;
  height:auto;
  left:-7.422803%;
  top:-52.556818%;
}
.sa-logo:has(a:focus-visible) { outline:3px solid #16648c; outline-offset:5px; }
.sa-logo a:focus-visible { outline:none; }
.wp-block-button__link { border-radius:6px; }
.wp-block-button__link:hover { background:var(--sa-red-hover); border-color:var(--sa-red-hover); }
.is-style-outline .wp-block-button__link { border-color:#a1a1a1; }
.sa-hero-visual:before { background:var(--sa-soft); }
.sa-photo-note { border-top:3px solid var(--sa-red); box-shadow:0 9px 25px #1919190a; }
.sa-discipline-panel { background:#ffffff; border-color:#dedede; }
.sa-discipline-panel > .sa-small-label { color:var(--sa-ink); }
.sa-admissions { background:#f5f5f5; }
.sa-step { border-color:#dedede; }
.sa-support {
  background:var(--sa-red);
  padding:44px;
  margin-block:64px;
  border-radius:8px;
}
.sa-support h2, .sa-support p { color:#ffffff; }
.sa-support .is-style-outline .wp-block-button__link {
  background:#ffffff;
  border-color:#ffffff;
  color:var(--sa-accent-ink);
}
.sa-support .is-style-outline .wp-block-button__link:hover { background:#f5f5f5; }
.sa-support a:focus-visible { outline-color:#ffffff; }
.sa-footer { background:#000; border-top:3px solid var(--sa-red); }
.sa-footer h3, .sa-footer .sa-brand-name { color:#ffffff; }
.sa-footer p { color:#fff; }
.sa-footer a:hover { color:#ffffff; text-decoration-thickness:2px; }
.sa-footer a:focus-visible { outline-color:#ffffff; }
.sa-footer-bottom { border-top:2px solid var(--sa-red); }
.sa-preview-notice { color:var(--sa-ink); }
@media(max-width:1150px) {
  .sa-menu .wp-block-navigation__container { gap:16px; }
  .sa-support { gap:30px; padding:34px; }
}
@media(max-width:950px) {
  .sa-header-inner { min-height:110px; }
  .sa-nav-links { top:100%; }
  .sa-support { flex-direction:column; align-items:flex-start; }
}
@media(max-width:700px) {
  .sa-header-inner { min-height:96px; }
  .sa-logo { width:clamp(176px, 52vw, 220px); }
  .sa-support { padding:29px 25px; margin-block:40px; }
  .sa-support .wp-block-buttons { margin-top:24px; }
}

/* Custom gala ribbon. Matches the editable 1920 x 128 Canva artwork.
   Live text and a real link keep the website version responsive and accessible. */
.sa-gala { position:relative; background:#191919; border-bottom:3px solid var(--sa-red); }
.sa-gala:before { content:''; position:absolute; inset:0 auto 0 0; width:8px; background:var(--sa-red); }
.sa-gala-inner { display:grid; grid-template-columns:30px 1.2fr 1fr auto; align-items:center; column-gap:24px; min-height:77px; padding-block:12px; }
.sa-gala p { margin:0; color:#ffffff; }
.sa-gala .sa-gala-mark { font:35px/1 var(--sa-font-display); }
.sa-gala .sa-gala-brand { font-size:10px; font-weight:700; letter-spacing:.16em; line-height:1.3; color:#fff; margin-bottom:5px; }
.sa-gala .sa-gala-title { font:25px/1.12 var(--sa-font-display); letter-spacing:-.025em; }
.sa-gala-when { border-left:1px solid #454545; padding-left:28px; }
.sa-gala .sa-gala-date { font-size:13px; font-weight:700; letter-spacing:.04em; line-height:1.3; text-transform:uppercase; }
.sa-gala .sa-gala-place { font-size:12px; line-height:1.4; color:#fff; margin-top:6px; }
.sa-gala-button .wp-block-button__link { background:#ffffff; border-color:#ffffff; color:#000; border-radius:28px; padding:10px 21px; min-height:44px; font-size:13px; gap:15px; }
.sa-gala-button .wp-block-button__link:hover { background:#f5f5f5; border-color:#f5f5f5; color:#000; }
.sa-gala-arrow { color:var(--sa-accent-ink); }
.sa-gala a:focus-visible { outline-color:#ffffff; }
.sa-gala-mobile { display:none; }
@media(max-width:1100px) {
  .sa-gala-inner { grid-template-columns:1.1fr 1fr auto; gap:20px; }
  .sa-gala .sa-gala-mark { display:none; }
  .sa-gala .sa-gala-title { font-size:23px; }
  .sa-gala-when { padding-left:20px; }
}
@media(max-width:850px) {
  .sa-gala-inner { grid-template-columns:1fr auto; grid-template-areas:'heading button' 'when button'; row-gap:5px; padding-block:12px; }
  .sa-gala-heading { grid-area:heading; }
  .sa-gala-when { grid-area:when; border:0; padding:0; }
  .sa-gala-inner > .wp-block-buttons { grid-area:button; }
  .sa-gala .sa-gala-brand, .sa-gala .sa-gala-place { display:none; }
  .sa-gala .sa-gala-date { font-size:11px; color:#fff; }
}
@media(max-width:700px) {
  .sa-gala-inner { min-height:74px; gap:4px 12px; padding-block:10px; }
  .sa-gala .sa-gala-title { font-size:19px; line-height:1.15; letter-spacing:-.02em; }
  .sa-gala .sa-gala-date { font-size:11px; text-transform:none; letter-spacing:.02em; }
  .sa-gala-desktop { display:none; }
  .sa-gala-mobile { display:inline; }
  .sa-gala-button .wp-block-button__link { min-height:44px; padding:9px 16px; gap:8px; font-size:12px; }
}

/* Concept 03:live video opening and click/tap dropdown navigation. */
.sa-header-inner { position:relative; z-index:20; border-bottom:0; }
.sa-preview-nav summary { list-style:none; cursor:pointer; }
.sa-preview-nav summary::-webkit-details-marker { display:none; }
.sa-preview-nav summary:focus-visible { outline:3px solid #16648c; outline-offset:4px; }
.sa-desktop-links { display:flex; gap:16px; align-items:center; }
.sa-nav-group { position:relative; }
.sa-nav-group > summary { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; font-weight:600; white-space:nowrap; }
.sa-chevron { width:6px; height:6px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin-top:-4px; }
.sa-nav-group[open] > summary { color:var(--sa-accent-ink); }
.sa-nav-group[open] > summary .sa-chevron { transform:rotate(225deg); margin-top:3px; }
.sa-dropdown { position:absolute; top:100%; left:-20px; z-index:30; width:240px; margin:0; padding:10px; list-style:none; background:#fff; border:1px solid #dedede; border-top:3px solid var(--sa-red); border-radius:0 0 7px 7px; box-shadow:0 16px 35px #1919191a; }
.sa-nav-group:last-child .sa-dropdown { left:auto; right:-20px; }
.sa-dropdown a { display:block; padding:11px 12px; min-height:44px; color:var(--sa-ink); font-size:14px; line-height:1.5; text-decoration:none; }
.sa-dropdown a:hover { background:#f5f5f5; color:var(--sa-accent-ink); }
.sa-mobile-menu { display:none; }
.sa-menu .wp-block-navigation-item__content { min-height:44px; display:flex; align-items:center; }
.sa-menu .wp-block-navigation__submenu-container { min-width:230px !important; background:#fff !important; color:var(--sa-ink) !important; border-color:#dedede !important; border-top:3px solid var(--sa-red) !important; padding:8px; box-shadow:0 16px 35px #1919191a; }
.sa-menu .wp-block-navigation__submenu-container a { white-space:normal; padding:10px; }
.sa-video-hero { position:relative; isolation:isolate; background:#191919; }
.sa-hero-media, .sa-hero-poster, .sa-hero-video { position:absolute; inset:0; width:100%; height:100%; }
.sa-hero-media { overflow:hidden; z-index:-1; }
.sa-hero-poster, .sa-hero-video { object-fit:cover; object-position:center; }
.sa-hero-video { opacity:0; }
.sa-video-ready .sa-hero-video { opacity:1; }
.sa-hero-media:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,16,16,.84) 0%,rgba(16,16,16,.72) 52%,rgba(16,16,16,.24) 100%); }
.sa-hero-inner { position:relative; padding-block:72px 100px; min-height:575px; display:flex; align-items:center; }
.sa-video-hero .sa-hero-copy { max-width:600px; }
.sa-video-hero h1 { color:#fff; font-size:clamp(44px,4.7vw,68px); line-height:1.08; }
.sa-video-hero h1 em { color:#fff; }
.sa-video-hero p { color:#fff; }
.sa-video-hero .sa-eyebrow { letter-spacing:.15em; padding-left:14px; border-left:3px solid var(--sa-red); }
.sa-video-hero .sa-lede { font-size:17px; max-width:495px; line-height:1.65; margin-top:23px; }
.sa-video-hero .wp-block-buttons { margin-top:28px; }
.sa-video-hero .is-style-outline .wp-block-button__link { color:#fff; border-color:#fff; background:rgba(16,16,16,.35); }
.sa-video-hero .is-style-outline .wp-block-button__link:hover { background:#fff; color:#000; }
.sa-video-hero .sa-small-label { margin-top:28px; font-size:10px; }
.sa-video-controls { position:absolute; bottom:22px; right:0; text-align:right; max-width:310px; }
.sa-video-toggle { display:inline-flex; align-items:center; gap:10px; min-height:44px; background:#191919df; color:#fff; border:1px solid #ffffff94; border-radius:30px; padding:10px 16px; font:600 12px/1.5 var(--sa-font-body); cursor:pointer; }
.sa-video-toggle[hidden] { display:none; }
.sa-video-toggle:hover { background:#191919; }
.sa-video-hero a:focus-visible, .sa-video-toggle:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.sa-video-status:not(:empty) { display:block; margin-top:7px; padding:4px 8px; font-size:12px; background:#191919; color:#fff; }
@media(max-width:1100px) { .sa-desktop-links { gap:12px; } .sa-nav-group > summary { gap:6px; font-size:12px; } }
@media(max-width:950px) {
  .sa-desktop-links { display:none; }
  .sa-mobile-menu { display:block; }
  .sa-mobile-toggle { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px 12px; border:1px solid #dedede; border-radius:5px; font-size:14px; font-weight:600; }
  .sa-mobile-links { position:absolute; top:100%; left:0; right:0; max-height:68vh; max-height:68dvh; overflow-y:auto; padding:12px 18px 18px; background:#fff; border:1px solid #dedede; border-top:3px solid var(--sa-red); box-shadow:0 16px 30px #1919191a; }
  .sa-mobile-links .sa-nav-group { border-bottom:1px solid #e5e5e5; }
  .sa-mobile-links .sa-nav-group > summary { min-height:48px; font-size:16px; justify-content:space-between; }
  .sa-mobile-links .sa-dropdown { position:static; width:auto; border:0; box-shadow:none; background:#f5f5f5; padding:5px; margin-bottom:10px; }
  .sa-mobile-visit { display:block; min-height:44px; padding:12px 0 0; color:var(--sa-accent-ink); font-size:15px; font-weight:600; }
  .sa-hero-media:after { background:rgba(16,16,16,.68); }
  .sa-menu .wp-block-navigation__submenu-container { box-shadow:none; }
}
@media(max-width:700px) {
  .sa-hero-inner { min-height:570px; padding-block:42px 92px; }
  .sa-video-hero h1 { font-size:clamp(39px,10.8vw,52px); }
  .sa-video-hero .sa-lede { font-size:16px; margin-top:22px; }
  .sa-video-hero .sa-eyebrow { font-size:9px; letter-spacing:.11em; }
  .sa-video-hero .wp-block-buttons { gap:10px; }
  .sa-video-hero .wp-block-button__link { padding:12px 13px; font-size:12px; }
  .sa-video-controls { right:auto; left:0; bottom:22px; text-align:left; }
  .sa-video-hero .sa-small-label { font-size:9px; }
}

/* Authentic HAMSTER: distinct rainbow disciplines with consistent black lettering. */
.sa-healthcare { --discipline:#ff5b5b; --discipline-ink:#000000; }
.sa-art { --discipline:#ff9953; --discipline-ink:#000000; }
.sa-mathematics { --discipline:#ffff00; --discipline-ink:#000000; }
.sa-science { --discipline:#00fe00; --discipline-ink:#000000; }
.sa-technology { --discipline:#00b0f0; --discipline-ink:#000000; }
.sa-engineering { --discipline:#6680ff; --discipline-ink:#000000; }
.sa-religion { --discipline:#a162d0; --discipline-ink:#000000; }
.sa-screen-reader { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.sa-framework { padding-block:76px; background:#f7f7f7; }
.sa-framework-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:70px; align-items:center; margin-bottom:38px; }
.sa-framework-title:is(h1,h2) { font-size:clamp(30px,3.2vw,43px); font-weight:500; line-height:1.18; letter-spacing:-.035em; }
.sa-framework-title .sa-eyebrow { font-size:10px; letter-spacing:.11em; margin-bottom:18px; }
.sa-hamster-word { display:flex; gap:5px; margin-block:11px; width:max-content; }
.sa-letter { display:inline-flex; justify-content:center; align-items:center; width:44px; height:50px; background:var(--discipline); color:var(--discipline-ink); font:700 35px/1 var(--sa-font-body); border-radius:4px; letter-spacing:-.04em; }
.sa-framework-lede { max-width:420px; font-size:20px; line-height:1.65; color:var(--sa-ink); }
.sa-framework-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:58px; align-items:start; }
.sa-framework-visual { min-width:0; }
.sa-wheel { position:relative; width:100%; max-width:525px; aspect-ratio:1; margin-inline:auto; }
.sa-wheel-lines { position:absolute; inset:0; width:100%; height:100%; }
.sa-wheel-node { position:absolute; top:var(--node-y); left:var(--node-x); transform:translate(-50%,-50%); width:100px; min-height:88px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; color:var(--sa-ink); text-decoration:none; z-index:2; border-radius:10px; background:#f7f7f7; }
.sa-wheel-letter { display:grid; place-items:center; width:62px; height:62px; background:var(--discipline); color:var(--discipline-ink); border:4px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #1919190d,0 4px 12px #1919190d; font:700 31px/1 var(--sa-font-body); }
.sa-wheel-name { font-size:12px; font-weight:700; color:var(--sa-ink); line-height:1.2; }
.sa-wheel-node:hover .sa-wheel-letter, .sa-wheel-node[aria-current="true"] .sa-wheel-letter { box-shadow:0 0 0 3px #191919; }
.sa-wheel-node:hover .sa-wheel-name { text-decoration:underline; text-underline-offset:3px; }
.sa-wheel-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:155px; height:155px; border-radius:50%; border:1px solid #dedede; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-decoration:none; text-align:center; z-index:1; box-shadow:0 8px 25px #19191908; }
.sa-wheel-center strong { font:400 29px/1.15 var(--sa-font-display); color:var(--sa-ink); }
.sa-wheel-center > span:last-child { font-size:12px; line-height:1.4; color:var(--sa-ink); }
.sa-wheel-center .sa-wheel-center-label { color:var(--sa-accent-ink); font-size:8px; font-weight:700; letter-spacing:.11em; }
.sa-wheel-center:hover { border-color:var(--sa-red); }
.sa-wheel-hint { text-align:center; font-size:12px; color:var(--sa-ink); margin:2px 0 24px; }
.sa-passion-note { max-width:430px; margin-inline:auto; border-top:1px solid #dedede; padding-top:20px; }
.sa-passion-note h3 { font-family:var(--sa-font-display); font-size:24px; font-weight:400; letter-spacing:-.02em; margin-bottom:10px; }
.sa-passion-note p { font-size:14px; line-height:1.7; }
.sa-framework-rows > .sa-small-label { font-size:10px; letter-spacing:.12em; margin-bottom:17px; }
.sa-framework .sa-discipline { display:block; padding:0; margin:0 0 9px; background:#fff; border:1px solid #dedede; border-left:5px solid var(--discipline); border-radius:6px; overflow:visible; scroll-margin-top:24px; }
.sa-discipline > summary { display:grid; grid-template-columns:3rem minmax(0,1fr) 1.5rem; grid-template-areas:'letter title toggle' 'letter quality toggle'; gap:.125rem 1rem; align-items:center; min-height:6rem; padding:1rem; list-style:none; cursor:pointer; border-radius:4px; }
.sa-discipline > summary::-webkit-details-marker { display:none; }
.sa-discipline > summary:focus-visible { outline:3px solid #16648c; outline-offset:3px; }
.sa-discipline > summary:hover { background:#fafafa; }
.sa-discipline-letter { grid-area:letter; display:grid; place-items:center; width:3rem; height:3rem; border-radius:4px; background:var(--discipline); color:var(--discipline-ink); font:700 1.875rem/1 var(--sa-font-body); }
.sa-discipline-title { grid-area:title; color:var(--sa-ink); font-size:1.25rem; font-weight:700; line-height:1.4; min-width:0; overflow-wrap:anywhere; }
.sa-discipline-quality { grid-area:quality; font-size:1.125rem; font-weight:500; line-height:1.5; color:var(--sa-ink); margin:0; min-width:0; overflow-wrap:anywhere; text-align:left; }
.sa-discipline-plus { grid-area:toggle; width:1.25rem; height:1.25rem; position:relative; justify-self:center; }
.sa-discipline-plus:before, .sa-discipline-plus:after { content:''; position:absolute; top:calc(50% - 1px); left:0; width:100%; height:2px; background:currentColor; }
.sa-discipline-plus:after { transform:rotate(90deg); }
.sa-discipline[open] .sa-discipline-plus:after { display:none; }
.sa-discipline[open] > summary { border-bottom:1px solid #eeeeee; }
.sa-framework .sa-discipline-body { padding:17px 20px 22px 63px; }
.sa-framework .sa-discipline p { font-size:14px; color:var(--sa-ink); line-height:1.7; margin:0; }
.sa-framework .sa-discipline p + p { margin-top:14px; }
.sa-framework .sa-discipline strong { color:var(--sa-ink); font-size:12px; display:block; margin-bottom:3px; }
.sa-discipline-example { border-left:2px solid var(--discipline); padding-left:13px; }
.sa-framework-connection { display:flex; gap:40px; justify-content:space-between; align-items:center; border-top:1px solid #dedede; padding-top:30px; margin-top:36px; scroll-margin-top:24px; }
.sa-framework-connection .sa-eyebrow { font-size:9px; margin-bottom:11px; }
.sa-framework-connection h3 { font-size:25px; font-weight:500; margin-bottom:12px; }
.sa-connection-copy { max-width:720px; }
.sa-connection-copy > p:last-child { font-size:14px; line-height:1.7; }
.sa-framework-connection .sa-text-link { flex-shrink:0; font-size:13px; margin:0; }
.sa-watch-strip { background:#fff; border-bottom:1px solid #dedede; }
.sa-watch-panel { padding-block:10px; }
.sa-watch-panel > summary { min-height:44px; display:flex; align-items:center; justify-content:flex-end; gap:11px; list-style:none; font-size:13px; font-weight:600; cursor:pointer; color:var(--sa-ink); }
.sa-watch-panel > summary::-webkit-details-marker { display:none; }
.sa-watch-panel > summary:focus-visible { outline:3px solid #16648c; outline-offset:3px; }
.sa-watch-body { max-width:910px; margin:10px auto 25px; }
.sa-watch-body > p { font-size:13px; margin-bottom:12px; }
.sa-native-video { display:block; width:100%; aspect-ratio:910/512; background:#191919; }
@media(max-width:1100px) { .sa-framework-grid { gap:30px; } }
@media(max-width:760px) {
  .sa-framework { padding-block:45px; }
  .sa-framework-heading { grid-template-columns:1fr; gap:19px; margin-bottom:30px; }
  .sa-framework-lede { font-size:17px; max-width:550px; }
  .sa-framework-title:is(h1,h2) { font-size:31px; }
  .sa-framework-title .sa-eyebrow { font-size:9px; letter-spacing:.09em; }
  .sa-letter { width:38px; height:43px; font-size:29px; }
  .sa-hamster-word { gap:4px; }
  .sa-framework-grid { grid-template-columns:1fr; gap:20px; }
  .sa-framework-rows { order:0; }
  .sa-framework-visual { order:-1; }
  .sa-passion-note { max-width:none; margin:0; padding:20px; border:1px solid #dedede; background:#fff; border-radius:6px; }
  .sa-framework .sa-discipline-body { padding:16px 19px 20px; }
  .sa-framework-connection { display:block; padding-top:24px; margin-top:26px; }
  .sa-framework-connection .sa-text-link { margin-top:18px; }
}
@media(max-width:380px) { .sa-letter { width:34px; height:40px; font-size:28px; } }

/* Concept 05:readable type, stable alignment, and room for magnification.
   Relative type sizes follow browser preferences. Never clamp zoom or hide traits. */
html { font-size:100%; }
:root { --sa-muted:#000; }
body { font-size:1.125rem; line-height:1.7; }
h1,h2,h3 { overflow-wrap:anywhere; letter-spacing:-.025em; }
h1 { font-size:clamp(2.5rem,1.6rem + 3vw,4.375rem); }
h2,.sa-section-intro h2,.sa-support h2 { font-size:clamp(2rem,1.3rem + 2vw,2.9375rem); line-height:1.2; }
h3,.sa-principle h3,.sa-step h3 { font-size:1.375rem; line-height:1.35; }
.sa-wrap:is(p,a,summary) { overflow-wrap:anywhere; }
.sa-wrap > *, .sa-framework-grid > *, .sa-framework-heading > *, .sa-gala-inner > *, .sa-footer-inner > * { min-width:0; }
.sa-lede,.sa-section-intro > p:last-child,.sa-principle > p:last-child,
.sa-admissions-copy > p:not(.sa-eyebrow),.sa-step p,.sa-support-copy > p:last-child,
.sa-framework-lede,.sa-passion-note p,.sa-connection-copy > p:last-child,
.sa-video-hero .sa-lede,.sa-framework .sa-discipline p { font-size:1.125rem; line-height:1.7; }
.sa-framework-lede { color:var(--sa-ink); }
.sa-eyebrow,.sa-small-label,.sa-framework-title .sa-eyebrow,
.sa-framework-rows > .sa-small-label,.sa-framework-connection .sa-eyebrow,
.sa-video-hero .sa-eyebrow,.sa-video-hero .sa-small-label { font-size:1rem; line-height:1.6; letter-spacing:.065em; }
.sa-text-link,.sa-step .sa-text-link,.sa-framework-connection .sa-text-link,
.sa-watch-panel > summary,.sa-watch-body > p,.sa-wheel-hint,.sa-preview-notice { font-size:1rem; line-height:1.6; }
.wp-block-button__link,.sa-header-inner > .wp-block-buttons a,
.sa-video-hero .wp-block-button__link,.sa-gala-button .wp-block-button__link { font-size:1rem; line-height:1.5; min-height:3rem; }
.sa-nav-group > summary,.sa-mobile-links .sa-nav-group > summary,
.sa-dropdown a,.sa-menu a,.sa-mobile-toggle,.sa-mobile-visit { font-size:1rem; line-height:1.5; white-space:normal; }
.sa-dropdown { width:17rem; }
.sa-gala .sa-gala-brand,.sa-gala .sa-gala-date,.sa-gala .sa-gala-place { font-size:1rem; line-height:1.5; letter-spacing:.02em; }
.sa-gala .sa-gala-title { font-size:1.5rem; line-height:1.3; }
.sa-gala-inner { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:1.5rem; }
.sa-gala .sa-gala-mark { display:none; }
.sa-footer h3 { font-size:1.125rem; }
.sa-footer p,.sa-footer .sa-small { font-size:1rem; }
.sa-footer .sa-brand-name { font-size:1.875rem; }
.sa-footer-bottom { flex-wrap:wrap; gap:1rem; }
.sa-footer-contact a,.sa-footer-links a { display:inline-block; min-height:2.75rem; padding-block:.375rem; }
.sa-story-title { font-size:1.5rem; line-height:1.4; }
.sa-framework-title:is(h1,h2) { font-size:clamp(2rem,1.4rem + 2vw,2.6875rem); }
.sa-hamster-word { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; width:100%; max-width:24.5rem; }
.sa-hamster-word .sa-letter { width:auto; height:auto; min-height:1.4em; font-size:1em; }
.sa-framework .sa-discipline { margin-bottom:.75rem; border-color:#8a8a8a; border-left-color:var(--discipline); }
.sa-framework .sa-discipline-body { padding:1.25rem; }
.sa-framework .sa-discipline p { color:var(--sa-ink); }
.sa-framework .sa-discipline strong { font-size:1.125rem; line-height:1.5; }
.sa-framework .sa-discipline p + p { margin-top:1.25rem; }
.sa-discipline-example { padding-left:1rem; }
.sa-wheel { max-width:34rem; }
.sa-wheel-node { width:8.25rem; min-height:6.5rem; gap:.5rem; }
.sa-wheel-letter { width:3.875rem; height:3.875rem; font-size:1.9375rem; }
.sa-wheel-name { font-size:1rem; line-height:1.4; text-align:center; }
.sa-wheel-center { width:10rem; height:10rem; gap:.5rem; }
.sa-wheel-center strong { font-size:1.875rem; }
.sa-wheel-center .sa-wheel-center-label { font-size:1rem; line-height:1.5; letter-spacing:0; }
.sa-passion-note h3 { font-size:1.75rem; line-height:1.35; }
.sa-framework-connection h3 { font-size:1.625rem; line-height:1.35; }
.sa-framework-connection { flex-wrap:wrap; }
.sa-framework-connection .sa-text-link { flex-shrink:1; }
.sa-hero-media:after { background:linear-gradient(90deg,rgba(16,16,16,.82),rgba(16,16,16,.68)); }
.sa-hero-inner { display:grid; align-items:start; padding-block:4rem 2rem; }
.sa-video-hero h1 { font-size:clamp(2.5rem,1.5rem + 3vw,4.25rem); line-height:1.15; }
.sa-video-controls { position:static; justify-self:end; max-width:100%; margin-top:2rem; }
.sa-video-toggle { font-size:1rem; line-height:1.5; min-height:3rem; text-align:left; }
.sa-video-status:not(:empty) { font-size:1rem; line-height:1.5; }
/* Two contrasting rings remain visible on white, rainbow, red and dark surfaces. */
:root:is(a,button,summary,.sa-discipline > summary,.sa-preview-nav summary):focus-visible {
  outline:3px solid #111111; outline-offset:4px; box-shadow:0 0 0 4px #ffffff;
}
.sa-logo:has(a:focus-visible) { outline:3px solid #111111; outline-offset:4px; box-shadow:0 0 0 4px #ffffff; }
@media(max-width:75em) {
  .sa-desktop-links { display:none; }
  .sa-mobile-menu { display:block; }
  .sa-header-inner > .wp-block-buttons { display:none; }
  .sa-mobile-toggle { display:flex; align-items:center; gap:.625rem; min-height:3rem; padding:.625rem .75rem; border:1px solid #767676; border-radius:5px; font-weight:600; }
  .sa-mobile-links { position:absolute; top:100%; left:0; right:0; max-height:68vh; max-height:68dvh; overflow-y:auto; padding:.75rem 1.125rem 1.125rem; background:#fff; border:1px solid #767676; border-top:3px solid var(--sa-red); box-shadow:0 16px 30px #1919191a; }
  .sa-mobile-links .sa-nav-group { border-bottom:1px solid #8a8a8a; }
  .sa-mobile-links .sa-nav-group > summary { min-height:3rem; justify-content:space-between; }
  .sa-mobile-links .sa-dropdown { position:static; width:auto; border:0; box-shadow:none; background:#f5f5f5; padding:.3125rem; margin-bottom:.625rem; }
  .sa-mobile-visit { display:block; min-height:3rem; padding:.75rem 0 0; color:var(--sa-accent-ink); font-weight:600; }
  .sa-menu .wp-block-navigation__responsive-container-open { display:flex; }
  .sa-menu .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .sa-menu .wp-block-navigation__responsive-container.is-menu-open { background:#fff; }
  .sa-framework-heading { grid-template-columns:1fr; gap:1.25rem; }
  .sa-framework-grid { grid-template-columns:1fr; gap:1.5rem; }
  .sa-framework-rows { order:0; }
  .sa-framework-visual { order:-1; }
  .sa-framework-lede { max-width:42rem; }
  .sa-passion-note { max-width:none; margin:0; padding:1.25rem; border:1px solid #8a8a8a; background:#fff; border-radius:6px; }
}
@media(max-width:53.125em) {
  .sa-gala-inner { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:'heading button' 'when button'; gap:.3125rem 1rem; }
  .sa-gala-heading { grid-area:heading; }
  .sa-gala-when { grid-area:when; border:0; padding:0; }
  .sa-gala-inner > .wp-block-buttons { grid-area:button; }
  .sa-gala .sa-gala-brand,.sa-gala .sa-gala-place { display:none; }
}
@media(max-width:43.75em) {
  .sa-wrap { width:calc(100% - 2rem); }
  .sa-header-inner { flex-wrap:wrap; gap:.75rem; }
  .sa-logo { width:clamp(10rem,50vw,13.75rem); }
  .sa-gala-inner { grid-template-columns:minmax(0,1fr) auto; gap:.25rem .75rem; }
  .sa-gala .sa-gala-title { font-size:1.125rem; }
  .sa-gala-button .wp-block-button__link { padding:.625rem .75rem; }
  .sa-hero-inner { padding-block:2.5rem 1.5rem; }
  .sa-video-controls { justify-self:start; text-align:left; }
  .sa-discipline > summary { gap:.125rem .75rem; padding:.875rem; }
  .sa-principles,.sa-admissions-inner,.sa-footer-inner { grid-template-columns:minmax(0,1fr); }
  .sa-support { padding:1.5rem; }
}
@media(forced-colors:active) {
  .sa-letter,.sa-discipline-letter,.sa-wheel-letter { border:1px solid CanvasText; }
  .sa-framework .sa-discipline { border:1px solid CanvasText; }
  .sa-wheel-node[aria-current='true'] { outline:3px solid Highlight; }
  :root:is(a,button,summary,.sa-discipline > summary,.sa-preview-nav summary):focus-visible { outline-color:Highlight; box-shadow:none; }
}

/* Concept 06:editorial Gala ribbon, compact videos and individual faculty pages. */
[hidden] { display:none!important; }
.sa-gala { background:#151413; border-block:1px solid #666; border-bottom-width:2px; }
.sa-gala:before { width:6px; background:var(--sa-red); }
.sa-gala .sa-gala-brand { color:#fff; letter-spacing:.08em; }
.sa-gala .sa-gala-title { color:#fff; font-family:var(--sa-font-display); }
.sa-gala-when { border-color:#666; }
.sa-gala .sa-gala-date,.sa-gala .sa-gala-place { color:#fff; }
.sa-gala-button .wp-block-button__link { background:#fff; color:#000; border:1px solid #fff; border-radius:3px; }
.sa-gala-button .wp-block-button__link:hover { background:#fff; color:var(--sa-red-hover); }
.sa-gala-heading { display:flex; align-items:center; gap:1rem; }
.sa-gala-heading-copy { min-width:0; }
.sa-gala-icon { display:block; flex:none; width:2rem; height:2rem; color:#fff; }
.sa-watch-panel>summary { justify-content:space-between; font-size:1.125rem; padding-block:.5rem; }
.sa-disclosure-sign { width:1rem; height:1rem; position:relative; flex-shrink:0; }
.sa-disclosure-sign:before,.sa-disclosure-sign:after { content:''; position:absolute; background:currentColor; top:7px; left:0; width:16px; height:2px; }
.sa-disclosure-sign:after { transform:rotate(90deg); }
.sa-watch-panel[open] .sa-disclosure-sign:after { transform:none; }
.sa-watch-body { max-width:none; margin:1rem 0 2rem; }
.sa-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-block:1.5rem; }
.sa-gallery-heading h2 { font:2rem/1.25 var(--sa-font-display); margin-bottom:.75rem; }
.sa-gallery-heading p { font-size:1.125rem; }
.sa-gallery-controls,.sa-photo-controls { display:flex; align-items:center; gap:.75rem; }
.sa-gallery-controls button,.sa-photo-controls button { appearance:none; background:#fff; color:var(--sa-ink); border:1px solid #777; border-radius:3px; min-height:3rem; padding:.6rem .9rem; font:600 1rem/1.5 var(--sa-font-body); cursor:pointer; }
.sa-gallery-controls button:hover,.sa-photo-controls button:hover { background:#f3f3f3; }
.sa-video-track { list-style:none; display:flex; gap:1.25rem; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; padding:.3rem .25rem 1rem; margin:0; scrollbar-color:#555 #eee; }
.sa-video-card { flex:0 0 min(19rem,85%); scroll-snap-align:start; min-width:0; }
.sa-video-select { display:block; height:100%; border:1px solid #bbb; color:var(--sa-ink); text-decoration:none; background:#fff; }
.sa-video-select:hover,.sa-video-select[aria-current] { border-color:var(--sa-red); box-shadow:inset 0 -3px var(--sa-red); }
.sa-video-select img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.sa-video-card-copy { display:flex; flex-direction:column; padding:1rem; }
.sa-video-title { font-size:1.125rem; font-weight:700; line-height:1.5; }
.sa-video-author { font-size:1rem; color:var(--sa-ink); margin-top:.3rem; }
.sa-video-action { margin-top:1rem; color:var(--sa-accent-ink); font-size:1rem; font-weight:600; text-decoration:underline; text-underline-offset:.2em; }
.sa-youtube-stage { max-width:56rem; margin:0 auto 2rem; }
.sa-selected-title { font-size:1.5rem; margin-bottom:1rem; }
.sa-youtube-player iframe { display:block; width:100%; aspect-ratio:16/9; min-height:200px; border:0; background:#171717; }
.sa-youtube-stage p,.sa-video-help { margin-top:1rem; font-size:1rem; }
.sa-event-feature { background:#fbf7eb; border-block:1px solid #ddd1b1; padding-block:3.5rem; }
.sa-event-feature-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:center; gap:3rem; }
/* Crop only the viewport around the supplied invitation; original image bytes remain intact. */
.sa-gala-art { position:relative; width:100%; aspect-ratio:655/368; overflow:hidden; box-shadow:0 10px 30px #261b101c; background:#151413; }
.sa-gala-art img { position:absolute; max-width:none; width:107.938931%; height:auto; left:-3.969466%; top:-151.086956%; }
.sa-event-copy .sa-eyebrow { color:var(--sa-accent-ink); }
.sa-event-copy h2 { font-size:clamp(2rem,3vw,2.75rem); }
.sa-event-copy p:not(.sa-eyebrow) { font-size:1.125rem; margin-top:1.25rem; }
.sa-event-copy .wp-block-buttons { margin-top:1.5rem; }
.sa-event-copy .wp-block-button__link { background:var(--sa-red); border-color:var(--sa-red); color:#fff; }
.sa-book-feature { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); align-items:center; gap:4rem; padding-block:4rem; border-bottom:1px solid #dedede; }
.sa-book-cover { margin:0; justify-self:center; max-width:15rem; }
.sa-book-cover img { width:100%; height:auto; display:block; box-shadow:0 12px 25px #19191925; }
.sa-book-copy { max-width:40rem; }
.sa-book-copy p:not(.sa-eyebrow) { font-size:1.125rem; margin-top:1.25rem; }
@media(max-width:65em) {

 .sa-event-feature-inner { grid-template-columns:minmax(0,1fr); gap:2rem; }
 .sa-gala-art { max-width:42rem; }
}
@media(max-width:48em) {
 .sa-gallery-heading { align-items:start; flex-direction:column; }
 .sa-book-feature { gap:2rem; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
}
@media(max-width:32em) {
 .sa-book-feature { grid-template-columns:minmax(0,1fr); }
 .sa-book-cover { max-width:12rem; }
 .sa-gala-inner { grid-template-columns:minmax(0,1fr) auto; }
}
@media(forced-colors:active) {
 .sa-person-card a,.sa-video-select,.sa-gala { border:1px solid CanvasText; }
 .sa-disclosure-sign:before,.sa-disclosure-sign:after { background:ButtonText; }
}

/* Concept 07:single portraits, HAMSTER accents and native faculty disclosures. */
.sa-mobile-toggle { gap:.75rem; }
.sa-menu-bars { display:inline-flex; flex-direction:column; justify-content:space-between; width:1.25rem; height:1rem; flex:0 0 1.25rem; }
.sa-menu-bars>span { display:block; width:100%; height:2px; background:currentColor; border-radius:1px; }
.sa-menu .wp-block-navigation__responsive-container-open { align-items:center; gap:.65rem; min-height:3rem; padding:.6rem; }
.sa-menu .wp-block-navigation__responsive-container-open svg { display:none; }
.sa-menu .wp-block-navigation__responsive-container-open:before { content:''; width:1.25rem; height:1rem; background:linear-gradient(to bottom,currentColor 0 2px,transparent 2px 7px,currentColor 7px 9px,transparent 9px 14px,currentColor 14px 16px); }
.sa-menu .wp-block-navigation__responsive-container-open:after { content:'Menu'; font:600 1rem/1.5 var(--sa-font-body); }
.sa-faculty { padding-block:3.5rem 5rem; }
.sa-faculty-heading { max-width:47rem; margin-bottom:3rem; }
.sa-faculty-heading h1 { font-size:clamp(2.3rem,4vw,4rem); line-height:1.15; margin-bottom:1.5rem; }
.sa-faculty-heading>p:last-child { font-size:1.125rem; }
.sa-faculty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:3rem 2rem; }
.sa-faculty-card { min-width:0; padding:1.25rem; background:#f7f7f7; border:1px solid #ddd; border-radius:4px; }
.sa-faculty-card>summary { display:block; cursor:pointer; list-style:none; text-align:center; }
.sa-faculty-card>summary::-webkit-details-marker { display:none; }
.sa-portrait-frame { position:relative; isolation:isolate; display:block; padding:.625rem 1.125rem 0 0; margin-bottom:1.5rem; }
.sa-portrait-frame:before { content:''; position:absolute; z-index:-1; inset:0 0 .625rem 1.125rem; background:var(--faculty-accent); border-radius:0 999px 999px 0; }
.sa-portrait-frame img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:0 999px 999px 0; background:#ddd; }
.sa-staff-vice-principal .sa-portrait-frame:before { box-shadow:0 0 0 1px #767676; }
.sa-faculty-name { display:block; font:600 1.5rem/1.35 var(--sa-font-display); color:var(--sa-ink); }
.sa-faculty-role { display:block; font:500 1.125rem/1.5 var(--sa-font-body); color:var(--sa-ink); margin-top:.65rem; }
.sa-faculty-toggle { display:flex; align-items:center; justify-content:center; gap:1rem; min-height:3rem; margin-top:.75rem; color:var(--sa-ink); font:600 1rem/1.5 var(--sa-font-body); }
.sa-faculty-toggle [data-bio-label] { text-decoration:underline; text-underline-offset:.2em; }
.sa-faculty-card[open] { grid-column:1/-1; padding:1.5rem; background:#fff; border-color:#777; }
.sa-faculty-card[open]>summary { float:left; width:32%; margin:0 2rem 1rem 0; }
.sa-faculty-card[open]:after { content:''; display:block; clear:both; }
.sa-faculty-card[open] .sa-disclosure-sign:after { transform:none; }
.sa-faculty-bio { display:flow-root; padding-top:.5rem; }
.sa-faculty-bio p { font-size:1.125rem; line-height:1.8; margin:0 0 1.5rem; }
.sa-faculty-bio p:last-child { margin-bottom:0; }
.sa-faculty-email { overflow-wrap:anywhere; }
.sa-faculty-email a { color:var(--sa-accent-ink); }
/* A quiet, easy-to-tap return control. Native hidden removes it from tab order. */
.sa-back-to-top {
 position:fixed; left:auto; right:max(1rem,env(safe-area-inset-right,0px)); transform:none;
 bottom:calc(1rem + env(safe-area-inset-bottom,0px)); z-index:15;
 display:grid; place-items:center; width:3rem; height:3rem;
 min-width:48px; min-height:48px; margin:0; padding:0;
 border:1px solid #000; border-radius:8px;
 background:#fff; color:#000; box-shadow:0 3px 12px #00000018;
 cursor:pointer;
}
.sa-back-to-top[hidden] { display:none; }
.sa-back-to-top:hover { background:#191919; color:#fff; border-color:#191919; }
.sa-back-to-top:focus-visible { outline:3px solid #191919; outline-offset:3px; box-shadow:0 0 0 3px #fff; }
.sa-back-to-top svg { display:block; fill:none; stroke:currentColor; pointer-events:none; }
@media(print) { .sa-back-to-top { display:none!important; } }
@media(forced-colors:active) { .sa-back-to-top { background:ButtonFace; color:ButtonText; border:2px solid ButtonText; } }
@media(max-width:65em) {
 .sa-faculty-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.5rem; }
}
@media(max-width:48em) {
 .sa-faculty-card[open]>summary { float:none; width:100%; max-width:23rem; margin:0 auto; }
 .sa-faculty-bio { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #bbb; }
}
@media(max-width:36em) {
 .sa-faculty-grid { grid-template-columns:minmax(0,1fr); }
 .sa-faculty { padding-block:2.5rem; }
 .sa-faculty-card,.sa-faculty-card[open] { padding:1.25rem; }
}
@media(forced-colors:active) {
 .sa-menu-bars>span { background:ButtonText; }
 .sa-faculty-card { border-color:CanvasText; }
 .sa-portrait-frame:before { border:2px solid CanvasText; }
}

/* Shared interior pages:generous text, restrained accents and native disclosures. */
.sa-subpage-intro { padding-block:clamp(2.5rem,6vw,5rem) 2.5rem; }
.sa-subpage-intro h1 { max-width:58rem; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.1; letter-spacing:-.035em; margin:.7rem 0 1.5rem; }
.sa-subpage-intro .sa-lede { max-width:49rem; font-size:1.25rem; color:var(--sa-ink); line-height:1.7; }
.sa-subpage-intro .wp-block-buttons { margin-top:1.75rem; }
.sa-subpage-body { padding-bottom:4rem; }
:is(.sa-subpage-intro,.sa-subpage-body,.sa-team-section) { overflow-wrap:anywhere; }
.sa-page-jumps { display:flex; flex-wrap:wrap; gap:.5rem 1rem; padding:1.25rem 0; margin:0 0 1.5rem; border-block:1px solid #b8b8b8; }
.sa-page-jumps a { display:flex; align-items:center; min-height:3rem; padding:.3rem .5rem; color:var(--sa-accent-ink); font-size:1.125rem; font-weight:600; text-underline-offset:.22em; }
.sa-page-section,.sa-team-section { padding-block:2.5rem; scroll-margin-top:2rem; }
.sa-page-section h2,.sa-team-section h2 { font-size:clamp(1.9rem,3vw,2.75rem); line-height:1.2; margin:0 0 1.5rem; }
.sa-page-section>p,.sa-team-section>p { max-width:49rem; color:var(--sa-ink); margin:0 0 1.5rem; font-size:1.125rem; line-height:1.8; }
.sa-info-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap:1.5rem; margin:1.5rem 0; }
.sa-info-card { background:#f5f5f5; border:1px solid #d4d4d4; border-top:3px solid var(--sa-red); padding:clamp(1.25rem,3vw,2rem); min-width:0; }
.sa-info-card h3 { font:600 1.65rem/1.3 var(--sa-font-display); margin:0 0 1rem; }
.sa-info-card p { font-size:1.125rem; color:var(--sa-ink); line-height:1.75; margin-bottom:1rem; }
.sa-info-card p:last-child { margin-bottom:0; }
.sa-info-card .sa-text-link { margin-top:1rem; }
.sa-compact-details { margin:0; padding:0; border-bottom:1px solid #a3a3a3; background:#fff; }
.sa-compact-details>summary { position:relative; display:block; list-style:none; cursor:pointer; min-height:3.25rem; padding:1.15rem 3rem 1.15rem .25rem; color:var(--sa-ink); font:600 1.125rem/1.55 var(--sa-font-body); }
.sa-compact-details>summary::-webkit-details-marker { display:none; }
.sa-compact-details>summary:hover { color:var(--sa-accent-ink); background:#f7f7f7; }
.sa-details-content { max-width:52rem; padding:.25rem .25rem 1.5rem; }
.sa-details-content p,.sa-compact-details>p { font-size:1.125rem; line-height:1.8; color:var(--sa-ink); margin:0 0 1.25rem; }
.sa-details-content p:last-child { margin-bottom:0; }
.sa-resource-list { list-style:none; padding:0; margin:1rem 0; display:grid; grid-template-columns:minmax(0,1fr); gap:.25rem; }
.sa-resource-list li { margin:0; min-width:0; }
.sa-resource-list a { display:inline-flex; align-items:center; min-height:3rem; padding:.6rem 0; color:var(--sa-accent-ink); font-size:1.125rem; line-height:1.5; text-underline-offset:.25em; }
.sa-callout { padding:clamp(1.5rem,4vw,3rem); background:#f5f5f5; margin-top:2rem; border-left:3px solid var(--sa-red); }
.sa-callout .sa-compact-details { background:transparent; }
.sa-process { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin:2rem 0; }
.sa-process-step { display:flex; align-items:flex-start; gap:1.25rem; min-width:0; }
.sa-process-step .sa-number { font:500 1.6rem/1.4 var(--sa-font-display); color:var(--sa-accent-ink); padding-top:.1rem; }
.sa-process-copy h3 { font-size:1.35rem; margin:0 0 .5rem; }
.sa-process-copy p { color:var(--sa-ink); font-size:1.125rem; line-height:1.75; }
.sa-table-wrap { margin:1.5rem 0; }
.sa-level-table { border-collapse:collapse; width:100%; max-width:48rem; font-size:1.125rem; }
.sa-level-table caption { text-align:left; padding:0 0 1rem; font-weight:600; }
.sa-level-table th,.sa-level-table td { text-align:left; border-bottom:1px solid #a3a3a3; padding:1rem; color:var(--sa-ink); }
.sa-level-table thead { background:#191919; }
.sa-level-table thead th { color:#fff; }
.sa-level-table tbody tr:nth-child(even) { background:#f5f5f5; }
.sa-subpage-photo { max-width:52rem; margin:2rem 0; }
.sa-subpage-photo img { width:100%; height:auto; display:block; }
.sa-giving-event { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2.5rem; align-items:center; }
.sa-giving-copy p { font-size:1.125rem; line-height:1.75; margin:0 0 1.25rem; color:var(--sa-ink); }
.sa-giving-copy .sa-eyebrow { color:var(--sa-accent-ink); }
.sa-faculty-secondary { display:block; margin-top:.35rem; font-size:1rem; line-height:1.6; color:var(--sa-ink); }
.sa-portrait-placeholder { position:relative; display:grid; place-items:center; width:calc(100% - .625rem); height:100%; background:#ededed; border:1px solid #aaa; border-radius:0 999px 999px 0; color:var(--sa-ink); font:600 3rem/1 var(--sa-font-display); }
.sa-team-section .sa-section-lede { margin-bottom:2rem; }
@media(max-width:44em) {
 .sa-process,.sa-giving-event { grid-template-columns:minmax(0,1fr); }
 .sa-page-jumps { gap:.25rem .5rem; }
 .sa-page-jumps a { padding:.4rem; }
 .sa-page-section,.sa-team-section { padding-block:2rem; }
 .sa-level-table td,.sa-level-table th { padding:.85rem .65rem; }
}
@media(forced-colors:active) {
 .sa-info-card,.sa-callout,.sa-compact-details,.sa-page-jumps { border-color:CanvasText; }
}

/* Identity:readable copy and original artwork, with native disclosures. */
.sa-identity-hero { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,4.5rem); padding-block:4rem; }
.sa-identity-hero h1 { font-size:clamp(2.5rem,4.5vw,4rem); line-height:1.15; }
.sa-identity-hero .sa-identity-lede { font-size:1.25rem; line-height:1.65; margin-top:1.5rem; color:var(--sa-ink); }
.sa-identity-hero .wp-block-buttons { margin-top:1.75rem; }
.sa-identity-hero-art { position:relative; }
.sa-identity-hero-art img { width:100%; height:auto; border-radius:3px; box-shadow:1rem 1rem 0 #f1f1f1; }
.sa-identity-scripture { margin:1.5rem 0 0; padding:.25rem 0 .25rem 1.25rem; border:0; border-left:3px solid var(--sa-red); }
.sa-identity-scripture p { font:400 1.125rem/1.7 var(--sa-font-display); color:var(--sa-ink); }
.sa-identity-scripture cite { display:block; margin-top:.75rem; color:var(--sa-ink); font:600 1rem/1.5 var(--sa-font-body); }
.sa-identity-story { background:#f5f5f5; padding-block:4rem; }
.sa-identity-story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.sa-identity-story h2,.sa-identity-section-heading h2,.sa-identity-next h2 { font-size:clamp(2rem,3.2vw,2.9rem); line-height:1.2; }
.sa-identity-story-art { margin-top:1.75rem; max-width:18rem; }
.sa-identity-story-art img { width:100%; height:auto; border-radius:3px; }
.sa-identity-kicker { font:600 1.25rem/1.5 var(--sa-font-body); color:var(--sa-ink); margin-bottom:1.25rem; }
.sa-identity-story-copy > p:not(.sa-identity-kicker),.sa-identity-story-continuation p { font-size:1.125rem; line-height:1.8; color:var(--sa-ink); }
.sa-identity-story-continuation p+p { margin-top:1.25rem; }
.sa-identity-story-more { margin-top:1.5rem; border-top:1px solid #8a8a8a; }
.sa-identity-story-more > summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:3rem; padding:1rem .25rem; list-style:none; cursor:pointer; color:var(--sa-accent-ink); font-size:1.125rem; font-weight:600; }
.sa-identity-story-continuation { padding-top:.5rem; }
.sa-identity-statements { padding-block:4rem; }
.sa-identity-section-heading { max-width:45rem; margin-bottom:2rem; }
.sa-identity-section-heading > p:last-child { font-size:1.125rem; line-height:1.75; color:var(--sa-ink); margin-top:1.25rem; }
.sa-identity-statement { border:1px solid #8a8a8a; border-radius:5px; margin-bottom:1rem; background:#fff; scroll-margin-top:2rem; }
.sa-identity-statement > summary { display:grid; grid-template-columns:3.25rem minmax(0,1fr) 1.5rem; gap:1.25rem; align-items:center; padding:1.25rem 1.5rem; list-style:none; cursor:pointer; min-height:6rem; border-radius:4px; }
.sa-identity-statement > summary:hover { background:#f7f7f7; }
.sa-identity-number { display:grid; place-items:center; width:3.25rem; height:3.25rem; background:#f7f7f7; border:1px solid #8a8a8a; border-radius:4px; color:var(--sa-accent-ink); font:600 1.375rem/1 var(--sa-font-body); }
.sa-identity-summary-copy { min-width:0; }
.sa-identity-summary-copy strong { display:block; color:var(--sa-ink); font-size:1.375rem; line-height:1.4; }
.sa-identity-summary-copy > span { display:block; color:var(--sa-ink); font-size:1.125rem; line-height:1.5; margin-top:.125rem; }
.sa-identity-plus { position:relative; display:block; flex-shrink:0; width:1.25rem; height:1.25rem; color:var(--sa-ink); }
.sa-identity-plus:before,.sa-identity-plus:after { content:''; position:absolute; top:calc(50% - 1px); left:0; height:2px; width:100%; background:currentColor; }
.sa-identity-plus:after { transform:rotate(90deg); }
.sa-identity-statement[open] > summary .sa-identity-plus:after,.sa-identity-story-more[open] > summary .sa-identity-plus:after { display:none; }
.sa-identity-statement > summary::-webkit-details-marker,.sa-identity-story-more > summary::-webkit-details-marker { display:none; }
.sa-identity-statement[open] > summary { border-bottom:1px solid #8a8a8a; }
.sa-identity-statement-content { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); align-items:start; gap:2rem; padding:2rem; }
.sa-identity-statement-text { font-size:1.25rem; line-height:1.75; color:var(--sa-ink); }
.sa-identity-statement-art { margin:0; }
.sa-identity-statement-art img { width:100%; height:auto; border-radius:3px; }
.sa-identity-statement-copy .sa-text-link { margin-top:1.5rem; font-size:1.125rem; }
.sa-identity-next { padding-block:3.5rem; background:#f5f5f5; border-top:1px solid #dedede; }
.sa-identity-next-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.sa-identity-next-copy { max-width:42rem; }
.sa-identity-next-copy > p:last-child { margin-top:1rem; font-size:1.125rem; color:var(--sa-ink); }
.sa-identity-next-links { flex-shrink:0; }
.sa-identity-next-links .sa-text-link { font-size:1.125rem; margin:1rem 0; }
:is(.sa-identity-hero,.sa-identity-story,.sa-identity-statements,.sa-identity-next) { overflow-wrap:anywhere; }
:is(.sa-identity-hero,.sa-identity-story,.sa-identity-statements,.sa-identity-next) .sa-eyebrow { font-size:1rem; line-height:1.5; letter-spacing:.08em; }
@media(max-width:56.25em) {
 .sa-identity-hero { grid-template-columns:1fr; gap:2rem; }
 .sa-identity-hero-art { max-width:30rem; margin-inline:auto; width:calc(100% - 1rem); }
 .sa-identity-story-grid { grid-template-columns:1fr; }
 .sa-identity-story-aside { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,10rem); column-gap:1.5rem; align-items:center; }
 .sa-identity-story-aside > .sa-eyebrow { grid-column:1; }
 .sa-identity-story-art { grid-column:2; grid-row:1 / span 2; margin:0; }
 .sa-identity-next-inner { display:block; }
 .sa-identity-next-links { margin-top:1.5rem; }
}
@media(max-width:40em) {
 .sa-identity-hero,.sa-identity-story,.sa-identity-statements { padding-block:2.5rem; }
 .sa-identity-story-aside { display:block; }
 .sa-identity-story-art { margin-top:1.5rem; max-width:13rem; }
 .sa-identity-statement > summary { grid-template-columns:2.5rem minmax(0,1fr) 1.25rem; gap:.75rem; padding:1rem .75rem; }
 .sa-identity-number { width:2.5rem; height:2.5rem; font-size:1.125rem; }
 .sa-identity-summary-copy strong { font-size:1.25rem; }
 .sa-identity-statement-content { grid-template-columns:minmax(0,1fr); padding:1.25rem; gap:1.5rem; }
 .sa-identity-statement-art { max-width:24rem; margin-inline:auto; width:100%; }
 .sa-identity-statement-text { font-size:1.125rem; }
}
@media print {
 .sa-identity-story-more > :not(summary),.sa-identity-statement > :not(summary) { display:block; }
 .sa-identity-plus { display:none; }
}
