:root{--ink:#10233e;--ink-soft:#52647c;--blue:#245de8;--blue-deep:#183eae;--pale:#eff4ff;--paper:#f9faf8;--white:#fff;--mint:#dcf9ee;--yellow:#ffe586;--coral:#ff956e;--line:#dce4ec;--radius:22px;--shadow:0 22px 60px rgba(18,45,91,.10);--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;text-rendering:optimizeLegibility}a{color:inherit}img,svg{max-width:100%}img{height:auto}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ffb229;outline-offset:3px}.skip{position:absolute;left:15px;top:-80px;z-index:99;background:var(--ink);color:white;padding:10px 18px;border-radius:8px}.skip:focus{top:8px}
.container{width:min(var(--wrap),calc(100% - 48px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(249,250,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:1.65rem;font-weight:900;letter-spacing:-.075em;line-height:1}.logo-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--blue);color:white;font-size:1.5rem;letter-spacing:-.07em;transform:rotate(-8deg)}.logo .logo-word{letter-spacing:-.075em}.logo .logo-word b{color:var(--blue)}.desktop-nav{display:flex;align-items:center;gap:29px}.desktop-nav a{font-size:.86rem;font-weight:750;text-decoration:none;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--blue)}.desktop-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--blue)}.nav-action{display:inline-flex;align-items:center;gap:7px;padding:12px 18px;background:var(--ink);color:white!important;border-radius:12px;font-size:.88rem;font-weight:750;text-decoration:none;transition:transform .15s,background .15s}.nav-action:hover{transform:translateY(-2px);background:var(--blue)}.mobile-nav{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid transparent;border-radius:13px;padding:14px 21px;text-decoration:none;font-weight:800;font-size:.96rem;transition:transform .16s,background .16s,box-shadow .16s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:white;box-shadow:0 9px 22px rgba(31,91,229,.16)}.btn-primary:hover{background:var(--blue-deep)}.btn-outline{background:white;color:var(--ink);border-color:var(--line)}.btn-outline:hover{border-color:var(--blue)}.btn-light{background:white;color:var(--ink)}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{display:inline-flex;align-items:center;gap:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);font-size:.76rem;font-weight:850}.eyebrow::before{content:"";width:23px;height:2px;background:currentColor}.muted{color:var(--ink-soft)}.small{font-size:.86rem}.display{font-size:clamp(3.05rem,6.7vw,5.65rem);line-height:1.055;letter-spacing:-.065em;font-weight:900;margin:19px 0 24px}.h2{font-size:clamp(2.1rem,4vw,3.45rem);letter-spacing:-.052em;line-height:1.15;font-weight:850;margin:14px 0 18px}.h3{font-size:1.35rem;letter-spacing:-.025em;line-height:1.28;margin:0 0 10px}.lead{font-size:1.13rem;line-height:1.8;color:var(--ink-soft);max-width:670px}.highlight{color:var(--blue)}.section{padding:92px 0}.section-tight{padding:65px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-head>div{max-width:730px}.section-head p{margin-bottom:0}.surface{background:white}.surface-blue{background:#edf3ff}.rule{height:1px;background:var(--line)}
.hero{padding:85px 0 72px;overflow:hidden;background:radial-gradient(circle at 98% 0, #e4f3ff, transparent 45%),var(--paper)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:45px}.hero .lead{max-width:535px;margin-bottom:31px}.hero-meta{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:38px;font-weight:700;font-size:.9rem;color:var(--ink-soft)}.hero-meta span{display:flex;gap:8px;align-items:center}.mini-bullet{height:8px;width:8px;border-radius:50%;background:#24ba89}.hero-art{position:relative;border-radius:46% 54% 57% 43% / 48% 42% 58% 52%;background:#d7e9fc;min-height:480px;display:grid;place-items:center;isolation:isolate}.hero-art img{width:100%;max-width:560px;filter:drop-shadow(0 24px 25px rgba(38,74,123,.16))}.hero-art::before{content:"";position:absolute;inset:26px;border:1px dashed #a0badd;border-radius:50%;z-index:-1}.art-float{position:absolute;display:grid;place-items:center;padding:13px 17px;background:white;border-radius:16px;box-shadow:var(--shadow);font-weight:850;font-size:.9rem}.art-float.top{right:3px;top:39px;transform:rotate(7deg)}.art-float.bottom{left:2px;bottom:51px;transform:rotate(-5deg)}.art-float .emoji{font-size:1.4rem;margin-right:7px}
.value-strip{background:var(--ink);color:white;padding:26px 0}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.value-item{display:flex;align-items:center;gap:14px}.value-symbol{width:42px;height:42px;flex:none;display:grid;place-items:center;border:1px solid #557092;border-radius:13px;font-size:1.3rem}.value-item strong{display:block;font-size:.99rem}.value-item span{font-size:.79rem;color:#b6c8df}
.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program-card{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-height:365px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;text-decoration:none}.program-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.program-card .p-no{color:var(--blue);font-weight:800;font-size:.73rem;letter-spacing:.09em}.program-card .p-title{font-size:1.35rem;line-height:1.2;letter-spacing:-.04em;font-weight:850;margin:11px 0 5px}.program-card .p-sub{font-size:.86rem;color:var(--ink-soft);min-height:54px}.program-art{flex:1;display:grid;place-items:center;margin:8px -8px 9px;min-height:152px;border-radius:17px}.program-art img{height:152px;width:100%;object-fit:contain}.program-card:nth-child(1) .program-art{background:#fff4df}.program-card:nth-child(2) .program-art{background:#e3f4fe}.program-card:nth-child(3) .program-art{background:#e5f6e6}.program-card:nth-child(4) .program-art{background:#eae5ff}.card-bottom{font-size:.8rem;font-weight:850;color:var(--blue);display:flex;justify-content:space-between;align-items:center}.card-bottom span:last-child{font-size:1.15rem}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature{border-radius:var(--radius);background:white;border:1px solid var(--line);padding:30px}.feature-ico{height:57px;width:57px;display:grid;place-items:center;background:var(--pale);border-radius:16px;font-size:1.7rem;margin-bottom:22px}.feature p{font-size:.93rem;color:var(--ink-soft);margin:0}.blue-panel{background:var(--blue);color:white;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;min-height:350px}.blue-panel-copy{padding:54px 56px}.blue-panel .eyebrow{color:#d1ebff}.blue-panel .lead{color:#e7eeff}.blue-panel-art{position:relative;background:linear-gradient(145deg,#1e50d2,#5b93ff);display:grid;place-items:center}.blue-panel-art img{width:80%;max-height:330px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.stat{border-right:1px solid #b6c5dd;text-align:center}.stat:last-child{border:none}.stat strong{display:block;font-size:2.3rem;font-weight:900;letter-spacing:-.06em}.stat span{font-size:.85rem;color:var(--ink-soft)}.awards-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.award{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px 21px;display:flex;gap:16px;align-items:start}.award-year{font-weight:900;color:var(--blue);background:var(--pale);border-radius:11px;padding:8px 10px;min-width:57px;text-align:center}.award strong{display:block;font-size:.96rem}.award p{font-size:.85rem;color:var(--ink-soft);margin:3px 0 0}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote{margin:0;padding:33px;border:1px solid var(--line);background:white;border-radius:var(--radius);font-size:1.02rem;line-height:1.8}.quote .quote-symbol{font-size:3rem;line-height:.8;color:var(--blue)}.quote footer{margin-top:22px;font-size:.87rem;font-weight:800}.quote footer span{color:var(--ink-soft);font-weight:500}
.cta-band{border-radius:27px;background:#10243f;color:white;padding:45px 51px;display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band .h2{margin:4px 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}.cta-band p{color:#c9d5e5;margin:0}
.page-hero{padding:67px 0 54px;background:linear-gradient(135deg,#eef4ff,#f9faf8 70%);border-bottom:1px solid var(--line)}.page-hero .display{font-size:clamp(2.8rem,5vw,4.6rem);margin:13px 0}.crumbs{font-size:.8rem;color:var(--ink-soft)}.crumbs a{color:var(--blue)}.two-col{display:grid;grid-template-columns:1.07fr .93fr;gap:58px;align-items:start}.prose{font-size:1.04rem;color:#384b63;line-height:1.93}.prose p{margin:0 0 22px}.prose h2{font-size:1.8rem;line-height:1.3;color:var(--ink);margin:32px 0 17px;letter-spacing:-.035em}.prose li{margin-bottom:11px}.note-card{padding:27px;border-radius:20px;background:#eaf1ff;border:1px solid #d3dfff}.note-card h3{margin:0 0 12px}.note-card p{margin-bottom:0;color:var(--ink-soft)}.vertical-stack>*+*{margin-top:16px}.list-check{padding:0;list-style:none}.list-check li{padding-left:30px;position:relative;margin:10px 0}.list-check li::before{content:"✓";color:var(--blue);font-weight:900;position:absolute;left:0}
.level-layout{display:grid;grid-template-columns:1fr .85fr;gap:56px;align-items:start}.level-aside{position:sticky;top:115px}.large-art{background:#edf4ff;min-height:370px;border-radius:30px;display:grid;place-items:center;padding:28px;overflow:hidden}.large-art img{height:330px;width:100%;object-fit:contain}.kit-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.kit-tags span{font-weight:700;font-size:.8rem;color:#2f4c78;background:#eaf1ff;padding:7px 11px;border-radius:9px}.inline-panel{margin-top:36px;padding:23px;border:1px solid var(--line);border-radius:18px;background:white}.levels-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.level-chip{padding:16px;border:1px solid var(--line);border-radius:13px;text-decoration:none;background:white;font-weight:750;text-align:center;font-size:.85rem}.level-chip[aria-current="page"]{background:var(--blue);color:white;border-color:var(--blue)}
.announcement{padding:30px;border:1px solid var(--line);background:#fff;border-radius:20px;display:flex;align-items:start;justify-content:space-between;gap:25px}.announcement time{display:block;color:var(--ink-soft);font-size:.85rem;margin-bottom:10px}.announcement .h3 a{text-decoration:none}.announcement .h3 a:hover{color:var(--blue)}.archive-label{display:inline-block;padding:4px 9px;border-radius:6px;background:#fff2de;color:#785321;font-size:.75rem;font-weight:750}
.gallery-intro{max-width:700px}.gallery-art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-tile{margin:0;border:1px solid var(--line);background:white;border-radius:22px;overflow:hidden}.gallery-tile .gallery-image{min-height:235px;display:grid;place-items:center;background:#e6f2ff}.gallery-tile:nth-child(2) .gallery-image{background:#fff0e6}.gallery-tile:nth-child(3) .gallery-image{background:#e7f7eb}.gallery-tile img{height:215px;width:92%;object-fit:contain}.gallery-tile figcaption{padding:17px 20px;font-weight:800}.gallery-tile figcaption small{display:block;font-weight:400;color:var(--ink-soft)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px;align-items:stretch}.contact-info{border:1px solid var(--line);background:#fff;border-radius:22px;padding:34px;box-shadow:0 12px 38px rgba(18,45,91,.04)}.contact-info .h2{font-size:clamp(2rem,3vw,2.6rem)}.contact-info .contact-value{font-size:1.23rem;font-weight:850;overflow-wrap:anywhere}.contact-info .contact-value a{color:var(--blue);text-decoration:none}.contact-info .contact-value a:hover{text-decoration:underline}.contact-info .btn{margin-top:12px}.contact-email-pending{border:1px dashed #a1b0c9;border-radius:12px;padding:15px 17px;color:#52647c;background:var(--pale);font-size:.88rem}.legal{max-width:800px}
.site-footer{background:#0d2039;color:white;padding:63px 0 21px;margin-top:85px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.site-footer .logo{color:white}.site-footer .logo-mark{background:#3977fa}.site-footer p{color:#adbed4;font-size:.88rem;max-width:340px}.footer-head{font-size:.9rem;font-weight:850;margin-bottom:15px}.footer-links{display:grid;gap:10px}.footer-links a{color:#c9d7e8;text-decoration:none;font-size:.86rem}.footer-links a:hover{color:white;text-decoration:underline}.footer-bottom{margin-top:48px;padding-top:21px;border-top:1px solid #344a64;display:flex;justify-content:space-between;gap:15px;color:#99aac1;font-size:.77rem}.footer-bottom a{color:#d2dff1}
@media(max-width:1040px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.78rem}.program-grid{grid-template-columns:repeat(2,1fr)}.hero-art{min-height:400px}.hero-grid{gap:20px}.two-col,.level-layout{gap:32px}}
@media(max-width:740px){.container{width:min(100% - 34px,var(--wrap))}.nav-wrap{min-height:70px}.desktop-nav,.header-action{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;font-weight:800;border:1px solid var(--line);padding:9px 13px;border-radius:10px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] .mobile-list{display:flex}.mobile-list{position:absolute;right:0;top:49px;min-width:225px;box-shadow:var(--shadow);display:none;flex-direction:column;background:white;border:1px solid var(--line);border-radius:14px;padding:10px;z-index:99}.mobile-list a{text-decoration:none;font-weight:700;font-size:.91rem;padding:9px 11px;border-radius:8px}.mobile-list a:hover{background:var(--pale)}.hero{padding:43px 0 60px}.hero-grid,.two-col,.level-layout,.contact-grid,.blue-panel{grid-template-columns:1fr}.hero-art{min-height:335px;margin-top:32px}.hero-art img{max-height:350px}.art-float.top{right:2px;top:15px}.art-float.bottom{bottom:12px}.display{font-size:clamp(2.9rem,12vw,4.7rem)}.section{padding:67px 0}.section-head{display:block}.section-head .btn{margin-top:15px}.value-grid{grid-template-columns:1fr;gap:16px}.program-grid,.features-grid,.quote-grid,.awards-list,.gallery-art-grid,.stats-row,.levels-bottom{grid-template-columns:1fr}.program-card{min-height:310px}.feature{padding:23px}.blue-panel-copy{padding:34px 26px}.blue-panel-art{min-height:260px}.blue-panel-art img{max-height:250px}.stat{border:0;border-bottom:1px solid #d7e1ec;padding-bottom:18px}.stat:last-child{border:0}.cta-band{padding:35px 24px;display:block}.cta-band .btn{margin-top:24px}.level-aside{position:static}.large-art{min-height:260px}.large-art img{height:250px}.page-hero{padding:39px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.announcement{display:block}.announcement .btn{margin-top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* Navigation state is authored per page: no scroll script or framework. */
.desktop-nav a.is-section-current, .desktop-nav a[aria-current="page"] {color:var(--blue)}
.desktop-nav a.is-section-current::after {content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--blue)}
.nav-action[aria-current="page"] {background:var(--blue);box-shadow:0 0 0 3px rgba(36,93,232,.17)}
.mobile-list a[aria-current="page"], .mobile-list a.is-section-current {color:var(--blue);background:var(--pale)}
.logo-mark {position:relative;overflow:hidden}

.hero-art img.is-original-photo {width:100%;height:100%;max-width:none;object-fit:cover;filter:none;border-radius:inherit;position:absolute;inset:0}
.hero-art:has(img.is-original-photo) {border-radius:26px;overflow:hidden;background:#e4f3ff}
.hero-art:has(img.is-original-photo)::before {display:none}
.program-art img.is-original-photo {object-fit:contain;width:100%;height:165px;border-radius:13px}
.large-art img.is-original-photo {object-fit:cover;height:350px;width:100%;border-radius:18px}
.blue-panel-art img.is-original-photo {object-fit:cover;max-height:none;width:100%;height:100%;position:absolute;inset:0}
.gallery-tile img.is-original-photo {width:100%;height:230px;object-fit:cover}
.gallery-tile .gallery-image:has(img.is-original-photo){background:#eaf0f7}
@media (max-width:740px) {.hero-art img.is-original-photo{height:100%;max-height:none}.gallery-tile img.is-original-photo{height:245px}}

/* Integrated original EDUC8 branding and photography (no runtime dependencies). */
.logo-mark{background:#fff;border:1px solid #e2e8f0;border-radius:12px;transform:none;box-shadow:0 2px 12px rgba(20,42,68,.07);padding:4px;overflow:hidden}
.logo-mark img{height:100%;width:100%;object-fit:contain;display:block}
.site-footer .logo-mark{background:#fff}
.gallery-photo-link{display:block;text-decoration:none;overflow:hidden}
.gallery-photo-grid .gallery-tile .gallery-image{height:240px;min-height:0;overflow:hidden;background:#e9f0f6}
.gallery-photo-grid .gallery-tile .gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.gallery-photo-grid .gallery-tile:hover .gallery-image img{transform:scale(1.045)}
.gallery-photo-grid .gallery-tile figcaption{font-size:.95rem;line-height:1.5;min-height:72px}
.gallery-pagination{margin:40px 0 0;display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap}
.gallery-pagination a,.gallery-pagination .current-page{padding:10px 15px;border:1px solid var(--line);border-radius:12px;min-width:44px;text-align:center;text-decoration:none;font-weight:800;background:#fff}
.gallery-pagination a:hover,.gallery-pagination a:focus-visible{border-color:var(--blue);color:var(--blue)}
.gallery-pagination .current-page{background:var(--blue);color:white;border-color:var(--blue)}
.program-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.program-photo{margin:0;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:white}
.program-photo img{display:block;width:100%;height:194px;object-fit:contain;padding:14px;background:#f7faff}
.program-photo figcaption{font-size:.79rem;color:var(--ink-soft);padding:12px 16px}
.home-gallery .gallery-tile .gallery-image{height:230px;min-height:0}
.home-gallery .gallery-tile img.is-original-photo{width:100%;height:230px;object-fit:cover}
@media(max-width:1040px){.program-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:740px){.program-photo-grid{grid-template-columns:repeat(2,1fr)}.gallery-photo-grid .gallery-tile .gallery-image{height:245px}.home-gallery .gallery-tile .gallery-image{height:235px}}
@media(max-width:450px){.program-photo-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-photo-grid .gallery-tile .gallery-image img{transition:none}}

/* Keep authentic group photographs unobstructed. */
.hero-art:has(img.is-original-photo) .art-float{display:none}
