:root{--walnut:#3a2519;--walnut-deep:#2a1a11;--plate:#c9a66b;--brass:#8a6a36;--felt:#9b2c2c;--ink:#221a15;--muted:#6a5f58;--paper:#ffffff;--line:#e4dfda;--display:"Raleway","Pretendard Variable",Pretendard,"Apple SD Gothic Neo",sans-serif;--body:"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Segoe UI",sans-serif;--wrap:72rem;--gutter:clamp(1.25rem,4vw,2.5rem);--space:clamp(4rem,9vw,7rem)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.7;font-feature-settings:"kern"}html[lang=ko] body{word-break:keep-all;line-height:1.8}img{max-width:100%;height:auto;display:block}a{color:var(--brass);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--felt)}:focus-visible{outline:2px solid var(--felt);outline-offset:3px}h1,h2,h3{font-family:var(--display);font-weight:300;line-height:1.15;letter-spacing:.04em;margin:0 0 1rem}h1{font-size:clamp(2.5rem,6vw,4.25rem)}h2{font-size:clamp(1.625rem,3vw,2.25rem)}html[lang=ko] h1,html[lang=ko] h2{letter-spacing:-.01em;line-height:1.3}p{margin:0 0 1.1em}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.muted{color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:10;background:var(--paper);padding:.5rem 1rem}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;gap:2rem;min-height:5rem}.wordmark{font-family:var(--display);font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:1.05rem;color:var(--ink);text-decoration:none;margin-right:auto}.nav-desktop ul,.nav-mobile ul{list-style:none;margin:0;padding:0}.nav-desktop ul{display:flex;gap:1.75rem}.nav-desktop a,.nav-mobile a{color:var(--ink);text-decoration:none;font-size:.975rem;padding-block:.4rem}.nav-desktop a[aria-current=page]{border-bottom:2px solid var(--felt)}.nav-desktop .nav-portal{color:var(--brass)}.nav-desktop a:hover{color:var(--felt)}.lang-switch{font-size:.9rem;color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.2rem .8rem}.lang-switch:hover{color:var(--ink);border-color:var(--ink)}.nav-mobile{display:none;position:relative}.nav-mobile summary{cursor:pointer;list-style:none;font-size:.95rem;padding:.3rem 0}.nav-mobile summary::-webkit-details-marker{display:none}.nav-mobile ul{position:absolute;right:0;top:2.4rem;z-index:5;min-width:11rem;background:var(--paper);border:1px solid var(--line);padding:.5rem 0}.nav-mobile li a{display:block;padding:.55rem 1.1rem}.nav-mobile a[aria-current=page]{color:var(--felt)}@media (max-width:860px){.nav-desktop{display:none}.nav-mobile{display:block}.header-inner{gap:1rem}}.btn{display:inline-block;text-decoration:none;font-size:.975rem;font-weight:500;padding:.8rem 1.5rem;border-radius:2px;border:1px solid transparent;cursor:pointer;font-family:var(--body)}.btn-plate{background:var(--plate);color:var(--walnut-deep)}.btn-plate:hover{background:#d8b981;color:var(--walnut-deep)}.btn-ghost{border-color:rgba(201,166,107,.6);color:var(--plate)}.btn-ghost:hover{border-color:var(--plate);color:#e6cc9c}.btn-walnut{background:var(--walnut);color:#fff}.btn-walnut:hover{background:var(--walnut-deep);color:#fff}.btn:disabled{opacity:.6;cursor:wait}.text-link{font-weight:500}.hero{position:relative;height:calc(100svh - 5rem);min-height:34rem;max-height:68rem;display:flex;align-items:flex-end;background:#0e0906;color:#fff;overflow:hidden}.hero-img-wide{object-fit:contain;object-position:50% 100%}.hero-img-back{object-fit:cover;object-position:50% 50%;filter:blur(28px) brightness(.45) saturate(1.1);transform:scale(1.1)}.hero-img-tall{display:none}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,8,0) 50%,rgba(20,12,8,.35))}.hero-content{position:relative;z-index:1;width:100%;padding-bottom:clamp(5rem,11%,9rem)}.hero-name{font-size:clamp(2.75rem,7vw,6rem);line-height:1;letter-spacing:.08em;font-weight:200;color:#fff;margin:0 0 1rem;text-shadow:0 2px 18px rgba(0,0,0,.55)}html[lang=ko] .hero-name{letter-spacing:0;line-height:1.1}.hero-tagline{font-family:var(--display);font-weight:300;letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.85rem,1.4vw,1.05rem);color:#fff;margin:0 0 1.75rem;text-shadow:0 1px 10px rgba(0,0,0,.6)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}@media (max-width:860px){.hero{min-height:0;max-height:none;height:auto;display:block}.hero-img-back,.hero-img-wide,.hero:after{display:none}.hero-img-tall{display:block;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1400/1484}.hero-content{background:var(--walnut-deep);padding-top:2rem;padding-bottom:2.5rem}}.statement{padding-block:clamp(4rem,10vw,8rem)}.statement p{font-family:var(--display);font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.3;max-width:24ch;margin:0;color:var(--ink)}html[lang=ko] .statement p{line-height:1.5}.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:clamp(2.5rem,7vw,6rem);gap:clamp(2.5rem,7vw,6rem);align-items:center;padding-bottom:var(--space)}.feature-reverse .feature-photo{order:2}.feature-text{max-width:32rem}.feature-text h2{font-size:clamp(1.875rem,3.4vw,2.75rem);margin-bottom:1.25rem}.feature-text p{font-size:1.125rem}.credentials{list-style:none;margin:1.75rem 0;padding:0}.credentials li{padding:.7rem 0;border-top:1px solid var(--line);color:var(--muted)}.credentials li:last-child{border-bottom:1px solid var(--line)}@media (max-width:860px){.feature{grid-template-columns:1fr;gap:2rem}.feature-reverse .feature-photo{order:0}}.split{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:center;padding-block:var(--space)}.split-top{align-items:start;padding-top:0}.prose,.split-text{max-width:36rem}@media (max-width:860px){.split{grid-template-columns:1fr}}.listen{background:#f4f1ec;padding-block:var(--space)}.listen .wrap>*{max-width:60rem}.contact-band{background:var(--walnut-deep);color:#efe6da;padding-block:clamp(4rem,8vw,6rem)}.contact-band h2{color:#fff;max-width:24ch;font-size:clamp(2rem,4vw,3rem)}.contact-band a:not(.btn){color:var(--plate)}.page-head{padding-top:clamp(3.5rem,8vw,6rem);padding-bottom:clamp(2rem,4vw,3rem)}.page-head h1{font-size:clamp(3rem,7vw,5.5rem);margin-bottom:.75rem}.lede{font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.625rem);max-width:34ch;color:var(--muted)}.page-band{position:relative;height:clamp(22rem,55vh,36rem);display:flex;align-items:flex-end;background:var(--walnut-deep)}.page-band img{object-fit:cover;object-position:40% 35%}.band-tall{display:none}@media (max-width:860px){.page-band{height:auto;aspect-ratio:4/5}.band-wide{display:none}.band-tall{display:block;object-position:50% 30%}}.page-band:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,12,8,.65))}.page-band-title{position:relative;z-index:1;width:100%;padding-bottom:clamp(1.5rem,4vw,3rem)}.page-band-title h1{color:#fff;font-size:clamp(3rem,7vw,5.5rem);margin:0}.prose-lg p{font-size:1.125rem}.rule-list{list-style:none;margin:0;padding:0}.rule-list li{padding:.85rem 0;border-top:1px solid var(--line)}.rule-list li:last-child{border-bottom:1px solid var(--line)}.about-lists{padding-top:0}.glance{padding-bottom:var(--space)}.glance dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:0 2.5rem;gap:0 2.5rem;margin:0;border-top:1px solid var(--ink)}.glance div{padding:1.1rem 0;border-bottom:1px solid var(--line)}.glance dt{font-size:.875rem;color:var(--muted);margin-bottom:.2rem}.glance dd{margin:0;font-family:var(--display);font-size:1.25rem;line-height:1.35}@media (max-width:860px){.glance dl{grid-template-columns:1fr 1fr}}@media (max-width:520px){.glance dl{grid-template-columns:1fr}}.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:start;padding-block:var(--space)}.about .prose{max-width:38rem}@media (max-width:860px){.about{grid-template-columns:1fr}.about-photo{max-width:28rem}}.band{margin:0}.band img{width:100%;max-height:78vh;object-fit:cover}.timeline{list-style:none;margin:0;padding:0;max-width:46rem}.timeline li{display:grid;grid-template-columns:5.5rem 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1.1rem 0;border-top:1px solid var(--line)}.timeline li:last-child{border-bottom:1px solid var(--line)}.timeline .year{font-family:var(--display);font-size:1.375rem;color:var(--brass);line-height:1.3}.timeline .degree{display:block;font-weight:500}.timeline .school{display:block;color:var(--muted)}.rates{padding-block:0 var(--space)}.table-scroll{overflow-x:auto}.rates table{width:100%;border-collapse:collapse}.rates td,.rates th{text-align:left;padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--line);vertical-align:top}.rates thead th{font-size:.9rem;font-weight:500;color:var(--muted);border-bottom-color:var(--ink)}.rates tbody th{font-weight:500;white-space:nowrap}.rates .num{text-align:right;padding-right:0}.rates .price{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.2}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);padding-bottom:var(--space)}@media (max-width:860px){.two-col{grid-template-columns:1fr}}.plain-list{list-style:none;padding:0;margin:0}.plain-list li{padding:.3rem 0}.price-list{margin:1.5rem 0}.price-list div{display:flex;justify-content:space-between;gap:1.5rem;padding:.75rem 0;border-top:1px solid var(--line)}.price-list div:last-child{border-bottom:1px solid var(--line)}.price-list dt{margin:0}.price-list dd{margin:0;font-weight:500;white-space:nowrap;text-align:right}.recitals{padding-bottom:var(--space)}.gallery{column-count:3;column-gap:1rem}.gallery-item{display:block;width:100%;margin:0 0 1rem;padding:0;border:0;background:none;cursor:zoom-in;page-break-inside:avoid;break-inside:avoid}.gallery-item img{width:100%;height:auto;display:block}.gallery-item:hover img{opacity:.92}@media (max-width:1100px){.gallery{column-count:2}}@media (max-width:700px){.gallery{column-count:1}}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(14,9,6,.94);cursor:zoom-out}.lightbox img{object-fit:contain;padding:3rem 1rem 3.5rem}.lightbox-caption{position:absolute;left:0;right:0;bottom:.75rem;margin:0;text-align:center;color:#d9cbbb;font-size:.9rem;padding:0 3rem}.lightbox-btn{position:absolute;background:none;border:0;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;padding:.5rem 1rem;opacity:.8}.lightbox-btn:hover{opacity:1}.lightbox-close{top:.5rem;right:.75rem}.lightbox-prev{left:.25rem}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:.25rem}.center-cta{margin-top:3rem;text-align:center}.video{margin:0 0 1.5rem}.video-frame{position:relative;aspect-ratio:16/9;background:var(--walnut-deep)}.video-frame button,.video-frame iframe,.video-frame img{position:absolute;inset:0;width:100%;height:100%;border:0}.video-frame button{padding:0;cursor:pointer;background:none}.video-frame img{object-fit:cover}.video-frame .play{left:50%;width:4.5rem;height:4.5rem;border-radius:50%;background:rgba(42,26,17,.85);border:1px solid var(--plate)}.video-frame .play,.video-frame .play:after{position:absolute;top:50%;transform:translate(-50%,-50%)}.video-frame .play:after{content:"";left:54%;border-style:solid;border-width:.7rem 0 .7rem 1.15rem;border-color:transparent transparent transparent var(--plate)}.video-frame button:focus-visible .play,.video-frame button:hover .play{background:var(--felt)}.video figcaption{margin-top:.6rem;color:var(--muted);font-size:.95rem}.video-list{display:grid;grid-gap:2.5rem;gap:2.5rem;padding-bottom:var(--space)}.video-list>*{max-width:56rem;width:100%}.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);padding-bottom:var(--space);align-items:start}@media (max-width:860px){.contact{grid-template-columns:1fr}}.form{display:grid;grid-gap:1.1rem;gap:1.1rem;max-width:34rem}.form label{display:grid;grid-gap:.35rem;gap:.35rem}.form label>span{font-size:.95rem;font-weight:500}.form input,.form select,.form textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid #cfc7c0;border-radius:2px;padding:.7rem .8rem;width:100%}.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--felt);outline-offset:0;border-color:var(--felt)}.form small{color:var(--muted);font-size:.875rem}.form .btn{justify-self:start}.hp{position:absolute;left:-9999px}.form-status{padding:1rem 1.25rem;border-left:3px solid}.form-status.ok{border-color:var(--brass);background:#f7f3ec}.form-status.err{border-color:var(--felt);background:#fbf1f1}.site-footer{background:var(--walnut-deep);color:#bfae9c;font-size:.925rem}.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-block:2.5rem}.footer-inner p{margin:0}.site-footer a{color:#d9cbbb;text-decoration:none}.site-footer a:hover{color:var(--plate)}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@keyframes hero-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes hero-settle{0%{opacity:.4;transform:scale(1.06)}to{opacity:1;transform:none}}.hero-img-tall,.hero-img-wide{animation:hero-settle 1.8s cubic-bezier(.2,.7,.2,1) both;transform-origin:50% 80%}.hero-actions,.hero-name,.hero-tagline{animation:hero-rise 1s cubic-bezier(.2,.7,.2,1) both}.hero-name{animation-delay:.35s}.hero-tagline{animation-delay:.7s}.hero-actions{animation-delay:.95s}@media (prefers-reduced-motion:reduce){.hero-actions,.hero-img-tall,.hero-img-wide,.hero-name,.hero-tagline{animation:none}}html[lang=ko] .hero-tagline{text-transform:none;letter-spacing:.04em;font-size:clamp(1rem,1.8vw,1.25rem)}html[lang=ko] .wordmark{text-transform:none;letter-spacing:.06em;font-size:1.25rem}@media (max-width:700px){.rates thead{display:none}.rates table,.rates tbody{display:block}.rates tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"len price" "desc desc";grid-gap:.25rem 1rem;gap:.25rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.rates tbody:first-of-type tr:first-child{border-top:1px solid var(--ink)}.rates td,.rates th{display:block;padding:0;border:0}.rates tbody th{grid-area:len;font-size:1.05rem}.rates td.price{grid-area:price;text-align:right}.rates td:not(.price){grid-area:desc;color:var(--muted)}}