@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--paper:#f8f5ef;--ink:#29241f;--muted:#65564b;--line:#ddcfc0;--copper:#795639;--dark:#31251f;--white:#fffaf3}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans","Noto Sans KR",sans-serif;word-break:keep-all}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b97947;outline-offset:5px}
p{line-height:1.8;margin:0 0 16px}
h1,h2,h3{line-height:1.28;letter-spacing:-.055em;margin:0 0 16px}
h1{font-size:clamp(33px,4vw,61px);font-weight:600}
h2{font-size:clamp(29px,3.4vw,49px);font-weight:600}
h3{font-size:clamp(18px,2vw,25px);font-weight:600}
.wrap,.nav{width:min(1180px,calc(100% - 96px));margin-inline:auto}
header{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:inline-flex;align-items:center;flex-direction:column;font:36px/.84 "Instrument Serif",Georgia,serif;letter-spacing:.085em}
.logo span{font:600 8px/1.25 "DM Sans",sans-serif;letter-spacing:.29em;margin-top:8px}
nav{display:flex;align-items:center;gap:clamp(16px,3vw,39px);font-size:14px;white-space:nowrap}
nav a:hover,.text-link:hover{color:#a1653b}
.book{font-size:13px;border:1px solid var(--copper);padding:11px 17px;white-space:nowrap}
.hero{background:var(--dark);color:var(--white);position:relative;isolation:isolate;min-height:620px;overflow:hidden}
.hero-img{position:absolute;inset:0 0 0 45%;z-index:-2;background:#bf9d88 url('consult.webp') center 37%/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--dark) 33%,rgba(49,37,31,.9) 43%,transparent 68%)}
.hero-inner{min-height:620px;display:flex;align-items:center;padding-block:60px}
.hero-copy{max-width:650px}
.eyebrow{color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.19em;margin-bottom:17px}
.hero .eyebrow,.contact .eyebrow{color:#e5b991}
.hero-desc{color:#f0dfd1;font-size:16px;margin:24px 0 30px}
.hero-foot{position:absolute;right:28px;bottom:15px;font-size:10px;letter-spacing:.2em;color:#fff;margin:0;text-shadow:0 1px 5px #302218}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 17px;border:1px solid transparent;font-size:13px;font-weight:700;min-height:48px}
.cream{background:#ebc9a7;color:#30231a}.cream:hover{background:#f7dcbf}
.outline{border-color:#c5a78f;color:var(--white)}.outline:hover{background:#5b473a}
.dark{background:var(--dark);color:var(--white)}
.section{padding-block:88px}
.heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}
.heading h2,.heading p:last-child{margin-bottom:0}
.heading>p{color:var(--muted);font-size:14px}
.program-grid,.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.program{border:1px solid var(--line);padding:0;background:#fdfaf5;text-align:left}
.program:hover{border-color:var(--copper)}
.program-photo{display:block;aspect-ratio:1.65;background-color:#e9d7c6;position:relative;overflow:hidden}
.program-photo::after{position:absolute;inset:0;display:grid;place-items:center;font:italic clamp(44px,6vw,90px)/1 "Instrument Serif",Georgia,serif;color:#694c37}
.cell{background:radial-gradient(ellipse at 80% 0%,#fff0dd,transparent 70%),#dfc1a7}
.cell::after{content:'Décolleté'}
.arm{background:linear-gradient(120deg,#a98064 0%,#e6cbb6 80%)}
.arm::after{content:'Arm Line';color:#3d2c24}
.photon{background:radial-gradient(ellipse at 20% 100%,#f9e8ce,transparent 70%),#d0b6a1}
.photon::after{content:'Recovery'}
.program-text{position:relative;display:grid;gap:6px;padding:19px 39px 21px 19px}
.program-text small{font-size:12px;color:var(--copper)}
.program-text strong{font-size:20px;letter-spacing:-.05em}
.arrow{position:absolute;right:16px;bottom:22px}
.more{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.more button{background:transparent;border:1px solid var(--line);padding:10px 16px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.wedding{background:#eee1d3}
.wedding .split>div:first-child>p:last-child{max-width:380px;color:var(--muted)}
.timeline{background:#fdf8f0;border:1px solid var(--line);padding:27px}
.periods{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:22px}
.periods button{flex:1;border:1px solid transparent;padding:9px 4px;background:transparent;font-size:13px}
.periods button[aria-pressed=true]{background:var(--dark);color:var(--white)}
.period-content{min-height:122px}
.period-content p,.case-grid p,.about-copy>p:not(.eyebrow),details p{color:var(--muted);font-size:15px}
.text-link{display:inline-block;border-bottom:1px solid var(--copper);padding-bottom:3px;font-size:13px;font-weight:700}
.case-grid{margin-bottom:25px}
.case-grid article{border-top:1px solid var(--copper);padding:19px 11px 4px 0}
.case-grid .eyebrow{font-size:11px;color:var(--copper)}
.about{display:grid;grid-template-columns:1fr 1fr;background:#eaddd0}
.about-photo{min-height:430px;background:#fff url('director.webp') center 23%/contain no-repeat}
.about-copy{align-self:center;padding:55px clamp(32px,6vw,104px)}
.visit dl{display:grid;grid-template-columns:max-content 1fr;gap:13px 16px;line-height:1.6;margin:24px 0}
dt{font-weight:700}dd{margin:0;color:var(--muted)}
details{border-bottom:1px solid var(--line);padding:13px 0}
summary{cursor:pointer;font-weight:600}details p{margin:10px 0 0}
.contact{padding-block:60px;background:var(--dark);color:var(--white)}
.contact .split{align-items:center}
.contact-links{display:grid;gap:10px}
.contact-links small{color:#e9d8c9;line-height:1.6}
footer{padding:34px 0;border-top:1px solid var(--line)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center}
footer p{margin:0;font-size:12px;color:var(--muted)}
.mobile-bar{display:none}
dialog{max-width:min(480px,calc(100% - 36px));padding:35px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:#21160fc0}
.close{position:absolute;top:10px;right:10px;background:transparent;border:0;font-size:26px;width:42px;height:42px}
#dialog-price{font-weight:700;font-size:14px}
@media(max-width:900px){.wrap,.nav{width:calc(100% - 56px)}.split{gap:35px}.hero,.hero-inner{min-height:540px}}
@media(max-width:700px){
html{scroll-padding-top:115px}.wrap,.nav{width:calc(100% - 36px)}.nav{flex-wrap:wrap;gap:0;padding-top:14px}.nav nav{order:3;width:100%;justify-content:space-between;gap:12px;padding-block:13px;overflow-x:auto;font-size:12px}.logo{font-size:30px}.book{padding:8px 11px;font-size:12px}
.hero,.hero-inner{min-height:unset}.hero-inner{padding:290px 0 43px}.hero-img{inset:0 0 auto;height:370px;background-position:center 28%}.hero::after{background:linear-gradient(0deg,var(--dark) 41%,rgba(49,37,31,.94) 48%,transparent 76%)}.hero-foot{display:none}.hero-desc br{display:none}.hero-desc{font-size:14px;margin:16px 0 20px}.hero .eyebrow{margin-bottom:11px}
.section{padding-block:58px}.heading{display:block;margin-bottom:21px}.heading>p{margin-top:10px}.split,.case-grid,.about{grid-template-columns:1fr;gap:22px}.program-grid{grid-template-columns:1fr;gap:10px}.program{display:grid;grid-template-columns:35% 1fr;align-items:center}.program-photo{aspect-ratio:1.5}.program-photo::after{font-size:clamp(22px,8vw,48px)}.program-text{padding-block:13px}.program-text strong{font-size:18px}.arrow{bottom:15px}
.timeline{padding:16px}.about{gap:0}.about-photo{min-height:330px}.about-copy{padding:34px 18px}.case-grid article{padding:13px 0 0}.case-grid article p:last-child{margin:0}.contact{padding-block:42px}.contact h2{margin-bottom:9px}
footer{padding-bottom:90px}footer .wrap{align-items:flex-start;flex-direction:column}.mobile-bar{position:fixed;z-index:6;display:grid;grid-template-columns:1fr 1fr;inset:auto 0 0;background:var(--dark);color:#fff;padding-bottom:env(safe-area-inset-bottom)}.mobile-bar a{text-align:center;padding:15px 6px;font-weight:700;font-size:13px}.mobile-bar a:last-child{background:#ebc9a7;color:var(--dark)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

nav a[aria-current="page"],.book[aria-current="page"]{color:var(--copper);text-decoration:underline;text-underline-offset:6px}
.page-title{font-size:clamp(29px,3.4vw,49px)}
.page-next{padding-block:16px 48px}
#contact{min-height:360px;display:flex;align-items:center}
#contact .split{width:min(1180px,calc(100% - 96px))}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.menu-card{position:relative;display:grid;gap:8px;padding:23px 45px 23px 20px;border:1px solid var(--line);background:#fdfaf5}
.menu-card:hover{border-color:var(--copper)}
.menu-card strong{font-size:19px}
.menu-card span:not(.menu-arrow){font-size:13px;color:var(--muted)}
.menu-arrow{position:absolute;right:18px;top:23px}
@media(max-width:900px){#contact .split{width:calc(100% - 56px)}}
@media(max-width:700px){#contact .split{width:calc(100% - 36px)}.menu-grid{grid-template-columns:1fr}.page-next{padding-top:0}}
