:root{--blue:#1649d8;--navy:#10234b;--ink:#182442;--muted:#617086;--line:#dfe5ee;--pale:#f2f6fb;--yellow:#f4d65b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Pretendard,'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.7;word-break:keep-all}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #e78925;outline-offset:5px}img{display:block;width:100%;height:auto}.container{width:min(1200px,calc(100% - 80px));margin:auto}.header{background:rgba(255,255,255,.97);border-bottom:1px solid #edf0f5;position:sticky;top:0;z-index:10}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;flex-direction:column;line-height:1.2}.wordmark{font-size:30px;font-weight:800;letter-spacing:-1.2px;color:var(--blue)}.wordmark b{font-size:23px;color:var(--navy);letter-spacing:-1px;margin-right:5px}.brand-dot{color:#edbd27}.campus{font-size:13px;letter-spacing:1.2px;font-weight:600;margin-top:6px}.header nav{display:flex;gap:33px;font-size:15px;font-weight:650}.header nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:7px;padding:17px 23px;font-size:16px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#0e35a4;transform:translateY(-2px)}.button.small{font-size:14px;padding:11px 19px;gap:21px}.skip{position:fixed;top:-100px;left:20px;background:var(--navy);color:#fff;padding:12px;z-index:20}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:45px;padding-top:69px;padding-bottom:75px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--blue);margin:0 0 22px}.eyebrow span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:7px;vertical-align:1px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.3vw,61px);line-height:1.22;letter-spacing:-2.5px;margin-bottom:25px;font-weight:800}h1 em{color:var(--blue);font-style:normal}.hero-description{color:var(--muted);font-size:18px;line-height:1.8;margin-bottom:31px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.text-link{font-size:14px;font-weight:700}.text-link span{margin-left:8px}.local-note{font-size:13px;color:var(--muted);margin:25px 0 0}.hero-visual{position:relative;align-self:stretch;min-height:505px;background:#dcebf9;border-radius:22px 22px 90px 22px;overflow:hidden;display:flex;align-items:flex-start}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.visual-caption{position:absolute;left:32px;bottom:27px;background:rgba(255,255,255,.91);backdrop-filter:blur(10px);padding:18px 23px;border-radius:12px}.visual-caption>span{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--blue)}.visual-caption p{font-size:19px;line-height:1.5;margin:7px 0 0}.visual-label{position:absolute;top:24px;left:26px;padding:8px 16px;color:var(--navy);border:1px solid rgba(16,35,75,.3);border-radius:30px;font-size:14px;font-weight:700}.values-bar{background:var(--blue);color:#fff}.values-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:83px;font-size:18px;font-weight:600}.plus{color:#9bb7ff;font-size:25px;font-weight:300}.section{padding-top:98px;padding-bottom:98px}h2{font-size:40px;line-height:1.35;letter-spacing:-1.7px;margin-bottom:0;font-weight:750}.approach{display:grid;grid-template-columns:.9fr 1.4fr;gap:65px}.section-intro{font-size:18px;color:var(--muted);line-height:1.95;margin-bottom:31px}.lesson-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding-top:28px;border-top:1px solid var(--line)}.step-label{font-size:13px;color:var(--blue);font-weight:700}.lesson-flow h3{font-size:21px;margin:9px 0}.lesson-flow p{font-size:14px;color:var(--muted);margin:0;line-height:1.8}.flow-plus{align-self:center;color:#94a7c5;font-size:24px}.program-section{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:39px}.section-heading>p{color:var(--muted);margin:0;line-height:1.9}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.program-card{background:#fff;border:1px solid #e2e7ee;padding:28px 29px 0;border-radius:12px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.program-number{font-size:14px;color:#7182a0;font-weight:600}.tag{font-size:12px;background:#edf3ff;color:var(--blue);border-radius:20px;padding:4px 12px;font-weight:650}.program-card h3{font-size:27px;letter-spacing:-1px;margin-bottom:13px}.program-card>p{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:26px}.program-card ul{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:10px;font-size:14px}.program-card li:before{content:'✓';color:var(--blue);margin-right:9px;font-weight:700}.card-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:19px 0;font-size:14px;font-weight:700;margin-top:auto}.card-link:hover{color:var(--blue)}.program-note{font-size:13px;color:var(--muted);margin:20px 0 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.story-card{padding:35px 36px 29px;border-radius:12px;min-height:340px;display:flex;flex-direction:column}.news{background:var(--navy);color:white}.speech{background:var(--yellow);color:var(--navy)}.story-category{font-size:12px;font-weight:700;letter-spacing:2px;opacity:.8}.story-title{font-size:34px;font-weight:750;letter-spacing:-1.4px;line-height:1.4;margin-top:25px;margin-bottom:35px}.story-bottom{border-top:1px solid rgba(255,255,255,.25);padding-top:20px;display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:auto}.speech .story-bottom{border-color:rgba(16,35,75,.2)}.story-index{font-size:11px;letter-spacing:1px;white-space:nowrap;opacity:.7}.story-bottom p{font-size:14px;margin:0;line-height:1.8}.contact-section{background:#edf3ff;padding:75px 0}.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.contact-inner h2{font-size:39px}.contact-inner>div>p:last-child{color:var(--muted);margin-top:20px;margin-bottom:0}.contact-card{background:#fff;padding:30px 33px;border-radius:12px;border:1px solid #dce6fb}.contact-label{font-size:14px;font-weight:600}.phone{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:34px;font-weight:800;letter-spacing:-1px;margin-top:8px;white-space:nowrap}.phone span{font-size:24px}.contact-divider{height:1px;background:var(--line);margin:22px 0}.secondary-contact{display:flex;justify-content:space-between;font-size:15px;gap:10px}.secondary-contact span{color:var(--muted)}.secondary-contact a{font-weight:650}.band-link{display:flex;justify-content:space-between;background:#f3f6fa;padding:13px 15px;border-radius:5px;font-size:14px;font-weight:600;margin-top:22px;gap:15px}.band-link:hover{background:#e7eef8}footer{padding:38px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-inner .wordmark{font-size:24px}.footer-inner .wordmark b{font-size:19px}.footer-inner .campus{font-size:11px}.footer-inner p{color:var(--muted);font-size:13px;margin:0}.footer-inner>a{font-size:13px;white-space:nowrap}
@media(min-width:1450px){.hero{padding-top:82px;padding-bottom:88px}}@media(max-width:1050px){.container{width:calc(100% - 48px)}.header nav{gap:20px}.hero{gap:25px}.hero-visual{min-height:465px}h1{font-size:45px}.hero-actions{gap:16px}.hero-actions .button{padding:15px 18px}.approach{gap:35px}.program-card{padding:24px 22px 0}.story-bottom{display:block}.story-bottom p{margin-top:10px}.contact-inner{gap:35px}.phone{font-size:29px}}
@media(max-width:760px){html{scroll-padding-top:92px}.container{width:calc(100% - 40px)}.header-inner{min-height:79px;gap:12px}.header nav{display:none}.wordmark{font-size:25px}.wordmark b{font-size:20px}.campus{font-size:11px;letter-spacing:.6px}.button.small{padding:10px 13px;gap:12px;font-size:13px}.hero{grid-template-columns:1fr;gap:30px;padding-top:44px;padding-bottom:38px}.eyebrow{font-size:11px;margin-bottom:20px;letter-spacing:1.7px}h1{font-size:45px;letter-spacing:-2px;line-height:1.25}.hero-description{font-size:16px;margin-bottom:23px}.hero-actions{gap:20px}.hero-actions .button{font-size:14px}.text-link{font-size:13px}.local-note{margin-top:22px}.hero-visual{min-height:340px;border-radius:16px 16px 65px 16px}.hero-visual img{object-position:center 42%}.visual-caption{left:20px;bottom:20px;padding:12px 17px}.visual-caption p{font-size:16px}.visual-caption>span{font-size:9px}.visual-label{top:18px;left:20px;font-size:12px}.values-inner{min-height:75px;gap:7px;font-size:12px;text-align:center}.plus{font-size:18px}.section{padding-top:60px;padding-bottom:60px}h2{font-size:32px;letter-spacing:-1.3px}.approach{grid-template-columns:1fr;gap:25px}.section-intro{font-size:16px;margin-bottom:24px}.lesson-flow{gap:13px}.lesson-flow h3{font-size:18px}.lesson-flow p{font-size:13px}.lesson-flow p br{display:none}.step-label{font-size:12px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:21px;font-size:15px}.program-grid{grid-template-columns:1fr;gap:17px}.program-card{padding:24px 25px 0}.card-top{margin-bottom:16px}.program-card h3{font-size:25px}.program-card>p{margin-bottom:19px}.program-card ul{margin-bottom:24px}.story-grid{grid-template-columns:1fr;gap:18px}.story-card{padding:28px;min-height:320px}.story-title{font-size:31px}.story-bottom{display:flex}.story-index{font-size:10px}.story-bottom p{font-size:13px;margin:0}.contact-section{padding:55px 0}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-inner h2{font-size:32px}.contact-inner>div>p:last-child{font-size:15px}.contact-card{padding:25px}.phone{font-size:30px}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;flex-basis:100%;font-size:12px}.program-note{font-size:12px}}
@media(max-width:360px){h1{font-size:39px}.phone{font-size:25px}.contact-card{padding:20px}.story-bottom{display:block}.story-bottom p{margin-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Academy identity, teaching team, and supplied campus photographs. */
.brand-logo{width:174px;height:auto;object-fit:contain}.header .brand{flex-shrink:0}.header .campus{font-size:12px;letter-spacing:1px;margin-top:7px}.header nav{gap:21px;font-size:14px}.header-inner{gap:24px}.footer-inner .brand-logo{width:150px}.team-section{background:#fff;border-bottom:1px solid var(--line)}.greeting{display:grid;grid-template-columns:1fr 1.6fr;gap:56px;background:var(--pale);border-radius:14px;padding:43px;margin-bottom:28px}.greeting-heading .eyebrow{display:block;font-size:11px;letter-spacing:1.5px}.greeting h3{font-size:28px;line-height:1.55;letter-spacing:-1px;margin:0}.greeting-copy p{font-size:16px;line-height:1.95;color:#4f6078;margin:0 0 16px}.greeting-copy .greeting-signature{font-size:14px;color:var(--navy);font-weight:700;margin-top:24px;margin-bottom:0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.teacher-card{padding:28px;border:1px solid var(--line);border-radius:12px;border-top:3px solid var(--blue)}.teacher-role{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:1px}.teacher-card h3{font-size:27px;margin:16px 0 4px;letter-spacing:-.5px}.teacher-card h3 span{font-size:15px;font-weight:500;margin-left:5px;color:var(--muted)}.teacher-card .teacher-focus{font-size:13px;color:var(--blue);font-weight:600;margin-bottom:19px}.teacher-card p{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:0}.campus-section{background:var(--pale)}.campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.campus-photo{margin:0;min-width:0}.campus-photo>a{display:block;position:relative;overflow:hidden;border-radius:12px;background:#e1e7ec}.campus-photo img{width:100%;height:340px;object-fit:cover;transition:transform .25s}.campus-photo a:hover img{transform:scale(1.025)}.campus-photo:first-child img{object-position:56% center}.photo-zoom{position:absolute;bottom:14px;right:14px;color:#fff;background:rgba(16,35,75,.85);padding:5px 11px;border-radius:4px;font-size:12px}.campus-photo figcaption{font-size:15px;font-weight:650;margin-top:13px}.more-photos{margin-top:32px}.more-photos summary{cursor:pointer;border:1px solid #c6d4ea;border-radius:7px;padding:13px 22px;width:fit-content;color:var(--blue);font-size:14px;font-weight:650}.more-photos summary:focus-visible{outline:3px solid #e78925;outline-offset:4px}.when-open{display:none}.more-photos[open] .when-open{display:inline}.more-photos[open] .when-closed{display:none}.extra-photos{grid-template-columns:repeat(4,1fr);margin-top:28px}.extra-photos img{height:290px}
@media(max-width:1150px){.header-inner{gap:16px}.header nav{gap:16px}.brand-logo{width:151px}.header .button.small{padding:10px 12px;gap:12px}.greeting{gap:30px;padding:32px}.teacher-card{padding:23px}.teacher-card h3{font-size:24px}}
@media(max-width:1000px){html{scroll-padding-top:146px}.header-inner{flex-wrap:wrap;min-height:unset;padding-top:15px;padding-bottom:0;gap:0;justify-content:space-between}.header nav{order:3;display:flex;flex-basis:100%;overflow-x:auto;gap:26px;white-space:nowrap;padding:14px 0 12px;margin-top:6px;scrollbar-width:thin}.header nav a{flex-shrink:0;font-size:14px}.greeting{grid-template-columns:1fr 1.4fr}.campus-photo img{height:285px}.extra-photos{grid-template-columns:repeat(2,1fr)}.extra-photos img{height:360px}}
@media(max-width:760px){.header .brand-logo{width:142px}.header .campus{font-size:11px}.greeting{grid-template-columns:1fr;padding:26px;gap:24px}.greeting h3{font-size:26px}.greeting h3 br{display:none}.greeting-copy p{font-size:15px}.team-grid{grid-template-columns:1fr;gap:17px}.teacher-card{padding:24px}.teacher-card h3{font-size:27px}.teacher-card p{font-size:15px}.campus-grid{grid-template-columns:1fr;gap:26px}.campus-photo img{height:auto;aspect-ratio:4/3}.extra-photos{grid-template-columns:1fr 1fr;gap:20px 15px}.extra-photos img{aspect-ratio:3/4}.extra-photos figcaption{font-size:14px}.photo-zoom{font-size:11px;bottom:10px;right:10px}.more-photos summary{font-size:14px;width:100%;text-align:center}.footer-inner .brand-logo{width:140px}}
@media(prefers-reduced-motion:reduce){.campus-photo img{transition:none}}
.blog-link{background:#eaf4ff;color:var(--blue);margin-bottom:10px}.blog-link+.band-link{margin-top:10px}.footer-links{display:flex;gap:20px;font-size:13px;white-space:nowrap}.footer-links a:last-child{color:var(--muted)}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.carousel-instruction{font-size:14px;color:var(--muted);margin:0}.carousel-controls>div{display:flex;gap:8px}.gallery-control{border:1px solid #c6d4ea;border-radius:6px;background:#fff;color:var(--navy);padding:8px 14px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;min-height:40px}.gallery-control:hover{background:#e8efff}.gallery-control:focus-visible{outline:3px solid #e78925;outline-offset:3px}.gallery-control:disabled{opacity:.5;cursor:default}.carousel-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:13px;align-items:start}.carousel-track>.campus-photo{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.carousel-track .campus-photo img{height:340px;width:100%;object-fit:cover}.carousel-counter{font-size:13px;letter-spacing:1px;color:var(--muted);margin:10px 0 0;text-align:right}.gallery-empty{grid-column:1/-1;width:100%;padding:30px;border:1px dashed #c6d4ea;border-radius:8px;font-size:15px;color:var(--muted);margin:0}.extra-photos .campus-photo img{height:290px}.more-photos{margin-top:24px}@media(max-width:1000px){.carousel-track>.campus-photo{flex-basis:calc((100% - 24px)/2)}}@media(max-width:760px){.carousel-track>.campus-photo{flex-basis:87%}.carousel-track .campus-photo img{height:320px;aspect-ratio:auto}.carousel-controls{align-items:flex-start;gap:12px}.carousel-instruction{max-width:110px;font-size:13px}.gallery-control{padding:7px 12px}.extra-photos .campus-photo img{height:210px}.footer-links{gap:14px;font-size:12px}}
/* Location and academy social channel. */
.header nav{gap:17px}.location-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:42px;align-items:stretch}.location-info{padding:32px;background:var(--pale);border-radius:12px}.location-label{font-size:14px;color:var(--blue);font-weight:700}.location-info h3{font-size:29px;line-height:1.5;letter-spacing:-1px;margin:17px 0 10px}.location-info h3 span{color:var(--blue)}.location-detail{color:var(--muted);font-size:14px}.location-actions{display:flex;align-items:stretch;flex-direction:column;gap:12px;margin-top:26px}.location-actions .button{font-size:14px;padding:14px 15px;gap:10px}.location-secondary,.copy-address{font-size:14px;font-weight:650;border:1px solid #c6d4ea;background:#fff;border-radius:6px;padding:12px;text-align:center;color:var(--navy)}.copy-address{font-family:inherit;cursor:pointer}.copy-address:focus-visible{outline:3px solid #e78925;outline-offset:3px}.copy-status{font-size:13px;color:var(--blue);min-height:22px}.location-map{display:flex;flex-direction:column;min-width:0}.location-map iframe{border:1px solid var(--line);border-radius:12px;width:100%;height:100%;min-height:380px;background:#e9eef4}.location-map p{font-size:13px;color:var(--muted);margin:12px 0 0}.footer-social{display:flex;flex-direction:column;gap:13px}.footer-inner .footer-social p{margin:0}.instagram-link{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;font-size:14px;font-weight:650;color:var(--navy);padding:4px 0}.instagram-link svg{flex-shrink:0}.instagram-link:hover{color:var(--blue)}.instagram-link>span:last-child{font-size:15px;color:var(--muted);margin-left:3px}
@media(max-width:1150px){.header nav{gap:12px}}@media(max-width:1100px){html{scroll-padding-top:146px}.header-inner{flex-wrap:wrap;min-height:unset;padding-top:15px;padding-bottom:0;gap:0;justify-content:space-between}.header nav{order:3;display:flex;flex-basis:100%;overflow-x:auto;gap:26px;white-space:nowrap;padding:14px 0 12px;margin-top:6px;scrollbar-width:thin}.header nav a{flex-shrink:0;font-size:14px}}
@media(max-width:760px){.location-grid{grid-template-columns:1fr;gap:25px}.location-info{padding:27px}.location-info h3{font-size:27px}.location-map iframe{height:350px;min-height:350px}.footer-social{order:3;flex-basis:100%;gap:14px}.footer-inner .footer-social p{order:initial;flex-basis:auto}.instagram-link{font-size:14px}}
/* Expandable teacher profiles. */
.team-grid{align-items:start}.teacher-profile{margin-top:24px;border-top:1px solid var(--line);padding-top:15px}.teacher-profile summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:var(--blue);padding:5px 0}.teacher-profile summary::-webkit-details-marker{display:none}.teacher-profile summary:focus-visible{outline:3px solid #e78925;outline-offset:5px}.profile-open{display:none}.teacher-profile[open] .profile-open{display:inline}.teacher-profile[open] .profile-closed{display:none}.profile-chevron{font-size:19px}.teacher-profile[open] .profile-chevron{transform:rotate(180deg)}.teacher-profile-content{padding-top:20px;overflow-wrap:anywhere}.teacher-profile-photo{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;background:var(--pale);border-radius:8px;margin-bottom:22px}.teacher-profile-content h4{font-size:15px;margin:18px 0 10px;color:var(--navy)}.teacher-profile-content p{font-size:15px;line-height:1.85}.profile-biography ul{padding:0 0 0 18px;margin:0;display:grid;gap:9px;color:var(--muted);font-size:14px;line-height:1.8}.profile-empty{font-size:14px;color:var(--muted);margin:0}.teacher-card>h3,.teacher-card>p{overflow-wrap:anywhere}
