*{box-sizing:border-box}
:root{--ink:#1b1a16;--paper:#f0ece3;--warm:#d9c7ac;--muted:#77736b;--line:rgba(27,26,22,.15);--deep:#11110f;--green:#586956}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans KR","Noto Sans CJK KR",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
.nav{position:fixed;z-index:50;top:0;left:0;width:100%;height:78px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(18,17,14,.86),rgba(18,17,14,0));color:#fff;backdrop-filter:blur(5px)}
.brand{font-size:22px;font-weight:800;letter-spacing:-.06em}.brand span{font-weight:400}.nav nav{display:flex;align-items:center;gap:27px;font-size:9px;letter-spacing:.18em}.nav-cta{padding:11px 16px;border:1px solid rgba(255,255,255,.45)}
.hero{padding:160px 7vw 75px;background:#1b1a16;color:#f0ece3}.hero .eyebrow{font-size:9px;letter-spacing:.24em;opacity:.55}.hero h1{margin:18px 0 20px;font-size:clamp(66px,9vw,132px);line-height:.88;letter-spacing:-.07em;font-weight:500;word-break:keep-all;text-wrap:balance}.hero h1 em{font-style:normal;font-weight:300}.hero p.desc{margin:0;font-size:16px;line-height:1.85;color:#cbc7be;word-break:keep-all;line-break:strict;text-wrap:pretty}
.wrap{padding:95px 7vw}.toprow{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-label{font-size:9px;letter-spacing:.2em;opacity:.45;margin-bottom:14px}.intro-title{margin:0;font-size:clamp(34px,4vw,60px);line-height:1;letter-spacing:-.06em;font-weight:500;text-wrap:balance;word-break:keep-all}.check-link{font-size:10px;letter-spacing:.14em;border-bottom:1px solid rgba(27,26,22,.5);padding-bottom:10px;white-space:nowrap}
.calendar-shell{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.cal-title{font-size:14px;letter-spacing:.12em}.cal-controls{display:flex;gap:8px}.month-btn{width:38px;height:34px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{padding:10px 8px 13px;font-size:9px;letter-spacing:.12em;opacity:.48}.calendar{gap:1px;background:var(--line);border-top:1px solid var(--line)}.day{min-width:0;min-height:120px;background:var(--paper);padding:12px;position:relative;transition:.2s}.day:hover{background:#ebe5da}.day.muted{opacity:.33}.day.past{opacity:.42}.day .num{font-size:13px;font-weight:500}.day .state{position:absolute;top:11px;right:11px;font-size:8px;letter-spacing:.03em}.day.available .state{color:#596b5a}.day.full .state{color:#9a7b70}.day.weekday-off{background:#e8e3d9;color:#9a958b}.day.weekday-off .state{color:#a29b91}.phone-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.phone-cell a{text-decoration:underline;text-underline-offset:2px}.phone-cell .sms-link{font-size:8px;letter-spacing:.08em;text-decoration:none;border:1px solid rgba(240,237,229,.28);padding:5px 6px;color:#c9c9c1}.day.selected{outline:1px solid rgba(27,26,22,.55);outline-offset:-1px;background:#e6e0d4}.dots{display:flex;gap:4px;margin-top:22px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%;border:1px solid rgba(27,26,22,.35)}.dot.on{background:#6c7e6a;border-color:#6c7e6a}.dot.off{background:transparent}.slot-mini{margin-top:9px;font-size:8px;line-height:1.6;color:#77736b;white-space:normal;word-break:keep-all}.daylink{position:absolute;inset:0;z-index:1}
.detail{margin-top:80px;display:grid;grid-template-columns:.78fr 1.22fr;gap:60px;align-items:start}.detail h2{margin:0;font-size:clamp(46px,5vw,76px);line-height:.95;letter-spacing:-.065em;font-weight:500;word-break:keep-all;text-wrap:balance}.detail-copy{font-size:16px;line-height:1.9;color:#615d55;word-break:keep-all;line-break:strict;text-wrap:pretty}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:35px}.slot-card{border:1px solid var(--line);background:#f5f1e8;padding:21px;min-width:0}.slot-card .time{font-size:18px;letter-spacing:-.03em}.slot-card .label{font-size:9px;letter-spacing:.13em;opacity:.45;margin-top:7px}.slot-card .remaining{margin-top:20px;font-size:12px;color:#5d695d}.slot-card.disabled{opacity:.45;background:#e7e2d8}.slot-card.disabled .remaining{color:#8b776d}
.form-wrap{margin-top:65px;padding-top:55px;border-top:1px solid var(--line)}.form-wrap h3{margin:0;font-size:28px;font-weight:500;letter-spacing:-.05em}.reserve-form{margin-top:30px;max-width:840px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.reserve-form label{display:block;font-size:10px;letter-spacing:.04em;color:#69645d;margin-bottom:18px}.reserve-form input,.reserve-form select{width:100%;height:48px;margin-top:9px;padding:0 14px;border:1px solid rgba(27,26,22,.2);background:#f7f3ea;color:var(--ink);outline:none}.reserve-form input:focus,.reserve-form select:focus{border-color:rgba(27,26,22,.5)}.reserve-form .summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:22px 0 30px}.summary-item{border:1px solid var(--line);padding:16px;background:#ece6db}.summary-item span{display:block;font-size:8px;letter-spacing:.13em;opacity:.45;margin-bottom:8px}.summary-item strong{font-size:13px;font-weight:500}.agree{display:flex!important;align-items:flex-start;gap:9px;line-height:1.6}.agree input{width:15px!important;height:15px!important;margin:2px 0 0!important;padding:0!important}.submit-btn{display:inline-flex;align-items:center;gap:22px;padding:15px 20px;border:1px solid rgba(27,26,22,.7);background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.14em}.submit-btn:disabled{opacity:.5;cursor:not-allowed}
.notice{margin-top:22px;font-size:12px;line-height:1.8;color:#77736b;word-break:keep-all}.notice strong{color:#5e685d;font-weight:500}
.result{padding:175px 7vw 130px;min-height:80vh}.result-card{max-width:900px}.result h1{margin:14px 0 16px;font-size:clamp(54px,7vw,96px);line-height:.92;letter-spacing:-.07em;font-weight:500;word-break:keep-all;text-wrap:balance}.result p{font-size:16px;line-height:1.9;color:#615d55;word-break:keep-all;line-break:strict}.result-info{display:grid;grid-template-columns:repeat(4,1fr);margin:55px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-info div{padding:18px 14px;border-right:1px solid var(--line)}.result-info div:last-child{border-right:0}.result-info span{display:block;font-size:8px;letter-spacing:.15em;opacity:.45;margin-bottom:9px}.result-info strong{font-size:14px;font-weight:500}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.result-actions a{display:inline-flex;padding:14px 18px;border:1px solid rgba(27,26,22,.5);font-size:10px;letter-spacing:.13em}
footer{padding:25px 34px;background:#1b1a16;color:#88857e;border-top:1px solid rgba(240,236,227,.12);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em}
@media(max-width:850px){.nav{height:68px;padding:0 18px}.nav nav{gap:13px}.nav nav a:not(.nav-cta){display:none}.nav-cta{padding:9px 12px}.hero{padding:125px 7vw 60px}.wrap{padding:75px 7vw}.toprow{display:block}.check-link{display:inline-block;margin-top:22px}.calendar-shell{margin-left:-7vw;margin-right:-7vw}.calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.day{min-height:94px;padding:9px}.weekday{padding-left:5px}.day .state{position:static;margin-top:5px}.dots{margin-top:11px}.slot-mini{display:none}.detail{grid-template-columns:1fr;gap:32px;margin-top:60px}.slots{grid-template-columns:1fr 1fr}.field-grid,.reserve-form .summary,.result-info{grid-template-columns:1fr}.result-info div{border-right:0;border-bottom:1px solid var(--line)}.result-info div:last-child{border-bottom:0}.result{padding:135px 7vw 90px}footer{padding:22px 18px}}
@media(max-width:520px){.slots{grid-template-columns:1fr}.day{min-height:78px;padding:8px}.day .num{font-size:12px}.day .state{font-size:7px}.weekday{font-size:7px}.cal-head{padding:18px 0}}
