@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--blue:#1400ff;--ink:#17171b;--muted:#575761;--line:#dedee7;--paper:#f7f7fa;--pale:#efeeff;--shell:1240px;--sans:Inter,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:white;font:400 16px/1.7 var(--sans);word-break:keep-all}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none} button,select{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
img{display:block;width:100%;object-fit:cover}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.22;letter-spacing:-.052em}
h2{font-size:clamp(1.7rem,3.5vw,3.15rem)}
h3{font-size:clamp(1.32rem,2.3vw,1.85rem)}
p{color:var(--muted)}
.shell{width:min(var(--shell),calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;z-index:15;top:8px;left:10px;transform:translateY(-150%);background:white;padding:8px 16px}
.skip:focus{transform:none}
.header{position:sticky;z-index:5;top:0;background:white;border-bottom:1px solid var(--line)}
.header-inner{min-height:80px;display:flex;align-items:center;gap:24px;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:8px;flex:none;line-height:1}
.brand strong{font:900 31px/.9 Inter,var(--sans);letter-spacing:-.115em}
.brand strong span{color:var(--blue);margin-left:2px}
.brand small{font:800 10px/1 Inter,var(--sans);letter-spacing:.09em}
.brand img{width:128px;max-height:44px;object-fit:contain}
nav{display:flex;gap:clamp(14px,1.7vw,26px);align-items:center;font-size:.88rem;font-weight:700;white-space:nowrap}
nav a:hover,nav summary:hover,nav .active,nav [aria-current]{color:var(--blue)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.results-menu{position:relative}
.results-menu>div{position:absolute;top:32px;left:-16px;min-width:142px;background:white;border:1px solid var(--line);box-shadow:0 10px 26px #15151d13;padding:7px 12px}
.results-menu>div a{display:block;padding:7px 4px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:49px;padding:11px 18px;border:1px solid transparent;font-weight:750;font-size:.91rem;line-height:1.35;white-space:nowrap}
.button span,.text-link span{font-size:1.13em}
.primary{background:var(--blue);color:white}
.primary:hover{background:#1000cf}
.outline{border-color:#bcbcc8;background:white;color:var(--ink)}
.outline:hover{border-color:var(--blue);color:var(--blue)}
.light{background:white;color:var(--blue)}
.outline-light{color:white;border-color:#ffffff91}
.outline-light:hover{background:#ffffff18}
.header-cta{min-height:41px;padding:9px 14px}
.menu-toggle,.mobile-bar{display:none}
.eyebrow{font:800 .74rem/1.4 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--blue)}
.hero{background:#f9f8f5}
.hero-inner{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(24px,5vw,80px);min-height:570px;padding-block:44px}
.hero-copy{align-self:center}
.hero h1{margin:17px 0 22px;font-size:clamp(2.7rem,4.65vw,5.2rem);line-height:1.12;font-weight:900;letter-spacing:-.085em}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero-copy>p:not(.eyebrow){max-width:420px;font-size:clamp(.94rem,1.3vw,1.06rem);line-height:1.85}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:25px}
.contact-direct{margin:0 0 24px}
.hero-photo{position:relative;min-height:490px;align-self:stretch;overflow:hidden;background:#202027}
.hero-photo img{position:absolute;height:100%;object-position:center}
.hero-photo figcaption{position:absolute;left:0;bottom:0;color:white;background:#141418e0;padding:8px 14px;font-size:.75rem;font-weight:700}
.path-band{background:var(--blue);color:white}
.path-band .shell{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:57px}
.path-band a:first-child{font-size:.94rem;font-weight:800}
.path-band a:first-child span{padding-inline:8px;color:#bdbaee}
.path-band .location{font:650 .68rem/1.3 Inter,var(--sans);letter-spacing:.12em}
.section{padding-block:clamp(48px,7vw,99px)}
.tinted{background:var(--paper)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:26px}
.section-head h2,.subhead h1{margin-top:8px}
.text-link{color:var(--blue);font-size:.91rem;font-weight:800;display:inline-flex;align-items:center;gap:10px}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.program-grid,.teacher-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.program-card,.teacher-card,.archive-card{background:white;border:1px solid var(--line);min-width:0}
.program-card>a{display:block;height:100%}
.program-card img{aspect-ratio:1.7;object-position:center}
.program-card h3,.teacher-card h3{margin:4px 0 10px;display:flex;justify-content:space-between;gap:8px}
.program-card h3 span,.teacher-card h3 span{color:var(--blue)}
.program-card-copy,.teacher-card>div,.archive-copy{padding:22px}
.program-card p:not(.eyebrow),.teacher-card p,.archive-copy p{font-size:.92rem}
.program-card:hover,.teacher-card:hover{border-color:var(--blue)}
.teacher-card img{aspect-ratio:1.4;object-position:50% 34%;background:var(--paper)}
.role{color:var(--blue);font-weight:800;font-size:.78rem}
.event-feature{background:#17171c;color:white;padding:clamp(24px,4vw,48px)}
.event-feature.has-poster{display:grid;grid-template-columns:minmax(155px,.65fr) minmax(0,1.35fr);gap:clamp(24px,7vw,100px);align-items:center}
.event-feature .eyebrow,.event-feature .text-link{color:#d4d0ff}
.event-copy h2,.event-copy h3{font-size:clamp(1.75rem,4.5vw,3.6rem);margin-block:8px 12px}
.event-copy p{color:#eeeef5;margin:0 0 14px}
.event-copy .event-title{font-size:1.24rem;font-weight:800}
.poster{display:block;background:#ececf2}
.event-feature .poster{background:#292932}
.poster img{height:300px;object-fit:contain}
.archive-card .poster img{height:240px}
.archive-copy h3{margin-bottom:8px}
.archive-copy p{margin-bottom:9px}
.result-links,.consult-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.result-links article{padding:24px;background:white;border-top:2px solid var(--blue);border-bottom:1px solid var(--line)}
.result-links a{font-size:1.24rem;width:100%;justify-content:space-between}
.notice-list,.faq{border-top:1px solid var(--ink)}
.notice-list details,.faq details{border-bottom:1px solid var(--line)}
.notice-list summary{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:17px 0}
.notice-list summary span,.notice-list time{font-size:.83rem;color:var(--muted)}
.notice-list summary span{color:var(--blue);font-weight:700}
.notice-list details p,.faq details p{padding-bottom:14px}
.notice-list details>.text-link{margin-bottom:14px}
.faq summary{display:flex;justify-content:space-between;gap:14px;padding:17px 0;font-weight:700}
.faq summary::after{content:'+';color:var(--blue)}
.faq [open] summary::after{content:'−'}
.contact-callout{background:var(--blue);color:white;padding:56px 0}
.contact-callout .eyebrow,.contact-callout p{color:#fff}
.contact-callout h2{margin:8px 0 10px}
footer{background:#18181d;color:#fff;padding:31px 0}
footer p{color:#d2d2dc;font-size:.84rem;overflow-wrap:anywhere}
footer a:hover{text-decoration:underline}
.footer-inner{display:flex;justify-content:space-between;gap:18px;align-items:start}
.copyright{margin-top:9px;font-size:.69rem;color:#bcbcc9}
.subhead{background:var(--pale);border-bottom:1px solid #dcd9ff;padding:clamp(35px,6vw,80px) 0}
.subhead h1{font-size:clamp(2.65rem,6.2vw,5.3rem);margin-bottom:12px}
.subhead p:not(.eyebrow){max-width:660px}
.subsection{margin-top:55px}
.subsection>h2,.section>section>h2{margin-bottom:15px}
.panel{background:var(--paper);border:1px solid var(--line);padding:clamp(19px,3.2vw,35px)}
.panel h2,.location-panel h2{font-size:clamp(1.4rem,2.7vw,2.1rem);margin-bottom:10px}
.panel p,.location-panel p:not(.eyebrow){margin-bottom:8px}
.panel .button,.subsection>.button{margin-top:14px}
.panel .actions .button{margin-top:0}
#recruitment + .panel,.location-panel,.consult-grid + .subsection,.class-card + .class-card{margin-top:20px}
.location-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(18px,5vw,68px);background:var(--paper);padding:clamp(19px,4vw,44px)}
.location-panel .eyebrow{margin-bottom:6px}
.location-panel img{max-height:330px;object-fit:cover}
.space-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:16px}
.space-gallery img{height:clamp(210px,22vw,335px);object-position:center}
.space-gallery .space-wide img{height:auto}
.space-gallery img[src="/assets/cove-lounge.webp"]{object-position:center top}
@media (min-width:640px){.space-gallery .space-wide{grid-column:span 2}}
.space-gallery figcaption{margin-top:7px;font-weight:750;font-size:.92rem}
.space-gallery img[src*="academy-"]{object-view-box:inset(9% 0 0);object-position:50% 35%}
.learning-path{padding:0;margin:0 0 30px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.learning-path li{border-top:2px solid var(--blue);padding:14px 8px 6px 0}
.learning-path h2{font-size:1.62rem;margin-bottom:6px}
.inline-list{display:flex;flex-wrap:wrap;gap:9px 27px;padding-left:19px}
.quick{margin:0 0 24px}
.empty{background:var(--paper);border:1px solid var(--line);padding:21px}
.table-scroll{overflow:auto}
table{border-collapse:collapse;width:100%;text-align:left}
th,td{border-bottom:1px solid var(--line);padding:10px 12px}
th{background:var(--paper)}
td a,dd a{color:var(--blue)}
dl div{display:grid;grid-template-columns:85px 1fr;gap:7px;padding-block:5px}
dt{font-weight:800}
dd{margin:0;color:var(--muted)}
.filters{display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;font-weight:700;margin-bottom:8px}
select{background:white;border:1px solid #a7a7b4;padding:7px 10px;color:var(--ink)}
.result-tabs{margin:0 0 24px}
.profile-layout{display:flex;align-items:start;gap:clamp(25px,5vw,65px)}
.profile-layout img{width:min(34%,340px);aspect-ratio:1;object-position:50% 30%}
.profile-layout h2{font-size:1.8rem;margin:0 0 8px}
.profile-layout p,.profile-layout ul{margin:0 0 19px}
.mini-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:10px}
.mini-gallery img{aspect-ratio:1.25}
dialog{border:0;background:transparent;color:white;padding:0;max-width:95vw;max-height:94vh}
dialog::backdrop{background:#11111aeb}
.lightbox-inner{position:relative;display:grid;place-items:center;padding:46px 4px 4px}
.lightbox-inner img{width:auto;max-width:92vw;max-height:82vh;object-fit:contain}
.lightbox-inner button{position:absolute;right:4px;top:0;border:0;background:white;color:#16161b;width:42px;height:42px;cursor:pointer}
@media(max-width:1080px){.shell{width:calc(100% - 56px)}.header-inner{gap:14px}.header-cta{display:none}.hero-inner{min-height:510px}.hero-photo{min-height:420px}}
@media(max-width:760px){
 html{scroll-padding-top:79px}
 body{padding-bottom:54px}
 .shell{width:calc(100% - 36px)}
 .header-inner{min-height:64px;flex-wrap:wrap}
 .brand strong{font-size:28px}
 .menu-toggle{display:flex;gap:8px;align-items:center;border:1px solid var(--line);background:white;padding:5px 10px;color:var(--ink);font-size:.82rem;font-weight:800}
 nav{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;padding-bottom:13px}
 nav.open{display:flex}
 nav>a,nav summary{padding:10px 0;border-top:1px solid var(--line)}
 .results-menu>div{position:static;box-shadow:none;border:0;background:var(--paper)}
 .hero-inner{grid-template-columns:1fr;min-height:0;gap:22px;padding-block:24px 17px}
 .hero h1{margin:10px 0 11px;font-size:clamp(2.3rem,9vw,3.75rem)}
 .hero h1 br:nth-of-type(1){display:none}
 .hero h1 br:nth-of-type(1)::after{content:' '}
 .hero-copy>p:not(.eyebrow){font-size:.91rem}
 .hero-photo{min-height:0;aspect-ratio:1.58}
 .hero .actions{margin-top:15px}
 .button{min-height:44px;padding-inline:12px}
 .path-band .shell{min-height:47px}
 .path-band a:first-child{white-space:nowrap;font-size:.82rem}
 .path-band a:first-child span{padding-inline:4px}
 .path-band .location{font-size:.55rem;text-align:right}
 .program-grid{grid-template-columns:1fr}
 .teacher-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .program-card>a{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);align-items:center}
 .program-card>a>img{height:100%;min-height:119px;aspect-ratio:auto}
 .program-card-copy,.teacher-card>div,.archive-copy{padding:12px}
 .section-head{align-items:center}
 .section-head .text-link{font-size:.76rem;text-align:right}
 .event-feature.has-poster{gap:14px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .event-feature{padding:14px}
 .poster img{height:200px}
 .archive-card .poster img{height:166px}
 .consult-grid,.location-panel{grid-template-columns:1fr}
 .learning-path{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-bar{position:fixed;z-index:4;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom)}
 .mobile-bar a{display:grid;place-items:center;min-height:52px;font-weight:800;color:var(--blue);font-size:.92rem}
 .mobile-bar a:last-child{background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;gap:10px}
 .footer-inner{flex-direction:column}
 .notice-list summary{grid-template-columns:1fr auto;gap:3px 8px}
 .notice-list summary span{grid-column:1/-1}
}
@media(max-width:365px){.hero h1{font-size:2.05rem}.button{font-size:.82rem}.teacher-card p,.archive-copy p{font-size:.8rem}.event-feature.has-poster{grid-template-columns:1fr}}
.program-art{aspect-ratio:1.7;background:#2113ed;position:relative;overflow:hidden}
.program-art i{position:absolute;display:block;width:80%;aspect-ratio:1;border:1px solid #ffffffa6;border-radius:50%;transform:rotate(-20deg) scaleY(.5);left:10%;top:-25%}
.program-art i+ i{transform:rotate(32deg) scaleY(.5);border-color:#ffffff78}
.event-date-tile{min-height:245px;background:var(--blue);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(14px,4vw,45px);gap:6px}
.event-date-tile span{font-size:.78rem;font-weight:750;letter-spacing:.12em;color:white}
.event-date-tile strong{font:850 clamp(2.9rem,6.5vw,6.3rem)/1 Inter,var(--sans);letter-spacing:-.085em}
.teacher-card>div{min-height:145px}
.teacher-card:not(:has(img)){display:flex;align-items:end;background:var(--pale)}
.location-panel:has(img[src*="teacher-"]) img{width:min(100%,300px);justify-self:center}
@media(max-width:760px){.program-art{height:100%;min-height:119px;aspect-ratio:auto}.event-date-tile{min-height:155px}.event-date-tile strong{font-size:clamp(2rem,8.4vw,3.5rem)}.event-date-tile span{font-size:.58rem}}
.record-source{margin:12px 0 18px}
.teacher-card img[src="/assets/teacher-jwa.jpg"],
.profile-layout img[src="/assets/teacher-jwa.jpg"]{
  object-view-box:inset(10% 20% 43% 23%);
  object-position:center;
}
.teacher-card img[src="/assets/teacher-profiles/koh.jpg"],
.profile-layout img[src="/assets/teacher-profiles/koh.jpg"]{
  object-view-box:inset(9% 18% 42% 18%);
  object-position:center;
}
.profile-actions{display:flex;flex-wrap:wrap;gap:12px 22px}
@media(max-width:600px){.profile-layout{flex-direction:column}.profile-layout img{width:min(58%,260px)}}
.teacher-card img[src="/assets/teacher-profiles/jieun.jpg"],
.profile-layout img[src="/assets/teacher-profiles/jieun.jpg"]{
  object-view-box:inset(9% 19% 43% 19%);
  object-position:center;
}
.studio-schedule{margin-block:24px}
.studio-schedule h3{margin-bottom:10px}
.studio-schedule tbody th{background:transparent;text-align:left}
.studio-schedule tbody th a{color:var(--blue)}
.studio-schedule td{white-space:nowrap}

.student-works-list{display:grid;gap:20px}
.student-work-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.student-work-photos img{aspect-ratio:4/5;object-fit:contain;background:var(--paper)}
@media(max-width:760px){.student-work-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.program-detail img[src="/assets/foundation-class.jpg"]{max-height:min(70vh,540px);object-fit:contain}
