/* Golden School - Elegant Navy Soft Redesign
   Loaded after the existing theme so the application logic/markup stays intact. */
:root{
  --gs-navy-950:#102539;
  --gs-navy-900:#173149;
  --gs-navy-800:#23445f;
  --gs-navy-700:#3b607b;
  --gs-blue-500:#7796ab;
  --gs-blue-300:#aec3d0;
  --gs-blue-150:#dce7ed;
  --gs-blue-100:#eaf1f5;
  --gs-blue-50:#f4f8fa;
  --gs-ivory:#fdfcf8;
  --gs-white:#ffffff;
  --gs-gold:#c6a46a;
  --gs-gold-soft:#f2eadc;
  --gs-sage:#78948b;
  --gs-ink:#173149;
  --gs-text:#5d6b77;
  --gs-line:#dfe8ed;
  --gs-shadow:0 24px 70px rgba(23,49,73,.10);
  --gs-shadow-soft:0 14px 42px rgba(23,49,73,.075);
  --k-purple:var(--gs-navy-900);
  --k-purple-dark:var(--gs-navy-950);
  --k-orange:var(--gs-gold);
  --k-orange-dark:#a8834f;
  --k-yellow:#d7b97d;
  --k-green:var(--gs-sage);
  --k-ink:var(--gs-ink);
  --k-text:var(--gs-text);
  --k-cream:var(--gs-ivory);
  --k-line:var(--gs-line);
  --k-shadow:var(--gs-shadow);
  --k-shadow-soft:var(--gs-shadow-soft);
}

