:root{--green:#35412a;--text:#393b33;--gold:#d39f4a;--line:#d9dccb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fdfcf9;color:var(--text);font:16px/1.7 'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #ab792e;outline-offset:4px}.skip{position:fixed;top:-80px;z-index:50;background:white;padding:10px}.skip:focus{top:0}header{min-height:116px;max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:5px 4%}.brand-crop{display:block;width:330px;aspect-ratio:350/105;position:relative;overflow:hidden;flex-shrink:0}.brand-crop img{position:absolute;width:438.857%;max-width:none;height:auto;left:-16.57%;top:-5.71%}nav{display:flex;gap:30px;align-items:center}nav a,nav button{font-size:14px;white-space:nowrap}nav button{border:0;padding:0;background:none}nav .active{color:var(--green);font-weight:600;border-bottom:1px solid #788661;padding-bottom:6px}nav a:hover,nav button:hover{color:#8b7043}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:39px;padding:7px 25px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:white;font-size:14px;line-height:1.5}.button:hover{filter:brightness(1.12)}.community-button{white-space:nowrap;font-size:13px;padding:11px 20px}.community-button span{font-size:22px;line-height:1}.outline{background:#faf9f280;color:var(--green);border-color:#7d8772}.menu{display:none}.hero{max-width:1588px;margin:0 6px;position:relative;min-height:394px;border-radius:13px;overflow:hidden;background:#f1eadd}.hero-photo{position:absolute;right:0;top:0;width:62%;height:100%;overflow:hidden}.hero-photo img{position:absolute;height:260.56%;width:auto;max-width:none;right:-.4%;top:-29.77%}.hero-copy{position:relative;z-index:1;width:48%;padding:29px 0 30px 6%;background:linear-gradient(90deg,#f4f0e7 84%,#f4f0e700);min-height:394px}.hero h1{font-family:Georgia,'Batang',serif;font-size:clamp(30px,3.12vw,50px);letter-spacing:1px;font-weight:400;line-height:1.2;margin:14px 0 6px;color:#2f3c26;white-space:nowrap}.slogan{font-family:'Batang','Noto Serif KR',serif;font-size:clamp(23px,2.15vw,34px);line-height:1.4;letter-spacing:2.4px;color:#303e28;margin:8px 0 16px;white-space:nowrap}.gold-line{width:49px;height:1px;background:var(--gold);margin:17px 0 8px}.english{font-family:Georgia,serif;font-size:18px;letter-spacing:3px;margin:0 0 12px;white-space:nowrap}.intro{font-size:14px;line-height:1.85;margin:0 0 24px}.hero-actions{display:flex;gap:22px}.hero-actions .button{min-width:150px}.content-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,1.14fr);gap:58px;padding:18px 35px}.section-heading{text-align:center;height:47px;margin-bottom:0}.section-heading h2,.mission h2{font-family:Georgia,serif;font-size:19px;font-weight:400;line-height:1.4;color:#293921;margin:0}.section-heading h2 span,.mission h2 span{color:#8f9b7c;font-size:26px;vertical-align:middle;margin-left:9px}.section-heading p{font-size:13px;margin:0;line-height:1.5}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card{padding:21px 17px 17px;border-radius:13px;min-height:205px;display:flex;flex-direction:column}.korean{background:#f0f1e8}.writing{background:#faf1eb}.resources{background:#f8f0e1}.stories{background:#edf0f2}.card-heading{display:flex;gap:14px;align-items:center}.icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:55px;height:55px;background:#9da888;border-radius:50%;font-family:Georgia,serif;font-size:34px;color:white;font-weight:300;line-height:1}.writing .icon{background:#edaa89}.resources .icon{background:#e9c171}.stories .icon{background:#a4b9c8}.card h3{font-size:14px;font-weight:400;line-height:1.6;margin:0;word-break:keep-all}.card h3>span{display:block;font-size:11px;line-height:1.4;margin-bottom:4px;white-space:nowrap}.card ul{padding:0 0 0 17px;margin:7px 0 20px 45px;font-size:12px;line-height:1.9;white-space:normal}.detail-button{border:0;padding:0;background:none;font-size:13px;align-self:center;margin-top:auto}.detail-button:hover{text-decoration:underline;text-underline-offset:5px}.features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.feature{display:flex;text-align:left;overflow:hidden;padding:0;border:1px solid #e4e4d8;background:#fafaf5;border-radius:8px;min-height:130px}.thumb{display:block;flex:0 0 43%;align-self:stretch;background-image:url(haeon-reference.png);background-size:auto 793.798%;background-repeat:no-repeat;background-position-y:88.715%}.child{background-position-x:5.666%}.notebook{background-position-x:26.416%}.worksheets{background-position-x:46.175%}.coffee{background-position-x:61.615%}.feature-text{display:flex;flex-direction:column;position:relative;padding:17px 10px 8px;flex:1}.feature strong{font-size:12px;font-weight:400;line-height:1.55;color:var(--green);word-break:keep-all}.feature-text>span{font-size:10px;line-height:1.7;margin-top:12px;word-break:keep-all}.feature i{font-style:normal;align-self:flex-end;color:#9aa488;font-size:22px;margin-top:auto;line-height:1}.mission{background:#f0f1e8;border-radius:16px;text-align:center;padding:13px 20px 16px;display:flex;flex-direction:column;align-items:center}.mission h2{font-size:17px}.mission>p{font-size:14px;line-height:1.55;margin:5px 0 8px}.tiny-line{width:32px;border-top:1px solid #c4ccb6;margin:4px 0 14px}.values{border-top:1px solid #d3dbc5;display:grid;grid-template-columns:repeat(3,1fr);width:100%;padding-top:17px;gap:6px}.values div{font-size:12px;white-space:nowrap}.values div>span{display:block;font-size:34px;font-family:Georgia,serif;line-height:1.1;color:#4b5b3d;margin-bottom:8px}.mission blockquote{width:100%;margin:26px 0 0;padding:22px 7px 10px;background:#e6e9da88;border-radius:14px;font-family:'Batang',serif;font-size:16px;line-height:1.8;flex:1;display:flex;flex-direction:column;justify-content:center}.mission blockquote>span{display:block;color:#839070;font-size:31px;line-height:1.1;margin-top:21px}footer{border-top:1px solid #dce0cc;background:#f0f1e8;min-height:84px;padding:4px 4%;display:flex;align-items:center;gap:26px;justify-content:space-between}.stay h2{font-family:Georgia,serif;font-size:16px;font-weight:400;line-height:1.3;margin:0}.stay p{font-size:12px;margin:3px 0 0}.news-button{font-size:13px;padding:8px 18px;background:#808c67;border-color:#808c67}.footer-brand{width:280px;mix-blend-mode:multiply}.contact{font-size:13px;line-height:1.7}.contact p{margin:1px 0}.contact span{display:inline-block;width:22px}.contact a:hover{text-decoration:underline}dialog{border:1px solid #d9dfcb;border-radius:16px;max-width:600px;width:calc(100% - 32px);padding:26px 32px;color:var(--text);background:#fffefa;max-height:85vh;overflow:auto}dialog::backdrop{background:#24331f66;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;letter-spacing:1.7px;font-size:12px;color:#8b927c}.close{background:none;border:0;font-size:30px;line-height:1;padding:4px 8px}dialog h2{font-family:'Batang',serif;font-size:28px;font-weight:400;line-height:1.5;color:var(--green);margin:15px 0 20px}dialog h3{font-size:17px}dialog p,dialog li{font-size:16px;line-height:1.9}dialog ul{padding-left:20px}dialog li{margin-bottom:12px}dialog .lead{font-size:19px;color:var(--green)}dialog blockquote{margin:15px 0;padding:20px;background:#f1f3e9}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
@media(min-width:1600px){.hero{margin-left:auto;margin-right:auto}}@media(max-width:1400px){header{gap:18px;padding:8px 3%}.brand-crop{width:290px}nav{gap:20px}.community-button{padding:10px 14px}.content-grid{gap:30px;padding:18px 28px}.card{padding:20px 13px}.card-heading{gap:9px}.icon{width:43px;height:43px;font-size:28px}.card ul{margin-left:35px;font-size:11px}.card h3>span{font-size:10px}.feature-text{padding:15px 8px 7px}.hero-copy{padding-left:5%}.intro{font-size:13px}.english{font-size:16px}.footer-brand{width:250px}}@media(max-width:1150px){header{min-height:95px}.brand-crop{width:260px}nav{gap:16px}nav a,nav button{font-size:13px}.community-button{display:none}.hero-copy{padding-left:4%;width:51%}.hero h1{font-size:34px}.slogan{font-size:26px;letter-spacing:1px}.english{font-size:14px;letter-spacing:2px}.hero-photo{width:60%}.hero-actions{gap:12px}.content-grid{grid-template-columns:minmax(0,3fr) minmax(250px,1fr);gap:20px;padding:18px 22px}.card-heading{display:block}.card-heading .icon{margin-bottom:10px}.card ul{margin:10px 0 20px;padding-left:13px;white-space:normal;font-size:12px}.card h3>span{white-space:normal;font-size:10px}.card{min-height:260px}.feature{flex-direction:column;min-height:195px}.thumb{flex-basis:auto;height:100px;align-self:auto;background-size:auto 793.798%}.feature-text{padding:10px}.feature-text>span{font-size:11px;margin-top:7px}.feature strong{font-size:13px}.feature i{display:none}.mission{padding-top:20px}.mission blockquote{font-size:16px;margin-top:35px;max-height:230px}.values{gap:2px}.values div{font-size:11px}.mission>p{font-size:13px}.footer-brand{display:none}footer{padding:20px 4%}}@media(max-width:760px){header{padding:8px 18px;min-height:85px;flex-wrap:wrap;gap:0}.brand-crop{width:245px}.menu{display:block;background:none;border:1px solid #b8c0a9;border-radius:4px;font-size:14px;padding:5px 10px}nav{display:none;flex-basis:100%;flex-wrap:wrap;gap:16px;padding:16px 0}nav.open{display:flex}.hero{margin:0 8px;display:flex;flex-direction:column}.hero-copy{order:0;padding:26px 22px 20px;width:100%;min-height:0;background:#f4f0e7}.hero h1{font-size:30px;margin-top:0;letter-spacing:0;white-space:normal}.slogan{font-size:25px;letter-spacing:.3px;line-height:1.6;white-space:normal}.english{font-size:12px;letter-spacing:1.5px;white-space:normal}.intro{font-size:14px}.intro br{display:none}.hero-actions{gap:10px}.hero-actions .button{min-width:0;padding:9px 19px;font-size:14px}.hero-photo{position:relative;order:1;width:100%;height:230px}.hero-photo img{height:290%;top:-33.2%;right:-1%}.content-grid{display:flex;flex-direction:column;padding:23px 18px;gap:22px}.section-heading{height:auto;margin-bottom:17px}.section-heading h2{font-size:20px}.section-heading p{font-size:14px}.cards{grid-template-columns:1fr 1fr;gap:12px}.card{min-height:235px;padding:20px 17px}.card-heading .icon{width:45px;height:45px;margin-bottom:12px}.card h3{font-size:16px}.card h3>span{font-size:11px;min-height:16px}.card ul{font-size:14px;line-height:1.8;margin:12px 0 20px}.detail-button{font-size:14px}.features{grid-template-columns:1fr 1fr;gap:12px}.feature{min-height:215px}.thumb{height:110px}.feature strong{font-size:14px}.feature-text>span{font-size:12px}.mission{padding:24px 20px}.mission h2{font-size:20px}.mission>p{font-size:16px;line-height:1.8;margin-top:10px}.values{padding-top:22px}.values div{font-size:14px}.values div>span{font-size:38px}.mission blockquote{margin-top:24px;width:100%;font-size:18px;padding:25px 10px;max-height:none}.mission blockquote>span{margin-top:12px}footer{display:flex;flex-wrap:wrap;gap:20px;padding:24px 20px}.stay{flex:1}.stay h2{font-size:18px}.stay p{font-size:12px}.news-button{font-size:13px;padding:9px 12px}.contact{flex-basis:100%;border-top:1px solid #d8dfcb;padding-top:17px;font-size:14px}.footer-brand{display:none}dialog{padding:22px}dialog h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Compact composition keeps the reference's two-column overview on laptops. */
@media(min-width:761px){
header{min-height:88px;padding-top:0;padding-bottom:0}.brand-crop{width:270px}nav{gap:20px}.community-button{padding:8px 14px;font-size:12px}
.hero{min-height:350px}.hero-copy{min-height:350px;padding-top:16px;padding-bottom:16px}.hero h1{font-size:clamp(28px,2.55vw,39px);line-height:1.15;margin:0 0 5px}.slogan{font-size:clamp(22px,1.9vw,29px);line-height:1.35;letter-spacing:1.5px;margin:0 0 7px}.gold-line{margin:10px 0 8px}.english{font-size:15px;line-height:1.4;letter-spacing:2px;margin:0 0 10px}.intro{font-size:13px;line-height:1.65;margin:0 0 16px}.hero-actions .button{min-height:35px;padding-top:6px;padding-bottom:6px}
.content-grid{padding-top:12px;padding-bottom:14px;gap:30px}.section-heading{height:43px}.card{min-height:187px;padding:16px 13px 13px}.card-heading{display:flex;gap:9px}.card-heading .icon{width:42px;height:42px;font-size:28px;margin-bottom:0}.card h3{font-size:14px}.card h3>span{font-size:10px;white-space:normal}.card ul{margin:10px 0 15px;padding-left:16px;font-size:12px;line-height:1.8}.detail-button{font-size:13px}
.features{margin-top:12px;gap:10px}.feature{flex-direction:row;min-height:106px}.thumb{height:auto;flex:0 0 39%;align-self:stretch}.feature-text{padding:11px 8px 7px}.feature strong{font-size:12px;line-height:1.45}.feature-text>span{font-size:11px;line-height:1.5;margin-top:7px}.feature i{display:none}
.mission{padding:12px 18px}.mission>p{font-size:13px;line-height:1.6;margin:4px 0}.tiny-line{margin:6px 0 10px}.values{padding-top:12px}.values div>span{font-size:30px;margin-bottom:6px}.mission blockquote{margin-top:15px;padding:16px 5px 10px;max-height:none;font-size:15px}.mission blockquote>span{font-size:25px;margin-top:10px}
footer{min-height:72px;padding-top:5px;padding-bottom:5px}.footer-brand{width:235px}.stay p{font-size:12px}
}
@media(min-width:761px) and (max-width:1150px){header{min-height:80px}.brand-crop{width:230px}nav{gap:16px}.hero-copy{width:53%;padding-left:4%}.hero h1{font-size:29px}.slogan{font-size:23px;letter-spacing:.3px}.english{font-size:13px;letter-spacing:1.1px}.content-grid{grid-template-columns:minmax(0,3fr) minmax(230px,1.12fr);gap:16px;padding-left:18px;padding-right:18px}.card{padding:13px 11px;min-height:210px}.card-heading{gap:7px;align-items:flex-start}.card-heading .icon{width:28px;height:28px;font-size:22px}.card h3{font-size:13px}.card h3>span{font-size:9px}.card ul{font-size:12px}.feature{flex-direction:row;min-height:124px}.feature .thumb{flex-basis:32%}.feature-text{padding:9px 6px}.feature strong{font-size:12px}.feature-text>span{font-size:11px}.mission{padding-left:13px;padding-right:13px}.mission>p{font-size:13px}.values div{font-size:11px}.mission blockquote{font-size:14px}.contact{font-size:12px}footer{padding-top:12px;padding-bottom:12px}}
@media(max-width:760px){.hero-copy{padding-top:20px;padding-bottom:16px}.hero h1{font-size:27px}.slogan{font-size:22px;margin:7px 0 12px}.gold-line{margin:12px 0 7px}.intro{margin-bottom:15px}.hero-photo{height:180px}.content-grid{padding-top:18px;padding-bottom:18px}.card{min-height:210px;padding:16px 13px}.card-heading .icon{width:35px;height:35px;font-size:26px;margin-bottom:8px}.card ul{margin:9px 0 14px}.features{gap:10px}.feature{min-height:190px}.thumb{height:88px}.feature-text{padding:9px}.mission{padding:18px}.mission blockquote{margin-top:16px;padding:17px 8px}.values{padding-top:15px}}
/* Show each full reference photo without stretching or cropping its subject. */
.feature{flex-direction:row}
.feature .thumb{flex:0 0 44%;height:auto;aspect-ratio:124/129;align-self:center;background-size:1238.7097% 793.7984%;background-position-y:88.7151%;background-color:#f4f0e7}
@media(max-width:760px){.feature{min-height:130px}.feature .thumb{flex-basis:43%}.feature-text>span{font-size:12px;line-height:1.55}.feature strong{font-size:13px}.feature-text{padding:10px 7px}.feature-text br{display:none}}
/* Let the Programs heading fit both lines without crowding the cards. */
.programs .section-heading{height:auto;min-height:0;padding:5px 0 14px;margin:0;text-align:center}
.programs .section-heading h2{font-size:24px;font-weight:600;line-height:1.4;letter-spacing:1.2px;color:#293921;margin:0 0 4px}
.programs .section-heading h2 span{font-size:24px;color:#64764f}
.programs .section-heading p{font-size:16px;font-weight:500;line-height:1.6;color:#424c36;margin:0;word-break:keep-all}
@media(max-width:760px){.programs .section-heading{padding-top:3px;padding-bottom:16px}.programs .section-heading h2{font-size:23px}}
/* Keep the resource title on one line while allowing its card to shrink safely. */
.resources .card-heading{gap:7px;min-width:0}
.resources .card-heading .icon{width:32px;height:32px;font-size:24px;flex-shrink:0}
.resources .card-heading h3{white-space:nowrap;word-break:normal;font-size:14px;letter-spacing:-.35px;min-width:0}
.resources .card-heading h3>span{white-space:normal;letter-spacing:0;font-size:10px}
@media(min-width:761px) and (max-width:1150px){.resources .card-heading{display:block}.resources .card-heading .icon{display:none}.resources .card-heading h3{font-size:13px;letter-spacing:-.6px}}
@media(max-width:760px){.resources.card{padding-left:10px;padding-right:10px}.resources .card-heading h3{font-size:13px;letter-spacing:-.5px}.resources .card-heading .icon{margin-bottom:8px}}

/* Clip the supplied photo regions separately from the mockup captions. */
.feature .thumb{background-image:none;background-color:transparent;overflow:hidden;display:block}
.feature .thumb svg{display:block;width:100%;height:100%;overflow:hidden}
.feature .feature-text{min-width:0;overflow-wrap:break-word}

.resource-notice{font-size:12px;line-height:1.5;color:#546044;margin:8px 0;word-break:keep-all}
