
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=IBM+Plex+Sans+KR:wght@400;500;600;700&display=swap');
:root{--ink:#111;--paper:#f6f5f1;--yellow:#ffcf59;--pink:#ff9a9c;--blue:#a9d8f4;--lilac:#c9b5f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111;color:#f8f7f2;font:400 17px/1.65 'IBM Plex Sans KR',system-ui,sans-serif;letter-spacing:-.035em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}img{display:block;max-width:100%}.container{width:min(100% - 64px,1280px);margin-inline:auto}.site-header{height:78px;background:#101010ed;border-bottom:1px solid #383838;position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;flex:none}.logo-symbol{width:42px;height:42px;background:var(--yellow);border-radius:50%;display:grid;place-items:center;color:#111;font-size:25px;font-weight:700;letter-spacing:-.16em;padding-right:4px}.logo-text{display:flex;flex-direction:column;font-family:'DM Sans',sans-serif;line-height:1.1}.logo-text b{font-size:17px;letter-spacing:.025em}.logo-text small{font-size:9px;letter-spacing:.18em;color:#b4b4b4;margin-top:5px}.nav{display:flex;align-items:center;gap:clamp(18px,3vw,44px);font-size:15px;font-weight:600}.nav a:hover{color:var(--yellow)}.nav .contact-nav{border:1px solid #777;border-radius:20px;padding:8px 16px}.menu-button{display:none;color:#fff;background:none;border:0;font-size:27px}.hero{height:min(78vh,760px);min-height:550px;position:relative;overflow:hidden;background:#151515}.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide img{width:100%;height:100%;object-fit:cover}.slide:first-child img{object-position:center}.slide:nth-child(2) img{object-position:center}.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,#0003 65%,#0006)}.slide-content{position:absolute;z-index:1;inset:0;display:flex;align-items:center}.slide-content .container{width:min(100% - 160px,1150px)}.slide-label{font:700 13px/1.4 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#fff}.slide h1,.slide h2{font-size:clamp(55px,6vw,100px);line-height:1.22;letter-spacing:-.085em;font-weight:700;margin:26px 0 22px;max-width:850px;text-shadow:0 2px 25px #0006;word-break:keep-all}.slide p{font-size:clamp(18px,1.8vw,25px);line-height:1.6;max-width:640px;margin:0 0 32px;text-shadow:0 2px 16px #000a;word-break:keep-all}.slide-link{display:inline-flex;align-items:center;gap:30px;color:#111;background:var(--yellow);padding:12px 23px;border-radius:4px;font-weight:700;min-height:51px}.slide-link:hover{background:#ffe197}.slide-link span{font-family:'DM Sans',sans-serif;font-size:22px;line-height:1}.hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);height:48px;width:48px;border:1px solid #ffffff80;border-radius:50%;color:#fff;background:#0005;font-family:'DM Sans',sans-serif;font-size:26px;line-height:1}.hero-arrow:hover{background:#fff;color:#111}.hero-arrow.prev{left:28px}.hero-arrow.next{right:28px}.hero-dots{position:absolute;z-index:4;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button{width:10px;height:10px;padding:0;border:0;border-radius:20px;background:#ffffff82}.hero-dots button.active{width:29px;background:#fff}.quick-strip{background:#0a0a0a;border-bottom:1px solid #333}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.quick-item{padding:35px 25px;text-align:center;border-right:1px solid #333}.quick-item:last-child{border:0}.quick-item strong{display:block;color:var(--yellow);font:800 clamp(24px,2.8vw,39px)/1.1 'DM Sans',sans-serif;letter-spacing:-.04em}.quick-item span{display:block;color:#c8c8c8;font-size:15px;margin-top:11px}.section{padding:110px 0}.section-label{color:var(--yellow);font:700 13px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase}.section-intro{text-align:center;margin:0 auto 55px}.section-intro h2{font-size:clamp(39px,4.5vw,62px);letter-spacing:-.075em;line-height:1.28;margin:18px 0 15px;word-break:keep-all}.section-intro p{margin:0;color:#bcbcbc;font-size:18px;word-break:keep-all}.about{background:#161616}.about-copy{max-width:900px;margin:0 auto 70px;text-align:center;font-size:clamp(20px,2.3vw,31px);line-height:1.7;word-break:keep-all}.about-copy strong{color:var(--pink)}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.point{padding:30px;min-height:200px;border:1px solid #444;border-radius:8px;background:#1c1c1c}.point b{font:800 15px 'DM Sans',sans-serif;color:var(--yellow)}.point h3{font-size:25px;margin:21px 0 10px;letter-spacing:-.06em}.point p{margin:0;color:#bdbdbd;word-break:keep-all}.classes{background:#171717}.class-stack{display:grid;gap:22px}.class-card{min-height:350px;display:grid;grid-template-columns:1.1fr .9fr;border-radius:10px;overflow:hidden;background:#242329}.class-card:nth-child(2){background:#16243a}.class-card:nth-child(3){background:#2b2227}.class-info{padding:clamp(32px,4.5vw,65px);display:flex;flex-direction:column;justify-content:center}.class-info small{font:700 14px 'DM Sans',sans-serif;letter-spacing:.13em;color:var(--yellow)}.class-info h3{font-size:clamp(32px,3.7vw,50px);line-height:1.25;letter-spacing:-.075em;margin:16px 0 12px}.class-info p{font-size:18px;color:#ccc;margin:0 0 25px;max-width:570px;word-break:keep-all}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips span{border-radius:100px;background:#ffffff1c;padding:7px 14px;font-size:14px;color:#ddd}.class-image{position:relative;min-height:350px}.class-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.class-card:nth-child(2) img{object-position:right center}.class-card:nth-child(3) img{object-position:left center}.class-image:after{content:"↗";position:absolute;right:18px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#ffffffcf;color:#111;font:700 24px 'DM Sans',sans-serif}.class-card:hover .class-image img{filter:saturate(1.2)}.gallery{background:#f6f5f1;color:#111}.gallery .section-label{color:#9a4f48}.gallery .section-intro p{color:#555}.gallery-header{display:flex;justify-content:space-between;align-items:end;gap:25px}.gallery-header .section-intro{text-align:left;margin:0 0 37px}.gallery-controls{display:flex;gap:9px;margin-bottom:38px}.gallery-controls button{height:40px;width:40px;border:1px solid #555;background:none;color:#111;border-radius:50%;font:600 23px 'DM Sans',sans-serif}.gallery-controls button:hover{background:#111;color:#fff}.gallery-track{display:flex;gap:15px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{flex:0 0 calc((100% - 30px)/3);min-height:390px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;scroll-snap-align:start;border-radius:8px;background:var(--pink);transition:transform .2s}.gallery-card:nth-child(2){background:var(--lilac)}.gallery-card:nth-child(3){background:var(--blue)}.gallery-card:nth-child(4){background:var(--yellow)}.gallery-card:hover{transform:translateY(-5px)}.gallery-card small{font:700 13px 'DM Sans',sans-serif;letter-spacing:.14em}.gallery-card h3{font-size:clamp(26px,2.5vw,39px);line-height:1.35;letter-spacing:-.07em;margin:0 0 12px;word-break:keep-all}.gallery-card p{margin:0;color:#333;font-size:15px}.gallery-card .gallery-arrow{font:700 30px 'DM Sans',sans-serif;align-self:flex-end}.gallery-bottom{text-align:center;margin-top:38px}.dark-link{display:inline-block;background:#111;color:#fff;border-radius:4px;padding:12px 25px;font-weight:700}.dark-link:hover{background:#454545}.contact{background:#fff;color:#111;padding:85px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.contact h2{font-size:clamp(40px,4.3vw,64px);line-height:1.25;letter-spacing:-.075em;margin:16px 0 22px}.contact p{margin:0 0 7px;font-size:18px}.contact .section-label{color:#a4574e}.contact-links{display:grid;gap:10px}.contact-links a{background:#171b27;color:#fff;border-radius:8px;padding:18px 22px;display:flex;justify-content:space-between;font-weight:600}.contact-links a:hover{background:#303a53}footer{background:#111;color:#bbb;padding:45px 0;font-size:13px}footer .container{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}footer strong{font:800 19px 'DM Sans',sans-serif;color:#fff}footer p{margin:12px 0 0;line-height:1.9}@media(max-width:750px){.container{width:min(100% - 40px,1280px)}.site-header{height:68px}.menu-button{display:block}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#161616;flex-direction:column;align-items:stretch;padding:20px;gap:17px;box-shadow:0 12px 20px #0009}.nav.open{display:flex}.hero{min-height:560px;height:calc(100svh - 68px);max-height:750px}.slide-content .container{width:min(100% - 90px,1150px)}.slide h1,.slide h2{font-size:clamp(44px,9vw,70px)}.slide p{font-size:17px}.hero-arrow{width:34px;height:34px;font-size:21px}.hero-arrow.prev{left:9px}.hero-arrow.next{right:9px}.quick-grid{grid-template-columns:repeat(2,1fr)}.quick-item{padding:24px 10px;border-bottom:1px solid #333}.quick-item:nth-child(even){border-right:0}.section{padding:80px 0}.section-intro{margin-bottom:40px}.section-intro h2{font-size:38px}.section-intro p{font-size:16px}.about-copy{font-size:20px;margin-bottom:45px}.about-points{grid-template-columns:1fr}.point{min-height:0}.class-card{grid-template-columns:1fr}.class-info{padding:30px}.class-info h3{font-size:32px}.class-image{min-height:220px}.gallery-card{flex-basis:85%;min-height:340px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact{padding:80px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.gallery-card{transition:none}}

.nav a.current{color:var(--yellow)}.subhero{min-height:390px;display:flex;align-items:center;position:relative;overflow:hidden;background:#25212d}.subhero:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.75}.subhero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0005)}.subhero .container{position:relative;z-index:1;padding-block:70px}.subhero small{font:700 13px 'DM Sans',sans-serif;letter-spacing:.17em}.subhero h1{font-size:clamp(48px,5.5vw,80px);line-height:1.22;letter-spacing:-.075em;margin:20px 0 13px}.subhero p{font-size:20px;margin:0;word-break:keep-all}.about-hero:before{background-image:url('blue-canvas.webp')}.classes-hero:before,.gallery-hero:before{background-image:url('color-canvas.webp')}.gallery-hero:before{background-position:60% center}.contact-hero{background:#25212d}.contact-hero:before{background:linear-gradient(135deg,#c9b5f6,#ff9a9c);opacity:1}.contact-hero:after{background:#1d142364}.home-paths{background:#171717;padding:95px 0 115px}.home-paths h2{font-size:clamp(38px,4.4vw,60px);line-height:1.3;letter-spacing:-.075em;margin:18px 0 40px}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.path-card{min-height:250px;border-radius:8px;padding:27px;color:#111;display:flex;flex-direction:column;justify-content:space-between;background:var(--yellow);transition:transform .2s}.path-card:nth-child(2){background:var(--lilac)}.path-card:nth-child(3){background:var(--blue)}.path-card:hover{transform:translateY(-5px)}.path-card small{font:700 13px 'DM Sans',sans-serif;letter-spacing:.13em}.path-card strong{font-size:31px;line-height:1.3;letter-spacing:-.07em}.path-card span{font-size:24px;align-self:flex-end}.home-contact{background:#fff;color:#111;padding:50px 0}.home-contact .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.home-contact p{font-size:23px;font-weight:600;margin:0}.home-contact a{background:#111;color:#fff;padding:12px 23px;border-radius:4px;font-weight:700}.gallery-page .gallery-track{display:grid;grid-template-columns:repeat(2,1fr);overflow:visible}.gallery-page .gallery-card{min-height:350px}.gallery-page .gallery-controls{display:none}.gallery-page .gallery-header .section-intro{text-align:center;margin:0 auto 55px}.gallery-page .gallery-header{display:block}.gallery-page .gallery-bottom{margin-top:40px}.contact-page .contact{min-height:430px}.page-tail{background:#161616;padding:70px 0;border-top:1px solid #333}.page-tail .container{display:flex;justify-content:space-between;gap:25px;align-items:center}.page-tail p{font-size:25px;font-weight:600;margin:0}.page-tail a{border-bottom:1px solid var(--yellow);padding-bottom:5px}.page-tail a:hover{color:var(--yellow)}@media(max-width:750px){.subhero{min-height:310px}.subhero .container{padding-block:55px}.subhero h1{font-size:44px}.subhero p{font-size:17px}.path-grid{grid-template-columns:1fr}.path-card{min-height:190px}.home-paths{padding:80px 0}.home-contact .container,.page-tail .container{display:block}.home-contact p,.page-tail p{margin-bottom:22px}.gallery-page .gallery-track{grid-template-columns:1fr}.gallery-page .gallery-card{min-height:280px}}

/* Identity inspired by the reference's contrast of fine and bold Hangul. */
.logo{gap:12px}.logo-korean{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;line-height:1;font-size:25px;letter-spacing:-.075em}.logo-korean span{font-weight:400}.logo-korean i{font-style:normal;font-size:22px;font-weight:400;margin-inline:2px}.logo-korean b{font-size:29px;font-weight:700;line-height:1.15;display:inline-block;border-top:2px solid var(--yellow);border-right:2px solid var(--yellow);border-bottom:2px solid var(--yellow);padding:3px 9px 4px 3px}.logo-word{font:700 11px 'DM Sans',sans-serif;letter-spacing:.14em;color:#bbb;padding-top:3px}.quick-grid{grid-template-columns:repeat(3,1fr)}.quick-item{text-align:left;padding:33px 30px;min-height:175px}.quick-item h3{color:var(--yellow);font-size:20px;line-height:1.4;letter-spacing:-.05em;margin:0 0 12px}.quick-item p{color:#d0d0d0;line-height:1.65;font-size:16px;margin:0;word-break:keep-all}.quick-item a{color:var(--yellow);text-decoration:underline;text-underline-offset:4px}.quick-item a:hover{color:#fff}@media(max-width:900px){.logo-word{display:none}}@media(max-width:750px){.logo-korean{font-size:21px;gap:4px}.logo-korean i{font-size:19px}.logo-korean b{font-size:25px;padding:2px 7px 3px 2px}.quick-grid{grid-template-columns:1fr}.quick-item{min-height:0;padding:25px 4px;border-right:0}.quick-item h3{font-size:19px}.quick-item p{font-size:16px}}

/* Contact entry points */
.inquiry{position:relative}.inquiry-trigger{font-weight:600;color:#fff;background:transparent;cursor:pointer;font-size:15px;white-space:nowrap}.inquiry-trigger:hover,.inquiry-trigger[aria-expanded="true"]{color:var(--yellow)}.chevron{display:inline-block;margin-left:6px;font-size:18px;line-height:0}.inquiry-panel{position:absolute;top:calc(100% + 17px);right:0;width:min(490px,calc(100vw - 40px));padding:22px;background:#1d1d1d;color:#fff;border:1px solid #535353;border-radius:12px;box-shadow:0 18px 38px #0008;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .18s,transform .18s,visibility .18s;z-index:80}.inquiry-panel:before{content:"";position:absolute;height:20px;left:0;right:0;top:-20px}.inquiry:hover .inquiry-panel,.inquiry:focus-within .inquiry-panel,.inquiry.open .inquiry-panel{opacity:1;visibility:visible;transform:translateY(0)}.inquiry-panel>p{font-size:17px;font-weight:700;margin:0 0 16px}.inquiry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.inquiry-item{display:flex;align-items:center;gap:11px;min-width:0;padding:12px;border:1px solid #454545;border-radius:8px;background:#272727;color:#fff;text-align:left}.inquiry-item:hover{background:#353535;color:#fff}.inquiry-icon{width:35px;height:35px;flex:0 0 35px;border-radius:9px;display:grid;place-items:center;background:#ffcf59;color:#111;font:800 22px 'DM Sans',sans-serif}.inquiry-icon svg{width:20px;height:20px}.ic-sms{background:#a9d8f4}.ic-personal,.ic-kakao{background:#ffdf64}.ic-naver{background:#32d164;color:#fff}.ic-instagram{background:#e7a6ce}.inquiry-copy{min-width:0}.inquiry-copy b{display:block;font-size:15px;line-height:1.3}.inquiry-copy small{display:block;color:#bdbdbd;font-size:12px;line-height:1.45;margin-top:3px}.inquiry-disabled{opacity:.55;cursor:not-allowed}.inquiry-more{display:inline-block;color:var(--yellow);font-size:13px;font-weight:600;margin-top:16px}.inquiry-more:hover{color:#fff}.contact-redesign .contact-intro{max-width:750px;margin-bottom:42px}.contact-redesign .contact-intro h2{margin-bottom:14px}.contact-redesign .contact-intro p{color:#5d5d5d;font-size:18px;line-height:1.7;word-break:keep-all}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}.phone-panel,.channel-panel{border:1px solid #d3d0c9;border-radius:12px;padding:32px;min-height:350px}.phone-panel{background:#f6f5f1}.channel-panel{background:#fff}.contact-panel-label{display:block;color:#91564e;font-size:13px;font-weight:700;letter-spacing:.05em}.phone-panel strong{display:block;font:800 clamp(32px,3.5vw,52px)/1.25 'DM Sans',sans-serif;letter-spacing:-.05em;margin-top:19px;white-space:nowrap}.phone-panel p{margin:13px 0 26px;color:#555;font-size:16px}.phone-actions{display:flex;gap:9px;flex-wrap:wrap}.phone-actions a,.disabled-action{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:7px;background:#171b27;color:#fff;font-size:15px;font-weight:600}.phone-actions a:hover{background:#3b4256}.phone-actions svg{width:17px;height:17px}.disabled-action{background:#ddd;color:#777;cursor:not-allowed}.channel-panel h3{font-size:27px;line-height:1.3;margin:15px 0 20px;letter-spacing:-.06em}.channel-actions{display:grid;gap:8px}.channel-actions .inquiry-item{background:#171b27;border-color:#171b27}.channel-actions .inquiry-item:hover{background:#343e57}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #d3d0c9;margin-top:40px;padding-top:25px}.visit-details p{margin:8px 0 0}.visit-details a{display:inline-block;margin-top:8px;font-weight:700;border-bottom:1px solid #111}.visit-details a:hover{color:#91564e}@media(max-width:750px){.inquiry{width:100%}.inquiry-trigger{width:100%;text-align:left}.inquiry-panel{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;margin-top:12px;padding:15px}.inquiry:hover .inquiry-panel{display:none}.inquiry.open .inquiry-panel{display:block}.inquiry-grid{grid-template-columns:1fr}.contact-options,.visit-details{grid-template-columns:1fr}.phone-panel,.channel-panel{min-height:0;padding:24px}.phone-panel strong{font-size:clamp(30px,8vw,45px)}.phone-actions{flex-direction:column}.phone-actions a,.disabled-action{justify-content:center}.contact-redesign .contact-intro{margin-bottom:28px}}
