/* Navigation has its own full-width shell; content constraints must not squeeze it. */
body.public-v2 .header-inner{width:100%;max-width:none}
body.public-v2 .topbar-inner{width:100%;max-width:none;padding-inline:4%}
@media(min-width:901px){body.public-v2 .primary-nav:not(.open){flex-wrap:nowrap;flex-shrink:0}body.public-v2 .primary-nav:not(.open)>*{flex-shrink:0}}
@media(min-width:901px) and (max-width:1050px){body.public-v2 .header-inner{gap:12px}body.public-v2 .brand-text strong{max-width:95px}body.public-v2 .brand-text span{display:none}}

/* Full school name, with explicit compact navigation rather than wrapping branding. */
body.public-v2 .brand-text strong{white-space:nowrap;max-width:none!important;overflow:visible;text-overflow:clip}
@media(min-width:901px) and (max-width:1100px){body.public-v2 .primary-nav:not(.open){display:none!important}body.public-v2 .header-actions{margin-left:auto}}
@media(max-width:600px){body.public-v2 .brand-cluster{flex:0 1 auto}body.public-v2 .brand-text strong{font-size:10px}body.public-v2 .brand-logo{width:34px;height:34px}body.public-v2 .flight-header-search{font-size:0;width:34px;height:36px;padding:8px;justify-content:center}body.public-v2 .flight-header-search i{font-size:14px}body.public-v2 .header-inner{gap:8px}body.public-v2 .header-actions{gap:8px}}
@media(max-width:360px){body.public-v2 .brand-text strong{font-size:8.5px}body.public-v2 .brand-logo{width:28px;height:28px}body.public-v2 .brand{gap:6px}body.public-v2 .header-actions{gap:6px}}
/* Footer is a full-width surface with one aligned content frame and no empty band. */
body.public-v2 .site-footer{padding:0;margin:0;width:100%}
body.public-v2 .site-footer .footer-grid{width:var(--cca-shell);max-width:1280px;margin-inline:auto;padding:36px 0;gap:32px 48px}
body.public-v2 .site-footer .footer-copy{width:var(--cca-shell);max-width:1280px;margin-inline:auto}
body.public-v2 .footer-grid>*{min-width:0}
@media(max-width:800px){body.public-v2 .site-footer .footer-grid{grid-template-columns:1fr;gap:28px;padding-block:28px}}

/* Alert copy follows the same full-width gutters as the school header. */
body.public-v2 .site-alert{width:100%;background:var(--alert-bg,#d7193f);color:var(--alert-ink,#fff)}
body.public-v2 .site-alert-inner{width:100%;max-width:none;padding-inline:4%;margin:0}
body.public-v2 .site-alert :is(.site-alert-title,.site-alert-body,.site-alert-link){color:inherit}
body.public-v2 .site-alert-copy{min-width:0;overflow-wrap:anywhere}
body.public-v2 .header-inner>.flight-header-search{order:1;margin-left:auto;flex-shrink:0;border:1px solid #c5ced7;background:#fff;border-radius:6px;padding:12px 16px;color:#102137;font-size:13px;min-height:44px}
body.public-v2 .primary-nav{order:2;margin-left:auto}
body.public-v2 .header-actions{order:3;margin-left:0}
@media(max-width:1300px) and (min-width:901px){body.public-v2 .primary-nav:not(.open){display:none!important}}
@media(max-width:600px){body.public-v2 .header-inner>.flight-header-search{padding:8px;width:38px;min-height:40px}body.public-v2 .header-inner>.flight-header-search span{display:none}body.public-v2 .brand-cluster{flex:1;min-width:0}}

@media(min-width:601px){body.public-v2 .brand-cluster{flex:0 1 auto}body.public-v2 .header-inner>.flight-header-search{margin-inline:auto}body.public-v2 .primary-nav{margin-left:0}}

/* Give desktop search a clear, generous target without crowding smaller headers. */
@media(min-width:601px){body.public-v2 .header-inner>.flight-header-search{width:231px;height:36px;min-height:36px;padding:6px 16px;justify-content:center}}

/* Uploaded file names and pasted URLs must fit narrow screens. */
body.public-v2 input[type="file"]{max-width:100%;min-width:0}
body.public-v2 .prose{overflow-wrap:anywhere}

body.public-v2 :is(.search-result-link,.site-search-item){overflow-wrap:anywhere}
@media(min-width:601px) and (max-width:760px){body.public-v2 .flight-admissions{display:none}body.public-v2 .brand-cluster{flex-shrink:0}}
@media(min-width:901px) and (max-width:1400px){body.public-v2 .primary-nav:not(.open){display:none!important}}

/* Legacy editor video embeds need the same responsive sizing as Studio videos. */
body.public-v2 .cca-yt iframe{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/9}

/* School identity leads; search remains a compact secondary action. */
@media(min-width:901px){body.public-v2 .brand-logo{width:64px;height:64px}body.public-v2 .brand-text strong{font-size:14px}body.public-v2 .brand-text span{font-size:9px;max-width:none}body.public-v2 .brand-cluster{flex-shrink:0}}
body.public-v2 .topbar-links{flex-wrap:wrap}
@media(max-width:600px){body.public-v2 .topbar-links{column-gap:12px;row-gap:6px}body.public-v2 .topbar-links>.flight-essential{font-size:12px}}

/* Keep the live meeting beside the school identity, with a top strip on small screens. */
body.public-v2 .cca-live-desktop{min-height:44px;padding:10px 14px;font-size:11px;gap:8px}
body.public-v2 .cca-live-mobile{display:none;order:0}
body.public-v2 :is(.cca-live-desktop,.cca-live-mobile):focus-visible{outline:3px solid #102137;outline-offset:3px}
@media(min-width:1101px) and (max-width:1700px){body.public-v2 .site-header:has(.cca-live-desktop) .primary-nav:not(.open){display:none!important}}
@media(max-width:1100px){
 body.public-v2 .cca-live-desktop{display:none}
 body.public-v2 .cca-live-mobile{display:flex;width:100%;min-height:44px;justify-content:center;gap:10px;border-radius:0;padding:10px 12px;font-size:12px;line-height:1.4}
 body.public-v2 .cca-live-watch{font-weight:600;text-transform:none;letter-spacing:0;border-left:1px solid #ffffff80;padding-left:10px}
 body.public-v2 .cca-live-mobile:focus-visible{outline-offset:-4px;outline-color:#fff}
}