html{background:var(--gs-white)}
body.site-front{
  background:var(--gs-white);
  color:var(--gs-text);
  font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:500;
}
body.site-front .font-display,
body.site-front h1,body.site-front h2,body.site-front h3,body.site-front h4,
.hy-brand-text strong,.hy-float-badge b,.hy-fact b,.hy-footer-title,
.program-mini h3,.article-body h3,.prose-school h2,.prose-school h3{
  font-family:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.025em;
}
body.site-front h1,body.site-front h2,body.site-front h3,body.site-front h4{font-weight:800}
body.site-front p{color:var(--gs-text)}
body.site-front ::selection{background:#cbdde7;color:var(--gs-navy-950)}

/* Scroll progress */
.scroll-progress{height:3px!important;background:linear-gradient(90deg,var(--gs-gold),var(--gs-blue-300))!important}

/* Header */
.hy-topbar{
  background:var(--gs-navy-950);
  color:#eaf0f4;
  font-size:.75rem;
  letter-spacing:.015em;
}
.hy-topbar:after{display:none}
.hy-topbar-inner{padding:.52rem 1rem}
.hy-topbar-dot{background:var(--gs-gold);box-shadow:0 0 0 5px rgba(198,164,106,.12)}
.hy-topbar-links{color:#cbd8df}
.hy-topbar-links a:hover{color:#fff}

.hy-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(23,49,73,.08);
  box-shadow:none;
}
.hy-header.header-scrolled{
  background:rgba(255,255,255,.985);
  box-shadow:0 14px 35px rgba(23,49,73,.08);
}
.hy-nav{min-height:84px;padding:.8rem 1rem}
.hy-brand{gap:.72rem}
.hy-brand-logo{width:72px;height:60px;padding:0}
.hy-brand-logo:before{
  inset:5px 4px;
  border-radius:18px;
  background:var(--gs-blue-50);
  border:1px solid var(--gs-line);
  transform:none;
}
.hy-brand-logo img{filter:none;padding:2px}
.hy-brand-text strong{font-size:1.08rem;color:var(--gs-navy-950);font-weight:800}
.hy-brand-text small{color:var(--gs-blue-500);font-size:.59rem;letter-spacing:.11em}
.hy-desktop-nav{gap:.12rem}
.hy-nav-link{
  color:#526572;
  padding:.7rem .78rem;
  border-radius:11px;
  font-size:.8rem;
  font-weight:800;
}
.hy-nav-link:after{display:none}
.hy-nav-link:hover,.hy-nav-link.active{color:var(--gs-navy-900);background:var(--gs-blue-50)}
.hy-menu-btn{
  background:var(--gs-blue-50);
  color:var(--gs-navy-900);
  border:1px solid var(--gs-line);
  border-radius:13px;
  box-shadow:none;
}
.hy-mobile-menu{border-color:var(--gs-line);border-radius:18px;box-shadow:var(--gs-shadow-soft)}
.hy-mobile-link{color:#506471;border-radius:12px}
.hy-mobile-link.active{background:var(--gs-blue-50);color:var(--gs-navy-900)}
.hy-mobile-link.hy-mobile-cta{background:var(--gs-navy-900);color:#fff}

/* Buttons */
body.site-front .btn-primary,.hy-btn-orange,.hy-btn-purple{
  background:linear-gradient(135deg,var(--gs-navy-900),var(--gs-navy-800))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.05);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(23,49,73,.17)!important;
  font-weight:800;
}
body.site-front .btn-primary:before,.hy-btn-orange:before{background:var(--gs-navy-950)}
body.site-front .btn-primary:hover,.hy-btn-orange:hover,.hy-btn-purple:hover{box-shadow:0 16px 34px rgba(23,49,73,.23)!important}
body.site-front .btn-secondary{
  background:#fff;
  color:var(--gs-navy-900);
  border:1px solid var(--gs-line);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(23,49,73,.06);
  font-weight:800;
}
body.site-front .btn-secondary:hover{background:var(--gs-blue-50);border-color:#cbdbe4}
body.site-front .btn-sun{
  background:var(--gs-gold-soft);
  color:var(--gs-navy-950);
  border:1px solid #e5d5b9;
  border-radius:14px;
  box-shadow:none;
  font-weight:900;
}
body.site-front .btn-sun:hover{background:#eadcc5}

/* Home hero */
.hy-hero{
  min-height:690px;
  background:
    radial-gradient(circle at 78% 22%,rgba(174,195,208,.17),transparent 25%),
    radial-gradient(circle at 15% 82%,rgba(198,164,106,.10),transparent 28%),
    linear-gradient(135deg,#0b1c2d 0%,#112a40 50%,#1a3852 100%);
  color:#fff;
}
.hy-hero:before{
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),transparent 88%);
  animation:hyGridFloat 14s linear infinite;
}
.hy-hero:after{
  left:0;right:0;bottom:-1px;height:58px;
  border-radius:0;
  background:linear-gradient(176deg,transparent 0 48%,#fff 49% 100%);
}
.hy-hero-inner{padding:6.2rem 1rem 8rem;gap:4rem}
.hy-kicker{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#edf4f8;
  padding:.55rem .82rem;
  letter-spacing:.11em;
}
.hy-kicker i{background:var(--gs-gold);box-shadow:0 0 0 5px rgba(198,164,106,.12)}
.hy-hero h1{
  max-width:670px;
  font-size:clamp(3rem,5vw,5.15rem);
  line-height:1.01;
  letter-spacing:-.048em;
  font-weight:800;
}
.hy-hero h1 em,.hy-hero .hero-emphasis{color:#e7d4b0!important}
.hy-hero h1 em:after,.hy-hero .hero-emphasis:after{background:rgba(174,195,208,.65)!important;height:5px!important;bottom:-2px!important}
.hy-hero-desc{max-width:600px;color:#d2dfe6;font-size:1rem;line-height:1.82;font-weight:600}
.hy-hero-secondary{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  border-radius:14px;
  font-weight:800;
}
.hy-hero-secondary:hover{background:#fff;color:var(--gs-navy-900)}
.hy-hero-points{gap:.55rem}
.hy-hero-point{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  border-radius:12px;
  color:#f2f7fa;
  font-weight:800;
}
.hy-hero-point span{background:rgba(255,255,255,.95);color:var(--gs-navy-900);border-radius:9px}
.hy-hero-visual{min-height:540px}
.hy-hero-frame{
  width:min(91%,610px);
  aspect-ratio:1.04/.92;
  border-radius:36px;
  background:linear-gradient(145deg,#f7fafb,#edf4f7);
  box-shadow:0 34px 80px rgba(4,20,33,.32);
  transform:none;
  border:1px solid rgba(255,255,255,.42);
}
.hy-hero-frame:before{inset:12px;border:1px solid rgba(23,49,73,.09);border-radius:27px}
.hy-hero-frame img.hy-main-illustration{width:92%;height:92%;left:4%;bottom:0;transform:none}
.hy-hero-logo-chip{
  width:92px;height:84px;right:2%;top:4%;
  border-radius:21px;
  padding:7px;
  transform:none;
  box-shadow:0 18px 45px rgba(4,20,33,.18);
}
.hy-float-badge{
  border-radius:16px;
  border:1px solid rgba(223,232,237,.9);
  box-shadow:0 18px 48px rgba(4,20,33,.18);
  color:var(--gs-navy-900);
}
.hy-float-badge .hy-badge-icon{background:var(--gs-gold-soft);border-radius:12px}
.hy-float-badge.two .hy-badge-icon{background:var(--gs-blue-100);color:var(--gs-navy-900)}
.hy-float-badge b{color:var(--gs-navy-950);font-weight:800}
.hy-float-badge small{color:#70808b}
.hy-decor{opacity:.38;filter:grayscale(.35) saturate(.55)}
.hy-decor.crown,.hy-decor.car{opacity:.18}
.hy-decor.rainbow{opacity:.20}
.hy-decor.tree,.hy-decor.parachute{opacity:.30}

.hy-hero-lines{position:absolute;pointer-events:none;z-index:2;display:grid;gap:.9rem;opacity:1}
.hy-hero-lines span{display:block;height:14px;border-top:4px solid rgba(255,255,255,.34);border-radius:999px;filter:drop-shadow(0 6px 16px rgba(7,19,32,.22));box-shadow:0 0 0 1px rgba(255,255,255,.02);animation:hyDoodleLine 6.5s ease-in-out infinite}
.hy-hero-lines span:nth-child(2){border-top-style:dashed;border-top-color:rgba(198,164,106,.78);animation-delay:-1.6s}
.hy-hero-lines span:nth-child(3){border-top-color:rgba(174,195,208,.74);animation-delay:-3.2s}
.hy-hero-lines.line-a{top:112px;left:4.5%;transform:rotate(-10deg)}
.hy-hero-lines.line-a span:nth-child(1){width:118px}.hy-hero-lines.line-a span:nth-child(2){width:82px;margin-left:16px}.hy-hero-lines.line-a span:nth-child(3){width:58px;margin-left:34px}
.hy-hero-lines.line-b{right:7%;top:98px;transform:rotate(12deg)}
.hy-hero-lines.line-b span:nth-child(1){width:72px;margin-left:10px}.hy-hero-lines.line-b span:nth-child(2){width:120px}.hy-hero-lines.line-b span:nth-child(3){width:86px;margin-left:22px}
.hy-hero-lines.line-c{left:49%;bottom:118px;transform:rotate(-7deg)}
.hy-hero-lines.line-c span:nth-child(1){width:108px}.hy-hero-lines.line-c span:nth-child(2){width:70px;margin-left:26px}.hy-hero-lines.line-c span:nth-child(3){width:92px;margin-left:8px}
@keyframes hyGridFloat{0%{background-position:0 0,0 0}100%{background-position:48px 48px,48px 48px}}
@keyframes hyDoodleLine{0%,100%{transform:translateY(0) translateX(0) scaleX(1);opacity:.82}25%{transform:translateY(-6px) translateX(4px) scaleX(1.03);opacity:1}50%{transform:translateY(-11px) translateX(-3px) scaleX(1.07);opacity:1}75%{transform:translateY(-5px) translateX(3px) scaleX(1.02);opacity:.94}}

/* Facts */
.hy-facts-wrap{margin-top:-2.7rem}
.hy-facts{
  max-width:74rem;
  border-radius:24px;
  border:1px solid var(--gs-line);
  box-shadow:var(--gs-shadow);
}
.hy-fact{min-height:100px}
.hy-fact:not(:last-child):after{border-color:var(--gs-line)}
.hy-fact-icon,.hy-fact:nth-child(2) .hy-fact-icon,.hy-fact:nth-child(3) .hy-fact-icon,.hy-fact:nth-child(4) .hy-fact-icon{
  background:var(--gs-blue-50);
  color:var(--gs-navy-900);
  border:1px solid var(--gs-line);
  border-radius:15px;
}
.hy-fact b{color:var(--gs-navy-950);font-weight:800}
.hy-fact small{color:#81909a;letter-spacing:.07em}

/* Shared sections */
body.site-front .section-space{padding:6.25rem 0}
body.site-front .section-kicker,.hy-section-kicker{
  background:var(--gs-blue-50);
  border:1px solid var(--gs-blue-150);
  color:var(--gs-navy-700);
  border-radius:999px;
  font-weight:900;
}
body.site-front .section-title,.hy-section-title{
  color:var(--gs-navy-950);
  font-size:clamp(2.15rem,4vw,3.7rem);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:800;
}
body.site-front .section-copy,.hy-section-lead p{color:#667581;line-height:1.82}
.hy-soft-bg{background:var(--gs-blue-50)}
.hy-program-section{background:linear-gradient(180deg,#f7fafb 0%,#f3f7f9 100%)}
.hy-program-section .hy-decor-book,.hy-program-section .hy-decor-boy{opacity:.12;filter:grayscale(1)}

/* Level cards */
.hy-level-grid{gap:1.15rem}
.hy-level-card{
  border:1px solid var(--gs-line);
  border-radius:22px;
  box-shadow:var(--gs-shadow-soft);
}
.hy-level-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px rgba(23,49,73,.12)}
.hy-level-card:before{background:var(--gs-blue-100);opacity:.8}
.hy-level-art{
  height:184px;
  border-radius:17px;
  background:linear-gradient(145deg,#edf4f7,#f8fafb)!important;
}
.hy-level-art:after{border:1px dashed #c9d8e0;border-radius:13px}
.hy-level-art span{filter:grayscale(.12) saturate(.72) drop-shadow(0 12px 15px rgba(23,49,73,.08))}
.hy-level-art img{filter:grayscale(.4) saturate(.6);opacity:.74}
.hy-level-label{color:var(--gs-blue-500)}
.hy-level-content h3{color:var(--gs-navy-950);font-weight:800}
.hy-level-content p{color:#687784}
.hy-level-badge{border-color:var(--gs-line);color:var(--gs-gold)}
.hy-card-link{color:var(--gs-navy-700);font-weight:900}
.hy-card-link:hover{color:var(--gs-navy-950)}

/* About */
.hy-about-wrap{gap:4.5rem}
.hy-about-visual{min-height:500px}
.hy-about-photo{
  inset:18px 28px 28px 8px;
  border-radius:34px;
  border:7px solid #fff;
  background:var(--gs-blue-50);
  box-shadow:var(--gs-shadow);
}
.hy-about-photo:after{inset:10px;border:1px solid rgba(255,255,255,.55);border-radius:25px}
.hy-about-sun,.hy-about-heart{opacity:.45;filter:grayscale(.35) saturate(.6)}
.hy-about-note{
  border-radius:16px;
  border:1px solid var(--gs-line);
  box-shadow:var(--gs-shadow-soft);
}
.hy-about-note b{color:var(--gs-navy-950)}
.hy-check{color:#526571}
.hy-check i{background:#eaf1ef;color:#607f75}

/* Programs */
.hy-program-grid{gap:1.15rem}
.hy-program-card{
  border:1px solid var(--gs-line);
  border-radius:21px;
  box-shadow:var(--gs-shadow-soft);
  min-height:238px;
}
.hy-program-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(23,49,73,.11)}
.hy-program-card:after{border-color:#cbdbe4;opacity:.55}
.hy-program-icon{
  background:var(--gs-blue-50)!important;
  color:var(--gs-navy-700)!important;
  border:1px solid var(--gs-line);
  border-radius:15px;
}
.hy-program-tag{
  background:var(--gs-blue-50)!important;
  color:var(--gs-blue-500)!important;
  border:1px solid var(--gs-line);
}
.hy-program-card h3{color:var(--gs-navy-950);font-weight:800}
.hy-program-card p{color:#697883}
.hy-program-card small{border-color:var(--gs-line);color:#8a98a1}
.hy-counter-strip{
  border-radius:24px;
  background:linear-gradient(135deg,var(--gs-navy-950),var(--gs-navy-800));
  box-shadow:0 22px 55px rgba(23,49,73,.18);
}
.hy-counter-strip:before{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.12) 1px,transparent 0);background-size:24px 24px;opacity:.32}

/* Story/article cards */
.hy-story-section{background:#fff}
.hy-story-card,body.site-front .article-grid-card{
  border:1px solid var(--gs-line)!important;
  border-radius:20px!important;
  box-shadow:var(--gs-shadow-soft)!important;
}
.hy-story-card:hover,body.site-front .article-grid-card:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(23,49,73,.12)!important}
.hy-story-media{background:var(--gs-blue-50)}
.hy-story-body{padding:1.3rem}
.hy-story-date,body.site-front .article-date{color:var(--gs-blue-500)!important}
.hy-story-body h3,.article-body h3{color:var(--gs-navy-950)!important;font-weight:800!important}
.hy-story-body p,.article-body p{color:#6c7a85!important}
body.site-front .article-link{color:var(--gs-navy-700)!important}

/* Gallery */
.hy-gallery-slide{border-radius:20px;background:var(--gs-blue-50);box-shadow:var(--gs-shadow-soft);border:1px solid var(--gs-line)}
.hy-gallery-caption{background:rgba(255,255,255,.93);border-radius:14px;border:1px solid rgba(223,232,237,.85);box-shadow:0 8px 24px rgba(23,49,73,.09)}
.hy-gallery-caption b{color:var(--gs-navy-950)}
.hy-gallery-caption small{color:var(--gs-blue-500)}
.hy-slider-btn{border-color:var(--gs-line);color:var(--gs-navy-900);border-radius:13px;box-shadow:none}
.hy-slider-btn:hover{background:var(--gs-navy-900);color:#fff}

/* CTAs */
.hy-cta,body.site-front .cta-kids{
  background:
    radial-gradient(circle at 90% 10%,rgba(174,195,208,.16),transparent 25%),
    linear-gradient(135deg,var(--gs-navy-950),var(--gs-navy-800))!important;
  border-radius:26px;
  box-shadow:0 24px 60px rgba(23,49,73,.18)!important;
  border:1px solid rgba(255,255,255,.06);
}
body.site-front .cta-kids:before{
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.11) 1px,transparent 0);
  background-size:25px 25px;
}
body.site-front .cta-kids .cta-sun{background:var(--gs-gold);opacity:.10}
.hy-cta-house{opacity:.10;filter:grayscale(1)}
.hy-cta h2{font-weight:800;letter-spacing:-.04em}
.hy-cta p,body.site-front .cta-kids p{color:#d2dee5!important}
body.site-front .cta-kids .section-kicker{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.13)!important;color:#dce8ee!important}

/* Inner page hero */
body.site-front .page-hero{
  padding:5.4rem 0 6.2rem;
  background:
    radial-gradient(circle at 84% 18%,rgba(174,195,208,.17),transparent 22%),
    linear-gradient(135deg,#122a3f 0%,#1b3a53 60%,#264c67 100%);
}
body.site-front .page-hero:before{
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:44px 44px;
}
body.site-front .page-hero:after{
  left:0;right:0;bottom:-1px;height:52px;border-radius:0;
  background:linear-gradient(177deg,transparent 0 48%,#fff 49% 100%);
}
body.site-front .page-hero .section-title,body.site-front .page-hero h1{color:#fff}
body.site-front .page-hero .section-copy,body.site-front .page-hero p{color:#d5e0e6!important}
body.site-front .page-hero .section-kicker{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#dce8ee;
}
body.site-front .page-hero-orb.a{background:#c0d2dc;opacity:.08}
body.site-front .page-hero-orb.b{background:#c6a46a!important;opacity:.08!important}
body.site-front .page-hero-logo{opacity:.07;transform:none;filter:grayscale(1)}

/* Inner cards / forms */
body.site-front .inner-card{
  border:1px solid var(--gs-line);
  border-radius:22px;
  box-shadow:var(--gs-shadow-soft);
}
body.site-front .program-card{
  border:1px solid var(--gs-line)!important;
  border-radius:20px!important;
  box-shadow:var(--gs-shadow-soft)!important;
}
body.site-front .program-card:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(23,49,73,.11)!important}
body.site-front .info-ribbon{background:var(--gs-gold-soft);border-color:#e5d6bd;color:#725f42;border-radius:13px}
body.site-front .input{
  border:1px solid #d9e3e8;
  border-radius:12px;
  background:#fff;
  color:var(--gs-navy-950);
  min-height:48px;
}
body.site-front .input:hover{border-color:#bfd0da}
body.site-front .input:focus{border-color:#7899ad;box-shadow:0 0 0 4px rgba(119,150,171,.12)}
body.site-front .label{color:#3f5666;font-weight:800}
body.site-front .rainbow-line{background:linear-gradient(90deg,var(--gs-navy-900),var(--gs-blue-500),var(--gs-gold),var(--gs-sage))}
body.site-front .badge{border-radius:999px;font-weight:900}
body.site-front .prose-school{color:#5f6e7a}
body.site-front .prose-school h2,body.site-front .prose-school h3{color:var(--gs-navy-950)}
body.site-front .prose-school p{line-height:1.9}

/* Utility color harmonization for the legacy page templates */
body.site-front .text-indigo-600,body.site-front .text-blue-600{color:var(--gs-navy-700)!important}
body.site-front .text-emerald-600,body.site-front .text-emerald-700,body.site-front .text-emerald-800,body.site-front .text-emerald-500{color:#5d8075!important}
body.site-front .bg-indigo-600,body.site-front .bg-blue-600{background-color:var(--gs-navy-900)!important}
body.site-front .bg-indigo-50,body.site-front .bg-blue-50{background-color:var(--gs-blue-50)!important}
body.site-front .bg-emerald-50,body.site-front .bg-emerald-100{background-color:#edf4f1!important}
body.site-front .border-emerald-200{border-color:#cfdfd9!important}
body.site-front .hover\:border-indigo-200:hover{border-color:#bfd0da!important}
body.site-front .bg-amber-100{background-color:#f3ebdd!important}
body.site-front .bg-pink-100{background-color:#f1e9ed!important}
body.site-front .bg-blue-100{background-color:#e8f0f4!important}
body.site-front .bg-slate-100{background-color:#eef3f5!important}
body.site-front .text-blue-100,body.site-front [class*="text-blue-100/"]{color:#d5e0e6!important}
body.site-front .bg-gradient-to-br.from-indigo-600,
body.site-front .bg-gradient-to-br.from-emerald-500{
  background-image:linear-gradient(145deg,#18344c,#2f5873)!important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px!important;
  box-shadow:var(--gs-shadow-soft);
}
body.site-front .bg-gradient-to-br .bg-white\/15{background-color:rgba(255,255,255,.09)!important}

/* Specific inner-page soft surfaces */
body.site-front section.bg-\[\#f7f9ff\],
body.site-front section.bg-\[\#fff8e8\]{background:var(--gs-blue-50)!important}
body.site-front .bg-\[\#e8f1ff\],
body.site-front .bg-\[\#fff5cc\],
body.site-front .bg-\[\#ffe8f0\],
body.site-front .bg-\[\#fff2cc\]{background:linear-gradient(145deg,#edf4f7,#f8fafb)!important}

/* Footer */
.hy-footer{
  margin-top:5rem;
  padding-top:4.3rem;
  background:linear-gradient(145deg,#0d2133,#153149 65%,#1d3d55);
}
.hy-footer:before{opacity:.035;filter:grayscale(1)}
.hy-footer-top-wave{
  top:-1px;height:1px;left:0;right:0;border-radius:0;background:rgba(255,255,255,.12)
}
.hy-footer-logo{width:91px;height:80px;border-radius:18px;transform:none;padding:6px}
.hy-footer-brand h3{font-weight:800;letter-spacing:-.03em}
.hy-footer-brand small{color:#b7cbd7}
.hy-footer p{color:#afc0ca}
.hy-footer-title{font-weight:800}
.hy-footer-links a{color:#bdcad2}
.hy-footer-links a:hover{color:#fff;transform:translateX(2px)}
.hy-socials a{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:10px;color:#d8e2e7}
.hy-socials a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18)}
.hy-footer-bottom{color:#8197a5;border-color:rgba(255,255,255,.10)}
.hy-footer-house{opacity:.07;filter:grayscale(1)}

/* WhatsApp */
body.site-front .wa-float{
  background:#2c7a61;
  border:2px solid #fff;
  border-radius:999px;
  box-shadow:0 12px 30px rgba(26,86,67,.20);
  font-weight:800;
}
body.site-front .wa-float:hover{box-shadow:0 16px 36px rgba(26,86,67,.26)}
body.site-front .wa-pulse{border-color:rgba(44,122,97,.32)}

/* Mobile */
@media(max-width:1199px){
  .hy-nav{min-height:78px}
}
@media(max-width:991px){
  body.site-front .section-space{padding:5.3rem 0}
  .hy-hero-inner{padding-top:4.8rem;gap:1.2rem}
  .hy-hero-copy{max-width:720px}
  .hy-hero h1{max-width:720px}
  .hy-hero-visual{max-width:620px;min-height:500px}
  .hy-about-wrap{gap:2.8rem}
}
@media(max-width:767px){
  .hy-topbar-inner{padding:.45rem .75rem}
  .hy-nav{min-height:70px}
  .hy-brand-logo{width:62px;height:53px}
  .hy-brand-logo:before{border-radius:15px}
  .hy-hero:after{height:35px}
  .hy-hero-lines.line-a{top:96px;left:2%}
  .hy-hero-lines.line-b{right:2%;top:84px}
  .hy-hero-lines.line-c{left:auto;right:10%;bottom:102px}
  .hy-hero-inner{padding-top:4.1rem;padding-bottom:6.4rem}
  .hy-hero h1{font-size:clamp(2.55rem,11vw,3.85rem);line-height:1.02}
  .hy-hero-desc{font-size:.91rem;line-height:1.72}
  .hy-hero-visual{min-height:430px}
  .hy-hero-frame{border-radius:27px}
  .hy-hero-frame:before{border-radius:20px}
  .hy-hero-logo-chip{transform:none!important}
  .hy-facts{border-radius:20px}
  .hy-level-card,.hy-program-card,body.site-front .article-grid-card,.hy-story-card{border-radius:18px!important}
  .hy-level-art{border-radius:14px}
  .hy-about-visual{min-height:410px}
  .hy-about-photo{border-radius:25px;inset:20px 16px 30px 10px}
  .hy-about-photo:after{border-radius:18px}
  .hy-counter-strip{border-radius:20px}
  .hy-cta,body.site-front .cta-kids{border-radius:22px!important;padding:2.15rem 1.3rem}
  body.site-front .page-hero{padding:4.4rem 0 5.3rem}
  body.site-front .page-hero:after{height:34px}
  .hy-footer{margin-top:4rem;padding-top:3.6rem}
}
@media(max-width:520px){
  .hy-hero-inner{padding-top:3.6rem}
  .hy-hero h1{font-size:clamp(2.35rem,12vw,3.25rem)}
  .hy-hero-visual{min-height:365px}
  .hy-hero-lines{gap:.58rem;opacity:.88}
  .hy-hero-lines span{height:10px;border-top-width:3px}
  .hy-hero-lines.line-a{top:86px;left:-6px}
  .hy-hero-lines.line-b{right:-8px;top:110px}
  .hy-hero-lines.line-c{display:none}
  .hy-hero-lines.line-a span:nth-child(1){width:66px}.hy-hero-lines.line-a span:nth-child(2){width:48px}.hy-hero-lines.line-a span:nth-child(3){width:36px}
  .hy-hero-lines.line-b span:nth-child(1){width:44px}.hy-hero-lines.line-b span:nth-child(2){width:74px}.hy-hero-lines.line-b span:nth-child(3){width:56px}
  .hy-hero-frame{width:97%}
  .hy-float-badge{max-width:140px}
  .hy-facts-wrap{margin-top:-2.1rem}
  .hy-fact{min-height:96px}
  body.site-front .section-title{font-size:2.2rem}
  .hy-about-visual{min-height:350px}
  .hy-about-note{max-width:170px}
  body.site-front .page-hero{padding:3.8rem 0 4.8rem}
}


/* About submenu + content pages */
.hy-nav-dropdown{position:relative;display:flex;align-items:center}
.hy-nav-dropdown-toggle{display:flex!important;align-items:center;gap:.38rem}
.hy-nav-caret{font-size:.78rem;line-height:1;transition:transform .22s ease;margin-top:-2px}
.hy-nav-dropdown:hover .hy-nav-caret,.hy-nav-dropdown:focus-within .hy-nav-caret{transform:rotate(180deg)}
.hy-nav-submenu{position:absolute;top:calc(100% + 9px);left:-12px;width:310px;padding:.65rem;border-radius:18px;background:rgba(255,255,255,.99);border:1px solid var(--gs-line);box-shadow:0 24px 60px rgba(16,37,57,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:.2s ease;z-index:60}
.hy-nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:14px}
.hy-nav-dropdown:hover .hy-nav-submenu,.hy-nav-dropdown:focus-within .hy-nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.hy-nav-submenu>a{display:flex;gap:.75rem;align-items:flex-start;padding:.78rem .8rem;border-radius:13px;color:#516572;transition:.18s ease}
.hy-nav-submenu>a:hover,.hy-nav-submenu>a.active{background:var(--gs-blue-50);color:var(--gs-navy-900)}
.hy-sub-icon{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:var(--gs-blue-100);color:var(--gs-navy-900);display:grid;place-items:center;font-weight:900}
.hy-nav-submenu b{display:block;color:var(--gs-navy-950);font-size:.82rem;font-weight:900;line-height:1.25}
.hy-nav-submenu small{display:block;margin-top:.22rem;color:#83929c;font-size:.66rem;line-height:1.4;font-weight:700}
.hy-mobile-dropdown{border-radius:12px}
.hy-mobile-dropdown summary{list-style:none;cursor:pointer;display:flex!important;align-items:center;justify-content:space-between}
.hy-mobile-dropdown summary::-webkit-details-marker{display:none}
.hy-mobile-caret{transition:transform .2s ease}
.hy-mobile-dropdown[open] .hy-mobile-caret{transform:rotate(180deg)}
.hy-mobile-submenu{display:grid;gap:.25rem;padding:.2rem .35rem .55rem 1rem}
.hy-mobile-submenu a{padding:.62rem .75rem;border-radius:10px;color:#637783;font-size:.78rem;font-weight:800;border-left:2px solid var(--gs-blue-150)}
.hy-mobile-submenu a.active,.hy-mobile-submenu a:hover{background:var(--gs-blue-50);color:var(--gs-navy-900);border-left-color:var(--gs-gold)}

.about-page-tabs{position:relative;z-index:5;margin-top:-26px;padding:0 1rem}
.about-page-tabs-inner{max-width:680px;margin:auto;padding:.45rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;background:rgba(255,255,255,.97);border:1px solid var(--gs-line);border-radius:18px;box-shadow:0 16px 40px rgba(23,49,73,.11);backdrop-filter:blur(12px)}
.about-page-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem .8rem;border-radius:13px;color:#617581;text-align:center;font-size:.77rem;font-weight:900;transition:.18s ease}
.about-page-tabs a:hover,.about-page-tabs a.active{background:var(--gs-navy-900);color:#fff}
.about-profile-bg{background:linear-gradient(180deg,var(--gs-blue-50),#fff)}
.school-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.school-profile-stat{position:relative;min-height:155px;padding:1.35rem;border:1px solid var(--gs-line);border-radius:20px;background:#fff;box-shadow:var(--gs-shadow-soft);overflow:hidden}
.school-profile-stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--gs-blue-50);right:-35px;bottom:-35px}
.school-profile-stat>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--gs-navy-900);color:#fff;font-size:.68rem;font-weight:900}
.school-profile-stat small{display:block;margin-top:1rem;color:#8a98a1;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;font-weight:900}
.school-profile-stat b{display:block;position:relative;z-index:1;margin-top:.35rem;color:var(--gs-navy-950);font-size:1rem;line-height:1.45;font-weight:900}
.school-profile-stat.wide{grid-column:span 2}

.history-side{position:sticky;top:125px}
.history-year-badge{margin-top:2rem;width:132px;height:132px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gs-navy-900);color:#fff;box-shadow:0 18px 45px rgba(23,49,73,.18)}
.history-year-badge span{font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:#cddce4;font-weight:900}.history-year-badge strong{font-size:2rem;line-height:1.05;margin-top:.25rem}
.history-story-card{position:relative;padding:2rem 2.1rem 2rem 2.35rem;border:1px solid var(--gs-line);border-radius:25px;background:#fff;box-shadow:var(--gs-shadow);overflow:hidden}
.history-story-card:after{content:"";position:absolute;right:-80px;top:-80px;width:190px;height:190px;border-radius:50%;background:var(--gs-blue-50)}
.history-story-mark{position:absolute;top:14px;left:18px;font-size:4.5rem;line-height:1;color:var(--gs-blue-150);font-family:Georgia,serif}
.history-story-text{position:relative;z-index:1;color:#5b6c77;font-size:.96rem;line-height:1.95;white-space:normal}
.history-timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.history-timeline:before{content:"";position:absolute;left:9%;right:9%;top:20px;height:1px;background:var(--gs-blue-150)}
.history-milestone{position:relative;padding-top:3rem}
.history-dot{position:absolute;top:10px;left:21px;width:21px;height:21px;border-radius:50%;background:var(--gs-gold);border:5px solid #fff;box-shadow:0 0 0 1px #dbc8a8;z-index:2}
.history-milestone>div{height:100%;padding:1.45rem;border:1px solid var(--gs-line);border-radius:20px;background:#fff;box-shadow:var(--gs-shadow-soft)}
.history-milestone small{color:var(--gs-gold);font-size:.68rem;font-weight:900;letter-spacing:.08em}.history-milestone h3{margin-top:.42rem;color:var(--gs-navy-950);font-size:1.08rem;font-weight:900}.history-milestone p{margin-top:.7rem;font-size:.84rem;line-height:1.75;color:#6c7c87}

.vm-vision-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.35rem;padding:2rem 2.2rem;border-radius:28px;background:linear-gradient(135deg,#0c2133,#173951);color:#fff;box-shadow:0 28px 65px rgba(16,37,57,.2);overflow:hidden}
.vm-vision-card:after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018)}
.vm-vision-icon{position:relative;z-index:1;width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);display:grid;place-items:center;color:#e7d4b0;font-size:1.5rem}
.vm-vision-card>div:last-child{position:relative;z-index:1}.vm-kicker{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#dce8ee!important}.vm-vision-card h2{margin-top:1rem;color:#fff;font-size:clamp(1.85rem,3vw,2.7rem);font-weight:900}.vm-vision-card p{margin-top:.85rem;color:#dce7ed!important;font-size:1.02rem;line-height:1.9;font-weight:600}
.vm-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.vm-list-card{display:grid;grid-template-columns:45px 1fr;gap:1rem;align-items:start;padding:1.25rem;border:1px solid var(--gs-line);border-radius:18px;background:#fff;box-shadow:var(--gs-shadow-soft)}
.vm-list-card>span{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:var(--gs-blue-50);border:1px solid var(--gs-line);color:var(--gs-navy-900);font-size:.72rem;font-weight:900}.vm-list-card p{padding-top:.1rem;font-size:.86rem;line-height:1.75;color:#5f707b}
.vm-goals{display:grid;gap:.75rem}.vm-goals article{display:grid;grid-template-columns:42px 1fr;gap:1rem;align-items:start;padding:1rem 1.1rem;border-bottom:1px solid var(--gs-line)}.vm-goals article:first-child{border-top:1px solid var(--gs-line)}.vm-goals span{width:36px;height:36px;border-radius:12px;background:var(--gs-gold-soft);color:var(--gs-navy-950);display:grid;place-items:center;font-size:.75rem;font-weight:900}.vm-goals p{padding-top:.25rem;font-size:.88rem;line-height:1.78;color:#5d6e79}

@media(max-width:1023px){.history-side{position:static}.school-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-timeline{grid-template-columns:1fr}.history-timeline:before{left:30px;right:auto;top:16px;bottom:16px;width:1px;height:auto}.history-milestone{padding-top:0;padding-left:3.25rem}.history-dot{top:25px;left:20px}}
@media(max-width:767px){.about-page-tabs{margin-top:-18px;padding:0 .7rem}.about-page-tabs-inner{border-radius:15px;padding:.35rem}.about-page-tabs a{min-height:42px;padding:.55rem .42rem;font-size:.68rem}.school-profile-grid{grid-template-columns:1fr 1fr}.school-profile-stat{min-height:135px;padding:1.05rem}.school-profile-stat.wide{grid-column:span 2}.vm-vision-card{grid-template-columns:1fr;padding:1.55rem;border-radius:22px}.vm-vision-icon{width:50px;height:50px}.vm-list-grid{grid-template-columns:1fr}.history-story-card{padding:1.7rem 1.35rem}.history-story-text{font-size:.9rem;line-height:1.85}}
@media(max-width:520px){.school-profile-grid{grid-template-columns:1fr}.school-profile-stat.wide{grid-column:auto}.about-page-tabs a{font-size:.62rem}.history-year-badge{width:110px;height:110px}.history-year-badge strong{font-size:1.65rem}}

/* Hero hot-air balloon: keep it visibly above the hero layers */
.hy-hero .hy-decor.parachute{
  z-index:7!important;
  width:108px;
  height:130px;
  right:3.2%;
  top:5.5%;
  opacity:.96!important;
  filter:saturate(.92) brightness(1.05) contrast(1.02) drop-shadow(0 14px 24px rgba(3,15,27,.28))!important;
  animation:hyBalloonFloat 5.8s ease-in-out infinite!important;
  will-change:transform;
}
.hy-hero .hy-decor.parachute:before{
  content:"";
  position:absolute;
  inset:-20px -18px;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.14) 0%,rgba(174,195,208,.08) 45%,transparent 72%);
  pointer-events:none;
}
@keyframes hyBalloonFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}
  30%{transform:translate3d(-6px,-13px,0) rotate(2deg)}
  60%{transform:translate3d(4px,-21px,0) rotate(-1deg)}
  82%{transform:translate3d(7px,-8px,0) rotate(2deg)}
}
@media(max-width:1024px){
  .hy-hero .hy-decor.parachute{width:94px;height:113px;right:2%;top:4.5%}
}
@media(max-width:767px){
  .hy-hero .hy-decor.parachute{width:82px;height:98px;right:1.5%;top:3.5%;opacity:.94!important}
}
@media(max-width:520px){
  .hy-hero .hy-decor.parachute{width:74px;height:89px;right:0;top:3%;opacity:.92!important}
}
