/* Modern site enhancements */
:root { --school-navy:#0b2947; --school-blue:#123f68; --school-gold:#fac421; --school-cream:#fffaf0; --school-text:#526071; }

.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-navy); font:700 36px/1.12 Montserrat,sans-serif; letter-spacing:-1px; text-shadow:0 2px 0 #fff,0 4px 12px rgba(11,41,71,.12); }
.school-name strong { color:#e51d2a; font-size:1.08em; }
.school-divider { width:105px; height:4px; margin:8px 0 7px; border-radius:5px; background:linear-gradient(90deg,#e51d2a,var(--school-gold),#e51d2a); }
.school-trust { color:#283b4e; 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-navy)!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-navy)!important; box-shadow:0 6px 18px rgba(250,196,33,.25); }
.edu-nav .app-login-item > a:hover { color:var(--school-navy)!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,#f7fbff 0%,#fff 55%,#fff8e6 100%); overflow:hidden; }
.modern-welcome:before { content:""; position:absolute; width:320px; height:320px; border-radius:50%; background:rgba(250,196,33,.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-navy); font:700 42px/1.2 Montserrat,sans-serif; margin:0 0 20px; }
.modern-welcome h3 { color:var(--school-blue); font-size:19px; margin:22px 0 8px; }
.modern-welcome h3 i { width:34px; height:34px; line-height:34px; text-align:center; color:var(--school-navy); 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:#102b46!important; font-size:17px; }
.home-action-grid .wel-text p { color:#25374a!important; }

.project-section-two { padding:70px 0; background:#f4f7fa; }
.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(6,31,54,.94),rgba(13,55,91,.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(250,196,33,.08),transparent,rgba(250,196,33,.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-navy); 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(5,28,49,.9),rgba(13,55,91,.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:#cad5df; background:#081f35; 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:#d7e1ea!important; line-height:1.75; max-width:330px; }
.footer-links li { margin-bottom:11px; }
.site-footer a,.site-footer .footer-contact span { color:#d7e1ea!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-navy); 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-navy)!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:#061829; }
.footer-bottom-modern .container { min-height:70px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-bottom-modern p { color:#aebfce!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(250,196,33,.12); }
.footer-bottom-modern .footer-credit a { padding:5px 10px; border:1px solid rgba(250,196,33,.35); border-radius:6px; letter-spacing:.4px; }
.footer-bottom-modern .footer-credit a:hover { padding-left:10px; background:var(--school-gold); color:var(--school-navy)!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-navy)!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 #fac421; 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:#f3f6fa; }
.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-navy); font-size:36px; font-weight:700; margin:12px 0; }
.parent-stories-heading p { color:#526071; 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 #dfe7ef; border-top:4px solid var(--school-gold); border-radius:16px; box-shadow:0 10px 28px rgba(11,41,71,.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:#34475b; 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 #e7edf3; }
.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-navy); font-size:14px; line-height:1.5; }
.parent-story figcaption span { display:block; margin-top:4px; color:#667587; 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:#2f6f9f; 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; }
}
