@font-face{font-family:Jua;src:url('fonts/Jua-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
:root{--green:#628b26;--deep:#2f673c;--cream:#fffdf7;--ink:#34462f;--muted:#7a8270;--line:#e3e7d9;--sand:#eff4dc;--lime:#99be46;--orange:#eca33b;--display:Jua,'Malgun Gothic',sans-serif}
body{background:white;color:var(--ink)}.wrap{width:min(1180px,calc(100% - 80px))}.topline{background:#fffdf6;border-bottom:0}.topline .wrap{height:34px;color:#8c967a;font-size:16px}.topline .wrap a{color:#7a8863}.header{background:#a1c953;border:0;box-shadow:0 3px 18px #4f732611}.header-inner{min-height:88px;gap:28px}.brand,.brand img{width:184px}.brand{background:#fffef9;padding:8px 14px;border-radius:12px;flex-shrink:0}.brand img{width:100%;mix-blend-mode:multiply}.nav-trigger{color:#2c5c31;font-size:20px;padding:30px 0;font-weight:600}.nav-trigger:hover,.nav-trigger[aria-expanded=true]{color:#fff}.nav-trigger span{color:#547c2d}.all-menu{width:42px;height:42px;border:0;border-radius:50%;background:#377942;flex-shrink:0}.all-menu span{background:white;width:17px}.menu-toggle{color:#2c5c31}.mega-panel{border-top:1px solid #b7d982;border-bottom:1px solid #edf1e3;box-shadow:0 24px 40px #3d612416;background:#fffef9}.mega-intro p{color:#5b723c;font-family:var(--display);font-size:26px;font-weight:400}.mega-intro small{color:#97a46c}.mega-intro a{color:#819958}.mega-group b{color:#57743b}.mega-group a:hover{color:#668e32;background:#eff5e2}.mega-group.selected{background:#f5f9ec}.hero{padding:0;background:#fffdf7}.hero .slider{height:clamp(380px,35vw,620px);background:#e8ecd8}.hero .slide img{height:100%;width:100%;object-fit:cover;filter:none}.hero-shade{background:linear-gradient(0deg,#253a222a,transparent 36%);pointer-events:none}.hero-photo-tag{position:absolute;left:calc((100% - min(1180px,100% - 80px))/2);top:26px;z-index:2;display:flex;align-items:center;gap:9px;padding:9px 16px;background:#fffffff0;border-radius:99px;color:#6d8257;font-size:16px;box-shadow:0 2px 10px #3145250d}.tag-dot{width:6px;height:6px;background:#90b647;border-radius:50%}.hero-bottom{bottom:22px;left:50%;transform:translateX(-50%);color:white;display:flex;align-items:center;justify-content:space-between}.hero-index{font-size:16px;color:white}.hero-index-label{color:#fff9}.hero-index-label:after{background:#fff8}.slide-controls{background:#fffef5e8;border-radius:99px;padding:8px 15px;gap:12px;color:#648145;box-shadow:0 2px 12px #25412010}.slide-controls button{border:0;color:#55723e;font-size:19px;width:27px;height:27px}.slide-controls button:hover{background:#e8efd9}.slide-controls #slide-number{font-size:16px;color:#6e8258}.slide-progress{width:60px;background:#d6e1be;height:2px}.slide-progress i{background:#88a84b}.welcome-area{position:relative;padding:67px 0 60px;background:#fffdf7}.hero .hero-title{position:relative;top:auto;left:auto;transform:none;padding:0 20px;text-align:center;color:var(--ink)}.hero .hero-title .eyebrow{color:#9baa7f;font-size:16px;letter-spacing:2.7px;margin-bottom:18px}.hero h1{font-family:var(--display);font-size:47px;line-height:1.35;font-weight:400;letter-spacing:-1px;margin:0 0 14px;color:#3a6939}.hero h1 em{font-family:var(--display);font-style:normal;font-weight:400;color:#e9a239}.hero p{font-size:18px;color:#939783;margin:0}.hero-button{display:none}.welcome-friends{position:absolute;right:max(20px,calc((100vw - 1180px)/2));top:78px;width:175px;height:auto;pointer-events:none}.quick-links{margin:42px auto 0;background:transparent;box-shadow:none;border:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;padding:0;position:relative;z-index:1}.quick-links button{border:1px solid #e9eddf!important;background:white;box-shadow:0 5px 20px #596c2510;padding:23px 18px;border-radius:15px;display:flex;align-items:center;gap:14px;min-height:103px;transition:transform .2s,box-shadow .2s}.quick-links button:hover{transform:translateY(-4px);box-shadow:0 8px 25px #596c2520;color:#487b32}.quick-links .quick-icon{width:45px;height:45px;background:#edf4d7;color:#7f9d40;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.quick-icon svg{width:27px;height:27px}.quick-links button:nth-child(2) .quick-icon{background:#fff2ce;color:#c29939}.quick-links button:nth-child(3) .quick-icon{background:#e7f2ed;color:#6b9c8d}.quick-links button:nth-child(4) .quick-icon{background:#ffe9dd;color:#d29a70}.quick-links button:nth-child(5) .quick-icon{background:#f6e5e9;color:#ba8c9a}.quick-links button>div{font-size:17px;font-weight:550;white-space:nowrap}.quick-links small{display:block;font-size:16px;letter-spacing:1px;color:#a2aa94;font-weight:400;margin-bottom:5px}.quick-links b{display:none}.section-heading h2,.section-title h2,.community-section h2,.contact-section h2,.admission-card h2{font-family:var(--display);font-weight:400;letter-spacing:-.6px}.eyebrow{font-size:16px;letter-spacing:2px;color:#9aaa80}.section-heading h2{font-size:37px;line-height:1.3;color:#3e6e3d}.section-description{font-size:17px;color:#8f9783}.text-link{font-size:16px;color:#7d9460}.round-link{border:1px solid #dde7cd;border-radius:50%;color:#80a257;background:#fff;width:40px;height:40px}.round-link:hover{background:#f1f7e6}.about-section{padding:85px 0 78px;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-visual{padding:0;position:relative}.about-visual:before{content:'';position:absolute;width:64%;height:75%;background:#edf2df;right:-22px;bottom:-22px;border-radius:38px;z-index:-1}.about-visual:after{content:'';position:absolute;width:50px;height:50px;border:8px solid #f9dfa3;border-radius:50%;right:-19px;top:-19px;background:#fffdf7}.about-visual>img{height:400px;object-fit:cover;border-radius:65px 18px 65px 18px;box-shadow:none}.about-caption{left:25px;bottom:24px;background:#ffffffeb;border:0;padding:12px 18px;border-radius:12px;backdrop-filter:blur(3px);color:#648047}.about-caption span{font-size:16px;letter-spacing:1.3px;color:#97a47f}.about-caption b{font-family:var(--display);font-size:23px;font-weight:400;display:block;margin-top:4px;color:#648047}.section-title h2{font-size:39px;line-height:1.4;margin:15px 0 15px;color:#3e6e3d}.section-title h2 em{color:#e3a743;font-weight:400;font-style:normal}.section-title p{font-size:17px;color:#8a947e}.section-title .text-link{margin:19px 0 0;font-size:16px}.education-links{margin-top:30px;gap:0 20px}.education-links button{font-size:16px;border-bottom:1px solid #e3e9d9;padding:17px 0;color:#6c8153}.education-links button span{color:#bac799;font-size:16px}.education-links button b{color:#94aa74;font-size:16px}.facilities-section{width:100%;background:#f4f7eb;padding:72px max(40px,calc((100% - 1180px)/2)) 62px;border-radius:0;box-shadow:none;border:0}.facilities-section .section-heading{margin-bottom:33px}.facilities-section .facility-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:23px}.facilities-section .facility-card{grid-row:auto;grid-column:auto;position:relative;overflow:hidden;background:white;border-radius:15px;border:0;box-shadow:0 5px 18px #5b752311;text-align:left}.facilities-section .facility-card img{position:static;width:100%;height:230px;aspect-ratio:auto;object-fit:cover;transition:transform .35s}.facilities-section .facility-card:hover img{transform:scale(1.025)}.facilities-section .facility-card:after{display:none}.facilities-section .facility-card>div{position:relative;left:auto;right:auto;bottom:auto;padding:23px 24px;background:white;color:#4e7140;display:flex;align-items:center;justify-content:space-between}.facilities-section .facility-card h3{font-size:25px;font-family:var(--display);font-weight:400;margin:0;color:#4e7140}.facilities-section .facility-card span{border:1px solid #e4ecd9;color:#89a467;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;background:white}.facility-footer{border:0;margin-top:29px;padding:0;font-size:16px;color:#99a48b}.facility-footer a{color:#82a15e}.news-section{background:#fff;padding:88px 0 82px}.news-grid{grid-template-columns:1.4fr 1fr;gap:65px}.notice-row{padding:21px 0;border-bottom:1px solid #e7ecdf;grid-template-columns:29px 1fr 82px;gap:13px}.notice-row .num{font-size:16px;color:#a6b291}.notice-row .subject{font-size:17px;color:#647853;font-weight:450;line-height:1.6}.notice-row .date{font-size:16px;color:#a0aa94}.admission-card{background:#fff5dc;border:1px solid #f4e8c5;border-radius:20px;padding:34px 34px 25px;box-shadow:none;overflow:hidden;position:relative}.admission-card .eyebrow{color:#c3a264;position:relative;z-index:1}.admission-card h2{font-size:32px;line-height:1.4;color:#bd963f;margin:17px 0 27px;position:relative;z-index:1}.admission-year{font-family:var(--display);font-size:51px;font-weight:400;top:20px;right:22px;color:#efd89f;letter-spacing:-1px}.admission-symbol{font-size:79px;top:76px;right:29px;color:#f0ddaf;transform:rotate(12deg)}.admission-link{font-size:16px;color:#a79567;border-bottom:1px solid #eadfbe;padding:13px 0}.admission-more{background:white;border:1px solid #efe4c6;border-radius:8px;color:#b09459;font-size:16px;margin-top:22px;padding:13px 16px}.community-section{position:relative;padding:65px 0 90px;grid-template-columns:1fr 1.6fr;gap:80px;border-top:1px solid #edf0e6}.community-section h2{font-size:35px;line-height:1.4;color:#3e6e3d}.community-links{gap:14px;grid-template-columns:1fr 1fr}.community-links button{background:#f4f7ed;border:1px solid #eaf0df;border-radius:12px;font-size:16px;padding:21px 21px;color:#748961;transition:background .2s}.community-links button:nth-child(2){background:#fff5e6;border-color:#f8ecd8;color:#ac905e}.community-links button:nth-child(3){background:#f4edf1;border-color:#eee4e9;color:#a08596}.community-links button:nth-child(4){background:#edf4ef;border-color:#e0ece4;color:#739581}.community-links button:last-child{grid-column:1/-1}.community-links button:hover{background:#eaf1df}.community-links button span{font-size:20px;opacity:.7}.contact-section{position:relative;background:#cedf99;color:#52752e;padding:50px 0 55px;margin-top:160px}.contact-garden{position:absolute;width:100%;height:240px;object-fit:cover;object-position:bottom;left:0;bottom:100%;pointer-events:none}.contact-section .wrap{position:relative;z-index:1;align-items:center}.contact-section .eyebrow{color:#8ca75c}.contact-section h2{font-size:37px;color:#52752e}.contact-section p{font-size:16px;color:#81945c}.contact-section .phone{font-family:var(--display);font-size:35px;color:#5d7e34;font-weight:400;letter-spacing:-.8px}.outline-button{border:1px solid #91ad68;border-radius:99px;color:#64843d;font-size:16px;padding:9px 21px}.outline-button:hover{background:#edf5d5;color:#52752e}footer{background:#fffdf7;border:0}.footer-main{padding:39px 0 25px}.footer-main b{color:#768d5e;font-family:var(--display);font-weight:400;font-size:25px}.footer-main p{color:#a0aa8f;font-size:16px;line-height:1.9}.footer-main>div:last-child{font-size:16px;color:#929f7e}.design-tools{border-color:#e9eddf;font-size:16px;color:#b1bba0;padding:15px 0}.design-tools button{font-size:16px;color:#99aa80}.footer-bottom{color:#b8c0ab;font-size:16px;padding-bottom:24px}.page-view{padding-top:26px}.page-header{padding:35px 0 34px;position:relative;border-bottom:1px solid #e4ebda}.page-header h1{font-family:var(--display);font-weight:400;font-size:40px;color:#557c37;letter-spacing:-.7px}.page-header .eyebrow{color:#a1b087;font-size:16px}.page-layout{gap:40px;padding-top:38px}.page-layout aside a{color:#8e9c7c;border-bottom:1px solid #edf1e7;border-radius:5px;padding:14px 16px}.page-layout aside a[aria-current=page]{background:#eff5e3;border-left:3px solid #9abd59;color:#668b42;border-bottom:1px solid #e6eed9}.semantic-page{--ink:#4f713c;--muted:#7e8b71;--line:#e3eadb}.semantic-intro{background:#f3f7e9;border-radius:20px;padding:36px}.semantic-intro h2{font-family:var(--display);font-weight:400;font-size:31px;color:#6a874d;letter-spacing:-.6px}.semantic-page h3{font-family:var(--display);font-weight:400;letter-spacing:-.5px;color:#6a874d}.semantic-mark i{background:#adc778}.semantic-values{gap:17px;border:0}.semantic-values article{border:1px solid #e6edda;border-radius:13px;background:#fafcf6}.value-number{color:#b7c89a}.semantic-values h3{font-size:26px}.school-song{background:#fff7e7;border-radius:16px}.teacher-values{border-radius:16px}.support-card{background:#eff5e2;border-radius:16px}.eligibility-cards article{background:#f4f7eb;border-radius:12px}.education-purpose{background:#fff9ec;border-left-color:#e8c77f;border-radius:0 12px 12px 0}.isolated-photo{border-radius:12px}.education-jumps button{border-radius:99px;border-color:#e1e9d7;padding:10px 17px}.education-jumps button:hover{background:#f1f6e7}.school-list{border-top-color:#9ab96a}.school-list-head,.calendar-weekdays{background:#f4f8ed}.school-gallery-card .gallery-picture{border-radius:13px}.gallery-caption strong{color:#76875e}.board-access{background:#f4f8ed;border-radius:12px}.calendar-weekdays{border-top-color:#9ab96a}.calendar-day.is-today>span{background:#9bbd61}.calendar-day.is-selected{background:#f5f9ed}.calendar-day-detail{background:#f7f9f1;border-radius:12px}.article-content,.location-box{box-shadow:none;border-radius:16px;border-color:#e4ebd9}.location-box h2{font-family:var(--display);font-weight:400;color:#6c894e}.filled-button{border-radius:99px;background:#8eae55;color:white}.sitemap-group h3{font-family:var(--display);font-weight:400;color:#6f8c4f}.sitemap-group{border-radius:13px;background:#f8faf3}.school-board a:focus-visible,.school-board button:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #d7ae57}
@media(min-width:1500px){.hero .slider{height:610px}}
@media(max-width:1100px){.welcome-friends{width:130px;right:22px;top:100px}.quick-links{gap:10px}.quick-links button{padding:19px 13px;gap:9px}.quick-links .quick-icon{width:36px;height:36px}.quick-links button>div{font-size:16px}.about-section{gap:50px}.news-grid{gap:40px}.facilities-section .facility-card img{height:195px}.nav-trigger{font-size:18px}.header-inner{gap:20px}.brand{width:170px}}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:76px;gap:0}.brand{width:175px;padding:7px 12px;border-radius:10px}.brand img{width:100%}.menu-toggle{display:block;margin-left:auto;order:3;font-size:26px}.topline .wrap{height:29px;font-size:16px}.topline .wrap>span{font-size:16px}.topline .wrap>div{gap:13px}.nav-trigger{padding:14px 5px;font-size:18px;color:#456b33}.dropdown a{color:#637d48}.hero .slider{height:450px}.hero-photo-tag{left:20px;top:20px;font-size:16px;padding:7px 12px}.hero-bottom{bottom:18px}.hero-index{font-size:16px}.slide-controls{gap:8px;padding:6px 12px}.welcome-area{padding:49px 0 44px}.hero .hero-title{padding:0 0 0}.hero h1{font-size:39px}.hero p{font-size:16px}.welcome-friends{width:104px;right:20px;top:82px;opacity:.9}.quick-links{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:33px}.quick-links button{flex-direction:column;gap:10px;padding:18px 6px;min-height:115px}.quick-links small{font-size:16px;letter-spacing:.5px;text-align:center}.quick-links button>div{font-size:16px;text-align:center}.quick-links .quick-icon{width:40px;height:40px}.about-section{padding:60px 0;gap:38px;grid-template-columns:1fr 1fr}.about-visual>img{height:350px;border-radius:45px 12px 45px 12px}.about-visual:after{width:35px;height:35px;border-width:6px;right:-10px;top:-12px}.about-visual:before{bottom:-14px;right:-14px;border-radius:30px}.about-caption{left:16px;bottom:16px;padding:10px 13px}.about-caption b{font-size:18px}.section-title h2{font-size:31px}.section-title p{font-size:16px}.education-links{grid-template-columns:1fr;margin-top:20px}.education-links button{font-size:16px;padding:11px 0}.facilities-section{padding:50px 20px 40px}.facilities-section .facility-grid{grid-template-rows:auto;gap:15px}.facilities-section .facility-card img{height:160px}.facilities-section .facility-card>div{padding:18px 15px}.facilities-section .facility-card h3{font-size:22px}.facilities-section .facility-card span{width:25px;height:25px;font-size:16px}.section-heading h2{font-size:31px}.section-description{font-size:16px}.facility-footer{font-size:16px}.news-section{padding:60px 0}.news-grid{grid-template-columns:1.1fr 1fr;gap:32px}.admission-card{padding:27px 23px 23px;border-radius:16px}.admission-card h2{font-size:27px}.admission-year{font-size:40px;right:18px;top:18px}.admission-symbol{font-size:65px;top:68px;right:20px}.notice-row .subject{font-size:16px}.notice-row{grid-template-columns:20px 1fr;gap:7px;padding:21px 0}.notice-row .date{display:none}.admission-link{font-size:16px}.admission-more{padding:12px;font-size:16px}.community-section{padding:45px 0 60px;gap:40px;grid-template-columns:1fr 1.7fr}.community-section h2{font-size:29px}.community-links{gap:10px}.community-links button{font-size:16px;padding:18px 15px}.contact-section{margin-top:130px;padding:40px 0}.contact-garden{height:180px}.contact-section h2{font-size:30px}.contact-section .phone{font-size:29px}.contact-section p{font-size:16px}.page-header h1{font-size:34px}.page-layout{gap:27px}.semantic-intro{padding:30px}.semantic-intro h2{font-size:28px}}
@media(max-width:600px){.wrap{width:calc(100% - 36px)}.topline .wrap>span{max-width:125px;font-size:16px;line-height:1.4}.topline .wrap a{font-size:16px}.topline .wrap>div{gap:10px}.header-inner{min-height:72px}.brand{width:160px}.hero .slider{height:330px}.hero .slide img{object-position:center}.hero-photo-tag{left:18px;top:17px;font-size:16px}.hero-index{display:none}.hero-bottom{justify-content:center;bottom:15px}.slide-controls{gap:9px}.slide-controls #slide-number{font-size:16px}.slide-progress{width:45px}.welcome-area{padding:42px 0 38px}.hero .hero-title .eyebrow{font-size:16px;letter-spacing:1.8px;margin-bottom:14px}.hero h1{font-size:33px;line-height:1.4;letter-spacing:-.6px}.hero p{font-size:16px}.welcome-friends{display:none}.quick-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:27px}.quick-links button{border-radius:12px;padding:15px 8px;min-height:110px}.quick-links button:nth-child(n+4){grid-column:auto}.quick-links button:last-child{grid-column:auto}.quick-links button>div{font-size:16px}.quick-links button:nth-child(4){grid-column:1/2}.quick-links button:nth-child(5){grid-column:2/4;flex-direction:row;justify-content:center;gap:16px}.quick-links button:nth-child(5)>div{text-align:left}.quick-links button:nth-child(5) small{text-align:left}.about-section{grid-template-columns:1fr;gap:40px;padding:49px 0 50px}.about-visual{margin-right:12px}.about-visual>img{height:290px;max-height:74vw;border-radius:45px 14px 45px 14px}.section-title h2{font-size:31px;margin:13px 0}.section-title p{font-size:16px}.section-title .text-link{margin:13px 0 0}.education-links{grid-template-columns:1fr 1fr;gap:0 19px;margin-top:19px}.education-links button{padding:16px 0;font-size:16px}.section-heading h2{font-size:29px}.section-heading .text-link{font-size:16px;max-width:100px;text-align:right}.section-description{font-size:16px}.facilities-section{padding:43px 18px 37px}.facilities-section .section-heading{margin-bottom:23px}.facilities-section .facility-grid{grid-template-columns:1fr;gap:17px}.facilities-section .facility-card img{height:210px;max-height:60vw}.facilities-section .facility-card>div{padding:20px 22px}.facilities-section .facility-card h3{font-size:28px}.facilities-section .facility-card span{width:31px;height:31px}.facility-footer{font-size:16px;align-items:start;gap:13px}.facility-footer>span{max-width:180px;line-height:1.7}.facility-footer a{white-space:nowrap}.news-section{padding:49px 0 44px}.news-grid{grid-template-columns:1fr;gap:34px}.news-grid .section-heading{margin-bottom:13px}.notice-row{grid-template-columns:22px 1fr 65px;gap:10px;padding:20px 0}.notice-row .subject{font-size:16px}.notice-row .date{display:block;font-size:16px}.admission-card{padding:31px 27px 26px}.admission-card h2{font-size:32px;margin-bottom:25px}.admission-year{font-size:47px;right:22px;top:23px}.admission-symbol{font-size:70px;top:90px;right:27px}.admission-link{font-size:16px;padding:15px 0}.admission-more{font-size:16px;padding:14px 16px}.community-section{grid-template-columns:1fr;gap:28px;padding:42px 0 49px}.community-section h2{font-size:31px}.community-section h2 br{display:none}.community-section .section-description{font-size:16px}.community-links{gap:11px}.community-links button{padding:19px 14px;font-size:16px}.contact-section{margin-top:105px;padding:25px 0 39px}.contact-garden{height:140px;object-fit:cover}.contact-section .wrap{display:grid;grid-template-columns:1fr;gap:23px}.contact-section h2{font-size:30px}.contact-section .eyebrow{margin-bottom:10px;font-size:16px}.contact-section .phone{font-size:32px}.contact-section p{font-size:16px}.contact-section .wrap>div:last-child{text-align:left}.outline-button{font-size:16px}.footer-main{padding:28px 0 23px;gap:20px}.footer-main b{font-size:24px}.footer-main p{font-size:16px}.footer-main>div:last-child{font-size:16px;gap:12px}.design-tools{font-size:16px;gap:10px}.design-tools button{font-size:16px}.footer-bottom{font-size:16px;gap:10px}.page-header{padding:26px 0}.page-header h1{font-size:32px}.page-header .text-link{font-size:16px}.page-layout{padding-top:24px;gap:24px}.page-layout aside a{border-radius:99px;padding:9px 13px;font-size:16px}.page-layout aside a[aria-current=page]{border-left-width:1px}.semantic-intro{padding:27px 23px;border-radius:15px}.semantic-intro h2{font-size:27px}.semantic-values{gap:12px}.semantic-values article{padding:24px}.semantic-values h3{font-size:25px}.education-jumps{display:flex}.education-jumps button{padding:10px 14px}.school-board-toolbar{gap:15px}.school-board-search{width:155px}.gallery-picture{border-radius:10px}.school-list-head{font-size:16px}}
@media(prefers-reduced-motion:reduce){.quick-links button,.facilities-section .facility-card img,.school-gallery-card img{transition:none}.quick-links button:hover,.facilities-section .facility-card:hover img,.school-gallery-card:hover img{transform:none}}
.facilities-section .facility-card:first-child{grid-row:auto;grid-column:auto}.facilities-section .facility-card:first-child h3{font-size:25px}
@media(max-width:850px){.facilities-section .facility-card:first-child h3{font-size:22px}}
@media(max-width:600px){.facilities-section .facility-card:first-child{grid-column:auto;grid-row:auto}.facilities-section .facility-card:first-child h3{font-size:28px}}
.location-map{margin-top:32px;border:1px solid #e4ebda;border-radius:14px;overflow:hidden;background:#f1f5e9;min-height:430px}.location-map iframe{display:block;width:100%;height:430px}.footer-bottom{justify-content:flex-start}.gallery-empty{min-height:255px}
@media(max-width:600px){.location-map{min-height:330px;margin-top:25px;border-radius:11px}.location-map iframe{height:330px}}
.class-gallery-intro{position:relative;overflow:hidden;background:#f4f7e9;border:1px solid #eaf0de;border-radius:18px;padding:34px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.class-gallery-intro h2{font-family:var(--display);font-weight:400;color:#70924d;font-size:32px;letter-spacing:-.5px;margin:11px 0 10px;line-height:1.4}.class-gallery-intro p{font-size:16px;color:#92a17c;line-height:1.8;margin:0;word-break:keep-all}.class-age-badge{display:flex;align-items:baseline;justify-content:center;gap:3px;font-family:var(--display);font-size:38px;min-width:78px;min-height:78px;line-height:78px;color:#d4ad61;background:#fff8e4;border-radius:50%;flex-shrink:0}.class-age-badge small{font-size:20px}.class-room-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 29px}.class-room-tabs a{border:1px solid #e4ecd7;border-radius:99px;padding:9px 14px;font-size:16px;color:#91a37b;display:block;background:white}.class-room-tabs a span{font-size:16px;opacity:.65;margin-left:5px}.class-room-tabs a[aria-current=page]{background:#97b963;border-color:#97b963;color:white}.class-room-tabs a:hover{background:#f3f7e9;color:#698c43}.class-room-tabs a[aria-current=page]:hover{background:#88aa55;color:white}.class-room-tabs a:focus-visible{outline:2px solid #d7ae57;outline-offset:3px}
@media(max-width:600px){.class-gallery-intro{padding:26px 22px;border-radius:14px;gap:13px}.class-gallery-intro h2{font-size:27px;margin:9px 0}.class-gallery-intro p{font-size:16px}.class-gallery-intro .section-kicker{font-size:16px;letter-spacing:1.3px}.class-age-badge{font-size:30px;min-width:57px;min-height:57px;line-height:57px}.class-age-badge small{font-size:16px}.class-room-tabs{display:flex;gap:7px;margin-bottom:24px}.class-room-tabs a{padding:8px 11px;font-size:16px}.class-room-tabs a span{font-size:16px;margin-left:4px}}
.sample-notice{background:#fff8e8;border:1px solid #f1e3bf;border-radius:12px;padding:18px 22px;margin:0 0 26px;color:#a88e56}.sample-notice strong{display:block;font-size:16px;font-weight:600}.sample-notice p{font-size:16px;line-height:1.8;margin:5px 0 0;color:#ad9b72}.weekly-plan-heading{margin-bottom:26px}.weekly-plan-heading h2{font-family:var(--display);font-weight:400;font-size:29px;color:#6e8d4e;line-height:1.45;margin:12px 0}.weekly-plan-heading>p{font-size:16px;color:#8b987a}.weekly-plan-info{margin:0 0 32px}.weekly-plan-info>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #e6ecdd}.weekly-plan-info dt{font-size:16px;font-weight:600;color:#7c9165}.weekly-plan-info dd{font-size:17px;color:#778569;margin:0;line-height:1.9}.weekly-plan-info ul{margin:0;padding-left:18px}.weekly-plan h3{font-family:var(--display);font-size:25px;font-weight:400;color:#739052;margin:28px 0 14px}.weekly-plan>p{font-size:17px;color:#829073;line-height:1.9}.weekly-plan-table{border:1px solid #e3ebd9;border-radius:10px;overflow:hidden}.weekly-plan-table table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.8;table-layout:fixed}.weekly-plan-table th,.weekly-plan-table td{padding:16px 19px;border-bottom:1px solid #e8eedf;text-align:left;word-break:keep-all;overflow-wrap:anywhere}.weekly-plan-table thead th{background:#f1f6e7;color:#789259;font-size:16px;font-weight:600}.weekly-plan-table th:first-child{width:130px}.weekly-plan-table tbody th{font-weight:500;background:#fbfcf8;color:#94a17f}.weekly-plan-table td{color:#758667}.weekly-plan-table tbody tr:last-child th,.weekly-plan-table tbody tr:last-child td{border-bottom:0}.weekly-plan .weekly-plan-note{border-top:1px solid #e8eedf;font-size:16px;color:#adb69d;margin-top:32px;padding-top:18px}
@media(max-width:600px){.sample-notice{padding:17px 19px;margin-bottom:22px}.sample-notice p{font-size:16px}.weekly-plan-heading h2{font-size:25px}.weekly-plan-heading>p{font-size:16px}.weekly-plan-info>div{grid-template-columns:1fr;gap:7px;padding:15px 0}.weekly-plan-info dd{font-size:16px}.weekly-plan-table th:first-child{width:95px}.weekly-plan-table th,.weekly-plan-table td{padding:14px 12px;font-size:16px}.weekly-plan>p{font-size:16px}}
.gallery-picture svg{width:100%;height:100%;display:block;overflow:hidden}.gallery-post-photo{margin:0 0 25px}.gallery-post-photo svg{display:block;width:100%;height:auto;overflow:hidden;border-radius:13px}.gallery-post-photo figcaption{font-size:17px;color:#879a70;padding-top:15px;line-height:1.8}.gallery-no-results{grid-column:1/-1;font-size:16px;color:#9ba98b;padding:30px 0}
/* Member screens — kindergarten palette, GnuBoard form structure */
.member-page .page-layout{display:block}.member-page #page-navigation{display:none}.member-page .page-header{padding-bottom:26px}.member-shell{display:grid;grid-template-columns:1fr 1fr;max-width:1060px;margin:0 auto 40px;background:white;border:1px solid #e5ebda;border-radius:26px;overflow:hidden;box-shadow:0 15px 50px #647d4510}.member-welcome{position:relative;padding:55px 44px;background:#f1f6e6;min-height:610px;display:flex;flex-direction:column;overflow:hidden}.member-welcome h2{font-family:var(--display);font-weight:400;font-size:33px;line-height:1.5;color:#72934e;margin:22px 0 18px;letter-spacing:-.5px}.member-welcome h2 em{font-style:normal;color:#d8a754}.member-welcome p{font-size:17px;line-height:1.9;color:#86986d;margin:0}.member-welcome>img{width:100%;max-width:340px;align-self:center;margin:auto 0 24px;padding-top:50px}.member-welcome-bottom{border-top:1px solid #dce6cb;padding-top:22px;display:flex;justify-content:space-between;font-size:16px;color:#8c9f75}.member-welcome-bottom b{font-family:var(--display);font-size:22px;font-weight:400}.member-panel{padding:40px 44px 38px;min-width:0}.member-tabs{display:flex;gap:30px;border-bottom:1px solid #e7ecdf;margin-bottom:30px}.member-tabs a{font-size:18px;color:#a5af97;padding:0 2px 15px;border-bottom:3px solid transparent}.member-tabs a[aria-current=page]{color:#75994a;border-color:#9bbd65;font-weight:600}.member-form-heading{margin-bottom:27px}.member-form-heading h2{font-family:var(--display);font-weight:400;color:#718c52;font-size:29px;margin:0 0 10px;line-height:1.4}.member-form-heading p{color:#8e9b7e;font-size:16px;line-height:1.8;margin:0}.member-field{margin-bottom:21px}.member-field label{display:block;font-size:16px;font-weight:600;color:#7e916b;margin-bottom:10px}.member-field label span,.member-required{color:#ccaa64}.member-input{position:relative}.member-input input{width:100%;height:51px;border:1px solid #e0e7d6;background:#fbfcf8;border-radius:10px;padding:0 15px;font:inherit;font-size:17px;color:#63774f;min-width:0}.member-input input[type=password],.member-input:has(button) input{padding-right:64px}.member-input input::placeholder{color:#abb59d;font-size:16px}.member-input input:focus{outline:2px solid #accb82;outline-offset:2px;background:white}.member-input button{position:absolute;right:13px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:16px;color:#879873;padding:7px;cursor:pointer}.member-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:7px 0 27px}.member-options>a{font-size:16px;color:#8b9a77}.member-check{display:flex;align-items:center;gap:9px;font-size:16px;color:#839572;line-height:1.7;cursor:pointer}.member-check input{width:17px;height:17px;accent-color:#91b45d;margin:0;flex-shrink:0}.member-submit{width:100%;border:0;background:#99b96a;color:white;border-radius:11px;padding:17px 20px;display:flex;justify-content:center;gap:18px;font-size:17px;font-weight:600;cursor:pointer;transition:background .15s}.member-submit:hover{background:#83a753}.member-submit:focus-visible,.member-panel a:focus-visible,.member-panel button:focus-visible,.member-panel summary:focus-visible{outline:2px solid #c8a354;outline-offset:4px}.member-join{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:26px;border-top:1px solid #e7ecdf;margin-top:29px;font-size:16px;color:#9aa88a}.member-join p{margin:0}.member-join a{color:#819c60;font-weight:600}.member-join a span{margin-left:9px}.member-status{font-size:16px;line-height:1.8;color:#9b8151;background:#fff9e9;border-radius:9px;padding:13px 16px;margin:16px 0 0}.member-status:empty{display:none}.member-steps{list-style:none;display:flex;gap:24px;padding:0;margin:0 0 29px;font-size:16px;color:#acb79c}.member-steps li{display:flex;align-items:center;gap:7px}.member-steps span{width:24px;height:24px;display:grid;place-items:center;background:#f2f5ec;border-radius:50%;font-size:16px}.member-steps li[aria-current=step]{color:#829f5d}.member-steps li[aria-current=step] span{background:#a7c47c;color:white}.member-check-all{background:#f3f7eb;padding:15px;border:1px solid #e4ebd8;border-radius:10px;font-weight:600;margin-bottom:17px}.member-agreements section{border:1px solid #e5eadb;border-radius:11px;margin-bottom:14px;padding:17px}.member-agreements summary{list-style:none;cursor:pointer;color:#7b9064;font-size:16px;display:flex;gap:9px;align-items:center}.member-agreements summary:after{content:'⌄';margin-left:auto;color:#a1b185}.member-agreements details[open] summary:after{content:'⌃'}.member-agreements summary small,.member-optional small{font-size:16px;color:#b19a69}.member-agreements .member-check{padding-top:16px;margin-top:14px;border-top:1px solid #edf0e6;font-size:16px}.member-terms{max-height:180px;overflow:auto;padding-top:10px;font-size:16px;color:#99a58a;line-height:1.9}.member-terms p{margin:7px 0}.member-terms dl{margin:7px 0}.member-terms dt{font-weight:600}.member-terms dd{margin:0 0 8px}.member-back{display:block;text-align:center;margin-top:20px;color:#9aaa87;font-size:16px}.member-panel fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}.member-panel legend{width:100%;font-size:17px;color:#79925c;border-bottom:1px solid #e7ecdf;padding:0 0 13px;margin-bottom:20px;font-weight:600}.member-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.member-help{background:#f5f8ee;border-radius:12px;padding:22px;margin-top:30px;color:#8c9d76;font-size:16px}.member-help b{font-weight:600}.member-help p{margin:7px 0 12px}.member-help a{font-family:var(--display);font-size:28px;color:#88a460}.member-shell-long .member-welcome{min-height:800px}.member-shell-long .member-welcome>img{margin-top:100px;margin-bottom:auto}.member-shell-long .member-welcome-bottom{margin-top:40px}
@media(max-width:850px){.member-welcome{padding:36px 28px}.member-welcome h2{font-size:27px}.member-panel{padding:32px 28px}.member-form-heading h2{font-size:25px}.member-options{gap:8px}.member-options>a{font-size:16px}}
@media(max-width:600px){.member-shell{grid-template-columns:1fr;border-radius:17px;margin-bottom:15px}.member-welcome,.member-shell-long .member-welcome{min-height:0;padding:27px 24px}.member-welcome h2{font-size:26px;margin:10px 0 0}.member-welcome .eyebrow{font-size:16px}.member-welcome p,.member-welcome>img,.member-welcome-bottom{display:none}.member-panel{padding:27px 24px 30px}.member-tabs{margin-bottom:24px}.member-form-heading h2{font-size:26px}.member-form-heading p{font-size:16px}.member-input input{font-size:19px}.member-options>a{font-size:16px}.member-field-grid{grid-template-columns:1fr;gap:0}.member-steps{margin-bottom:24px}.member-page .page-header h1{font-size:29px}.member-check{font-size:16px}.member-agreements section{padding:15px}.member-join{font-size:16px}}

/* Comfortable reading sizes across all pages. */
body{font-size:18px;line-height:1.8;color:#536746}
.nav-trigger{font-size:19px}.mega-group a{font-size:17px;line-height:1.7;padding-top:8px;padding-bottom:8px;overflow-wrap:anywhere}.mega-group>b{font-size:19px}.mega-intro>a,.mega-intro small{font-size:16px}
.topline .wrap{font-size:16px;min-height:44px}.topline .wrap>span{font-size:16px}.topline .wrap a{font-size:16px}
.semantic-page,.article-content,.education-purpose ol,.education-description,.semantic-values p,.school-song p,.admission-facts dd,.support-card p,.history-timeline p,.weekly-plan-info dd,.weekly-plan>p{font-size:18px;line-height:1.9}
.semantic-photo figcaption,.education-photo-grid figcaption,.gallery-post-photo figcaption{font-size:18px;line-height:1.7;color:#667a51}
.section-description,.section-title p,.hero p,.class-gallery-intro p,.contact-section p,.member-form-heading p,.member-welcome p{font-size:18px;color:#667a51;line-height:1.8}
.page-layout aside a,.class-room-tabs a{font-size:18px;line-height:1.7}.class-room-tabs a span{font-size:16px}
.school-list-row strong,.gallery-caption strong,.notice-row .subject{font-size:18px;line-height:1.7}.list-number,.list-author,.school-list-row time,.gallery-caption time,.notice-row .date,.post-meta{font-size:16px;color:#71815f}
.school-list-head,.school-list-row{grid-template-columns:54px minmax(0,1fr) 105px 115px}.notice-row{grid-template-columns:30px minmax(0,1fr) 108px}.notice-row .subject{overflow-wrap:anywhere}
.school-board-search{width:240px}.school-board-search input{font-size:18px}.school-board-search{min-height:48px}.school-board-toolbar p{font-size:18px}
.weekly-plan-table table,.weekly-plan-table th,.weekly-plan-table td{font-size:17px;line-height:1.8}.weekly-plan-table thead th{font-size:17px}
.calendar-weekdays,.calendar-day>span,.calendar-day-detail p,.calendar-day-detail strong{font-size:18px}.calendar-day small{font-size:16px}
.member-input input{height:56px;font-size:18px}.member-input input::placeholder{font-size:16px}.member-field label,.member-check,.member-agreements .member-check,.member-terms,.member-options>a,.member-join,.member-status,.member-back{font-size:16px;line-height:1.8}.member-submit,.member-tabs a,.member-agreements summary,.member-panel legend{font-size:18px}.member-field label,.member-check,.member-terms,.member-status{color:#667a51}.member-options{flex-wrap:wrap}.member-join{flex-wrap:wrap}.member-steps{gap:16px}.member-steps span{width:30px;height:30px;flex-shrink:0}
.footer-main p,.footer-main>div:last-child,.footer-bottom{font-size:16px;color:#71815f}.footer-main p{line-height:1.9}
@media(max-width:1100px){.header-inner{gap:18px}#navigation{gap:17px}.nav-trigger{font-size:17px}}
@media(max-width:850px){.topline .wrap{font-size:16px;gap:12px;padding:9px 0}.topline .wrap>span{font-size:16px;max-width:260px;line-height:1.5}.nav-trigger{font-size:18px}.notice-row{grid-template-columns:30px minmax(0,1fr) 108px}.school-list-head,.school-list-row{grid-template-columns:40px minmax(0,1fr) 85px 110px;gap:12px}.school-board-toolbar{flex-wrap:wrap}}
@media(max-width:600px){.topline .wrap>span{display:none}.topline .wrap>div{width:100%;justify-content:flex-end;gap:18px}.topline .wrap a{font-size:16px}.section-heading{align-items:flex-start;gap:18px}.section-heading .text-link{font-size:16px;max-width:140px;line-height:1.6}.quick-links button{padding:18px 9px;min-height:132px}.quick-links button>div{font-size:17px}.quick-links small{font-size:16px;letter-spacing:0;line-height:1.4;overflow-wrap:anywhere}.notice-row{grid-template-columns:25px minmax(0,1fr);gap:7px 12px}.notice-row .date{display:block;grid-column:2;margin-top:5px}.notice-row .subject{font-size:18px;white-space:normal}.school-list-head{grid-template-columns:32px minmax(0,1fr) 90px;gap:8px}.school-list-row{grid-template-columns:32px minmax(0,1fr);gap:6px 10px}.school-board-search{width:100%}.school-board-toolbar{align-items:stretch}.gallery-caption strong{font-size:18px;overflow-wrap:anywhere}.gallery-caption time{font-size:16px}.school-gallery{gap:28px 16px}.calendar-day>span,.calendar-weekdays{font-size:17px}.calendar-day small{font-size:16px}.calendar-controls{gap:5px}.calendar-controls button{font-size:16px;padding:8px}.calendar-toolbar{gap:16px;flex-wrap:wrap}.weekly-plan-table th,.weekly-plan-table td{font-size:16px;padding:14px 10px}.weekly-plan-table th:first-child{width:98px}.weekly-plan-table thead th{font-size:16px}.member-panel{padding:27px 20px 30px}.member-options>a{font-size:16px}.member-field-grid{grid-template-columns:1fr}.member-steps{flex-wrap:wrap}.member-page .page-header h1{font-size:32px}.member-form-heading p{font-size:17px}.class-room-tabs a{font-size:17px}.page-layout aside a{font-size:17px}.contact-section p,.section-description,.section-title p,.hero p{font-size:18px}.community-links button{font-size:18px;line-height:1.6;min-width:0}.community-links{grid-template-columns:1fr}.footer-main>div:last-child{flex-wrap:wrap}.facility-footer{flex-wrap:wrap;line-height:1.8}.facility-footer>span{max-width:none}.contact-section .eyebrow,.page-header .eyebrow,.hero .hero-title .eyebrow{font-size:16px;line-height:1.6;letter-spacing:1px}}

.gallery-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:38px 0 12px}.gallery-pagination button{min-width:42px;min-height:42px;padding:8px 12px;border:1px solid #dce5d2;background:#fff;border-radius:9px;color:#526b49;font-size:16px}.gallery-pagination button[aria-current=page]{background:#6e8c4d;border-color:#6e8c4d;color:white}.gallery-pagination button:disabled{opacity:.4;cursor:default}.gallery-pagination button:not(:disabled):hover{border-color:#6e8c4d}.gallery-page-status{flex-basis:100%;text-align:center;font-size:16px;color:#667a51;margin-top:6px}.school-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:600px){.school-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.school-gallery{grid-template-columns:1fr}}

/* Kindergarten header logo */
.header .brand{width:270px;padding:8px;border-radius:12px}.header .brand img{display:block;width:100%;height:auto}.header .header-inner{min-height:104px}@media(min-width:851px) and (max-width:1100px){.header .brand{width:220px;padding:6px}.header .header-inner{gap:14px}.header #navigation{gap:12px}}@media(max-width:850px){.header .brand{width:230px;padding:6px 0}.header .header-inner{min-height:94px;gap:0}}@media(max-width:400px){.header .brand{width:210px}.header .header-inner{min-height:88px}}

.header .brand img{mix-blend-mode:normal;filter:none;opacity:1}

/* Keep navigation phrases on their intended lines. */
.header .mega-inner{grid-template-columns:280px minmax(0,1fr);gap:28px}.header .mega-intro{padding-right:20px}.header .mega-intro-message span{display:block;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.header .mega-groups{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(205px,1.2fr);gap:18px}.header .mega-group a[href="#earth"]{white-space:nowrap;overflow-wrap:normal;word-break:keep-all}#page-navigation a[href="#earth"]{white-space:nowrap;overflow-wrap:normal}.community-links button[data-route="earth"]{white-space:nowrap;grid-column:1/-1}@media(min-width:851px) and (max-width:1100px){.header .mega-inner{grid-template-columns:245px minmax(0,1fr);gap:18px}.header .mega-intro-message{font-size:23px}.header .mega-groups{gap:12px;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(205px,1.3fr)}}
/* Every submenu label stays on one line, including its age. */
.header .mega-inner{grid-template-columns:245px minmax(0,1fr);gap:24px}.header .mega-intro-message{font-size:23px}.header .mega-groups{grid-template-columns:repeat(5,max-content);gap:22px;justify-content:space-between;overflow-x:auto;padding-bottom:12px}.header .mega-group a,.header .mega-group>b,.header .dropdown a{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.header .mega-group a{max-width:none}.header .mega-group{min-width:max-content}@media(min-width:851px) and (max-width:1100px){.header .mega-inner{grid-template-columns:235px minmax(0,1fr);gap:20px}.header .mega-groups{grid-template-columns:repeat(5,max-content);gap:20px}}
/* Give the highlighted menu column room around its text. */
.header .mega-group{padding:16px 18px 18px;border-radius:12px;box-sizing:border-box}.header .mega-group>b{margin-top:0}.header .mega-group a{border-radius:6px}.header .mega-group.selected{background:#f2f7e9}.header .mega-group a:hover{background:transparent;color:#527632}.header .mega-group a:focus-visible{outline-offset:4px}
/* Sitemap cards: inset text and divider from the rounded edge. */
.sitemap-grid .sitemap-group{padding:26px 28px 24px;min-width:0}.sitemap-grid .sitemap-group h3{margin:0 0 18px;padding:0 0 16px;line-height:1.45;border-bottom:1px solid #d9e4cb}.sitemap-grid .sitemap-group a{font-size:18px;line-height:1.8;padding:9px 0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}@media(max-width:600px){.sitemap-grid .sitemap-group{padding:22px 20px}.sitemap-grid .sitemap-group h3{font-size:24px}}
