@font-face{font-family:"DANAH Serif";src:url("assets/NotoSerifKR.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"DANAH Sans";src:url("assets/NotoSansKR.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"DANAH JP Sans";src:url("assets/NotoSansJP.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"DANAH JP Serif";src:url("assets/NotoSerifJP.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap}
:root{--ink:#20211f;--muted:#71716c;--paper:#fff;--ivory:#f7f6f2;--line:#deddd7;--gold:#8e7955;--serif:"DANAH Serif",Batang,"바탕","Noto Serif KR",Georgia,serif;--sans:"DANAH Sans","Noto Sans KR","Malgun Gothic",sans-serif;--header:124px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 26px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;word-break:keep-all;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}img{display:block;max-width:100%;height:auto}button:not(.button){background:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.wrap{width:min(1120px,calc(100% - 96px));margin-inline:auto}.section{padding-block:108px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.2em;line-height:1.5;color:var(--gold)}.skip-link{position:fixed;top:-80px;left:20px;background:#fff;padding:10px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid #eeeeea;backdrop-filter:blur(16px)}.brand-row{height:73px;display:flex;align-items:center;justify-content:space-between;position:relative}.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:165px}.brand img{width:100%}.brand-location{font-size:9px;letter-spacing:.17em;color:var(--muted)}.header-contact{padding:8px 0 8px 18px;font-size:11px}.header-contact span{margin-left:16px}.main-nav{height:50px;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-links{height:100%;display:flex;align-items:center;justify-content:center;gap:49px;width:max-content;min-width:100%;padding-inline:24px}.nav-links>a{font-size:12px;position:relative;height:100%;display:flex;align-items:center;color:#62645e;white-space:nowrap}.nav-links>a:after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--ink);content:"";transform:scaleX(0);transition:transform .2s}.nav-links>a:hover,.nav-links>a.active{color:var(--ink)}.nav-links>a.active:after{transform:scaleX(1)}.language{border-left:1px solid var(--line);padding-left:27px;font-size:11px;display:flex;gap:7px;align-items:center;white-space:nowrap}.language svg{width:14px;height:14px}
.hero{position:relative;background:#edeeee;height:625px;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:55%;height:100%;background:#eeeeee}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 19%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#edeeee 0%,rgba(237,238,238,.4) 15%,transparent 35%)}.hero-inner{height:100%;position:relative}.hero-copy{position:absolute;top:50%;transform:translateY(-54%);z-index:2}.hero-copy .eyebrow{color:#595f58;font-size:10px;letter-spacing:.19em;margin-bottom:26px}.hero h1{font-family:var(--serif);font-size:clamp(36px,4vw,55px);font-weight:400;line-height:1.5;letter-spacing:-.045em}.hero-description{font-size:13px;color:#64685f;line-height:2.1;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:36px}.button{min-height:49px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;line-height:1.6;font-size:12px;font-weight:500;border:1px solid transparent;transition:background .2s,color .2s}.button span{font-size:17px}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#41443c}.button.light{background:#f2f0e9;color:var(--ink)}.button.light:hover{background:#fff}.button.outline{background:transparent;border-color:#b7b8b0}.button.outline:hover{background:#edede7}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;padding:6px 0;border:0;border-bottom:1px solid #c8c9c0;line-height:1.8;transition:color .2s}.text-link:hover{color:var(--gold)}.text-link span{font-size:18px}.hero-caption{position:absolute;right:0;bottom:38px;display:flex;flex-direction:column;gap:4px;color:#fff;text-shadow:0 1px 10px #0005}.hero-caption span{font-size:8px;letter-spacing:.18em}.hero-caption strong{font-weight:400;font-size:17px;letter-spacing:.1em}.scroll-cue{position:absolute;left:0;bottom:30px;font-size:9px;letter-spacing:.05em;color:#6e736d;display:flex;align-items:center;gap:30px}.scroll-cue span{font-size:20px}.intro-strip{min-height:61px;display:flex;gap:45px;align-items:center;justify-content:center;border-bottom:1px solid #e8e8e2;font-size:11px;color:#595e55}.intro-strip i{width:3px;height:3px;background:#a29c8f;border-radius:50%}
.section-heading{margin-bottom:54px}.section-heading h2,.education-copy h2,.access-heading h2{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.55;letter-spacing:-.045em;margin-top:17px}.section-heading>p:not(.eyebrow),.access-heading>p:not(.eyebrow){font-size:13px;line-height:2;color:var(--muted);margin-top:23px}.centered{text-align:center}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.story{text-align:left;padding:0;min-width:0}.story-photo{display:block;position:relative;overflow:hidden;aspect-ratio:4/4.7;background:#eeece7}.story-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s;filter:saturate(.6)}.story:nth-child(1) .story-photo img{object-position:52% 40%}.story:nth-child(2) .story-photo img{object-position:60% 40%}.story:nth-child(3) .story-photo img{object-position:35% 50%}.story:hover .story-photo img{transform:scale(1.035)}.expand-icon{position:absolute;right:14px;bottom:14px;background:#fffdf8db;width:32px;height:32px;text-align:center;line-height:32px;font-size:17px}.story-meta{display:flex;flex-direction:column;margin-top:19px;gap:7px}.story-meta>span{font-size:9px;letter-spacing:.13em;color:var(--gold)}.story-meta strong{font-size:16px;font-weight:400}.artist-line{border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;align-items:center;justify-content:space-between}.artist-line p{font-size:12px;color:var(--muted)}.artist-line p span{font-family:Georgia,serif;font-size:19px;color:var(--ink);margin-right:20px}.artist-line .text-link{font-size:10px;border:0}
.price-section{background:var(--ivory)}.split-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.split-heading>p{font-size:12px!important;margin-bottom:5px}.menu-group{display:grid;grid-template-columns:230px 1fr;border-top:1px solid #b0b1a5;padding-top:5px}.menu-group+.menu-group{margin-top:40px}.menu-category{padding-top:28px}.menu-category>span{font-family:Georgia,serif;font-size:12px;color:var(--gold)}.menu-category h3{font-size:24px;margin-top:5px}.menu-category p{font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:2px}.menu-item{width:100%;min-height:117px;padding:25px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;text-align:left;border-bottom:1px solid #deded5;transition:padding .2s}.menu-item:last-child{border:0}.menu-item:hover{padding-left:8px}.menu-detail{display:flex;flex-direction:column;gap:7px}.menu-detail strong{font-size:19px;font-weight:500}.menu-detail>span{font-size:12px;color:var(--muted)}.price-value{font-family:Georgia,serif;font-size:28px;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;align-items:baseline;gap:6px}.price-value small{font-family:var(--sans);font-size:12px;margin-left:2px}.menu-arrow{font-family:var(--sans);font-size:19px;color:#888b7b;margin-left:25px}.menu-footer{border-top:1px solid #b0b1a5;padding-top:27px;margin-top:10px;display:flex;align-items:center;justify-content:space-between}.menu-footer p{color:var(--muted);font-size:12px}.menu-footer .text-link{font-size:12px;border:0}
.education-section{background:#252823;color:#f5f3ed;padding-bottom:45px}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:stretch}.education-visual{position:relative;min-height:566px;overflow:hidden}.education-visual>img{height:100%;width:100%;object-fit:cover;object-position:37% center;filter:saturate(.45)}.education-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1117)}.education-image-caption{position:absolute;z-index:1;bottom:32px;left:30px;display:flex;flex-direction:column;gap:9px}.education-image-caption span{font-size:9px;letter-spacing:.18em;color:#eee}.education-image-caption strong{font-family:var(--serif);font-weight:400;font-size:27px}.education-copy .eyebrow{color:#bcb39f}.education-copy h2{font-size:37px;line-height:1.5;margin-top:18px}.education-description{font-size:12px;color:#c6c9be;margin-top:22px;line-height:2}.course-facts{margin:30px 0 0;border-top:1px solid #5d6154;border-bottom:1px solid #5d6154;padding:10px 0 14px}.course-facts>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;gap:10px}.course-facts dt{font-size:12px;color:#c4c6bc}.course-facts dd{margin:0;font-size:14px}.course-facts .course-price{font-family:Georgia,serif;font-size:27px}.course-price small{font-family:var(--sans);font-size:11px;margin-left:7px}.included{margin-top:23px}.included h3{font-size:11px;font-weight:400;color:#babeb0}.included p{display:flex;margin-top:12px;gap:20px;font-size:13px}.included p span+span:before{content:"/";color:#777c6e;margin-right:20px}.pickup-note{font-size:10px;color:#b5b9ac;line-height:1.9;margin-top:21px}.education-copy>.button{margin-top:28px;min-width:230px}.education-location{margin-top:53px;border-top:1px solid #5d6154;padding-top:25px;display:flex;gap:36px;align-items:center;font-size:12px}.education-location>span{color:#b0b5a6;font-size:10px}.education-location>a{margin-left:auto;color:#d9dbd1;font-size:11px}.education-location>a span{margin-left:20px}
.reservation-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.reservation-steps li{text-align:center;padding:8px 20px 15px;position:relative}.reservation-steps li+li{border-left:1px solid var(--line)}.step-number{font-family:Georgia,serif;font-size:37px;font-weight:400;color:#a08c69}.reservation-steps h3{font-size:17px;margin-top:15px}.reservation-steps p{font-size:12px;color:var(--muted);line-height:1.95;margin-top:12px}.reservation-cta{text-align:center;margin-top:43px}.reservation-cta>p{font-size:10px;color:var(--muted);margin-top:13px}.faq{margin-top:90px;border-top:1px solid #b7b9ae;display:grid;grid-template-columns:280px 1fr;padding-top:36px;gap:20px}.faq-title h3{font-size:23px;font-weight:400;margin-top:12px}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{list-style:none;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;gap:20px;padding:20px 0}.faq-items details:first-child summary{padding-top:0}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary>span:last-child{font-family:Georgia,serif;font-size:20px;line-height:1.1;font-weight:400;color:#888}.faq-items details[open] summary>span:last-child{transform:rotate(45deg)}.faq-items details>p{font-size:12px;line-height:2;color:var(--muted);padding:0 34px 22px 0}
.access-section{background:var(--ivory)}.access-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;align-items:center}.access-heading .text-link{margin-top:30px;font-size:11px}.address-card{position:relative;background:#e9e9e1;min-height:307px;padding:42px;overflow:hidden}.address-card>.eyebrow{color:#686e5d;font-size:10px}.address-main{font-size:24px;font-weight:400;line-height:1.8;margin-top:26px;position:relative}.address-main strong{font-weight:500}.address-symbol{position:absolute;right:-20px;top:-18px;width:170px;height:170px;object-fit:contain;opacity:.045}.address-bottom{margin-top:30px;padding-top:18px;border-top:1px solid #c6c9bb;display:flex;justify-content:space-between;align-items:center;gap:20px}.address-bottom>span{font-size:10px;color:#6c7260}.address-bottom .text-link{font-size:10px;border:0;gap:10px}.address-bottom svg{width:14px;height:14px}.closing{padding:90px 0;text-align:center}.closing .eyebrow{font-size:9px}.closing h2{font-family:var(--serif);font-size:32px;font-weight:400;letter-spacing:-.05em;margin-top:20px}.closing .wrap>div{display:flex;justify-content:center;gap:10px;margin-top:30px}.closing .button{min-width:162px}.site-footer{background:#f6f6f3;border-top:1px solid #e4e5de;padding:42px 0 27px}.footer-main{display:flex;align-items:center;gap:45px}.footer-main>a{width:130px}.footer-main>p{font-size:10px;color:var(--muted);line-height:1.9}.footer-links{margin-left:auto;display:flex;gap:26px;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:#898c81}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,15px);opacity:0;visibility:hidden;z-index:100;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 5px 35px #0002;padding:12px 22px;font-size:12px;text-align:center;transition:opacity .2s,transform .2s;width:max-content;max-width:85vw}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
dialog{color:var(--ink);border:0;padding:0;max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#181d18a6;backdrop-filter:blur(5px)}.inquiry-dialog{width:min(570px,calc(100% - 32px));background:var(--ivory);padding:28px 35px 35px}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-top>span{font-family:Georgia,serif;font-size:23px;letter-spacing:.07em}.icon-button{font-size:29px;font-weight:300;line-height:1;width:36px;height:36px;padding:0;display:flex;justify-content:center;align-items:center}.inquiry-dialog h2{font-size:23px;font-weight:400;line-height:1.5;margin-top:12px;letter-spacing:-.04em}.dialog-description{font-size:12px;color:var(--muted);margin-top:10px}#inquiry-form{margin-top:24px}#inquiry-form label{display:block;font-size:11px;margin-bottom:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-size:9px;color:#888;margin-left:4px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cccec2;border-radius:0;background:#fff;padding:11px;font-size:12px;margin-top:6px;line-height:1.7}input,select{height:46px}textarea{resize:vertical}#inquiry-message{background:#edeee7;color:#555b4c;font-size:11px;min-height:122px}.connection-note{font-size:10px;color:#6d7464;line-height:1.85}.dialog-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.dialog-actions .button{flex:1;justify-content:center;font-size:11px}.gallery-dialog{background:#f7f6f2;max-width:min(880px,90vw);width:max-content;overflow:visible;max-height:90dvh}.gallery-dialog>img{max-height:78dvh;max-width:90vw;width:auto;object-fit:contain}.gallery-dialog>p{font-size:12px;text-align:center;padding:15px 40px;max-width:85vw}.gallery-close{position:absolute;right:12px;top:12px;background:white!important;color:var(--ink);box-shadow:0 2px 9px #0002;z-index:1}.noscript-note{padding:20px;text-align:center;font-size:12px;background:var(--ivory)}
@media(min-width:1600px){.hero{height:720px}.hero-photo{width:52%}.hero-copy{transform:translateY(-50%)}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.nav-links{gap:32px}.hero{height:590px}.hero h1{font-size:43px}.hero-photo{width:59%;right:-6%}.hero-actions{gap:18px}.hero-actions .text-link{font-size:10px}.hero-caption{right:0}.section{padding-block:82px}.education-grid{gap:40px}.education-copy h2{font-size:31px}.education-visual{min-height:560px}.menu-group{grid-template-columns:180px 1fr}.faq{grid-template-columns:220px 1fr}.access-grid{gap:40px}.address-card{padding:32px}.address-main{font-size:21px}.hero .button{padding-inline:18px;gap:25px}}
@media(max-width:700px){:root{--header:106px}.wrap{width:calc(100% - 40px)}.brand-row{height:61px}.brand{width:135px}.brand-location{font-size:7px;letter-spacing:.08em;max-width:68px;line-height:1.5}.header-contact{font-size:10px}.header-contact span{margin-left:4px}.main-nav{height:44px}.nav-links{justify-content:flex-start;gap:27px;padding-inline:20px}.nav-links>a{font-size:11px}.language{font-size:10px;padding-left:20px}.hero{height:690px;background:#edeeee}.hero-photo{top:210px;right:-20px;width:86%;height:480px}.hero-photo img{object-position:50% 22%}.hero-photo:after{background:linear-gradient(180deg,#edeeee 0%,transparent 21%),linear-gradient(90deg,#edeeee 0%,transparent 25%)}.hero-copy{top:42px;transform:none}.hero-copy .eyebrow{font-size:9px;margin-bottom:14px}.hero h1{font-size:34px;line-height:1.5;letter-spacing:-.055em}.hero-description{font-size:11px;line-height:1.9;margin-top:15px}.hero-actions{margin-top:24px;gap:17px}.hero .button{min-height:43px;font-size:10px;padding:10px 15px;gap:25px}.hero-actions .text-link{font-size:10px;gap:7px}.hero-caption{right:0;bottom:25px}.hero-caption span{font-size:7px}.hero-caption strong{font-size:15px}.scroll-cue{bottom:24px;gap:20px;font-size:8px;max-width:130px}.intro-strip{gap:13px;min-height:55px;font-size:9px;padding:12px 15px}.intro-strip i{width:2px;height:2px}.section{padding-block:66px}.section-heading{margin-bottom:32px}.section-heading h2,.access-heading h2{font-size:29px;margin-top:14px}.section-heading>p:not(.eyebrow),.access-heading>p:not(.eyebrow){font-size:11px;margin-top:19px}.eyebrow{font-size:9px}.story-grid{gap:10px}.story-photo{aspect-ratio:3/4.5}.expand-icon{right:7px;bottom:7px;width:23px;height:23px;line-height:23px;font-size:14px}.story-meta{margin-top:12px;gap:4px}.story-meta>span{font-size:7px;letter-spacing:.05em}.story-meta strong{font-size:11px;line-height:1.7}.artist-line{margin-top:28px;padding-top:20px;gap:10px}.artist-line p{font-size:9px}.artist-line p span{font-size:14px;margin-right:9px}.artist-line .text-link{font-size:8px;gap:5px}.split-heading{display:block;margin-bottom:28px}.split-heading>p{font-size:11px!important;margin-top:16px!important}.menu-group{display:block;padding-top:0}.menu-group+.menu-group{margin-top:27px}.menu-category{padding-top:18px;display:flex;gap:10px;align-items:baseline;margin-bottom:6px}.menu-category>span{font-size:10px}.menu-category h3{font-size:19px;margin-top:0}.menu-category p{font-size:8px;margin-left:auto}.menu-item{min-height:96px;gap:10px;padding:22px 0}.menu-detail{gap:5px}.menu-detail strong{font-size:15px}.menu-detail>span{font-size:10px;line-height:1.7;max-width:190px}.price-value{font-size:23px;gap:2px}.price-value small{font-size:10px}.menu-arrow{font-size:16px;margin-left:6px}.menu-footer{align-items:start;gap:10px;flex-direction:column;padding-top:22px}.menu-footer p{font-size:11px}.menu-footer .text-link{font-size:11px}.education-section{padding-bottom:30px}.education-grid{display:flex;flex-direction:column;gap:34px}.education-visual{min-height:0;height:320px}.education-visual>img{object-position:center 40%}.education-image-caption{left:23px;bottom:21px}.education-image-caption strong{font-size:24px}.education-copy h2{font-size:31px}.education-description{font-size:11px;margin-top:18px}.course-facts{margin-top:25px}.course-facts .course-price{font-size:27px}.education-copy>.button{margin-top:23px;min-width:100%}.pickup-note{font-size:10px}.education-location{margin-top:30px;padding-top:21px;gap:10px;flex-wrap:wrap}.education-location p{font-size:11px}.education-location>a{font-size:10px}.education-location>a span{margin-left:6px}.reservation-steps{grid-template-columns:1fr;gap:0}.reservation-steps li{display:grid;grid-template-columns:48px 1fr;text-align:left;column-gap:19px;padding:23px 4px}.reservation-steps li+li{border-left:0;border-top:1px solid var(--line)}.step-number{grid-column:1;grid-row:1/3;font-size:32px;line-height:1.3}.reservation-steps h3{margin-top:0;font-size:16px;grid-column:2}.reservation-steps p{grid-column:2;margin-top:9px;font-size:11px}.reservation-steps br{display:none}.reservation-cta{margin-top:24px}.reservation-cta>.button{width:100%}.faq{margin-top:60px;display:block;padding-top:30px}.faq-title h3{font-size:21px;margin-top:8px}.faq-items{margin-top:28px}.faq-items summary{font-size:12px;gap:15px}.faq-items details>p{font-size:11px;padding-right:12px}.access-grid{grid-template-columns:1fr;gap:29px}.access-heading .text-link{margin-top:21px;font-size:11px}.address-card{min-height:280px;padding:29px}.address-main{font-size:23px}.address-bottom{margin-top:25px}.closing{padding:60px 0}.closing h2{font-size:26px}.closing .button{min-width:0;flex:1;max-width:180px;gap:25px;padding:12px 20px;font-size:11px}.site-footer{padding:30px 0 92px}.footer-main{gap:22px;flex-wrap:wrap}.footer-main>a{width:112px}.footer-main>p{font-size:9px}.footer-links{width:100%;justify-content:space-between}.footer-bottom{margin-top:23px;padding-top:16px;font-size:8px}.toast{bottom:76px;font-size:11px}.inquiry-dialog{padding:23px;max-height:92dvh}.inquiry-dialog h2{font-size:21px}.dialog-top{margin-bottom:18px}.form-row{gap:10px}.dialog-actions{display:grid;grid-template-columns:1fr}.gallery-dialog>p{font-size:10px;padding:13px 20px}.gallery-dialog>img{max-height:76dvh}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:31px}.hero-actions{gap:10px}.hero-actions .text-link{font-size:9px}.hero-photo{width:95%}.brand-location{visibility:hidden}.price-value{font-size:21px}.menu-detail>span{max-width:160px;font-size:9px}.intro-strip{gap:8px;font-size:8px}.artist-line{align-items:start;flex-direction:column}.education-location>a{margin-left:0}.included p{gap:14px}.included p span+span:before{margin-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* 작은 화면에서는 문의 버튼과 인물 사진에 각각 충분한 공간을 둡니다. */
@media(max-width:700px){.hero{height:720px}.hero-photo{top:315px;height:405px}.hero-caption{bottom:68px}.section-heading>p:not(.eyebrow),.access-heading>p:not(.eyebrow),.education-description,.reservation-steps p,.faq-items details>p{font-size:12px}.menu-detail>span{font-size:11px}.dialog-description{font-size:13px}.connection-note{font-size:12px}input,select,textarea{font-size:16px}.inquiry-dialog #inquiry-message{font-size:13px}}
.education-visual.education-video{width:100%;max-width:352px;height:auto;min-height:0;aspect-ratio:9/16;justify-self:center;align-self:center;background:#1b1d19}
.education-video:after{display:none}
.education-video>video{display:block;width:100%;height:100%;object-fit:contain}
.education-video .video-toggle{position:absolute;bottom:14px;right:14px;min-height:36px;padding:7px 13px;background:rgba(27,29,25,.82);color:white;border:1px solid #ffffff40;font-size:10px;line-height:1.6;backdrop-filter:blur(8px)}
.education-video .video-toggle:hover{background:#1b1d19}
@media(max-width:700px){.education-visual.education-video{max-width:350px;align-self:center}.education-video .video-toggle{min-height:40px;font-size:11px}}

/* 학동역에서 출발하는 실제 도보 경로와 촬영일이 있는 로드뷰 사진 */
.access-section .access-grid{grid-template-columns:1fr 1.3fr;gap:60px}.access-section .address-card{min-height:0;padding:32px 36px}.access-section .address-main{font-size:21px;margin-top:19px}.address-lot{font-size:12px;color:#69705f;margin-top:9px}.station-badge{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:25px;font-size:12px}.station-badge strong{font-weight:500}.station-badge>span:last-child{color:var(--muted);font-size:11px;margin-left:3px}.subway-line{display:inline-flex;justify-content:center;align-items:center;flex:none;width:24px;height:24px;background:#747f00;color:#fff;border-radius:50%;font-weight:600;line-height:1}.walking-guide{display:grid;grid-template-columns:1.12fr 1fr;margin-top:48px;background:#fff;border:1px solid var(--line)}.walking-map{margin:0;min-width:0;align-self:center;padding:20px}.route-image-button{display:block;position:relative;width:100%;padding:0;overflow:hidden;text-align:left}.route-image-button>img{width:100%;height:auto}.route-image-button:hover>.expand-icon{background:#fff}.walking-map figcaption{font-size:10px;color:var(--muted);padding-top:12px}.walking-copy{padding:36px 35px;border-left:1px solid var(--line)}.walking-copy h3{font-family:var(--serif);font-size:29px;line-height:1.6;letter-spacing:-.035em;margin-top:12px}.walking-steps{list-style:none;padding:0;margin:24px 0 27px}.walking-steps li{display:grid;grid-template-columns:27px 1fr;gap:14px;margin-top:20px}.route-number{font-family:Georgia,serif;font-size:17px;color:var(--gold);line-height:1.7}.walking-steps h4,.route-photo-caption h4{font-size:13px;font-weight:500;margin:0}.walking-steps p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:6px}.walking-steps strong{font-weight:500;color:#52574b}.route-directions{width:100%;gap:15px}.route-photos-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin:46px 0 22px}.route-photos-heading h3{font-size:20px;font-weight:400;line-height:1.7;letter-spacing:-.03em;margin-top:10px}.route-photos-heading>span{font-size:11px;color:var(--muted)}.route-photos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:0}.route-photos .expand-icon{width:25px;height:25px;line-height:25px;bottom:10px;right:10px;font-size:15px}.photo-direction{position:absolute;right:10px;bottom:43px;background:#252823e8;color:#fff;padding:5px 10px;font-size:10px;line-height:1.7;letter-spacing:.02em}.route-photo-caption{display:flex;gap:12px;margin-top:17px}.route-photo-caption>span{font-family:Georgia,serif;font-size:18px;color:var(--gold);line-height:1.5}.route-photo-caption p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:4px}.access-source{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.access-source>p{font-size:10px;line-height:1.9;color:var(--muted)}.access-source>p a{text-decoration:underline;text-underline-offset:3px}.access-map-links{display:flex;gap:20px;flex-shrink:0}.access-map-links .text-link{font-size:11px;white-space:nowrap}.gallery-dialog:has(#gallery-image[src*="access-"]){width:min(1100px,90vw);max-width:90vw}.gallery-dialog:has(#gallery-image[src*="access-"])>img{width:100%;height:auto;max-height:75dvh;object-fit:contain}
@media(max-width:1000px){.access-section .access-grid{gap:32px}.access-section .address-card{padding:29px}.access-section .address-main{font-size:18px}.station-badge>span:last-child{flex-basis:100%;margin-left:33px}.walking-copy{padding:28px 24px}.walking-copy h3{font-size:25px}.walking-map{padding:14px}.walking-steps li{gap:10px}.route-photos{gap:14px}.route-photo-caption{gap:9px}.route-photos-heading>span{white-space:nowrap}.access-source{align-items:start;flex-direction:column;gap:15px}}
@media(max-width:700px){.access-section .access-grid{grid-template-columns:1fr;gap:26px}.access-section .address-card{padding:26px}.access-section .address-main{font-size:19px}.station-badge{margin-top:22px}.station-badge>span:last-child{flex-basis:auto;margin-left:3px}.walking-guide{grid-template-columns:1fr;margin-top:30px}.walking-map{padding:13px}.walking-map figcaption{font-size:10px;padding-top:9px}.walking-copy{padding:25px 23px 27px;border-left:0;border-top:1px solid var(--line)}.walking-copy h3{font-size:26px}.walking-steps{margin-block:23px}.walking-steps li{gap:12px;margin-top:21px}.walking-steps h4{font-size:14px}.walking-steps p{font-size:13px}.route-photos-heading{display:block;margin-top:34px;margin-bottom:20px}.route-photos-heading h3{font-size:19px}.route-photos-heading>span{display:block;margin-top:8px;font-size:11px}.route-photos{grid-template-columns:1fr;gap:27px}.route-photo-caption{margin-top:13px;gap:13px}.route-photo-caption h4{font-size:14px}.route-photo-caption p{font-size:12px}.photo-direction{font-size:11px}.access-source{margin-top:28px;gap:15px}.access-source>p{font-size:11px}.access-map-links{gap:24px}.access-map-links .text-link{font-size:12px}.gallery-dialog:has(#gallery-image[src*="access-"])>p{font-size:12px;padding:15px 20px}.gallery-dialog:has(#gallery-image[src*="access-"]) .gallery-close{top:6px;right:6px}}

/* 한국어·일본어 페이지는 같은 디자인과 미디어를 공유합니다. */
.header-locale{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.language-switch{display:flex;align-items:center;gap:8px;font-size:10px;line-height:1.6;white-space:nowrap}.language-switch a{padding:3px 0;color:var(--muted)}.language-switch a[aria-current="page"]{color:var(--ink);box-shadow:0 1px 0 currentColor}.language-switch>span{color:#aaa}.language-switch a[lang="ja"]{font-family:"DANAH JP Sans",sans-serif}.language-switch a[lang="ko"]{font-family:"DANAH Sans",sans-serif}.address-korean{font-family:"DANAH Sans",sans-serif;font-size:12px;color:#52584d;margin-top:13px;word-break:keep-all}.address-copy-hint{font-size:11px;line-height:1.8;color:var(--muted);margin-top:7px}
html[lang="ja"]{--sans:"DANAH JP Sans","Yu Gothic","Hiragino Kaku Gothic ProN","DANAH Sans",sans-serif;--serif:"DANAH JP Serif","Yu Mincho","Hiragino Mincho ProN",serif}html[lang="ja"] body{word-break:normal;line-break:strict;overflow-wrap:break-word}html[lang="ja"] .hero h1{font-size:46px;letter-spacing:-.025em}html[lang="ja"] .hero-description{font-size:13px}html[lang="ja"] .section-heading h2,html[lang="ja"] .access-heading h2{font-size:35px;letter-spacing:0}html[lang="ja"] .education-copy h2{font-size:32px;letter-spacing:0}html[lang="ja"] .education-description,html[lang="ja"] .section-heading>p:not(.eyebrow),html[lang="ja"] .walking-steps p{font-size:13px}html[lang="ja"] .walking-copy h3{letter-spacing:0;font-size:28px}html[lang="ja"] .address-main{font-size:20px}html[lang="ja"] .address-bottom{flex-wrap:wrap;gap:8px 18px;margin-top:22px}html[lang="ja"] .address-bottom .text-link{font-size:11px}html[lang="ja"] .station-badge>span:last-child{margin-left:0}html[lang="ja"] .reservation-steps h3{font-size:17px}html[lang="ja"] .reservation-steps p{font-size:12px}html[lang="ja"] .story-meta strong{font-size:15px}html[lang="ja"] .route-photos-heading h3{font-size:19px}html[lang="ja"] .route-photo-caption p{font-size:12px}html[lang="ja"] .access-source>p{font-size:11px}html[lang="ja"] .gallery-dialog>p{font-size:13px;line-height:1.8}
@media(max-width:1000px){html[lang="ja"] .hero h1{font-size:39px}html[lang="ja"] .hero-actions{gap:16px}html[lang="ja"] .education-copy h2{font-size:27px}html[lang="ja"] .address-main{font-size:18px}html[lang="ja"] .walking-copy{padding-inline:23px}html[lang="ja"] .walking-copy h3{font-size:25px}html[lang="ja"] .route-photos-heading{display:block}html[lang="ja"] .route-photos-heading>span{display:block;margin-top:7px}}
@media(max-width:700px){.header-locale{gap:2px}.header-locale .brand-location{max-width:none;font-size:6px;letter-spacing:.06em;visibility:visible}.language-switch{font-size:9px;gap:7px}.language-switch a{padding-block:5px}.language-switch a:focus-visible{outline-offset:2px}html[lang="ja"] .header-contact{font-size:9px;padding-left:0}html[lang="ja"] .nav-links{gap:23px}html[lang="ja"] .hero h1{font-size:29px;line-height:1.65}html[lang="ja"] .hero-description{font-size:12px;line-height:1.9}html[lang="ja"] .hero-actions{gap:14px}html[lang="ja"] .hero-actions .text-link{font-size:10px}html[lang="ja"] .intro-strip{gap:8px;font-size:8px;flex-wrap:wrap}html[lang="ja"] .section-heading h2,html[lang="ja"] .access-heading h2{font-size:27px}html[lang="ja"] .education-copy h2{font-size:25px}html[lang="ja"] .story-meta strong{font-size:11px;line-height:1.9}html[lang="ja"] .artist-line{flex-wrap:wrap;gap:12px}html[lang="ja"] .artist-line p{font-size:10px}html[lang="ja"] .artist-line .text-link{font-size:10px}html[lang="ja"] .menu-item{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:21px 0}html[lang="ja"] .menu-detail strong{font-size:16px}html[lang="ja"] .menu-detail>span{max-width:none;font-size:12px}html[lang="ja"] .price-value{justify-self:end;font-size:25px}html[lang="ja"] .course-facts .course-price{font-size:26px}html[lang="ja"] .course-price small{font-size:10px}html[lang="ja"] .education-location p{font-size:12px;flex-basis:100%}html[lang="ja"] .reservation-steps h3{font-size:16px}html[lang="ja"] .reservation-steps p,html[lang="ja"] .faq-items details>p,html[lang="ja"] .faq-items summary{font-size:13px}html[lang="ja"] .address-main{font-size:18px}html[lang="ja"] .address-bottom>span{font-size:10px}html[lang="ja"] .closing h2{font-size:24px}html[lang="ja"] .closing .button{padding-inline:15px;gap:12px}html[lang="ja"] .gallery-dialog>p{font-size:12px}}
@media(max-width:360px){html[lang="ja"] .hero h1{font-size:26px}html[lang="ja"] .hero-actions{gap:9px}html[lang="ja"] .hero-actions .text-link{font-size:9px}html[lang="ja"] .section-heading h2{font-size:25px}html[lang="ja"] .education-copy h2{font-size:23px}html[lang="ja"] .header-contact{font-size:8px}}

/* 반응형 검증 보완: 실제 클릭 영역과 콘텐츠의 독립된 공간을 확보합니다. */
a[href], button, summary {
  min-width: 44px;
  min-height: 44px;
}
.language-switch a,
.header-contact,
.education-location > a,
.access-source > p a,
.footer-links > a,
.footer-main > a {
  display: inline-flex;
  align-items: center;
}
.language-switch a {
  justify-content: center;
  padding: 0 8px;
}
.language-switch { gap: 4px; }
.header-contact { gap: 6px; white-space: nowrap; }
.header-contact span { margin-left: 0; }
.header-contact .contact-label-short { display: none; }
.nav-links > a { justify-content: center; }
.education-video .video-toggle,
.hero .button { min-height: 44px; }
.icon-button { width: 44px; height: 44px; }
.faq-items summary { align-items: center; }
.footer-links > a { justify-content: center; }
.access-source > p a { vertical-align: middle; }
.caption-unit { display: inline-block; white-space: nowrap; }

/* 태블릿에서 제목과 인물 사진이 서로 겹치지 않도록 분리합니다. */
@media (min-width: 701px) and (max-width: 1000px) {
  .hero-photo { width: 44%; right: 0; }
  .hero-copy { width: 53%; }
  .hero h1 { font-size: clamp(28px, 4.15vw, 39px); }
  html[lang="ja"] .hero h1 { font-size: clamp(28px, 4.15vw, 39px); }
  .hero-actions { flex-wrap: wrap; }
}

@media (max-width: 700px) {
  .brand-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    gap: 8px;
  }
  .header-locale .brand-location { display: none; }
  .language-switch { gap: 0; }
  .language-switch a { padding: 0; }
  .brand {
    position: static;
    transform: none;
    width: min(120px, 100%);
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-self: center;
  }
  .header-contact,
  html[lang="ja"] .header-contact {
    font-size: 10px;
    padding: 0 4px;
    justify-self: end;
    gap: 4px;
  }
  .header-contact .contact-label-full { display: none; }
  .header-contact .contact-label-short { display: inline; }
  .site-footer { padding-bottom: 32px; }
}

/* 수상 부문과 디자이너 직접 시술을 첫 화면에서 함께 보여줍니다. */
.hero-copy { max-width: 54%; }
.hero-award {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  padding: 12px 16px;
  margin-bottom: 24px;
  border: 1px solid #c3b69e;
  background: #f6f3eceb;
  color: #655333;
  line-height: 1.6;
}
.hero-award > svg { width: 25px; height: 25px; flex: none; }
.hero-award > span { min-width: 0; }
.award-event { display: block; font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.award-category { display: block; margin-top: 3px; font-size: 14px; font-weight: 600; }
.hero-title-line { display: block; }
.hero-title-unit { display: inline-block; white-space: nowrap; }
.hero-actions { flex-wrap: wrap; }
@media (min-width: 701px) and (max-width: 1000px) {
  .hero-award { padding: 10px 12px; gap: 9px; margin-bottom: 20px; }
  .award-event { font-size: 10px; }
  .award-category { font-size: 12px; }
}
@media (max-width: 700px) {
  .hero { height: auto; display: flex; flex-direction: column; }
  .hero-inner { order: -1; height: auto; }
  .hero-copy { position: relative; top: auto; transform: none; max-width: none; width: 100%; padding: 30px 0 22px; }
  .hero-award { padding: 10px 12px; gap: 10px; margin-bottom: 20px; }
  .hero-award > svg { width: 22px; height: 22px; }
  .award-event { font-size: 10px; }
  .award-category { font-size: 12px; }
  .hero-photo { position: relative; top: auto; right: auto; width: 100%; height: 360px; }
  .hero .scroll-cue { display: none; }
}

/* 명조 제목과 고딕 본문의 대비를 유지하면서 두 언어의 가독성을 높입니다. */
:root {
  --muted: #5e625a;
  --body-copy: 15px;
  --support-copy: 13px;
  --fine-copy: 12px;
}
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) :is(.hero h1, .section-heading h2, .education-copy h2, .access-heading h2, .closing h2, .walking-copy h3) {
  font-weight: 500;
}
.hero h1 { font-size: clamp(36px, 3.5vw, 49px); line-height: 1.45; letter-spacing: -.035em; }
html[lang="ja"] .hero h1 { font-size: 44px; line-height: 1.5; letter-spacing: -.025em; }
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) :is(.hero-description, .section-heading > p:not(.eyebrow), .access-heading > p:not(.eyebrow), .education-description, .reservation-steps p, .faq-items details > p, .walking-steps p) {
  font-size: var(--body-copy);
  line-height: 1.9;
  text-wrap: pretty;
}
.split-heading > p { font-size: var(--body-copy)!important; }
.hero-description { color: #53594f; }
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) :is(.menu-detail > span, .menu-footer p, .pickup-note, .reservation-cta > p, .address-lot, .address-korean, .address-copy-hint, .address-bottom > span, .station-badge, .station-badge > span:last-child, .route-photos-heading > span, .route-photo-caption p, .artist-line p, .education-location, .education-location > span, .education-location p) {
  font-size: var(--support-copy);
  line-height: 1.85;
}
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) :is(.access-source > p, .walking-map figcaption, .footer-main > p, .footer-links, .footer-bottom, .story-meta > span, .intro-strip) {
  font-size: var(--fine-copy);
  line-height: 1.8;
}
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) :is(.button, .hero .button, .closing .button, .text-link, .hero-actions .text-link, .artist-line .text-link, .menu-footer .text-link, .access-heading .text-link, .address-bottom .text-link, .access-map-links .text-link, .education-location > a, .education-video .video-toggle) {
  font-size: 13px;
  font-weight: 500;
}
.button { min-height: 50px; }
.nav-links > a { font-size: 14px; font-weight: 500; }
.header-contact, html[lang="ja"] .header-contact { font-size: 12px; font-weight: 500; }
.language-switch { font-size: 12px; }
.brand-location { font-size: 10px; }
.eyebrow, .closing .eyebrow, .address-card > .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .15em; }
.story-meta > span { letter-spacing: .07em; }
.story { display: flex; flex-direction: column; align-items: stretch; }
.story-photo { flex-shrink: 0; }
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) .story-meta strong { font-size: 17px; font-weight: 500; line-height: 1.7; }
.menu-detail strong, .walking-steps h4, .route-photo-caption h4, .reservation-steps h3 { font-weight: 600; }
.walking-steps h4, .route-photo-caption h4 { font-size: 15px; }
.course-facts dt, .course-facts dd, .included p { font-size: 15px; }
.course-facts dt, .included h3 { color: #d2d5cb; }
.included h3 { font-size: 13px; }
.pickup-note { color: #c9cdbf; }
.course-price small { font-size: 12px; }
:is(html[lang="ko"], html[lang="ja"], html[lang="en"]) .faq-items summary { font-size: 15px; font-weight: 500; line-height: 1.75; }
.faq-items summary, .reservation-cta > p { text-wrap: balance; }
.copy-unit { display: inline-block; }
.award-event { font-size: 12px; }
.award-category { font-size: 15px; }
.scroll-cue { font-size: 11px; }

@media (min-width: 701px) and (max-width: 1000px) {
  .hero { height: 650px; }
  .hero h1, html[lang="ja"] .hero h1 { font-size: clamp(28px, 4vw, 38px); line-height: 1.5; }
  .award-event { font-size: 11px; }
  .award-category { font-size: 13px; }
  .hero-actions { gap: 12px 18px; }
  .education-grid { gap: 30px; }
}
@media (max-width: 700px) {
  :root { --body-copy: 14px; --support-copy: 13px; --fine-copy: 12px; }
  .hero h1 { font-size: 32px; line-height: 1.5; letter-spacing: -.035em; }
  html[lang="ja"] .hero h1 { font-size: 28px; line-height: 1.55; letter-spacing: -.025em; }
  .hero-copy { padding-top: 26px; }
  .hero-award { padding: 10px; gap: 9px; }
  .award-event { font-size: 11px; letter-spacing: .09em; }
  .award-category { font-size: 13px; }
  .hero-actions { gap: 8px; }
  .hero-actions > .button { width: 100%; min-height: 50px; }
  .hero-actions > .text-link { margin-inline: auto; }
  .section-heading h2, .access-heading h2 { font-size: 28px; line-height: 1.55; }
  html[lang="ja"] .section-heading h2, html[lang="ja"] .access-heading h2 { font-size: 26px; line-height: 1.55; }
  .education-copy h2 { font-size: 30px; }
  html[lang="ja"] .education-copy h2 { font-size: 25px; }
  .closing h2 { font-size: 26px; line-height: 1.6; }
  html[lang="ja"] .closing h2 { font-size: 24px; line-height: 1.6; }
  .nav-links { gap: 22px; }
  .nav-links > a { font-size: 12px; }
  .language-switch { font-size: 11px; }
  .header-contact, html[lang="ja"] .header-contact { font-size: 11px; }
  .eyebrow, .closing .eyebrow, .address-card > .eyebrow { font-size: 10px; }
  :is(html[lang="ko"], html[lang="ja"], html[lang="en"]) .story-meta > span { font-size: 10px; letter-spacing: .02em; }
  :is(html[lang="ko"], html[lang="ja"], html[lang="en"]) .story-meta strong { font-size: 13px; line-height: 1.75; }
  .artist-line { flex-wrap: wrap; gap: 8px 16px; }
  .menu-detail > span { max-width: none; }
  .intro-strip, html[lang="ja"] .intro-strip { flex-wrap: wrap; gap: 8px; }
  .education-location { align-items: center; gap: 8px 12px; }
  .education-location p { flex-basis: 100%; }
  .education-location > a { margin-left: 0; }
  .closing .wrap > div { flex-wrap: wrap; }
  .closing .button { min-width: 140px; }
  .footer-bottom { flex-wrap: wrap; gap: 8px 16px; }
  .desktop-break { display: none; }
  .reservation-steps br { display: initial; }
}
@media (max-width: 360px) {
  .hero h1 { font-size: 29px; }
  html[lang="ja"] .hero h1 { font-size: 26px; }
  .hero-award { padding-inline: 8px; gap: 7px; }
  .award-category { font-size: 12px; }
}

/* 最初の視線を「DANAH本人による施術」に集め、実績と予約をその下に置きます。 */
/* 글씨 없는 PC·모바일 이미지를 전체 표시하고 문구는 웹 텍스트로 유지합니다. */
.hero { width: 100%; min-width: 0; height: auto; min-height: 280px; aspect-ratio: 1942 / 809; background: #e8e7e7; }
.hero-inner { position: absolute; inset: 0; height: 100%; margin-inline: auto; }
.hero-copy { transform: translateY(-50%); }
.hero-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  display: block;
  background: transparent;
}
/* 생성 이미지 전체를 contain으로 표시하며 인물을 흐리는 효과를 추가하지 않습니다. */
.hero-photo img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center bottom;
  -webkit-mask-image: none;
  mask-image: none;
  filter: none;
  opacity: 1;
}
.hero-photo::after { content: none; }
.hero-award {
  display: block;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: #66512e;
}
.award-event { font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.award-category { margin-top: 5px; font-size: 16px; font-weight: 600; color: #394233; }
.hero-actions { margin-top: 28px; }
.hero-actions > .button { justify-content: center; min-width: 210px; min-height: 50px; }
.nav-links > a { font-weight: 400; }
@media (max-width: 700px) {
  .hero { height: auto; min-height: 720px; aspect-ratio: 1 / 2; display: block; background: #eaeae9; }
  .hero-copy { transform: none; padding: 34px 0 28px; }
  .hero-award { margin-top: 20px; }
  .award-event { font-size: 12px; }
  .award-category { font-size: 15px; }
  .hero-actions { margin-top: 24px; }
}

/* 확인된 시술 사례·경력자 교육·문의 예문. 첫 화면 스타일과 분리합니다. */
.treatment-case { display: grid; grid-template-columns: 1fr 1fr; gap: 76px; align-items: center; border-top: 1px solid var(--line); padding-block: 72px; }
.case-copy h2 { font-family: var(--serif); font-size: 38px; font-weight: 500; line-height: 1.55; letter-spacing: -.035em; margin-top: 17px; }
.case-copy > p:not(.eyebrow) { margin-top: 22px; font-size: var(--body-copy); line-height: 1.9; color: var(--muted); }
.case-copy > p.case-note { font-size: var(--support-copy); margin-top: 12px; }
.case-copy > .text-link { margin-top: 24px; min-height: 44px; }
.case-visual { width: min(100%, 320px); margin: 0 auto; }
.case-video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: contain; background: #edeeee; }

/* About cards: full-frame silent footage with controls outside the picture. */
.story-video .story-photo { aspect-ratio: 9 / 16; }
.story-video .story-clip { display: block; width: 100%; height: 100%; object-fit: contain; }
.story-video .story-meta { flex: 1; }
.story-video-toggle { min-width: 44px; min-height: 44px; width: 100%; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--line); font-size: 13px; font-weight: 500; line-height: 1.6; }
.story-video-toggle:hover { background: var(--ivory); }
.story-video-toggle[hidden] { display: none; }
@media (max-width: 700px) {
  .story-video-grid { grid-template-columns: 1fr; gap: 36px; }
  .story-video { width: min(100%, 320px, calc((100svh - var(--header) - 168px) * 9 / 16)); margin-inline: auto; }
  :is(html[lang="ko"], html[lang="ja"], html[lang="en"]) .story-video .story-meta strong { font-size: 16px; line-height: 1.75; }
}
.case-video-toggle { width: 100%; min-height: 44px; margin-top: 8px; justify-content: center; font-size: 13px; font-weight: 500; }
.case-visual figcaption { margin-top: 12px; font-size: var(--fine-copy); line-height: 1.8; color: var(--muted); text-align: center; }
.education-copy .course-facts dt { flex-shrink: 0; }
.education-copy .course-facts dd { text-align: right; }
.curriculum { margin-top: 64px; padding-top: 36px; border-top: 1px solid #5d6154; display: grid; grid-template-columns: 1fr 1.5fr; gap: 56px; }
.curriculum-heading .eyebrow { color: #c8baa3; }
.curriculum-heading h3 { font-family: var(--serif); font-size: 27px; line-height: 1.7; font-weight: 500; margin-top: 16px; }
.curriculum-heading > p:last-child { margin-top: 18px; font-size: var(--support-copy); line-height: 1.85; color: #d2d5cb; }
.curriculum-list { list-style: none; margin: 0; padding: 0; }
.curriculum-list li { display: grid; grid-template-columns: 28px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid #4d5147; }
.curriculum-list li:first-child { padding-top: 0; }
.curriculum-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.curriculum-number { color: #c8baa3; font-family: Georgia, serif; font-size: 20px; line-height: 1.5; }
.curriculum-list h4 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.8; }
.curriculum-list p { margin-top: 6px; color: #d2d5cb; font-size: var(--body-copy); line-height: 1.9; text-wrap: pretty; }
.inquiry-guide { margin-top: 56px; }
.inquiry-heading h3 { font-family: var(--serif); font-size: 25px; line-height: 1.7; font-weight: 500; }
.inquiry-heading p { font-size: var(--body-copy); color: var(--muted); line-height: 1.9; margin-top: 10px; }
.inquiry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.inquiry-card { background: var(--ivory); padding: 28px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.inquiry-card h4 { font-size: 16px; font-weight: 600; line-height: 1.8; margin: 0 0 16px; }
.inquiry-message { font-size: var(--body-copy); line-height: 2; overflow-wrap: anywhere; margin-bottom: 20px; user-select: text; }
.inquiry-card .inquiry-copy { min-width: 44px; min-height: 44px; margin-top: auto; font-size: 13px; font-weight: 500; }
.inquiry-note { font-size: var(--support-copy); line-height: 1.85; color: var(--muted); margin-top: 14px; }
@media (min-width: 1001px) {
  .treatment-case { padding-block: 24px; }
  /* Header, anchor gap, section padding, caption/button and bottom breathing room. */
  .case-visual { width: min(100%, 440px, calc((100dvh - var(--header) - 176px) * 9 / 16)); }
}
@media (max-width: 1000px) {
  .treatment-case { gap: 36px; }
  .case-copy h2 { font-size: 30px; }
  .curriculum { gap: 32px; }
  .curriculum-heading h3 { font-size: 24px; }
}
@media (max-width: 700px) {
  .treatment-case { grid-template-columns: 1fr; gap: 24px; padding-block: 24px; }
  .case-visual { order: -1; }
  /* Fit the complete frame and controls even while the mobile browser bars are visible. */
  .case-video { width: min(100%, calc((100svh - var(--header) - 160px) * 9 / 16)); margin-inline: auto; }
  .case-copy h2 { font-size: 28px; }
  html[lang="ja"] .case-copy h2 { font-size: 26px; }
  .curriculum { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; padding-top: 28px; }
  .curriculum-heading h3 { font-size: 23px; }
  .curriculum-list li { gap: 14px; }
  .curriculum-list h4 { font-size: 15px; }
  .inquiry-guide { margin-top: 40px; }
  .inquiry-heading h3 { font-size: 23px; }
  .inquiry-grid { grid-template-columns: 1fr; gap: 16px; }
  .inquiry-card { padding: 22px; }
}

/* English: share the established type scale, with natural word wrapping. */
html[lang="en"] body { word-break: normal; overflow-wrap: break-word; }
.language-switch a[lang="en"] { font-family: var(--sans); }
html[lang="en"] :is(h1,h2,h3) { letter-spacing: -.025em; }
html[lang="en"] .hero h1 { font-size: clamp(32px, 3.1vw, 44px); line-height: 1.4; }
html[lang="en"] .section-heading h2, html[lang="en"] .access-heading h2 { font-size: 34px; line-height: 1.4; }
html[lang="en"] .education-copy h2 { font-size: 34px; line-height: 1.4; }
html[lang="en"] .included p { flex-wrap: wrap; gap: 8px 16px; }
html[lang="en"] .course-facts > div { gap: 16px; }
html[lang="en"] .address-main { font-size: 23px; line-height: 1.6; }
html[lang="en"] .address-bottom { flex-wrap: wrap; gap: 8px 16px; }
html[lang="en"] .station-badge { flex-wrap: wrap; }
html[lang="en"] .station-badge > span:last-child { margin-left: 0; }
html[lang="en"] .walking-copy h3 { font-size: 28px; }
html[lang="en"] .route-photos-heading { flex-wrap: wrap; gap: 12px; }
html[lang="en"] .route-photos-heading h3 { font-size: 24px; }
html[lang="en"] .closing .button { max-width: none; gap: 12px; }
@media (min-width:701px) and (max-width:1000px) {
  html[lang="en"] .hero h1 { font-size: clamp(25px, 3.3vw, 32px); }
  html[lang="en"] .hero-award { margin-top: 16px; }
  html[lang="en"] .hero-actions { margin-top: 18px; }
  html[lang="en"] .education-copy h2 { font-size: 28px; }
  html[lang="en"] .address-main { font-size: 19px; }
}
@media (max-width:700px) {
  .language-switch { font-size: 10px; }
  html[lang="en"] .hero h1 { font-size: 27px; line-height: 1.45; }
  html[lang="en"] :is(.section-heading h2,.access-heading h2,.case-copy h2) { font-size: 28px; line-height: 1.45; }
  html[lang="en"] .education-copy h2 { font-size: 28px; }
  html[lang="en"] .menu-item { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; }
  html[lang="en"] .price-value { justify-self: end; }
  html[lang="en"] .menu-detail strong { font-size: 17px; }
  html[lang="en"] .address-main { font-size: 21px; }
  html[lang="en"] .closing h2 { font-size: 26px; }
  html[lang="en"] .closing .wrap > div { flex-direction: column; align-items: stretch; }
  html[lang="en"] .closing .button { width: 100%; }
}

/* Four languages remain readable and tappable on a narrow screen. */
.language-switch { direction: ltr; }
@media (max-width:700px) {
  :root { --header: 141px; }
  .brand-row { height: 96px; grid-template-columns: 1fr auto; grid-template-rows: 52px 44px; grid-template-areas: "brand contact" "languages languages"; gap: 0; }
  .brand { grid-area: brand; justify-self: start; width: 120px; }
  .header-contact { grid-area: contact; }
  .header-locale { grid-area: languages; justify-self: center; }
  .language-switch { font-size: 12px; gap: 4px; }
  .language-switch a { padding-inline: 8px; min-width: 48px; }
}

/* English booking: preserve the supplied QR pixels and frame its code area in CSS. */
.whatsapp-booking { display: grid; grid-template-columns: 248px minmax(0,1fr); gap: 48px; align-items: center; max-width: 880px; margin: 44px auto 0; padding: 36px; background: var(--ivory); border: 1px solid var(--line); }
.whatsapp-figure { width: 248px; max-width: 100%; margin: 0; text-align: center; }
.whatsapp-qr { display: block; position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; background: #fff; }
/* Source 1013x1800. Frame x=226, y=622, 560x560 retains a 69px quiet zone. */
.whatsapp-qr img { position: absolute; width: 180.892857%; max-width: none; height: auto; left: -40.357143%; top: -111.071429%; }
.whatsapp-figure figcaption { margin-top: 12px; font-size: 13px; color: var(--muted); line-height: 1.8; }
.whatsapp-figure figcaption strong { font-weight: 600; color: var(--ink); }
.whatsapp-booking-copy h3 { margin-top: 12px; font-family: var(--serif); font-size: 27px; line-height: 1.45; font-weight: 500; }
.whatsapp-booking-copy > p:not(.eyebrow) { margin-top: 16px; font-size: var(--body-copy); line-height: 1.9; color: var(--muted); }
.whatsapp-booking-copy > .button { margin-top: 22px; min-height: 48px; }
.whatsapp-booking-copy > p.whatsapp-booking-note { font-size: 13px; line-height: 1.85; }
@media (min-width:701px) and (max-width:1000px) {
  .whatsapp-booking { grid-template-columns: 220px minmax(0,1fr); gap: 28px; padding: 28px; }
  .whatsapp-figure { width: 220px; }
  .whatsapp-booking-copy h3 { font-size: 25px; }
}
@media (max-width:700px) {
  .whatsapp-booking { grid-template-columns: minmax(0,1fr); gap: 24px; margin-top: 28px; padding: 24px 20px; }
  .whatsapp-figure { justify-self: center; }
  .whatsapp-booking-copy { text-align: center; }
  .whatsapp-booking-copy h3 { font-size: 24px; }
  .whatsapp-booking-copy > .button { width: 100%; }
}
