:root{--blue:#566bab;--yellow:#ffd14c;--ink:#182544;--paper:#f7f6f2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,'Noto Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b68a00;outline-offset:4px}header{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;padding:16px 4%;gap:24px;border-bottom:1px solid #ccd0dc}.logo{text-decoration:none;font-family:Georgia,serif;color:var(--blue);font-size:35px;font-weight:bold;line-height:1;white-space:nowrap}.logo span{color:#b78a10}.logo small{font:11px Arial;display:block;margin-top:7px}nav{display:flex;gap:24px;margin-left:auto}nav a{text-decoration:none;font-size:14px}.languages{display:flex;gap:2px}.languages button{border:0;background:none;padding:8px;color:var(--ink);font-size:14px}.languages .active{color:var(--blue);text-decoration:underline;text-underline-offset:7px}.reserve,.btn{border:0;padding:13px 23px;background:var(--blue);color:white;text-decoration:none;display:inline-block}.btn.yellow{background:var(--yellow);color:var(--ink)}#menu{display:none;border:0;background:none;font-size:25px}.hero{background:var(--blue);color:white;display:grid;grid-template-columns:1.2fr 1fr;min-height:660px;padding:85px 7%;gap:70px;align-items:center}.eyebrow{font-size:12px;text-transform:uppercase;margin:0 0 24px}.hero :is(h1,.hero-brand-slogan){font-weight:400;font-size:clamp(42px,5.7vw,80px);line-height:1.17;margin:25px 0}.hero p{max-width:510px;color:#edf0fb}.actions{display:flex;align-items:center;gap:24px;margin-top:35px;flex-wrap:wrap}.text-link{text-underline-offset:6px}.hero-art{border-top:1px solid #aab5d6;border-bottom:1px solid #aab5d6;padding:55px 0}.hero-art strong{font:normal clamp(42px,5vw,78px)/1.15 Georgia,serif;display:block}.hero-art em{color:var(--yellow)}.hero-art .line{display:flex;justify-content:space-between;border-top:1px solid #aab5d6;padding:18px 0;font:18px Georgia;margin-top:28px}.strip{display:flex;justify-content:space-around;gap:20px;background:var(--yellow);padding:17px 5%;font-size:14px}.section{padding:95px 7%;max-width:1600px;margin:auto}.section h2{font-size:clamp(30px,3.4vw,50px);line-height:1.25;font-weight:400;max-width:780px;margin:15px 0 25px}.section p.lead{max-width:740px;color:#506078}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.blue{background:var(--blue);color:white}.blue .lead{color:#e0e5f2}.blue h2 em{color:var(--yellow)}.purpose{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;border-top:1px solid #c3c8d3}.purpose button{background:none;border:0;border-bottom:1px solid #c3c8d3;text-align:left;color:var(--ink);padding:25px 20px;font-size:20px}.purpose button span{font-size:12px;margin-right:15px;color:var(--blue)}.purpose button.active{background:var(--blue);color:white}.purpose button.active span{color:var(--yellow)}.pillars{font:clamp(30px,4vw,54px)/1.8 Georgia,serif;color:var(--blue)}.pillars div{border-bottom:1px solid #c3c8d3}.pillars span{font:14px Arial;float:right;margin-top:28px;}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.steps article{border-top:1px solid #9eabd0;padding-top:22px}.number{color:var(--yellow);font:25px Georgia}.steps h3{font-weight:400;font-size:23px}.steps p{color:#e0e5f2}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:70px}.editorial .quote{font:normal 55px/1.3 Georgia,serif;color:var(--blue);margin:0}.quote em{color:#a77a00}.use-list div{padding:22px 0;border-bottom:1px solid #c3c8d3}.use-list strong{display:block;font-size:22px;font-weight:400}.course-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.course-head button{border:0;background:none;text-decoration:underline;color:var(--ink);padding:15px}.courses{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #c3c8d3}.course{padding:35px 25px;border-bottom:1px solid #c3c8d3;border-right:1px solid #c3c8d3;display:flex;flex-direction:column}.course h3{font:32px Georgia,serif;margin:10px 0;color:var(--blue)}.course p{margin:10px 0}.price{font:27px Georgia,serif;margin:20px 0!important}.note{font-size:14px;color:#596681}.course details{margin:20px 0}.course summary{cursor:pointer;font-size:15px}.course ul{padding-left:20px;font-size:15px}.course .btn{margin-top:auto;text-align:center}#filter-note{color:var(--blue);min-height:28px}.original{margin-top:35px}.original summary{cursor:pointer}.original img{max-width:100%;width:540px;display:block;margin:25px auto}.locations{display:grid;grid-template-columns:1fr 1fr;gap:45px}.location{border-top:1px solid #9eabd0;padding-top:25px}.location h3{font:36px Georgia;margin:15px 0}.location a{display:inline-block;margin:10px 22px 10px 0;text-underline-offset:5px}.faq details{padding:20px 0;border-bottom:1px solid #c3c8d3}.faq summary{cursor:pointer;font-size:19px}.faq p{max-width:850px;color:#506078}.end{text-align:center}.end h2{margin:15px auto}.end .btn{margin-top:20px}footer{padding:50px 7% 90px;background:#152440;color:white;display:flex;gap:50px;justify-content:space-between}footer .logo{color:white}footer p{font-size:14px}footer a{margin-right:20px;font-size:14px}.floating{position:fixed;bottom:24px;right:24px;z-index:21;background:var(--yellow);color:var(--ink);border:1px solid #b18b24;padding:13px 25px;box-shadow:0 5px 20px #19284c22}dialog{border:0;padding:45px;width:min(620px,92vw);max-height:90vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#13213d99}dialog h2{font-size:30px;font-weight:400;margin:10px 0}#close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:32px;min-width:44px}.branch-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}.branch-pick button{background:none;border:1px solid var(--blue);color:var(--blue);padding:14px}.branch-pick button.active{background:var(--blue);color:white}.channel{display:block;padding:15px;border-bottom:1px solid #c3c8d3;text-decoration:none}.channel small{display:block;color:#596681}.booking-note{font-size:14px;color:#596681}.selected{border-left:3px solid var(--yellow);padding-left:15px}body:has(dialog[open]){overflow:hidden}.hidden{display:none!important}@media(max-width:1000px){nav{display:none}header{gap:10px;padding:13px 5%}.languages{margin-left:auto}header>.reserve{display:none}#menu{display:block}nav.open{position:absolute;display:flex;top:77px;left:0;width:100%;background:var(--paper);padding:24px 6%;flex-direction:column;gap:20px}.hero{padding:65px 6%;gap:35px}.hero-art strong{font-size:50px}.courses{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}@media(max-width:640px){.logo{font-size:27px}.logo small{font-size:10px}.hero{grid-template-columns:1fr;padding:45px 6%;min-height:auto;gap:35px}.hero :is(h1,.hero-brand-slogan){font-size:43px;}.hero-art{padding:28px 0}.hero-art strong{font-size:43px}.hero-art .line{margin-top:20px}.strip{flex-wrap:wrap;justify-content:center;gap:5px 22px;font-size:13px}.section{padding:60px 6%}.split,.editorial,.locations{grid-template-columns:1fr;gap:30px}.purpose{grid-template-columns:1fr}.purpose button{font-size:19px;padding:20px 8px}.pillars span{margin-top:24px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps article{display:grid;grid-template-columns:40px 1fr;column-gap:15px}.steps h3{margin:0}.steps p{grid-column:2;margin-top:10px}.editorial .quote{font-size:42px}.courses{grid-template-columns:1fr}.course{padding:28px 5px;border-right:0}.course-head{align-items:start}.course-head button{font-size:14px;white-space:nowrap}.floating{bottom:max(16px,env(safe-area-inset-bottom));right:20px}.branch-pick{grid-template-columns:1fr}dialog{padding:40px 24px}footer{flex-direction:column;gap:20px}.faq summary{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official brand assets and contemporary typography */
@font-face{font-family:BranmeSans;src:url('pretendard.woff2') format('woff2');font-weight:100 900;font-display:swap}
body{font-family:BranmeSans,'Pretendard','Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all}
:lang(zh-Hant){font-family:'PingFang TC','Noto Sans TC','Microsoft JhengHei',BranmeSans,sans-serif}
.logo{display:block;line-height:1;text-decoration:none;background:white;padding:7px 10px}
.logo img{display:block;width:155px;height:auto}.logo small{font-family:BranmeSans,Arial,sans-serif;text-align:right;color:var(--blue);font-size:10px;margin-top:5px}
.hero :is(h1,.hero-brand-slogan){font-weight:600;font-size:clamp(40px,4.3vw,64px);line-height:1.22;}
.hero-art{border:0;padding:35px;background:#fff;color:var(--blue)}
.hero-art .eyebrow{color:var(--blue)}.hero-logo{display:block;width:100%;height:auto;margin:40px 0 35px}
.hero-art strong{font-family:BranmeSans,Arial,sans-serif;font-weight:400;font-size:clamp(30px,3.2vw,46px);}.hero-art em{font-style:normal;color:var(--blue)}
.hero-art .line{font-family:BranmeSans,Arial,sans-serif;border-color:#dce1ef;font-size:16px}
.section h2{font-weight:550;font-size:clamp(29px,3vw,44px);line-height:1.3;}.section h2 em{font-style:normal}
.pillars{font-family:BranmeSans,Arial,sans-serif;font-weight:450;}.pillars span{font-family:BranmeSans,Arial,sans-serif;}
.number{font-family:BranmeSans,Arial,sans-serif;font-size:16px;font-weight:600}.steps h3{font-weight:550;font-size:22px}
.course h3{font-family:BranmeSans,Arial,sans-serif;font-weight:600;font-size:29px;}.price{font-family:BranmeSans,Arial,sans-serif;font-size:25px;font-weight:550;}
.location h3{font-family:BranmeSans,Arial,sans-serif;font-weight:550;font-size:32px;}.use-list strong{font-weight:550}
footer .logo{width:max-content}dialog h2{font-weight:550;}
@media(max-width:640px){.logo img{width:116px}.hero :is(h1,.hero-brand-slogan){font-size:39px;line-height:1.27}.hero-art{padding:25px}.hero-logo{margin:25px 0}.hero-art strong{font-size:34px}.section h2{font-size:30px}.pillars span{font-size:12px}}

/* Brand integrated into surrounding surfaces */
.logo{background:transparent;padding:0}.logo img{mix-blend-mode:multiply;width:150px}.logo small{display:none}
header{min-height:80px;border-bottom:1px solid #d9dce5}
.hero-art{background:transparent;color:white;padding:25px 0 25px 50px;border-left:1px solid #ffffff35}
.hero-art .eyebrow{color:#edf0fb}.hero-art strong{font-size:clamp(48px,5vw,74px);font-weight:450;line-height:1.12;}.hero-art em{color:var(--yellow);font-style:normal}.hero-art .line{border-color:#ffffff35;font-size:15px}.brand-signature{font-size:15px;margin-top:30px!important;color:#edf0fb}
footer{background:var(--paper);color:var(--ink);border-top:1px solid #d9dce5}footer .logo{background:transparent}footer .logo img{width:175px;mix-blend-mode:multiply}
@media(max-width:640px){header{min-height:70px}.logo img{width:125px}.hero-art{padding:30px 0 0;border-left:0;border-top:1px solid #ffffff35}.hero-art strong{font-size:45px}.hero-art .line{margin-top:20px}footer .logo img{width:150px}}

/* Typography aligned with the original BRANME website */
@font-face{font-family:BranmeMontserrat;src:url('montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
body{font-family:BranmeMontserrat,BranmeSans,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;}
h1,h2,h3,.hero-art strong,.hero-art .line,.pillars,.pillars span,.number,.course h3,.price,.location h3,.editorial .quote,.brand-signature{font-family:BranmeMontserrat,BranmeSans,sans-serif;font-style:normal}
.hero :is(h1,.hero-brand-slogan){font-weight:500;line-height:1.28}.hero-art strong{font-weight:500;line-height:1.16}
.section h2{font-weight:500;}.course h3,.location h3{font-weight:500;}.price{font-weight:600;}
.editorial .quote{font-size:clamp(32px,3.5vw,48px);font-weight:500;line-height:1.35;}.quote em{font-style:normal}
.eyebrow{font-weight:500;}nav a,.languages button{font-weight:500}.btn,.reserve{font-weight:500}
html[lang="zh-Hant"] body,html[lang="zh-Hant"] h1,html[lang="zh-Hant"] h2,html[lang="zh-Hant"] h3,html[lang="zh-Hant"] .quote{font-family:BranmeMontserrat,'PingFang TC','Noto Sans TC','Microsoft JhengHei',BranmeSans,sans-serif}
@media(max-width:640px){.hero :is(h1,.hero-brand-slogan){font-size:37px}.hero-art strong{font-size:43px}.editorial .quote{font-size:34px}}

.add-ons{margin-top:38px;padding:28px 0;border-bottom:1px solid #c3c8d3}.add-ons h3{font-size:24px;font-weight:500;margin:0 0 18px}.add-ons dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px;margin:0}.add-ons dl>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid #c3c8d3}.add-ons dd{margin:0;font-weight:600;white-space:nowrap}.add-ons small{display:block;color:#506078;font-size:13px}@media(max-width:640px){.add-ons dl{grid-template-columns:1fr}.course h3{font-size:26px}}

/* One consistent tracking scale, with natural spacing for each language. */
body{letter-spacing:normal;font-kerning:normal}
.hero h1,.section h2,.course h3,.location h3,dialog h2,.editorial .quote,.hero-art strong,.pillars{letter-spacing:-.01em}
.price,.add-ons dd{letter-spacing:normal;font-variant-numeric:tabular-nums}
.eyebrow,.pillars span{letter-spacing:.06em}
.brand-signature{letter-spacing:normal}
html[lang="en"] .hero h1,html[lang="en"] .section h2,html[lang="en"] .course h3,html[lang="en"] .location h3,html[lang="en"] dialog h2{letter-spacing:normal}
html[lang="zh-Hant"] .hero h1,html[lang="zh-Hant"] .section h2,html[lang="zh-Hant"] .course h3,html[lang="zh-Hant"] .location h3,html[lang="zh-Hant"] dialog h2{letter-spacing:normal}

/* Consistent line height and vertical text rhythm */
body{line-height:1.6}
.hero :is(h1,.hero-brand-slogan){line-height:1.38;margin:22px 0 24px}
.hero-art strong{line-height:1.24}
.section h2,.editorial .quote,dialog h2{line-height:1.4}
.course h3,.location h3,.add-ons h3{line-height:1.4}
.hero p:not(.eyebrow),.section p:not(.eyebrow):not(.price):not(.note){line-height:1.65}
p{margin-top:0;margin-bottom:16px}
.eyebrow{line-height:1.45;margin-bottom:20px}
.course>p:not(.eyebrow):not(.price):not(.note){margin:12px 0 16px;line-height:1.6}
.price{line-height:1.25;margin:20px 0 10px!important}
.note,.booking-note{line-height:1.55}
.course .note{margin-bottom:18px}
.course li{line-height:1.6;margin-bottom:8px}
.course details{line-height:1.55}
.steps h3,.use-list strong{line-height:1.45}.steps p{margin-top:12px}
.faq summary{line-height:1.5}.faq details p{margin:14px 0 0;line-height:1.65}
.pillars div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;line-height:1.25}
.pillars span{float:none;margin-top:0;line-height:1.4}
.btn,.reserve,.channel,.branch-pick button{line-height:1.45}
.channel small,.add-ons small{line-height:1.5;margin-top:4px}
html[lang="en"] .hero :is(h1,.hero-brand-slogan){line-height:1.3}html[lang="en"] .section h2{line-height:1.32}
html[lang="zh-Hant"] .hero h1,html[lang="zh-Hant"] .section h2{line-height:1.45}
@media(max-width:640px){.hero :is(h1,.hero-brand-slogan){line-height:1.4}.hero-art strong{line-height:1.25}.section h2{line-height:1.42}.pillars div{padding:20px 0}.steps p{margin-top:10px}}

/* Compact headings and a quieter brand panel */
.keep-together{white-space:nowrap}
.hero{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:48px}
.hero>div{min-width:0}.hero :is(h1,.hero-brand-slogan){line-height:1.18;margin:20px 0}.hero p{max-width:650px}
.hero-art{padding:20px 0 20px 28px}.hero-art strong{font-size:clamp(32px,3.4vw,50px);line-height:1.12}.hero-art .line{font-size:12px;gap:10px;margin-top:20px;padding:14px 0}.hero-art .eyebrow{font-size:10px}.brand-signature{font-size:12px;margin-top:20px!important}
.section h2,.editorial .quote,dialog h2{line-height:1.22}
.course h3,.location h3,.add-ons h3{line-height:1.25}
.hero p:not(.eyebrow),.section p:not(.eyebrow):not(.price):not(.note){line-height:1.55}
html[lang="en"] .hero h1,html[lang="en"] .section h2{line-height:1.16}
html[lang="zh-Hant"] .hero h1,html[lang="zh-Hant"] .section h2{line-height:1.25}
@media(max-width:960px){.hero{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:28px}.hero-art{padding-left:20px}.hero-art strong{font-size:32px}.hero-art .line{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:640px){.hero{grid-template-columns:1fr;gap:30px}.hero :is(h1,.hero-brand-slogan){line-height:1.2}.hero-art{padding:22px 0 0}.hero-art strong{font-size:32px;line-height:1.12}.section h2{line-height:1.25}.hero-art .line{justify-content:flex-start;gap:24px}}

/* Highlight only the service and brand keywords in the hero heading. */
.hero h1 .hero-accent{color:var(--yellow)}.hero-art em{color:inherit}

/* Contextual photography, preserving the original image proportions. */
.context-photo,.brand-art{display:block;width:100%;height:auto}
figure{margin:0}figcaption{font-size:13px;line-height:1.5;margin-top:12px;color:#506078}
.brand-overview{min-width:0}.brand-art{max-width:440px;margin:0 auto 24px}
.method-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.method-heading h2{margin:0}
.experience-photos{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start;margin-top:10px}
.experience-photos figure:first-child{padding-top:30px}.experience-photos figure:last-child{max-width:360px;justify-self:end;width:100%}
.add-ons{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center}.fragrance-photo{min-width:0}
.location>.context-photo{margin-bottom:24px}.locations{align-items:start}
@media(max-width:640px){.method-heading,.add-ons,.experience-photos{grid-template-columns:1fr;gap:24px}.method-heading h2{margin-bottom:8px}.brand-art{max-width:340px}.experience-photos figure:first-child{padding-top:0}.experience-photos figure:last-child{max-width:none;justify-self:stretch}.experience-photos figure:last-child img{max-width:380px;margin:auto}.fragrance-photo{margin-top:6px}}

/* Consultation photography on a continuous neutral surface. */
.method-surface{background:var(--paper);color:var(--ink);border-block:1px solid #d9dce5}
.method-surface .eyebrow{color:var(--blue)}.method-surface h2 em{color:var(--blue)}
.method-surface .steps article{border-color:#c3c8d3}.method-surface .number{color:var(--blue)}.method-surface .steps p{color:#506078}
.method-heading{grid-template-columns:1fr 1.1fr;gap:48px}.method-heading .context-photo{border-radius:3px}
.experience-photos{display:block;max-width:900px;margin:10px auto 0;width:100%}.experience-photos figure:first-child{padding-top:0}
.group-photos{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start;margin-top:12px}.group-photos img{border-radius:3px}
@media(max-width:640px){.method-heading,.group-photos{grid-template-columns:1fr;gap:24px}.group-photos img:last-child{max-width:420px;margin:auto}}

/* Brand colour restored; photographic edges dissolve into each section. */
.method-surface{background:var(--blue);color:white;border:0}
.method-surface .eyebrow{color:#edf0fb}.method-surface h2 em{color:var(--yellow)}
.method-surface .steps article{border-color:#9eabd0}.method-surface .number{color:var(--yellow)}.method-surface .steps p{color:#e0e5f2}
.context-photo,.brand-art{border:0!important;box-shadow:none;border-radius:24px;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in}
.method-heading .context-photo,.group-photos img{border-radius:24px}
.brand-art{mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent)}
.experience-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;max-width:none}
.makeup-feature{padding:18px 0}.makeup-feature h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;line-height:1.3;margin:0 0 18px}.makeup-feature p{color:#506078}.makeup-feature .eyebrow{color:var(--blue)}
.group-photos{gap:36px}.group-photos img:last-child{margin-top:45px}
@media(max-width:640px){.experience-photos{grid-template-columns:1fr;gap:16px}.group-photos img:last-child{margin-top:0}.context-photo,.brand-art{border-radius:18px}.method-heading .context-photo,.group-photos img{border-radius:18px}}

/* Integrate photographs through layout, without fading or decorative framing. */
.context-photo,.brand-art,.method-heading .context-photo,.group-photos img{mask-image:none!important;-webkit-mask-image:none!important;border-radius:0!important;mix-blend-mode:normal}
.method-section{padding-top:0;padding-bottom:0;max-width:none}
.method-heading{grid-template-columns:1fr 1fr;gap:0;align-items:stretch;margin:0 -8.14%}
.method-copy{padding:70px 14%;display:flex;flex-direction:column;justify-content:center}
.method-heading>.context-photo{height:100%;min-height:360px;object-fit:cover;object-position:center}
.method-section .steps{margin:0;padding:48px 0 56px}
.experience-photos{grid-template-columns:1.25fr 1fr;gap:0;align-items:stretch;margin-top:24px;border-block:1px solid #d9dce5}
.experience-photos figure{position:relative;display:flex;flex-direction:column}
.experience-photos .context-photo{height:100%;object-fit:cover;min-height:280px}
.experience-photos figcaption{margin:0;padding:12px 0;font-size:12px;background:var(--paper)}
.makeup-feature{padding:36px;display:flex;flex-direction:column;justify-content:center}
.add-ons{gap:0;grid-template-columns:1.35fr 1fr;padding:0;margin-top:38px;border-top:1px solid #c3c8d3;align-items:stretch}
.add-on-prices{padding:28px 36px 28px 0}.fragrance-photo{display:flex;flex-direction:column}.fragrance-photo img{height:100%;object-fit:cover}.fragrance-photo figcaption{margin:0;padding:12px 0}
.group-photos{grid-template-columns:1.4fr 1fr;gap:16px;align-items:stretch}.group-photos img,.group-photos img:last-child{height:360px;margin:0;object-fit:cover;object-position:center}
.brand-art{max-width:340px;margin-bottom:20px;mix-blend-mode:multiply}
@media(max-width:640px){.method-heading{grid-template-columns:1fr;margin:0 -6.82%}.method-copy{padding:40px 6% 30px}.method-heading>.context-photo{min-height:0;height:auto;max-height:none;object-fit:contain}.method-section .steps{padding:30px 0 40px}.experience-photos,.add-ons,.group-photos{grid-template-columns:1fr}.makeup-feature{padding:26px 0}.experience-photos .context-photo{min-height:0;height:auto}.add-on-prices{padding:24px 0}.fragrance-photo img{height:auto}.group-photos img,.group-photos img:last-child{height:auto;max-width:none}.brand-art{max-width:300px}}

.popup-location{grid-column:1/-1;border-top:1px solid #9eabd0;padding-top:30px;margin-top:12px}.popup-badge{display:inline-block;background:var(--yellow);color:var(--ink);padding:4px 10px;margin-left:12px;font-size:11px;font-weight:600;letter-spacing:normal}.popup-location p:not(.eyebrow){max-width:650px}.popup-location h3{margin-top:12px}

.makeup-feature{padding:0;background:#fff;justify-content:flex-start}.makeup-tools{display:block;width:100%;height:190px;object-fit:cover;object-position:center}.makeup-feature-copy{padding:28px 32px 34px}.makeup-feature-copy h3{font-size:clamp(23px,2vw,29px)}@media(max-width:640px){.makeup-tools{height:auto}.makeup-feature-copy{padding:24px}}

/* Place styling beside its own explanation; give makeup the full 04 feature. */
.style-feature{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;align-items:stretch;margin-top:24px;border-block:1px solid #d9dce5}
.style-feature>.context-photo{height:100%;min-height:280px;object-fit:cover}
.style-feature-copy{padding:32px;display:flex;flex-direction:column;justify-content:center}
.style-feature-copy h3{font-size:clamp(23px,2vw,29px);font-weight:500;line-height:1.25;margin:0 0 16px}
.style-feature-copy p:not(.eyebrow){color:#506078}
.experience-photos{display:block}
.experience-photos .makeup-feature{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;background:transparent}
.experience-photos .makeup-tools{height:auto;object-fit:contain;width:100%;background:#fff}
.makeup-feature-copy{padding:32px}
@media(max-width:640px){.style-feature,.experience-photos .makeup-feature{grid-template-columns:1fr}.style-feature>.context-photo{height:auto;min-height:0}.style-feature-copy,.makeup-feature-copy{padding:24px 0}}

/* Keep photography alongside the relevant makeup and styling stories. */
.strip-locations{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.strip-popup{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.strip-popup small{padding:3px 7px;background:var(--yellow);color:var(--ink);font-size:11px;line-height:1.3}
.experience-photos .makeup-feature{align-items:stretch;grid-template-columns:1.2fr 1fr}
.lip-photo{position:relative;overflow:hidden;aspect-ratio:1.64;align-self:center}
.lip-photo img{display:block;width:118.75%;max-width:none;height:auto}
.makeup-feature-copy{display:flex;flex-direction:column;justify-content:center}
.makeup-tools-detail{display:block;width:180px;max-width:65%;height:auto;margin-top:24px;align-self:flex-start}
.experience-photos .style-feature{grid-template-columns:1fr 1.2fr;margin-top:28px;border-top:1px solid #d9dce5;border-bottom:0}
.experience-photos .style-feature>.context-photo{align-self:center;height:auto;min-height:0}
.experience-photos .style-feature-copy{padding:32px 32px 32px 0}
@media(max-width:640px){.strip-locations{gap:10px 16px}.experience-photos .makeup-feature,.experience-photos .style-feature{grid-template-columns:1fr}.experience-photos .style-feature>.context-photo{grid-row:1}.experience-photos .style-feature-copy,.makeup-feature-copy{padding:24px 0}.makeup-tools-detail{width:150px;margin-top:18px}}

/* Images sourced from BRANME's official website and public Instagram grid. */
.makeup-references{display:flex;align-items:center;gap:24px;margin-top:24px}
.instagram-makeup{display:block;width:135px;flex-shrink:0;color:var(--ink);text-decoration:none}
.instagram-makeup img{display:block;width:100%;height:auto}
.instagram-makeup span{display:block;font-size:12px;line-height:1.4;margin-top:8px}
.makeup-references .makeup-tools-detail{margin:0;width:150px;max-width:42%}
.consultation-visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 32px}
.consultation-visuals img{display:block;width:100%;height:auto;aspect-ratio:1.49;object-fit:cover}
.consultation-visuals figcaption{margin:0;padding:10px 0;color:var(--blue);font-size:12px}
@media(max-width:640px){.makeup-references{gap:24px}.consultation-visuals{gap:10px;margin:20px 0 24px}.consultation-visuals figcaption{font-size:10px}.instagram-makeup{width:135px}}

/* Let the product and wardrobe photographs carry each service story. */
.finder-heading{display:grid;grid-template-columns:1fr .7fr;gap:48px;align-items:center;margin-bottom:28px}
.finder-heading h2{margin-bottom:0}.finder-heading>img{display:block;width:100%;height:auto;max-height:220px;object-fit:cover}
.experience-photos .makeup-feature{grid-template-columns:1.2fr 1fr;align-items:center}
.makeup-photo-group,.style-photo-group{min-width:0}
.makeup-product-photo,.wardrobe-photo{display:block;width:100%;height:auto}
.makeup-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center;margin-top:12px;background:#fff}
.makeup-detail-grid .makeup-tools-detail{display:block;width:100%;max-width:none;height:auto;margin:0}
.makeup-detail-grid .lip-photo{width:100%;margin:0}
.makeup-references{margin-top:20px}
.instagram-makeup{width:145px}
.experience-photos .style-feature{grid-template-columns:1fr 1.2fr;align-items:center;margin-top:38px;padding-top:28px}
.style-detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;align-items:start;margin-top:12px}
.style-detail-grid>.context-photo{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.fabric-photo img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.fabric-photo figcaption{margin:0;padding:8px 0;font-size:12px;background:transparent}
@media(max-width:640px){.finder-heading{grid-template-columns:1fr;gap:22px}.finder-heading>img{max-height:none}.experience-photos .makeup-feature,.experience-photos .style-feature{grid-template-columns:1fr}.style-photo-group{grid-row:1}.experience-photos .style-feature{margin-top:24px;padding-top:24px}.makeup-detail-grid,.style-detail-grid{gap:10px}.instagram-makeup{width:135px}}

/* Corporate gallery: one wide scene, the retained demonstration, four details. */
.corporate-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 16px;margin-top:16px}
.corporate-gallery figure{min-width:0;margin:0;display:flex;flex-direction:column}
.corporate-gallery img{display:block;width:100%;height:auto;box-shadow:none;border:0;border-radius:0;mask-image:none;-webkit-mask-image:none}
.corporate-main{grid-column:span 8}.corporate-demo{grid-column:span 4}
.corporate-main img{aspect-ratio:16/9;object-fit:cover}
.corporate-gallery .corporate-demo img{height:0;min-height:0;flex:1;object-fit:cover;object-position:center 36%}
.corporate-detail{grid-column:span 3}.corporate-detail img{aspect-ratio:4/3;object-fit:cover;object-position:center}
.corporate-gallery figcaption{margin:0;padding:10px 0 0;color:#506078;font-size:13px;line-height:1.4}
@media(max-width:960px){.corporate-detail{grid-column:span 6}}
@media(max-width:640px){.corporate-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.corporate-main{grid-column:1/-1}.corporate-demo{grid-column:span 1}.corporate-detail{grid-column:span 1}.corporate-gallery .corporate-demo img{height:auto;flex:none;aspect-ratio:4/3;object-fit:cover;object-position:center 36%}.corporate-gallery figcaption{font-size:12px}.corporate-detail:last-child{grid-column:1/-1;max-width:600px}.corporate-detail:last-child img{aspect-ratio:600/330}}

/* Regional photographs introduce the journey; studio photographs identify our space. */
#locations .location-landscape{margin:0 0 26px;min-width:0}
#locations .location-landscape>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:0;box-shadow:none}
#locations .location-landscape figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 16px;font-size:13px;line-height:1.4;padding-top:10px;color:#edf0fb}
#locations .photo-credit{font-size:12px;color:inherit;text-underline-offset:3px}
#locations .location>.eyebrow{margin-bottom:12px}
#locations .studio-view{margin:20px 0 24px;border-top:1px solid #9eabd0;padding-top:14px;max-width:360px}
#locations .studio-view summary{cursor:pointer;font-size:14px}
#locations .studio-view figure{margin:14px 0 0}
#locations .studio-view img{display:block;width:100%;height:auto}
#locations .studio-view figcaption{font-size:13px;padding-top:8px}
#locations .popup-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;padding-top:36px;margin-top:16px}
#locations .popup-photo{margin:0}
#locations .popup-photo>img{aspect-ratio:2/1}
#locations .popup-copy{min-width:0}
@media(max-width:640px){#locations .popup-location{grid-template-columns:1fr;gap:24px}#locations .location-landscape{margin-bottom:20px}#locations .studio-view{max-width:none}}

/* Readable body copy without loosening the compact heading rhythm. */
body{font-size:1.0625rem;line-height:1.58;font-weight:400;overflow-wrap:break-word}
html[lang="ko"] body{font-family:BranmeSans,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
html[lang="en"] body{font-family:BranmeSans,Arial,sans-serif;word-break:normal}
.section p:not(.eyebrow):not(.price):not(.note),.hero p:not(.eyebrow){line-height:1.58;max-width:62ch}
.section p.lead,.section .prose.lead,.style-feature-copy p:not(.eyebrow),.faq .prose{color:#35445e}
.prose{max-width:62ch}.prose p{margin:0 0 .8em}.prose p:last-child{margin-bottom:0}
.prose.lead{margin-bottom:20px}.makeup-feature-copy>.prose,.style-feature-copy>.prose{margin-bottom:20px}
.blue p:not(.eyebrow):not(.price),.blue .prose,.method-surface .steps p{color:#fff}
.blue .note{color:#f1f3fa!important}
.eyebrow{font-size:.8125rem;font-weight:500;letter-spacing:.035em}
.steps h3,.use-list strong{font-weight:600;line-height:1.3}
.use-list p{margin-top:10px;margin-bottom:0}
.course>p:not(.eyebrow):not(.price):not(.note){font-size:1rem;line-height:1.55;color:#35445e}
.course ul,.course summary{font-size:1rem}.course .note,.booking-note,.channel small{font-size:.9375rem;color:#42516a}
.course li{margin-bottom:6px;line-height:1.5}
.faq summary{font-weight:550;line-height:1.4}.faq .prose{margin-top:14px;max-width:60ch}.faq .prose p{margin:0 0 .8em}.faq .prose p:last-child{margin-bottom:0}
.section h2{margin-bottom:22px}.hero h1,.section h2{overflow-wrap:break-word}
.corporate-gallery figcaption,.fabric-photo figcaption,.instagram-makeup span,.consultation-visuals figcaption{font-size:.8125rem;line-height:1.4}
#locations .location{min-width:0}
#locations .location-copy>.eyebrow{margin:0 0 10px}
#locations .location-copy h3{margin:0 0 14px;font-size:clamp(1.625rem,2.3vw,2rem);line-height:1.2}
#locations .location-copy>p:not(.eyebrow){margin-bottom:18px}
#locations .location-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#locations .location-actions>a{margin:0}
#locations .location-haeundae .location-copy{margin-bottom:26px}
#locations .location-haeundae .location-landscape{margin-bottom:0}
#locations .location-landscape figcaption span a{margin:0}
#locations .location-seongsu .location-landscape>img{object-position:center 60%}
#locations .popup-badge,.strip-popup small{font-size:.75rem}
#locations .studio-view summary{font-size:.9375rem}
@media(max-width:640px){body{font-size:1rem}.section p:not(.eyebrow):not(.price):not(.note),.hero p:not(.eyebrow){line-height:1.56}.section h2{font-size:1.875rem}.course-head{flex-wrap:wrap;gap:8px}.course-head h2{margin-bottom:0}.course-head button{padding:8px 0}.purpose button{font-size:1.125rem;line-height:1.4}.corporate-gallery figcaption,.fabric-photo figcaption,.instagram-makeup span,.consultation-visuals figcaption{font-size:.8125rem}#locations .location-landscape figcaption{font-size:.8125rem}#locations .location-haeundae .location-copy{margin-bottom:22px}}

#locations .location-seongsu .location-landscape>img{object-position:center 65%}

#locations .popup-photo{margin:0}footer .photo-credits{margin:18px 0;font-size:13px;max-width:420px}footer .photo-credits summary{cursor:pointer}footer .photo-credits p{font-size:13px;line-height:1.45;margin:10px 0}footer .photo-credits a{font-size:13px;margin-right:0}

/* SEO route additions reuse the current typography, surfaces and booking controls. */
.languages a{border:0;background:none;padding:8px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;display:inline-block}
.languages a.active{color:var(--blue);text-decoration:underline;text-underline-offset:7px}
.seo-intro{padding-bottom:40px}.seo-intro h1{font-family:BranmeMontserrat,BranmeSans,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.22;letter-spacing:-.01em;margin:22px 0;max-width:850px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;line-height:1.4;margin-bottom:24px}
.seo-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.seo-links>a{text-underline-offset:5px;font-size:16px}
.seo-related{padding-top:40px;padding-bottom:50px;border-top:1px solid #d9dce5}.seo-related h2{font-size:24px}
.seo-one-location{grid-template-columns:1fr;max-width:1100px}
.seo-one-location .location{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;border-top:0;padding-top:0;min-width:0}
.seo-one-location .location-landscape{grid-column:1;grid-row:1;width:100%;margin:0;min-width:0}
.seo-one-location .location-landscape>img{display:block;width:auto;height:auto;max-width:100%;max-height:360px;margin:auto;aspect-ratio:auto;object-fit:contain;object-position:center;border:0;box-shadow:none}
.seo-one-location .location-copy{grid-column:2;grid-row:1;min-width:0}
.seo-one-location .location-copy>.eyebrow{margin:0 0 12px}
.seo-one-location .location-copy h3{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 18px}
.seo-one-location .location-copy h3 .studio-link{font:inherit;color:inherit;text-decoration:none;margin:0}
.seo-one-location .location-copy h3 .studio-link:hover{text-decoration:underline}
.seo-one-location .location-copy>p:not(.eyebrow){margin:0 0 18px;max-width:540px}
.seo-one-location .location-actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.seo-one-location .location-actions>a{margin:0}
@media(max-width:700px){.seo-one-location .location{grid-template-columns:minmax(0,1fr);gap:26px}.seo-one-location .location-landscape{grid-column:1;grid-row:1;max-width:360px;justify-self:center}.seo-one-location .location-landscape>img{max-height:260px}.seo-one-location .location-copy{grid-column:1;grid-row:2}.seo-one-location .location-copy h3{font-size:30px;margin-bottom:14px}}
#locations .location-copy h3 .studio-link{font:inherit;color:inherit;text-decoration:none;margin:0}#locations .location-copy h3 .studio-link:hover{text-decoration:underline}
.seo-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;max-width:580px;margin-bottom:20px}.seo-footer-links a{margin:0}
@media(max-width:640px){.seo-intro{padding-bottom:30px}.seo-intro h1{font-size:30px}.breadcrumbs{font-size:14px}.seo-related{padding-top:30px;padding-bottom:40px}}

/* Four-language header: preserve the established layout, fit narrow screens. */
:lang(zh-Hans){font-family:'PingFang SC','Microsoft YaHei','Noto Sans SC',BranmeSans,sans-serif}
.languages{flex-shrink:0;white-space:nowrap}.languages a{white-space:nowrap}
@media(min-width:1001px) and (max-width:1280px){header{gap:14px}#nav{gap:14px}header>.reserve{padding:13px 17px}}
@media(max-width:400px){header{gap:6px;padding-left:4%;padding-right:4%}.languages a{padding:8px 6px}.logo img{width:100px}#menu{padding:2px 5px;flex-shrink:0}}

/* Keep meaningful phrases together without increasing line/paragraph spacing. */
.meaning-unit{display:inline-block;max-width:100%;vertical-align:top;white-space:normal;word-break:inherit;overflow-wrap:break-word}
html[lang="zh-Hans"] .hero h1,html[lang="zh-Hans"] .section h2{line-height:1.25;letter-spacing:normal}

/* Reserve channel identity: preserve existing row padding and link interactions. */
#booking .channel{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;column-gap:12px;align-items:center}
#booking .channel-icon{display:flex;width:24px;height:24px;align-items:center;justify-content:center}
#booking .channel-icon img{display:block;width:24px;height:24px;object-fit:contain}
#booking .channel-label{min-width:0;overflow-wrap:anywhere}
#booking .channel-arrow{display:block;justify-self:end}

/* A single persistent Reserve action, at the upper right on every screen. */
header>.reserve{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:11px 24px;border:1px solid transparent;border-radius:999px;background:var(--yellow);color:#000;font-size:.9375rem;font-weight:550;letter-spacing:.01em;white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff24,0 2px 6px #18254412;transition:background-color .18s ease,box-shadow .18s ease}
header>.reserve:hover{background:#f5c63d;box-shadow:inset 0 1px 0 #ffffff24,0 3px 9px #18254420}
header>.reserve:active{background:#ebbc34;box-shadow:inset 0 1px 2px #18254422}
@media(max-width:1000px){
 header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:12px;row-gap:4px;padding-top:12px;padding-bottom:8px}
 header>.logo{grid-column:1;grid-row:1}
 header>#menu{grid-column:3;grid-row:1;min-width:36px;min-height:44px;padding:0}
 header>.reserve{display:inline-flex;grid-column:4;grid-row:1;padding:10px 18px}
 header>.languages{grid-column:1/-1;grid-row:2;justify-self:end;margin-left:0}
 header>#nav.open{top:100%}
}
@media(max-width:400px){header{column-gap:8px}header>.reserve{padding:10px 16px}}
@media(prefers-reduced-motion:reduce){header>.reserve{transition:none}}

/* Consulting references: original client logos in seamless, restrained moving rows. */
.client-references{grid-column:1/-1;min-width:0;margin-top:16px;padding:24px 0;border-top:1px solid #d9dce5;border-bottom:1px solid #d9dce5}
.client-references-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.client-references-heading h3{margin:0;color:var(--ink);font-size:1rem;font-weight:500;line-height:1.5}
.client-motion{border:0;background:transparent;padding:8px 0;color:#506078;font-size:.875rem;line-height:1.4;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.client-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.client-logo-track{display:flex;width:max-content;animation:client-logo-flow var(--logo-duration) linear infinite;will-change:transform}
.client-logo-group{display:flex;flex-shrink:0;list-style:none;margin:0;padding:0}
.client-logo{display:flex;align-items:center;justify-content:center;width:204px;height:88px;padding:12px 20px;flex-shrink:0}
.client-logo-window{position:relative;overflow:hidden;display:block;flex-shrink:0;mix-blend-mode:multiply}
.client-logo-window img{position:absolute;display:block;max-width:none;object-fit:fill;filter:none;border:0;border-radius:0}
.client-marquee:hover .client-logo-track,.client-references.is-paused .client-logo-track{animation-play-state:paused}
@keyframes client-logo-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:640px){.client-references{margin-top:0;padding:20px 0}.client-references-heading{align-items:flex-start;gap:12px}.client-references-heading h3{max-width:65%}.client-logo{width:184px;height:84px;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.client-logo-track{animation:none;transform:none;will-change:auto;width:100%}.client-logo-group{flex-wrap:wrap;justify-content:center;width:100%}.client-logo-copy,.client-motion{display:none}.client-marquee{mask-image:none;-webkit-mask-image:none}.client-logo{width:184px;max-width:100%}}

/* Compact paired option photos; skin results belong to the skin consultation. */
.add-ons{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px;align-items:center}
.add-ons .add-on-prices{padding-right:0}
.add-on-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;max-width:480px;padding:16px 0}
.add-on-visuals figure{margin:0;min-width:0}
.add-on-visuals img{display:block;width:100%;height:180px;object-fit:contain;object-position:left center;border:0;box-shadow:none}
.add-on-visuals figcaption{margin:0;padding:10px 0 0;color:#506078;font-size:.875rem;line-height:1.5}
#skin-story .skin-result-photo{max-width:320px;margin:28px 0 0}
#skin-story .skin-result-photo img{display:block;width:100%;height:auto}
#skin-story .skin-result-photo figcaption{margin:0;padding:10px 0 0;color:#e0e5f2;font-size:.875rem;line-height:1.5}
@media(max-width:640px){.add-ons{grid-template-columns:minmax(0,1fr);gap:0}.add-on-visuals{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;padding:0 0 24px}.add-on-visuals img{height:140px}.add-on-visuals .fragrance-photo{margin-top:0}#skin-story .skin-result-photo{max-width:300px;margin-top:24px}}

/* Requested option imagery and integrated skin-results composition. */
.add-on-visuals{align-items:stretch;gap:16px;max-width:480px;padding:24px 0}
.add-on-visuals img{height:180px;object-fit:contain;object-position:center}
.add-on-visuals .addon-tools-photo{grid-column:1/-1}
.add-on-visuals .addon-tools-photo img{height:120px;object-fit:contain}
#skin-story .skin-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0;margin-top:32px;background:#dbdad6;color:var(--blue)}
#skin-story .skin-result-copy{padding:36px 40px}
#skin-story .skin-result-copy,#skin-story .skin-result-copy .prose,#skin-story .skin-result-copy p{color:#182544}
#skin-story .skin-result-copy .note{color:#182544!important;opacity:1}
#skin-story .skin-result-copy .text-link{color:inherit;border-color:currentColor}
#skin-story .skin-result-photo{width:100%;max-width:none;margin:0;align-self:stretch}
#skin-story .skin-result-photo img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:900px){#skin-story .skin-result-copy{padding:28px}}
@media(max-width:640px){.add-on-visuals{gap:12px;padding:8px 0 24px;max-width:none}.add-on-visuals img{height:140px}#skin-story .skin-composition{grid-template-columns:minmax(0,1fr);margin-top:24px}#skin-story .skin-result-copy{padding:24px 24px 8px}#skin-story .skin-result-photo{max-width:none;margin:0}#skin-story .skin-result-photo img{height:auto}}

/* Shared first-screen type rhythm; Korean brand slogan and approved intro. */
html[lang] .hero :is(h1,.hero-brand-slogan){line-height:1.18;letter-spacing:-.02em;word-break:normal;overflow-wrap:normal}
html[lang] .hero .hero-intro{line-height:1.58;letter-spacing:0;max-width:650px;word-break:normal;overflow-wrap:break-word}
.hero .hero-slogan{display:inline-block;color:#fff;background:linear-gradient(125deg,#fff 0%,#fff 25%,var(--yellow) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero .hero-intro-unit{display:block;word-break:keep-all;overflow-wrap:break-word}
@media(max-width:640px){html[lang] .hero :is(h1,.hero-brand-slogan){line-height:1.18;letter-spacing:-.02em}html[lang] .hero .hero-intro{line-height:1.58;letter-spacing:0}.hero .hero-slogan{font-size:clamp(32px,8.8vw,42px)}}
@media(forced-colors:active){.hero .hero-slogan{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

/* Korean About reuses the existing editorial columns and brand palette. */
#brand-about{align-items:center}
#brand-about .brand-about-copy{min-width:0}
#brand-about h2{word-break:keep-all;overflow-wrap:break-word}
#brand-about .prose p{margin:0 0 1em}
#brand-about .brand-about-perspective{color:var(--blue);font-size:clamp(19px,1.7vw,24px);line-height:1.45;margin:26px 0;font-weight:500;word-break:keep-all}
#brand-about .brand-about-signature{color:var(--blue);margin:20px 0 0}
#brand-about .brand-history-image{margin:0;min-width:0}
#brand-about .brand-history-image img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:640px){#brand-about{gap:28px}#brand-about h2{font-size:clamp(24px,5.8vw,30px);line-height:1.3;letter-spacing:-.01em}#brand-about .brand-about-perspective{font-size:19px;margin:22px 0}#brand-about .brand-history-image{width:100%;max-width:440px;justify-self:center}}

/* About text wraps by meaning; the image starts at the top of its column. */
#brand-about{align-items:start}
#brand-about h2{font-size:clamp(28px,2.9vw,42px);line-height:1.3}
#brand-about .about-meaning-line{display:block;word-break:keep-all;overflow-wrap:break-word}
#brand-about .brand-history-image{align-self:start}
@media(max-width:640px){#brand-about h2{font-size:clamp(24px,5.8vw,30px)}#brand-about .about-meaning-line{max-width:100%}}

#brand-about .brand-history-image{width:100%;max-width:420px;justify-self:end}
@media(max-width:640px){#brand-about .brand-history-image{max-width:340px;justify-self:center}}

/* The requested order is heading, portrait, then body on every screen. */
#brand-about .brand-about-copy{max-width:720px;margin:0 auto}
#brand-about .prose{max-width:640px}
#brand-about .brand-history-image{display:block;max-width:340px;margin:24px 0 28px;justify-self:auto}
@media(max-width:640px){#brand-about .brand-history-image{max-width:280px;margin:20px 0 24px}}

/* Preserve the supplied styling photos without cropping knitwear. */
.style-photo-group .fabric-photo img{aspect-ratio:auto;object-fit:contain}

/* Keep the longer approved About title readable on narrow screens. */
@media(max-width:640px){#brand-about h2{font-size:clamp(20px,6vw,30px)}}

/* Approved benefit emphasis and coordinated capsule CTAs. */
.benefit-emphasis{font-weight:600;color:var(--ink)}
.authority-emphasis{font-weight:550;color:var(--ink)}
.hero .benefit-emphasis,.blue .benefit-emphasis{color:var(--yellow)}
#skin-story .skin-result-copy .benefit-emphasis{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border:1px solid transparent;border-radius:999px;font-size:.9375rem;font-weight:500;line-height:1.45;text-align:center;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover{background:#465b9c}
.btn:active{background:#3c518d}
.btn.yellow:hover{background:#f5c63d}
.btn.yellow:active{background:#ebbc34}
.hero .actions{gap:12px;align-items:stretch}
.hero .actions .btn{min-width:0;flex:1 1 auto;white-space:nowrap}
.hero .actions .btn:not(.yellow){border-color:#ffffff70;background:transparent;color:#fff}
.hero .actions .btn:not(.yellow):hover{border-color:#fff;background:#ffffff12}
.hero .actions .btn:not(.yellow):active{background:#ffffff22}
.strip-popup small,#locations .popup-badge{background:none;color:inherit;padding:0;font-size:.75rem;line-height:1.4;font-weight:400;letter-spacing:normal}
.strip-popup{gap:5px}
#locations .popup-badge{margin-left:6px;text-transform:none}
@media(max-width:640px){.hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero .actions .btn{padding:12px 14px;white-space:normal}.hero .actions .btn:last-child{grid-column:auto}.strip-popup small,#locations .popup-badge{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

/* Selected Google reviews: preserve the existing heading and branch links. */
#stories .review-carousel{grid-column:1/-1;min-width:0;margin-top:4px}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
#stories .review-selection{font-size:.8125rem;line-height:1.5;color:#526079;margin:0}
.review-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.review-controls[hidden]{display:none}
.review-controls button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid #c5ccda;border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1;transition:background-color .18s ease,border-color .18s ease}
.review-controls button:hover{background:#e7eaf2;border-color:var(--blue)}
.review-controls .review-motion{font-size:14px;margin-left:5px}
.review-page{font-size:.8125rem;min-width:42px;text-align:center;font-variant-numeric:tabular-nums;color:#526079}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.review-card{min-width:0;display:flex;flex-direction:column;min-height:280px;padding:26px 24px 22px;background:#eeeff3;border-top:2px solid var(--blue);border-radius:3px 3px 16px 16px}
.review-card[hidden]{display:none}
.is-enhanced .review-card:not([hidden]){animation:review-reveal .5s ease both}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-stars{color:#986e08;font-size:15px;letter-spacing:2px;white-space:nowrap}
.review-source{font-size:.75rem;color:#526079}
.review-card blockquote{margin:23px 0 28px;max-height:320px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#aab3c4 transparent;padding-right:8px;overscroll-behavior:contain}
.review-card blockquote:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
#stories .review-card blockquote p{white-space:pre-line;margin:0;font-size:1rem;line-height:1.75;color:var(--ink);font-weight:400;word-break:normal;overflow-wrap:anywhere}
html[lang^="ko"] #stories .review-card blockquote p{word-break:keep-all}
.review-credit{margin-top:auto;display:flex;flex-direction:column;gap:5px}
.review-author{font-size:.875rem;font-weight:550;color:var(--ink)}
.review-branch,.review-language{font-size:.75rem;line-height:1.55;color:#526079}
.review-language{margin-top:3px}
@keyframes review-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.review-grid{gap:14px}.review-card{padding:22px 18px;min-height:310px}}
@media(max-width:640px){.review-heading{flex-wrap:wrap;gap:12px}.review-grid{grid-template-columns:minmax(0,1fr)}.review-card{min-height:270px;padding:25px 24px}.review-controls button{width:44px;height:44px}#stories .review-card blockquote p{font-size:1rem}.review-controls{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.is-enhanced .review-card:not([hidden]){animation:none}.review-controls button{transition:none}}

/* Unified booking colour; preserve existing pill geometry and interactions. */
.hero .booking-cta,.btn.yellow[data-open],.btn.yellow[data-branch]{background:var(--yellow);color:#000}
.hero .actions .booking-cta{flex:0 1 auto}
.hero .booking-cta:hover,.btn.yellow[data-open]:hover,.btn.yellow[data-branch]:hover{background:#f5c63d}
.hero .booking-cta:active,.btn.yellow[data-open]:active,.btn.yellow[data-branch]:active{background:#ebbc34}

#brand-about .founder-caption{margin:14px 0 0;text-align:center;font-size:.875rem;line-height:1.6;font-weight:500;color:var(--ink);word-break:keep-all}

/* AI skin care, makeup and styling share the existing daily-use chapter. */
#image-story{grid-template-columns:minmax(0,1fr)}
#image-story>div:first-child{max-width:720px}
#image-story .integrated-skin{margin:0 0 42px}
#image-story #skin-story{padding:32px clamp(20px,3vw,40px)}
#image-story #skin-story h2{font-size:clamp(24px,2.6vw,36px);line-height:1.3}
#image-story #skin-story .skin-composition{margin-top:24px}
#image-story .makeup-feature-copy>p:not(.eyebrow),#image-story .style-feature-copy>p:not(.eyebrow){color:#35445e}
@media(max-width:640px){#image-story .integrated-skin{margin-bottom:28px}#image-story #skin-story{padding:24px 18px}}

/* Read customer experiences before continuing to the branch review sources. */
#stories{grid-template-columns:minmax(0,1fr)}
#stories>div:first-child{max-width:760px}
#stories .review-branch-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:4px}
#stories .review-branch-links>div{min-width:0}
@media(max-width:640px){#stories .review-branch-links{grid-template-columns:minmax(0,1fr);gap:0}}

.review-heading{justify-content:flex-end}

/* Requested AI skin care background and heading colours only. */
.integrated-skin,main>.blue:has(>#skin-story){background:var(--yellow)}
#skin-story>.eyebrow,#skin-story>h2{color:#000}

/* Approved situation finder, report examples and Blue Course only. */
.purpose .situation-description{display:block;margin:10px 0 0;font-size:1rem;line-height:1.65;font-weight:400;color:#506078}
.purpose button.active .situation-description{color:#fff}
.report-showcase{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center;margin-top:60px;padding-top:40px;border-top:1px solid #c3c8d3}
.report-showcase h3,.blue-course h3{font-size:clamp(24px,2.5vw,34px);line-height:1.35;font-weight:500;margin:12px 0 24px}
.report-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}
.report-photos img{display:block;width:100%;height:auto;border-radius:8px}
.report-detail-photos{display:grid;gap:16px}
.report-copy .note{font-size:.875rem;color:#506078}
.blue-course{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:center;border-top:1px solid #c3c8d3;padding-top:32px;margin-top:12px}
.blue-course>img{display:block;width:100%;max-width:300px;height:auto;justify-self:end}
.blue-course-prices{max-width:500px;margin:24px 0 12px}
.blue-course-prices>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #c3c8d3}
.blue-course-prices dd{margin:0;font-weight:600;white-space:nowrap}
.blue-course .booking-cta{background:var(--yellow);color:#000;border-radius:999px}
@media(max-width:640px){.report-showcase,.blue-course{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:32px;padding-top:28px}.report-photos{gap:12px}.report-detail-photos{gap:12px}.blue-course>img{max-width:240px;justify-self:start}.purpose .situation-description{font-size:1rem}}

/* Requested corporate heading and relocated workshop image. */
#corporate .corporate-intro-image{margin:0;align-self:center;justify-self:end;max-width:360px;width:100%;isolation:isolate}
#corporate .corporate-intro-image img{display:block;width:100%;height:auto;mix-blend-mode:multiply;border-radius:20px}
#corporate .blue-course{grid-template-columns:minmax(0,1fr)}
#corporate .blue-course>div{max-width:740px}
@media(max-width:640px){#corporate .corporate-intro-image{max-width:300px;justify-self:start}#corporate .corporate-intro-image img{border-radius:16px}}

/* All languages share Korean spacing and heading rhythm. */
html[lang] .section h2{line-height:1.22}
html[lang] #brand-about h2{line-height:1.3}
@media(max-width:640px){html[lang] .section h2{line-height:1.25}html[lang] #brand-about h2{line-height:1.3}}

/* Approved language alignment: use the shared face and available Chinese sans glyphs. */
html[lang="zh-Hant"] body,html[lang="zh-Hant"] body *{font-family:BranmeSans,"Microsoft YaHei","Microsoft JhengHei","PingFang TC","Noto Sans TC",system-ui,sans-serif}
html[lang="zh-Hans"] body,html[lang="zh-Hans"] body *{font-family:BranmeSans,"Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif}
/* Constrained closing copy needs a centred box as well as centred text. */
.section.end>p,.section.end>.prose{margin-left:auto;margin-right:auto;text-align:center}

/* Restore equivalent brand emphasis on every localized page. */
html[lang]:not([lang="ko"]) .benefit-emphasis{color:var(--blue)}
html[lang]:not([lang="ko"]) .hero .benefit-emphasis,html[lang]:not([lang="ko"]) .blue .benefit-emphasis{color:var(--yellow)}
html[lang]:not([lang="ko"]) #skin-story .skin-result-copy .benefit-emphasis{color:var(--ink)}

/* WeChat branch contact in the existing Chinese booking menu. */
#booking .wechat-contact summary{list-style:none;cursor:pointer}#booking .wechat-contact summary::-webkit-details-marker{display:none}#booking .wechat-chevron{font-size:24px;text-align:center}#booking .wechat-contact[open] .wechat-chevron{transform:rotate(90deg)}#booking .wechat-instructions{padding:0 0 16px 36px;font-size:14px;line-height:1.65}#booking .wechat-id{display:flex;gap:8px;flex-wrap:wrap}#booking .wechat-id input{font:inherit;min-width:0;width:140px;border:1px solid #ccd0dc;border-radius:8px;padding:8px;background:var(--paper);color:var(--ink)}#booking .wechat-id button{border:0;border-radius:20px;background:var(--yellow);color:#000;padding:8px 16px}#booking .wechat-copy-status:empty{display:none}#booking .wechat-qr{display:block;width:min(100%,360px);height:auto;object-fit:contain}#booking .wechat-save{display:inline-block;margin-top:12px;text-underline-offset:4px}@media(max-width:600px){#booking .wechat-instructions{padding-left:0}}

#brand-about .brand-history-image.about-studio-gallery{max-width:680px;width:100%;margin:26px 0 30px}#brand-about .about-studio-images{display:grid;grid-template-columns:9fr 8fr;gap:12px;align-items:start}#brand-about .about-studio-details{display:grid;gap:12px}#brand-about .about-studio-images img{width:100%;height:auto;object-fit:contain;border:0;box-shadow:none}@media(max-width:640px){#brand-about .about-studio-images,#brand-about .about-studio-details{gap:8px}#brand-about .brand-history-image.about-studio-gallery{max-width:100%;margin:20px 0 24px}}

/* Approved foreign-language semantic breaks; keep existing line and paragraph spacing. */
html[lang]:not([lang="ko"]) .semantic-flow-line{display:block;max-width:100%;overflow-wrap:break-word}
@media(max-width:640px){html[lang]:not([lang="ko"]) .semantic-flow-line,html[lang]:not([lang="ko"]) #brand-about .about-meaning-line{display:inline}html[lang]:not([lang="ko"]) .prose p{text-wrap:pretty}html[lang]:not([lang="ko"]) .hero .hero-intro-unit{display:inline}html[lang]:not([lang="ko"]) .hero .hero-intro{text-wrap:pretty}}

/* Branch facts work without external maps, fonts or social services. */
.branch-facts{font-size:1rem;line-height:1.65;min-width:0;margin:20px 0}.branch-facts p{margin:10px 0}.branch-address{overflow-wrap:break-word}.address-copy{min-height:44px;padding:10px 16px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font:inherit}.address-copy-status:empty{display:none}
#stories .review-card blockquote p{overflow-wrap:break-word}
.section h2,.section h3,.hero-intro,.prose p{ text-wrap:pretty }
@media(max-width:640px){.meaning-unit{overflow-wrap:break-word}.location-actions{flex-wrap:wrap}.review-controls button{min-width:44px;min-height:44px}.branch-facts{font-size:1rem}.courses,.purpose,.location-copy{min-width:0}}

/* Quiet local business details beneath the primary studio links. */
.branch-facts{margin:18px 0 0;font-size:.875rem;line-height:1.6}.branch-facts p{margin:5px 0}.branch-facts .branch-address,.branch-facts .branch-phone{font-size:.8125rem;line-height:1.65;font-weight:400}.branch-facts .branch-hours{font-size:.875rem}.branch-facts a{font:inherit;color:inherit}.address-unit{display:inline-block;max-width:100%;white-space:normal;word-break:keep-all;overflow-wrap:break-word}.branch-facts .address-copy{font-size:.8125rem;line-height:1.5;min-height:32px;padding:4px 0;border:0;border-radius:0;text-decoration:underline;text-underline-offset:3px}.branch-facts .branch-wechat{font-size:.875rem;margin-top:10px}
.prose p{line-height:1.7;margin-top:0;margin-bottom:1.15em}.prose p:last-child{margin-bottom:0}.semantic-flow-line,.about-meaning-line{max-width:100%;overflow-wrap:break-word}.section h2,.section h3{text-wrap:balance}.prose,.hero-intro{word-spacing:normal}
html[lang="en"] .about-meaning-line,html[lang="en"] .hero-intro-unit{word-break:normal;overflow-wrap:break-word}
html[lang^="zh"] .prose,html[lang^="zh"] .hero-intro,html[lang^="zh"] .meaning-unit{word-break:normal;line-break:strict;overflow-wrap:break-word}
@media(max-width:640px){.branch-facts{font-size:.875rem;line-height:1.65;margin-top:16px}.prose p{line-height:1.75;margin-bottom:1.1em}.hero .hero-intro{line-height:1.65}.location-copy{min-width:0}.address-unit{max-width:100%}.section h2{line-height:1.3}}

.analytics-consent{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;margin:auto;max-width:660px;background:#fff;color:#162b4d;border:1px solid #c5ccda;border-radius:10px;padding:18px 20px;box-shadow:0 6px 28px #11244726;font-size:.875rem;line-height:1.65}.analytics-consent p{margin:0 0 12px}.analytics-consent>div{display:flex;gap:12px;flex-wrap:wrap}.analytics-consent button{min-height:44px;padding:10px 20px;border:1px solid #163572;border-radius:6px;background:#fff;color:#163572;font:inherit}.analytics-consent button:first-child{background:#163572;color:#fff}.analytics-settings{font:inherit;font-size:.8125rem;color:inherit;background:none;border:0;text-decoration:underline;margin-top:12px;padding:8px 0;min-height:44px}

/* Founder portrait and published book, preserving the complete cover. */
#brand-about .founder-book-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(16px,3vw,32px);align-items:center;max-width:620px;margin:24px 0 28px}
#brand-about .founder-book-pair .brand-history-image{max-width:none;width:100%;margin:0}
#brand-about .founder-book{margin:0;min-width:0;text-align:center}
#brand-about .founder-book img{display:block;width:100%;height:auto;object-fit:contain}
#brand-about .founder-book figcaption{font-size:.875rem;line-height:1.6;margin-top:12px;word-break:keep-all}
#brand-about .founder-book figcaption span,#brand-about .founder-book figcaption strong{display:block}
#brand-about .founder-book figcaption span{color:var(--muted);font-size:.8rem}
@media(max-width:640px){#brand-about .founder-book-pair{gap:14px;margin:20px 0 24px}#brand-about .founder-book figcaption,#brand-about .founder-book-pair .founder-caption{font-size:.75rem;line-height:1.55}#brand-about .founder-book figcaption span{font-size:.7rem}}

/* Explicit solution selection affordances. */
.purpose{gap:14px;border-top:0}
.purpose button{border:1px solid #b6c2d8;border-radius:6px;background:#f1f4fa;padding:24px;cursor:pointer;transition:background .15s,border-color .15s;min-width:0}
.purpose button:hover{background:#e7edf8;border-color:var(--blue)}
.purpose button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.purpose button.active,.purpose button.active:hover{background:var(--blue);border-color:var(--blue);color:white}
.purpose button .solution-action{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin:18px 0 0;font-size:.875rem;font-weight:600;color:var(--blue)}
.purpose button .solution-action span{margin:0;font-size:inherit;color:inherit}
.purpose button.active .solution-action{color:var(--yellow)}
@media(max-width:640px){.purpose{gap:12px}.purpose button{padding:20px}.purpose button .solution-action{margin-top:14px}}

/* Keep the original slogan styling; the existing intro area provides the English main heading. */
html[lang="en"] .hero h1.hero-intro{font:inherit;font-weight:400;line-height:1.58;letter-spacing:0;max-width:650px;margin:1em 0;color:#edf0fb;word-break:normal;overflow-wrap:break-word}
@media(max-width:640px){html[lang="en"] .hero h1.hero-intro{line-height:1.65}}
