/* Modern site enhancements */
:root { --school-burgundy:#702b36; --school-red:#943e48; --school-gold:#e5b85c; --school-cream:#fff9f0; --school-text:#66585b; }

.home_version_04 .school-branding-header { height:120px; padding:0!important; overflow:hidden; background:#fff; }
.school-branding-header .container,.school-brand-row { height:100%; }
.school-brand-row { position:relative; display:flex; align-items:center; }
.home_version_04 .school-branding-header .school-title-column,.home_version_04 .school-branding-header .school-crest-column { padding-top:0!important; padding-bottom:0!important; }
.school-crest-column { position:absolute; left:15px; top:50%; z-index:2; padding-top:0!important; transform:translateY(-50%); }
.school-crest-column .header-top-logo { padding:0!important; }
.home_version_04 .school-crest-column .header-top-logo a img { display:block; width:auto; max-width:100px; max-height:100px; margin:0!important; }
.school-title-column { float:none!important; margin:0 auto; }
.school-identity { width:100%; height:120px; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 180px; text-align:center; text-decoration:none!important; transform:translateX(-35px); }
.school-name { color:var(--school-burgundy); font:700 36px/1.12 Montserrat,sans-serif; letter-spacing:-1px; text-shadow:0 2px 0 #fff,0 4px 12px rgba(112,43,54,.12); }
.school-name strong { color:#a33b45; font-size:1.08em; }
.school-divider { width:105px; height:4px; margin:8px 0 7px; border-radius:5px; background:linear-gradient(90deg,#a33b45,var(--school-gold),#a33b45); }
.school-trust { color:#584247; font:600 14px/1.3 Montserrat,sans-serif; letter-spacing:.2px; }
.school-motto { color:#9a6900; margin-top:5px; font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; }

.home_version_04 .header-body { position:relative!important; height:auto!important; z-index:99!important; }
.home_version_04 .header-body .edu-navbar,
.home_version_04 .header-body .is-sticky .edu-navbar { min-height:62px; padding:0!important; background:var(--school-burgundy)!important; border:0; margin:0; }
.edu-navbar .container { width:min(1380px, 96%); }
.home_version_04 .header-body .edu-navbar .edu-nav { margin:0!important; padding:0!important; }
.edu-nav > .nav { width:100%; min-height:62px; display:flex; align-items:stretch; justify-content:space-between; float:none!important; }
.home_version_04 .header-body .edu-navbar .edu-nav > .nav > li { float:none; flex:1 1 auto; margin:0!important; display:flex; align-items:stretch; justify-content:center; }
.home_version_04 .header-body .edu-navbar .edu-nav > .nav > li > a { width:100%; display:flex; align-items:center; justify-content:center; color:#fff!important; padding:0 8px!important; margin:0!important; font-size:12px; font-weight:600; white-space:nowrap; letter-spacing:0; text-align:center; }
.edu-nav > .nav > li > a:hover,.edu-nav > .nav > li.active > a { color:var(--school-gold)!important; background:rgba(255,255,255,.05)!important; }
.home_version_04 .header-body .edu-navbar .edu-nav > .nav > .app-login-item { flex:0 0 120px; align-items:center; }
.home_version_04 .header-body .edu-navbar .edu-nav > .nav > .app-login-item > a { width:auto; min-height:40px; margin:0!important; padding:0 14px!important; border-radius:8px; background:var(--school-gold)!important; color:var(--school-burgundy)!important; box-shadow:0 6px 18px rgba(229,184,92,.25); }
.edu-nav .app-login-item > a:hover { color:var(--school-burgundy)!important; transform:translateY(-1px); }
.home_version_04 .header-body .edu-navbar .edu-nav .nav li a:before { bottom:0!important; margin:0!important; }
.home_version_04 .header-body .edu-navbar .edu-nav .nav li ul.dropdown { margin-top:0!important; }

.modern-welcome { position:relative; padding:85px 0 75px!important; background:linear-gradient(135deg,#fcf5f3 0%,#fff 55%,#fff8e6 100%); overflow:hidden; }
.modern-welcome:before { content:""; position:absolute; width:320px; height:320px; border-radius:50%; background:rgba(229,184,92,.12); top:-130px; right:-80px; }
.modern-welcome #main-content,.modern-welcome .row { position:relative; }
.modern-welcome #leftdiv { display:block; padding:0; }
.modern-welcome .section-kicker { display:inline-block; color:#b27a00; background:#fff1bf; border-radius:50px; padding:8px 15px; margin-bottom:16px; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.modern-welcome h1 { max-width:820px; color:var(--school-burgundy); font:700 42px/1.2 Montserrat,sans-serif; margin:0 0 20px; }
.modern-welcome h3 { color:var(--school-red); font-size:19px; margin:22px 0 8px; }
.modern-welcome h3 i { width:34px; height:34px; line-height:34px; text-align:center; color:var(--school-burgundy); background:var(--school-gold); border-radius:9px; margin-right:7px; }
.modern-welcome .headline p { color:var(--school-text); font-size:15px!important; line-height:1.8!important; }
.home-action-grid { margin-top:18px; display:flex; flex-wrap:wrap; }
.home-action-grid > div { display:flex; }
.home-action-grid .wel-text-box { width:100%; overflow:hidden; border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(15,45,75,.11); transition:.25s ease; display:flex; flex-direction:column; }
.home-action-grid .wel-text-box:hover { transform:translateY(-7px); box-shadow:0 18px 45px rgba(15,45,75,.18); }
.home_version_02 .Welcome-area .home-action-grid .wel-text-box .wel-icon { flex:0 0 100px; width:100%; height:100px; min-height:100px; margin:0; border-radius:0; display:flex; align-items:center; justify-content:center; background:#fff; position:relative; }
.home_version_02 .Welcome-area .home-action-grid .wel-text-box .wel-icon:before { display:none; }
.home_version_02 .Welcome-area .home-action-grid .wel-text-box .wel-icon img { max-height:54px; height:auto; width:auto; margin:0; }
.home_version_02 .Welcome-area .home-action-grid .wel-text-box .wel-text { flex:1 1 auto; min-height:180px; margin-top:0!important; padding:28px 20px!important; box-shadow:none; display:flex; flex-direction:column; justify-content:center; }
.home-action-grid .wel-text h3,.home-action-grid .wel-text h3 a { color:#702b36!important; font-size:17px; }
.home-action-grid .wel-text p { color:#584247!important; }

.project-section-two { padding:70px 0; background:#f8f2ee; }
.project-section-two .projects-outer { max-width:1380px; margin:auto; padding:0 25px; background-image:none!important; }
.project-section-two .row { margin:0 -10px; }
.project-block-four { padding:10px!important; }
.project-block-four .inner-box { min-height:360px; border-radius:18px; overflow:hidden; box-shadow:0 14px 35px rgba(10,38,64,.17); }
.main-testimonial { position:relative; padding:85px 0!important; background-image:linear-gradient(135deg,rgba(66,27,36,.94),rgba(112,43,54,.82)),url('../images/slider3.jpg')!important; background-position:center!important; background-size:cover!important; background-attachment:scroll!important; }
.main-testimonial:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(229,184,92,.08),transparent,rgba(229,184,92,.08)); opacity:1; }
.main-testimonial .container { position:relative; z-index:2; }
.main-testimonial .testimonial-title h2 { color:#fff!important; font-size:27px; margin-bottom:34px; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.main-testimonial .testimonial-title h2:after { content:""; display:block; width:52px; height:3px; background:var(--school-gold); border-radius:5px; margin:13px auto 0; }
.main-testimonial .testimonial-slider .slick-list { padding-top:55px; }
.main-testimonial .testimonial-box { width:min(300px,calc(100% - 24px)); min-height:170px; padding:72px 25px 28px; border-radius:18px; overflow:visible; box-shadow:0 16px 40px rgba(0,0,0,.3); z-index:1; }
.main-testimonial .testimonial-client-img { width:104px; height:104px; margin:-124px auto 18px; border-radius:50%; overflow:hidden; border:5px solid var(--school-gold); background:#fff; box-shadow:0 10px 24px rgba(0,0,0,.25); }
.main-testimonial .testimonial-client-img img { width:100%; height:100%; object-fit:cover; }
.main-testimonial .testimonial-client-name span { display:inline-block; min-width:68px; padding:6px 12px; border-radius:50px; color:var(--school-burgundy); background:#fff1b9; font-weight:700; }
.home_version_02 .stu-parent-say-area { position:relative; min-height:0; padding:0!important; background-image:linear-gradient(135deg,rgba(48,19,26,.9),rgba(112,43,54,.8)),url('../images/slider5.jpg')!important; background-position:center!important; background-size:cover!important; background-repeat:no-repeat!important; }
.home_version_02 .stu-parent-say-area:before { display:none!important; }
.stu-parent-say-area .overlay-bg { padding:85px 0!important; background:transparent!important; }
.stu-parent-say-area .single--item { border-radius:18px; overflow:hidden; }
.home_version_02 .stu-parent-say-area .section-header h2 { font-size:36px; font-weight:700; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.home_version_02 .stu-parent-say-area .screen-content-box .single--item { border-top:4px solid var(--school-gold); box-shadow:0 16px 40px rgba(0,0,0,.28); }

.site-footer { color:#e8d9d7; background:#421b24; position:relative; }
.site-footer .footer-accent { height:5px; background:linear-gradient(90deg,var(--school-gold),#f28b24,var(--school-gold)); }
.footer-main { padding-top:65px; padding-bottom:50px; }
.site-footer h3,.site-footer h4 { color:#fff; font-family:Montserrat,sans-serif; }
.site-footer h3 { font-size:20px; margin:18px 0 12px; }
.site-footer h4 { font-size:16px; margin:8px 0 24px; padding-bottom:12px; position:relative; }
.site-footer h4:after { content:""; width:38px; height:3px; background:var(--school-gold); position:absolute; left:0; bottom:0; border-radius:4px; }
.footer-logo { width:78px; height:78px; object-fit:contain; padding:7px; background:#fff; border-radius:14px; }
.site-footer .footer-brand p { color:#f1e4df!important; line-height:1.75; max-width:330px; }
.footer-links li { margin-bottom:11px; }
.site-footer a,.site-footer .footer-contact span { color:#f1e4df!important; transition:.2s ease; }
.site-footer a:hover { color:var(--school-gold)!important; text-decoration:none; padding-left:3px; }
.footer-socials { display:flex; gap:10px; margin-top:22px; }
.footer-socials li a { display:flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.18); border-radius:50%; color:#fff; }
.footer-socials li a:hover { padding:0; color:var(--school-burgundy); background:var(--school-gold); border-color:var(--school-gold); transform:translateY(-3px); }
.footer-contact li { display:flex; gap:13px; margin-bottom:16px; line-height:1.55; }
.footer-contact li i { color:var(--school-gold); margin-top:4px; width:16px; }
.footer-admission-btn { display:inline-block; margin-top:8px; padding:12px 18px; border-radius:8px; background:var(--school-gold); color:var(--school-burgundy)!important; font-weight:700; }
.footer-admission-btn:hover { padding-left:18px!important; transform:translateY(-2px); }
.footer-bottom-modern { border-top:1px solid rgba(255,255,255,.1); background:#30131a; }
.footer-bottom-modern .container { min-height:70px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-bottom-modern p { color:#d4bab7!important; margin:0; font-size:13px; }
.footer-bottom-modern a { color:var(--school-gold); font-weight:700; }
.footer-bottom-modern .footer-credit { display:flex; align-items:center; gap:7px; }
.footer-bottom-modern .footer-credit:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--school-gold); box-shadow:0 0 0 4px rgba(229,184,92,.12); }
.footer-bottom-modern .footer-credit a { padding:5px 10px; border:1px solid rgba(229,184,92,.35); border-radius:6px; letter-spacing:.4px; }
.footer-bottom-modern .footer-credit a:hover { padding-left:10px; background:var(--school-gold); color:var(--school-burgundy)!important; }

/* MeanMenu creates a separate mobile copy of the desktop navigation. */
.mean-container .mean-nav ul li.app-login-item { display:block!important; }
.mean-container .mean-nav ul li.app-login-item > a { box-sizing:border-box; width:calc(100% - 30px)!important; float:none!important; margin:10px 15px!important; padding:13px 16px!important; border:0!important; border-radius:8px; background:var(--school-gold)!important; color:var(--school-burgundy)!important; font-weight:700!important; text-align:center!important; }

@media (max-width:1199px) { .edu-nav > .nav > li > a { padding-left:6px!important; padding-right:6px!important; font-size:11px; } }
@media (max-width:991px) {
  .school-identity { padding-left:130px; padding-right:130px; transform:translateX(-20px); }
  .school-name { font-size:29px; }
  .modern-welcome h1 { font-size:34px; }
  .footer-column,.footer-brand { margin-bottom:32px; }
}
@media (max-width:767px) {
  .home_version_04 .school-branding-header { height:105px; }
  .school-brand-row { display:block; }
  .school-crest-column { position:relative; left:auto; top:auto; transform:none; }
  .home_version_04 .school-crest-column .header-top-logo a img { max-width:80px; max-height:80px; margin:auto!important; }
  .school-title-column { float:left!important; }
  .school-identity { height:105px; min-height:0; padding:8px 3px; align-items:center; text-align:center; transform:none; }
  .school-name { font-size:20px; letter-spacing:-.5px; }
  .school-divider { width:72px; height:3px; margin:5px 0; }
  .school-trust { font-size:10px; }
  .school-motto { display:none; }
  .edu-nav > .nav { display:block; min-height:0; }
  .home_version_04 .header-body .edu-navbar .edu-nav > .nav > li { display:block; }
  .edu-nav > .nav > li > a { padding:13px 16px!important; font-size:13px; }
  .edu-nav .app-login-item > a { margin:8px 15px; text-align:center; }
  .main-testimonial { background-attachment:scroll!important; }
  .modern-welcome { padding:55px 0 45px!important; }
  .modern-welcome h1 { font-size:29px; }
  .home-action-grid { display:block; }
  .home-action-grid > div { margin-bottom:18px; }
  .footer-main { padding-top:45px; }
  .footer-bottom-modern .container { padding:20px 15px; min-height:0; display:block; text-align:center; }
  .footer-bottom-modern p + p { margin-top:7px; }
  .footer-bottom-modern .footer-credit { justify-content:center; flex-wrap:wrap; margin-top:12px!important; }
}

/* Banner trails wrap without clipping on narrow screens. */
p.school-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; white-space:normal!important; max-width:calc(100% - 30px); line-height:1.6!important; }
p.school-breadcrumb a { color:#fff!important; text-decoration:none; }
p.school-breadcrumb a:hover { text-decoration:underline!important; }
p.school-breadcrumb a:focus-visible { outline:2px solid #e5b85c; outline-offset:3px; }
p.school-breadcrumb .breadcrumb-separator { color:#fff; opacity:.7; }
p.school-breadcrumb [aria-current="page"] { color:#ffe185!important; }
.photo-gallery-titlebar:has(.school-breadcrumb), .photo-gallery-titlebar .intro-text:has(.school-breadcrumb) { height:auto!important; min-height:125px!important; }
.photo-gallery-titlebar .intro-text p.school-breadcrumb { position:relative!important; top:auto!important; left:auto!important; padding:70px 0 18px; margin:0!important; }
.parent-stories { padding:72px 0; background:#f8f2ee; }
.parent-stories-heading { max-width:650px; margin:0 auto 32px; text-align:center; }
.parent-stories-eyebrow { color:#805b00; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }
.parent-stories-heading h2 { color:var(--school-burgundy); font-size:36px; font-weight:700; margin:12px 0; }
.parent-stories-heading p { color:#66585b; line-height:1.7; }
.parent-stories-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.parent-story { display:flex; flex-direction:column; margin:0; padding:20px 24px; background:#fff; border:1px solid #e9dbd5; border-top:4px solid var(--school-gold); border-radius:16px; box-shadow:0 10px 28px rgba(112,43,54,.07); }
.parent-story-quote { height:30px; color:#ba8700; font:54px/1 Georgia,serif; }
.parent-story blockquote { flex:1; border:0; padding:6px 0 16px; margin:0; color:#584247; font-size:15px; line-height:1.65; }
.parent-story figcaption { display:flex; flex-direction:row; align-items:center; text-align:left; gap:16px; padding-top:16px; border-top:1px solid #eee2dc; }
.parent-story figcaption img { flex:0 0 144px; width:144px; height:144px; max-width:100%; object-fit:cover; border-radius:50%; border:3px solid #fff1bc; }
.parent-story figcaption strong { display:block; color:var(--school-burgundy); font-size:14px; line-height:1.5; }
.parent-story figcaption span { display:block; margin-top:4px; color:#766568; font-size:13px; }
@media(max-width:767px) {
 .home_version_04 .school-branding-header { height:auto; min-height:92px; overflow:visible; }
 .school-brand-row { display:flex; align-items:center; }
 .school-identity { height:auto; min-height:92px; }
 .parent-stories { padding:46px 0; }
 .parent-stories-heading h2 { font-size:28px; }
 .parent-stories-grid { grid-template-columns:1fr; gap:20px; }
 .parent-story { padding:20px; }
}

/* Content-led title bars keep long navigation trails inside the banner. */
body .school-banner-content.school-banner-content { height:auto!important; min-height:110px!important; padding:16px 20px!important; box-sizing:border-box; }
body .school-banner-content.school-banner-content h2 { position:relative!important; top:auto!important; left:auto!important; transform:none!important; white-space:normal!important; margin:0 0 12px!important; line-height:1.2!important; text-align:center; }
body .school-banner-content.school-banner-content p.school-breadcrumb { position:relative!important; top:auto!important; bottom:auto!important; left:auto!important; padding:0!important; margin:0!important; max-width:100%; white-space:normal!important; line-height:1.6!important; }
body div:has(> .container > .school-banner-content) { height:auto!important; }
@media(max-width:767px) {
 body .school-banner-content.school-banner-content h2 { font-size:26px!important; }
 body .school-banner-content.school-banner-content { padding:14px 15px!important; }
}

/* Gallery headings and content have independent, contained layout. */
.gallery-page-heading { display:flow-root; clear:both; background:#943e48; padding:22px 0 20px; }
.gallery-page-heading h1 { color:#fff; font:700 34px/1.25 Montserrat,sans-serif; text-align:center; margin:0 0 16px; }
.gallery-page-heading p.school-breadcrumb { position:static; margin:0; max-width:100%; }
.gallery-page-content { display:flow-root; clear:both; width:100%; min-width:0; }
.gallery-page-content .photo-category-row { left:0; margin:0; gap:26px; }
.gallery-page-content .photo-category-row:before, .gallery-page-content .photo-category-row:after { display:none; }
.gallery-page-content .photo-category-row > .latest-news-single { flex:0 1 390px; width:100%; min-width:0; padding:0; margin:0; }
.gallery-page-content .photo-category-row .img-box img { width:100%; height:250px; object-fit:cover; }
.gallery-album > .container > .row { display:flex; flex-wrap:wrap; }
.gallery-album > .container > .row:before, .gallery-album > .container > .row:after { display:none; }
.gallery-album .latest-news-single { margin-bottom:30px; }
.gallery-album .img-box img { width:100%; height:260px; object-fit:cover; }
@media(max-width:767px) {
 .gallery-page-heading { padding:18px 0; }
 .gallery-page-heading h1 { font-size:26px; }
 .gallery-page-heading .school-breadcrumb { font-size:13px; }
 .gallery-album .latest-news-single { width:100%; }
 .parent-story figcaption img { flex-basis:120px; width:120px; height:120px; }
 .parent-story figcaption { gap:12px; }
 .parent-story figcaption > div { min-width:0; }
}

/* Crest burgundy and warm gold carry through mobile navigation and actions. */
.mean-container .mean-bar,
.mean-container .mean-nav { background:var(--school-burgundy)!important; }
.mean-container .mean-nav ul li a:hover { background:var(--school-red)!important; }
.site-footer .footer-admission-btn,
.site-footer .footer-admission-btn:hover,
.site-footer .footer-socials li a:hover { color:#421b24!important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid var(--school-gold); outline-offset:3px; }
/* Light beige title strips, with readable burgundy headings and breadcrumbs. */
:root { --school-beige:#f5eddf; }
html body .school-banner-content.school-banner-content,
html body .bg-primary,
html body .gallery-page-heading,
html body .facilities-title-bar,
html body .faculty-titlebar,
html body .mandatory-titlebar,
html body .resume-titlebar,
html body .prt-titlebar-wrapper { background:var(--school-beige)!important; color:var(--school-burgundy)!important; }
html body .school-banner-content.school-banner-content h2,
html body .gallery-page-heading h1,
html body p.school-breadcrumb,
html body p.school-breadcrumb a,
html body p.school-breadcrumb span,
html body p.school-breadcrumb i,
html body p.school-breadcrumb [aria-current="page"] { color:var(--school-burgundy)!important; }
html body p.school-breadcrumb [aria-current="page"] { font-weight:700; }
html body p.school-breadcrumb .breadcrumb-separator { color:#826d61!important; opacity:1; }
html body p.school-breadcrumb a:focus-visible { outline-color:var(--school-burgundy); }

/* Display the original crest at its natural proportions without cropping. */
.home_version_04 .school-branding-header { height:140px; overflow:visible; }
.home_version_04 .school-crest-column { width:139px; padding:0!important; }
.home_version_04 .school-crest-column .header-top-logo a { display:block; padding:8px 10px; background:#fff; }
.home_version_04 .school-crest-column .header-top-logo a img.school-header-logo { width:119px; height:109px; max-width:119px; max-height:109px; object-fit:contain; margin:0!important; }
.school-identity { min-height:140px; transform:none; }
@media(max-width:767px) {
 .home_version_04 .school-branding-header { height:auto; min-height:110px; }
 .home_version_04 .school-crest-column { flex:0 0 100px; width:100px; }
 .home_version_04 .school-crest-column .header-top-logo a { padding:5px; }
 .home_version_04 .school-crest-column .header-top-logo a img.school-header-logo { width:90px; height:auto; max-width:90px; max-height:none; }
 .school-title-column { flex:1; min-width:0; width:auto; padding-left:0; padding-right:10px; }
 .school-identity { min-height:110px; padding:8px 0; }
 .school-name { font-size:20px; }
}html body .contact-banner-overlay { background:var(--school-beige)!important; }
html body .contact-page-banner h1,
html body .contact-breadcrumb,
html body .contact-breadcrumb a,
html body .contact-breadcrumb .sep,
html body .contact-breadcrumb .current { color:var(--school-burgundy)!important; }
/* High-resolution crest: preserve square artwork and render sharply on HiDPI screens. */
.home_version_04 .school-crest-column .header-top-logo a img.school-header-logo {
 width:120px; height:120px; max-width:120px; max-height:120px;
 object-fit:contain; image-rendering:auto;
}
.home_version_04 .school-crest-column .header-top-logo a { padding:5px; }
.site-footer .footer-logo { width:96px; height:96px; padding:4px; }
@media(max-width:767px) {
 .home_version_04 .school-crest-column .header-top-logo a img.school-header-logo {
  width:90px; height:90px; max-width:90px; max-height:90px;
 }
}
/* Homepage discovery cards: unobscured portraits and always-visible links. */
.school-discover { padding:64px 24px; background:#faf6f0; }
.school-discover-grid { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.discover-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #e9dfd2; border-radius:16px; box-shadow:0 8px 24px rgba(66,27,36,.06); }
.discover-portrait { height:280px; overflow:hidden; background:#f5eddf; }
.discover-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.discover-graphic { height:280px; flex-shrink:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:24px; color:#702b36; background:linear-gradient(145deg,#f8f1e5,#eee1cd); }
.discover-card-events .discover-graphic { background:linear-gradient(145deg,#f6ece5,#eedbd3); }
.discover-graphic svg { width:110px; height:100px; }
.discover-graphic span { font-size:11px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; text-align:center; }
.discover-copy { display:flex; flex:1; flex-direction:column; padding:25px 24px 26px; border-top:3px solid #e5b85c; }
.school-discover .discover-copy h3 { margin:0 0 13px; color:#702b36; font:700 20px/1.4 Montserrat,sans-serif; }
.school-discover .discover-copy p { margin:0 0 23px; color:#66585b; font-size:14px; line-height:1.75; }
.school-discover .discover-copy a { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; color:#702b36; font-size:13px; font-weight:700; text-decoration:none; padding-top:16px; border-top:1px solid #eee5db; }
.school-discover .discover-copy a span { font-size:22px; }
.school-discover .discover-copy a:hover { color:#943e48; text-decoration:underline; }
.school-discover .discover-copy a:focus-visible { outline:2px solid #702b36; outline-offset:5px; }
@media(max-width:1100px) { .school-discover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:800px; } .discover-portrait,.discover-graphic { height:310px; } }
@media(max-width:575px) { .school-discover { padding:40px 20px; } .school-discover-grid { grid-template-columns:1fr; max-width:380px; gap:22px; } .discover-graphic { height:220px; } .discover-portrait { height:320px; } }
/* Intentional empty states for galleries awaiting content. */
.gallery-empty-page { padding:64px 24px 80px; background:#faf6f0; }
.gallery-empty-card { max-width:760px; margin:0 auto; padding:48px 44px; text-align:center; background:#fff; border:1px solid #e9dfd2; border-radius:20px; box-shadow:0 12px 36px rgba(66,27,36,.05); }
.gallery-empty-icon { width:112px; height:112px; margin:0 auto 24px; display:flex; align-items:center; justify-content:center; color:#702b36; background:#f5eddf; border-radius:50%; }
.gallery-empty-icon svg { width:76px; height:76px; }
.gallery-status-label { display:inline-block; padding:6px 13px; border-radius:20px; background:#faf2e3; color:#775522; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.gallery-empty-card h2 { margin:19px 0 15px; color:#702b36; font:700 30px/1.3 Montserrat,sans-serif; }
.gallery-empty-card p { max-width:510px; margin:0 auto; color:#66585b; font-size:15px; line-height:1.8; }
.gallery-empty-actions { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:30px; }
.gallery-empty-actions a { font-size:13px; font-weight:700; text-decoration:none; }
.gallery-empty-actions .gallery-primary-link { display:inline-flex; align-items:center; gap:16px; padding:14px 20px; color:#fff; background:#702b36; border-radius:8px; }
.gallery-empty-actions .gallery-primary-link:hover { background:#943e48; }
.gallery-empty-actions .gallery-home-link { color:#702b36; padding:10px 0; }
.gallery-empty-actions .gallery-home-link:hover { text-decoration:underline; }
.gallery-empty-actions a:focus-visible { outline:2px solid #702b36; outline-offset:4px; }
@media(max-width:575px) { .gallery-empty-page { padding:36px 16px 48px; } .gallery-empty-card { padding:32px 22px; } .gallery-empty-card h2 { font-size:25px; } .gallery-empty-actions { flex-direction:column; gap:10px; } }
/* Shared inner-page image, title and navigation layout. */
body .inner-page-banner { width:100%; height:320px; margin:0; padding:0; overflow:hidden; background:#f5eddf; }
body .inner-page-banner > img { display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:center; }
body .inner-page-heading { clear:both; margin:0; padding:22px 0 20px; background:var(--school-beige); color:var(--school-burgundy); }
body .inner-page-heading h1 { position:static; margin:0 0 16px; padding:0; color:var(--school-burgundy); font:700 34px/1.25 Montserrat,sans-serif; text-align:center; }
body .inner-page-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0; padding:0; color:var(--school-burgundy); font-size:14px; line-height:1.6; text-align:left; }
body .inner-page-breadcrumb a, body .inner-page-breadcrumb [aria-current="page"] { color:var(--school-burgundy); }
body .inner-page-breadcrumb a { text-decoration:none; }
body .inner-page-breadcrumb a:hover { text-decoration:underline; }
body .inner-page-breadcrumb a:focus-visible { outline:2px solid var(--school-burgundy); outline-offset:3px; }
body .inner-page-breadcrumb [aria-current="page"] { font-weight:700; }
body .inner-page-breadcrumb .breadcrumb-separator { color:#826d61; }
@media(max-width:767px) {
 body .inner-page-banner { height:200px; }
 body .inner-page-heading { padding:18px 0; }
 body .inner-page-heading h1 { font-size:26px; }
 body .inner-page-breadcrumb { font-size:13px; }
}
