:root{--surface:#f7f3ea;--surface-alt:#ede8db;--ink:#343b31;--ink-muted:#626557;--accent:#49563d;--accent-ink:#fffcf5;--focus-ring:var(--accent);--sun:#e9ae54;--clay:#c98064;--sage:#a8b28a;--line:#cfcdbf;--header-background:color-mix(in srgb, var(--surface) 94%, transparent);--header-line:color-mix(in srgb, var(--line) 72%, transparent);--header-shadow:0 1rem 2rem #343b311a;--dialog-backdrop:#121610cc;--font-display:"Hahmlet", Batang, serif;--font-body:"Pretendard", "Malgun Gothic", sans-serif;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--measure:42rem;--container-normal:80rem;--container-wide:100rem;--page-pad:4rem;--header-block-size:5.3125rem;--radius-pill:999px;--radius-sm:.25rem;--radius-md:.5rem;--dur-quick:.22s;--ease-out:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--surface)}body{background:var(--surface);color:var(--ink);font:400 17px/1.75 var(--font-body);word-break:keep-all;overflow-wrap:break-word;font-synthesis:none;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.18em}button,summary{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:4px}[id]{scroll-margin-top:6rem}.shell{width:min(calc(100% - (var(--page-pad) * 2)), var(--container-normal));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-reveal]{transition:opacity .68s cubic-bezier(.22,1,.36,1),translate .68s cubic-bezier(.22,1,.36,1)}[data-reveal].motion-pending{opacity:0;translate:0 20px}[data-reveal].motion-instant{transition:none}.skip-link{z-index:20;left:var(--space-4);background:var(--ink);color:var(--accent-ink);transition:top var(--dur-quick) var(--ease-out);padding:.75rem 1rem;text-decoration:none;position:fixed;top:-5rem}.skip-link:focus{top:var(--space-4)}.eyebrow{margin:0 0 var(--space-4);color:var(--ink-muted);letter-spacing:.12em;font-size:.875rem;font-weight:600;line-height:1.4}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;font-weight:800}h1{margin-bottom:var(--space-5);font-size:clamp(2.75rem,5.65vw,6rem);line-height:1.25}h2{margin-bottom:var(--space-5);font-size:2.75rem;line-height:1.25}h3{margin-bottom:0;font-size:1.5625rem;line-height:1.3}.section{padding-block:7rem}.button{border-radius:var(--radius-sm);min-height:3rem;transition:translate var(--dur-quick) var(--ease-out), background-color var(--dur-quick) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{translate:0 -2px}.button--olive{background:var(--accent);color:var(--accent-ink)}.text-link{text-underline-offset:.3em;align-items:center;gap:.5rem;min-height:3rem;font-weight:600;text-decoration-thickness:1px;display:inline-flex}.text-link span{font-size:1.15em}.phone-link{white-space:nowrap}.site-header{z-index:10;border-bottom:1px solid var(--header-line);background:var(--header-background);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-5);min-height:5.25rem;display:flex}.wordmark{min-height:44px;font-family:var(--font-display);align-content:center;font-weight:800;line-height:1;text-decoration:none;display:inline-grid}.wordmark>span{letter-spacing:-.08em;font-size:1.65rem}.wordmark small{font:600 .875rem/1 var(--font-body);letter-spacing:.13em;margin-top:.24rem}.desktop-nav{align-items:center;gap:clamp(1rem,2.5vw,2.5rem);font-size:.9rem;font-weight:600;display:flex}.desktop-nav a{align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-grid}.desktop-nav>a:not(.nav-consult){position:relative}.desktop-nav>a:not(.nav-consult):after{content:"";transform-origin:0;height:1px;transition:scale var(--dur-quick) var(--ease-out);background:currentColor;position:absolute;bottom:.55rem;left:0;right:0;scale:0 1}.desktop-nav>a:not(.nav-consult):hover:after,.desktop-nav>a:not(.nav-consult):focus-visible:after{scale:1}.nav-consult{border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);padding-inline:1rem}.mobile-actions{align-items:center;gap:.25rem;display:none}.header-contact,.mobile-menu summary{cursor:pointer;place-items:center;min-width:44px;min-height:44px;padding-inline:.5rem;font-size:.875rem;font-weight:600;text-decoration:none;display:grid}.mobile-menu{position:relative}.mobile-menu summary{list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{z-index:1;border:1px solid var(--line);background:var(--surface);min-width:13rem;box-shadow:var(--header-shadow);padding:.5rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0}.mobile-menu nav a{align-items:center;min-height:44px;padding:.5rem .75rem;text-decoration:none;display:grid}.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:var(--surface-alt)}.hero{min-height:calc(100svh - var(--header-block-size));isolation:isolate;height:auto;padding-block:clamp(24px,5svh,72px);display:grid;position:relative;overflow:clip}.hero-background{z-index:-1;transform-origin:50%;will-change:transform;margin:0;position:absolute;inset:-3rem 0}.hero-background img{object-fit:cover;object-position:center;width:100%;max-width:none;height:100%}.hero-grid{width:min(calc(100% - (var(--page-pad) * 2)), var(--container-normal));align-self:start;position:relative}.hero-copy{max-width:40rem}.hero-copy h1{font-size:clamp(44px,6.25vw,64px)}.hero-copy .eyebrow{color:var(--accent)}.hero-lead{max-width:32rem;margin-bottom:var(--space-6);color:var(--ink-muted)}.hero-actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.intro{background:var(--surface-alt);position:relative}.intro:after{content:"";opacity:.1;pointer-events:none;background:url(/media/generated/abstract-paper-1536.webp) 50%/cover no-repeat;position:absolute;inset:0}.intro-grid{z-index:1;grid-template-columns:minmax(0,1.12fr) minmax(16rem,.88fr);align-items:center;gap:clamp(2.5rem,8vw,8rem);display:grid;position:relative}.intro-image{position:relative}.intro-image img{aspect-ratio:4/3;width:100%;height:auto}.intro-image p{background:var(--surface);margin:0;padding:.25rem .5rem;font-size:.875rem;position:absolute;bottom:0;right:.75rem}.intro-copy{max-width:31rem}.intro-copy>p:last-child{color:var(--ink-muted);margin-bottom:0}.section-heading{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(15rem,.7fr);align-items:end;margin-bottom:clamp(3rem,6vw,6rem);display:grid}.section-heading>.eyebrow,.section-heading h2{grid-column:1}.section-heading>h2{margin-bottom:0}.section-heading>p:last-child{max-width:26rem;color:var(--ink-muted);grid-column:2;margin:0}.class-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.class-list li{gap:var(--space-5);border-bottom:1px solid var(--line);grid-template-columns:5.5rem minmax(10rem,.7fr) minmax(12rem,.8fr) minmax(14rem,1.5fr);align-items:baseline;padding-block:clamp(1.75rem,3.5vw,3.25rem);display:grid}.class-number{color:var(--ink-muted);font:800 1rem/1 var(--font-display)}.class-ages,.class-courses{color:var(--ink-muted);margin:0;font-size:.93rem}.class-program{align-self:start}.class-fees{margin:var(--space-2) 0 0;flex-wrap:wrap;gap:.25rem .75rem;font-size:.93rem;display:flex}.class-fees span{white-space:nowrap}.class-fees span[aria-hidden=true]{display:none}.gallery{--focus-ring:var(--accent-ink);background:var(--accent);color:var(--accent-ink)}.gallery .eyebrow{color:var(--accent-ink)}.gallery-heading{align-items:end;gap:var(--space-7);margin-bottom:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(15rem,.65fr);display:grid}.gallery-heading h2{margin-bottom:0}.gallery-heading>p{max-width:24rem;color:color-mix(in srgb, var(--accent-ink) 76%, transparent);margin:0}.gallery-filters{margin-bottom:var(--space-6);border-bottom:1px solid color-mix(in srgb, var(--accent-ink) 30%, transparent);flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.gallery-filters[hidden]{display:none}.gallery-filters button{min-width:44px;min-height:44px;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding-inline:.5rem;font-weight:600}.gallery-filters button[aria-pressed=true]{border-color:var(--sun);color:var(--accent-ink)}.gallery-filters span{margin-left:.2rem;font-size:.875rem}.gallery-grid{gap:1rem;max-width:60rem;margin-inline:auto;display:grid}.gallery-grid.is-enhanced{max-width:none}.gallery-row{gap:1rem;min-width:0;display:grid}.gallery-card{min-width:0;display:block}.gallery-card img{width:100%;height:auto;transition:scale var(--dur-quick) var(--ease-out)}.gallery-card:hover img,.gallery-card:focus-visible img{scale:1.015}.reviews{background:var(--sun)}.reviews-content{max-width:var(--measure)}.reviews .eyebrow{color:var(--ink)}.reviews-content>p:not(.eyebrow){max-width:31rem;margin-bottom:var(--space-5)}.inquiry{--focus-ring:var(--accent-ink);background:var(--accent);color:var(--accent-ink);position:relative;overflow:clip}.inquiry-grid{grid-template-columns:minmax(0,.95fr) minmax(18rem,.9fr);gap:clamp(3rem,9vw,10rem);display:grid;position:relative}.inquiry .eyebrow{color:var(--accent-ink)}.inquiry h2{z-index:1;position:relative}.inquiry-grid>div>p:not(.eyebrow){z-index:1;max-width:28rem;color:color-mix(in srgb, var(--accent-ink) 78%, transparent);position:relative}.inquiry-details{z-index:2;background:color-mix(in srgb, var(--accent-ink) 25%, transparent);align-content:start;align-self:start;gap:1px;display:grid;position:relative}.contact-card,.visit-card{background:var(--accent);padding:clamp(1.25rem,2.5vw,2rem);display:block}.contact-card{min-height:7rem;text-decoration:none}.contact-card span{color:var(--accent-ink);margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.contact-card strong{font:600 clamp(1.5rem, 3vw, 2.25rem)/1.2 var(--font-body);letter-spacing:-.035em}.visit-card p{color:color-mix(in srgb, var(--accent-ink) 84%, transparent);margin-bottom:.4rem;font-size:.93rem}.visit-card p:last-of-type{margin-bottom:1rem}.text-link--light{color:var(--accent-ink)}.inquiry-moon{z-index:1;aspect-ratio:1;width:min(100%,320px);height:auto;margin-top:var(--space-6);opacity:1;pointer-events:none;position:relative}.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(20rem,1.2fr);gap:clamp(3rem,11vw,11rem);display:grid}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;align-items:center;min-height:4rem;padding:.75rem 2.2rem .75rem 0;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font:400 1.6rem/1 var(--font-body);position:absolute;right:.15rem}.faq-list details{position:relative}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:40rem;color:var(--ink-muted);margin:0;padding:0 2.2rem 1.5rem 0;font-size:.95rem}.social{background:var(--surface-alt)}.social-content{gap:var(--space-7);grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);align-items:end;display:grid}.social-heading h2{margin-bottom:0}.social-content ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.social-content li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:3.4rem;display:flex}.social-content small{color:var(--ink-muted)}.site-footer{--focus-ring:var(--accent-ink);background:var(--ink);color:var(--accent-ink);padding-block:4rem 2rem}.footer-grid{gap:var(--space-5);grid-template-columns:1.2fr 1fr auto;align-items:end;display:grid}.footer-wordmark{font:800 clamp(3.5rem, 9vw, 8rem)/.8 var(--font-display);letter-spacing:-.11em;margin:0}.footer-subtitle{letter-spacing:.14em;margin:.75rem 0 0;font-size:.875rem;font-weight:600}.site-footer address{color:color-mix(in srgb, var(--accent-ink) 76%, transparent);gap:.2rem;font-size:.875rem;font-style:normal;display:grid}.site-footer address a{min-height:44px;color:var(--accent-ink);align-items:center;display:inline-flex}.copyright{color:color-mix(in srgb, var(--accent-ink) 60%, transparent);white-space:nowrap;margin:0;font-size:.875rem}.not-found{align-content:center;justify-items:start;min-height:100svh;display:grid}dialog{--focus-ring:var(--accent-ink);width:min(92vw,76rem);max-width:none;max-height:92svh;color:var(--accent-ink);background:0 0;border:0;margin:auto;padding:0;position:fixed;inset:0}html.dialog-open,html.dialog-open body{overflow:hidden}dialog::backdrop{background:var(--dialog-backdrop)}.dialog-frame{background:var(--ink);place-items:center;max-height:92svh;padding:3.5rem 1rem 1rem;display:grid;position:relative}.dialog-frame img{object-fit:contain;width:auto;max-height:calc(92svh - 7rem)}.dialog-frame p{width:100%;margin:.65rem 0 0;font-size:.875rem}.dialog-close{z-index:1;border:1px solid color-mix(in srgb, var(--accent-ink) 45%, transparent);background:var(--ink);width:44px;height:44px;color:var(--accent-ink);cursor:pointer;place-items:center;font-size:1.8rem;line-height:1;display:grid;position:absolute;top:.5rem;right:.5rem}@media (width<=780px){:root{--page-pad:1.5rem;--header-block-size:4.5625rem}.desktop-nav{display:none}.mobile-actions{display:flex}.header-inner{min-height:4.5rem}h2{font-size:1.875rem}h3{font-size:1.375rem}.section{padding-block:4.5rem}.intro-grid,.section-heading,.gallery-heading,.inquiry-grid,.faq-grid,.social-content,.footer-grid{grid-template-columns:1fr}.intro-grid,.inquiry-grid{gap:var(--space-7)}.intro-copy{max-width:var(--measure)}.section-heading{gap:0}.section-heading>p:last-child{margin-top:var(--space-5);grid-column:1}.class-list li{gap:.5rem var(--space-4);grid-template-columns:3rem 1fr}.class-list li>p,.class-program{grid-column:2}.class-number{grid-row:span 3}.gallery-heading{gap:0}.gallery-heading>p{margin-top:var(--space-5)}.gallery-grid,.gallery-row{gap:.75rem}.inquiry-moon{width:min(100%,15rem)}.faq-grid{gap:var(--space-7)}.social-content,.footer-grid{gap:var(--space-6)}.copyright{white-space:normal}}@media (width>=781px) and (aspect-ratio>=6/5){.hero-grid{align-self:center}.hero-copy{max-width:min(46vw,40rem)}.hero-copy h1{font-size:clamp(40px,5.4vw,80px)}.hero-background img{object-position:90% center}}@media (width<=599px){.hero{padding-block:clamp(24px,4svh,40px)}.hero-background{inset-block:-1rem}.hero-background img{object-position:center top}.hero-copy{max-width:none}.hero-copy h1{max-width:none;font-size:44px}.hero-actions{gap:.75rem}.hero-actions .button{min-height:44px;padding-inline:1rem}.hero-actions .text-link{min-height:44px}}@media (width<=380px){:root{--page-pad:1.25rem}.hero-copy h1{letter-spacing:-.025em;font-size:40px}.gallery-filters{gap:.1rem .9rem}.gallery-filters button{font-size:.9rem}}@media (width<=599px) and (height<=740px){.hero-background img{object-position:center}}@media (width<=599px) and (height<=650px){.hero{padding-block:20px}.hero-copy .eyebrow{display:none}.hero-copy h1{margin-bottom:12px;font-size:32px;line-height:1.2}.hero-lead{margin-bottom:16px;font-size:.9375rem;line-height:1.6}.hero-actions{gap:12px}.hero-actions .button{min-height:44px;padding-block:10px}.hero-actions .text-link{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transform:none!important}}
