:root{--ink:#0C0C0C;--gold:#B8912E;--cream:#F6F3ED;--paper:#FFFEFC;--muted:#6D6760;--line:#E9E4DA;--shadow:0 26px 88px rgba(18,14,9,.15);--width:560px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 12% 0%,#e7dcc8 0,transparent 45%),linear-gradient(145deg,#eae6e0,#dcd3c4);color:var(--ink);font-family:Inter,"Noto Sans KR","Noto Sans JP","Noto Sans TC","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.62}a{color:inherit;text-decoration:none}button{font:inherit}img{width:100%;max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{overflow-wrap:anywhere}a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.site-shell{max-width:var(--width);margin:26px auto 40px;background:var(--paper);border:1px solid rgba(255,255,255,.7);border-radius:30px;box-shadow:var(--shadow);overflow:clip}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:100}.skip:focus{left:10px}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:13px 17px;background:rgba(255,254,252,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);gap:10px}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-icon{height:36px;width:36px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font:normal 25px/1 Georgia,serif;position:relative;flex:0 0 36px}.brand-icon>span{position:absolute;color:var(--gold);font:normal 9px/1 Arial,sans-serif;right:4px;top:4px}.brand-label{display:flex;flex-direction:column;min-width:0;line-height:1.2}.brand-label strong{font-size:11px;letter-spacing:.14em;white-space:nowrap}.brand-label small{color:#807a70;font-size:8px;font-weight:700;letter-spacing:.17em;margin-top:5px;white-space:nowrap}.language-picker{flex-shrink:0;display:flex;gap:3px;background:#f3f0ea;padding:3px;border:1px solid #eee8de}.lang{font-size:10px;font-weight:800;min-height:32px;min-width:35px;display:grid;place-items:center;padding:5px 7px;color:#7a736a;transition:background .2s ease,color .2s ease}.lang.active,.lang:hover{color:#fff;background:var(--ink)}.overline{display:block;color:var(--gold);font-weight:800;letter-spacing:.17em;font-size:10px;line-height:1.5}.hero{padding:17px 17px 11px}.photo{position:relative;overflow:hidden;background:linear-gradient(150deg,#c9bda8 0%,#433b34 62%,#181512 100%);isolation:isolate}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.photo-fallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;z-index:0;color:rgba(255,255,255,.53);font-family:Georgia,serif;font-size:58px;font-weight:400;letter-spacing:-.055em;line-height:.95;text-align:center;background:repeating-linear-gradient(125deg,transparent 0px,transparent 50px,rgba(255,255,255,.025) 51px,transparent 53px),radial-gradient(circle at 75% 25%,rgba(205,174,116,.5),transparent 48%)}.photo-fallback span{font-size:26px;color:var(--gold);vertical-align:top}.hero-image{aspect-ratio:1 / 1.02;border-radius:18px 18px 2px 2px}.hero-image img{object-position:center 35%}.hero-image-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(12,12,12,.25),rgba(12,12,12,0) 48%,rgba(12,12,12,.34));pointer-events:none}.hero-corner{position:absolute;top:19px;left:19px;z-index:3;color:#fff;border:1px solid rgba(255,255,255,.7);padding:7px 11px;font-size:10px;letter-spacing:.14em;font-weight:700}.hero-vertical{position:absolute;z-index:3;right:14px;bottom:20px;writing-mode:vertical-rl;color:rgba(255,255,255,.9);letter-spacing:.22em;font-size:9px;font-weight:800}.hero-copy{padding:30px 4px 19px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(49px,11vw,70px);line-height:.93;letter-spacing:-.065em;margin:12px 0 19px}.hero h1 em,.language-home h1 em{font-style:italic;color:var(--gold)}.hero-copy p{max-width:470px;font-size:14px;line-height:1.78;color:#59544f;margin-bottom:20px}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:51px;padding:11px 13px;font-size:12px;font-weight:800;line-height:1.45;transition:transform .2s ease,opacity .2s ease}.button:hover{transform:translateY(-2px);opacity:.91}.button-gold{background:var(--gold);color:#fff}.button-outline{border:1px solid #cac1b4;color:var(--ink);background:transparent}.button-black{background:var(--ink);color:#fff}.button-white{background:#fff;color:var(--ink)}.button-ghost{background:transparent;border:1px solid rgba(255,255,255,.42);color:#fff}.hero-scroll{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.18em;font-size:9px;color:#9b9388;margin-top:20px}.hero-scroll b{font-weight:400;font-size:19px;color:var(--gold)}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:5px 17px 12px;background:var(--line);border:1px solid var(--line)}.highlights>div{min-width:0;background:#fbfaf8;text-align:center;padding:15px 6px}.highlights strong{display:block;font-size:10px;font-weight:800;line-height:1.3;letter-spacing:.01em}.highlights span{display:block;margin-top:6px;font-size:8px;color:#958b7e;line-height:1.3;letter-spacing:.045em}.section{padding:49px 20px}.section-heading{margin-bottom:22px}.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(31px,6.5vw,42px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:10px 0 10px}.section-heading p{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:0}.statement{margin:15px 17px 0;padding:34px 26px 39px;position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:290px}.statement>.overline{color:#dbc082}.statement h2{font:normal clamp(30px,6.5vw,40px)/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:16px 0 15px;position:relative;z-index:1}.statement p{position:relative;z-index:1;color:#bfbab3;font-size:13px;line-height:1.84;max-width:400px;margin:0}.statement-watermark{position:absolute;right:-8px;bottom:-60px;font:normal 190px/.8 Georgia,serif;color:rgba(184,145,46,.12);pointer-events:none}.service-list{display:grid;gap:15px}.service-card{display:grid;grid-template-columns:38% 1fr;min-height:205px;border:1px solid var(--line);background:#fff;overflow:hidden}.service-photo{min-height:205px;border-right:1px solid var(--line)}.service-photo img{object-position:center center}.service-copy{padding:20px 19px;display:flex;flex-direction:column;justify-content:center;min-width:0}.service-copy .overline{font-size:9px}.service-copy h3{font-size:20px;line-height:1.25;margin:12px 0 8px;font-weight:700;letter-spacing:-.035em}.service-copy p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.service-card:nth-child(even){background:#f8f5ef}.director{background:#f3eee5;padding:20px 20px 45px}.director-photo{aspect-ratio:1.1/1;background:linear-gradient(150deg,#837766,#161411)}.director-photo img{object-position:center 25%}.director-content{padding:28px 5px 0}.director-content h2{font:normal clamp(38px,9vw,54px)/1 Georgia,serif;letter-spacing:-.06em;margin:9px 0 6px}.director-role{font-size:10px;font-weight:800;color:#8c806f;letter-spacing:.09em}.director-content h3{font-size:22px;line-height:1.4;font-weight:600;margin:28px 0 10px;letter-spacing:-.035em}.director-content>p{font-size:13px;color:#5f5953;line-height:1.85;margin:0 0 23px}.awards{list-style:none;margin:0;padding:0;border-top:1px solid #d9d0c1}.awards li{display:grid;grid-template-columns:86px 1fr;gap:15px;align-items:start;border-bottom:1px solid #d9d0c1;padding:12px 0;color:#4c4740;font-size:12px;line-height:1.5}.awards b{font-size:10px;letter-spacing:.08em;color:var(--gold)}.method{background:#fff}.steps{margin:25px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.step{display:flex;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line);padding:20px 0}.step-number{font:italic 24px/1 Georgia,serif;color:var(--gold);flex:0 0 31px}.step strong{display:block;font-size:12px;letter-spacing:.12em}.step p{color:var(--muted);font-size:12px;line-height:1.65;margin:6px 0 0}.gallery{background:var(--cream)}.gallery-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.gallery-card{background:#fff;min-width:0}.gallery-card:first-child{grid-column:1/-1}.gallery-photo{aspect-ratio:1.1/1}.gallery-card:first-child .gallery-photo{aspect-ratio:1.65/1}.gallery-caption{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:13px 11px;border:1px solid #e5ded5;border-top:0}.gallery-caption strong{font-size:11px;letter-spacing:-.02em;flex:1}.gallery-caption span{font-size:11px;color:var(--gold)}.gallery-note{font-size:10px;color:#93877a;margin:15px 0 0}.academy{padding:18px;background:#151515;color:#fff}.academy-photo{aspect-ratio:1.6/1;background:linear-gradient(130deg,#938473,#15100c)}.academy-copy{padding:28px 11px 23px}.academy-copy h2{font:normal 40px/1.03 Georgia,serif;letter-spacing:-.045em;margin:11px 0 16px}.academy-copy p{font-size:13px;color:#bbb5ac;line-height:1.84}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 25px}.chip{font-size:10px;padding:7px 10px;border:1px solid #6f6454;color:#dfd6c8}.text-link{font-size:12px;font-weight:800;color:#d8b76c;border-bottom:1px solid #d8b76c;display:inline-block;padding-bottom:5px}.visit{background:#fff}.visit-box{border:1px solid var(--line);background:#fdfcf9}.visit-details{padding:24px 21px}.visit-details .overline{margin-bottom:9px}.visit-details .overline:not(:first-child){margin-top:23px}.address{font-size:15px;font-weight:700;line-height:1.65;margin-bottom:0;word-break:keep-all}.hours{display:grid;grid-template-columns:1fr 1.45fr;gap:12px;border-top:1px solid var(--line);margin-top:12px;padding-top:15px}.hours span{font-size:11px;color:#82796d}.hours strong{font-size:11px;font-weight:800;line-height:1.5}.visit-details .action-row{margin-top:24px}.location-map{width:100%;height:270px;display:block;border:0;background:#e7e1d7}.final-cta{background:var(--ink);color:#fff;text-align:center;padding:46px 26px 51px}.final-cta h2{font:normal clamp(33px,8vw,49px)/1.06 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:15px 0}.final-cta p{font-size:13px;line-height:1.8;color:#bbb5ad;max-width:420px;margin:0 auto 24px}.contact-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.contact-links .button:first-child{grid-column:1 / -1}footer{background:#0d0d0d;color:#fff;border-top:1px solid #36322b;padding:26px 22px 36px}.footer-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-brand{font-size:16px;letter-spacing:.12em;font-weight:800}.footer-brand span{color:var(--gold);font-size:11px;vertical-align:top;margin-left:3px}.footer-top small{font-size:10px;color:#8a837c;max-width:120px;text-align:right}.footer-bottom{margin-top:32px;padding-top:15px;border-top:1px solid #28231e;display:flex;justify-content:space-between;gap:8px;color:#88817a;font-size:10px}.footer-bottom a{color:#d7b573}.mobile-contact{display:none}.language-home{min-height:700px;padding:65px 27px 50px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(184,145,46,.09),transparent 48%),#fff}.home-monogram{width:78px;height:78px;display:grid;place-items:center;margin:35px auto 30px;background:var(--ink);color:#fff;position:relative;font:normal 60px/1 Georgia,serif}.home-monogram span{position:absolute;top:11px;right:12px;color:var(--gold);font-size:13px}.language-home h1{font:normal clamp(48px,12vw,70px)/.96 Georgia,serif;letter-spacing:-.055em;margin:0}.home-intro{font-size:12px;color:var(--muted);margin:23px 0}.language-list{display:grid;gap:9px;max-width:410px;margin:27px auto 0}.language-card{display:grid;grid-template-columns:60px 1fr 30px;align-items:center;gap:12px;padding:15px 16px;border:1px solid #e1d9cc;text-align:left;background:#fbfaf8;transition:background .2s,border-color .2s}.language-card:hover{background:#f2ebdb;border-color:var(--gold)}.language-card span:first-child{font-size:10px;letter-spacing:.12em;color:var(--gold);font-weight:900}.language-card strong{font-size:15px}.language-card span:last-child{text-align:right;color:var(--gold)}.home-foot{font-size:10px;letter-spacing:.18em;color:#8e8577;margin-top:50px}.home-footer{text-align:center;background:#0c0c0c;padding:20px;color:#c5b9a5;font-size:10px}
@media (min-width:900px){.site-shell{margin:28px auto 44px}}
@media (max-width:600px){body{background:var(--paper)}.site-shell{max-width:none;width:100%;border:0;border-radius:0;margin:0;box-shadow:none}.topbar{padding:11px 13px}.hero{padding:13px 13px 8px}.hero-image{border-radius:0;aspect-ratio:1 / 1.08}.hero-copy{padding:27px 4px 19px}.highlights{margin:4px 13px 10px}.statement{margin:13px 13px 0}.section{padding:43px 17px}.director{padding:17px 17px 42px}.academy{padding:15px}.footer-bottom{padding-bottom:15px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:40;display:block;padding:10px 15px max(10px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #e2dbcd;backdrop-filter:blur(12px)}.mobile-contact a{display:block;padding:12px 15px;text-align:center;background:var(--gold);color:#fff;font-size:12px;font-weight:800}.site-shell footer{padding-bottom:82px}.language-home{min-height:calc(100dvh - 170px);padding-top:55px}}
@media (max-width:390px){.brand-icon{width:30px;height:30px;flex-basis:30px;font-size:22px}.brand-label strong{font-size:10px;letter-spacing:.1em}.brand-label small{font-size:7px}.lang{min-width:31px;padding:5px 5px;font-size:9px}.topbar{gap:5px;padding:10px}.hero h1{font-size:49px}.service-card{grid-template-columns:35% 1fr}.service-copy{padding:14px 12px}.service-copy h3{font-size:18px}.service-copy p{font-size:11px}.service-photo{min-height:200px}.highlights strong{font-size:9px}.highlights span{font-size:7px}}
@media (max-width:355px){.brand-label small{display:none}.lang{min-width:29px}.action-row{grid-template-columns:1fr}.service-card{grid-template-columns:36% 1fr}.section{padding:38px 14px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.brand-icon .brand-logo{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:contain;background:#fff}.brand-icon:has(.brand-logo[style*="display: none"]) .brand-logo{display:none}
