:root{--green:#244e40;--green-dark:#183c30;--sage:#e7eee7;--ivory:#f8f7f2;--paper:#fffefa;--ink:#263e34;--muted:#70786f;--line:#dedfd5;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:Inter,'Noto Sans KR','Malgun Gothic',sans-serif;line-height:1.7;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ad793c;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}h1,h2,h3{word-break:keep-all}h1{font-size:clamp(36px,4.25vw,65px);line-height:1.4;letter-spacing:-.065em;font-weight:500}h1 em{font-style:normal;color:var(--green);font-weight:700}h2{font-size:clamp(30px,3vw,44px);line-height:1.45;letter-spacing:-.05em;font-weight:600}h3{font-size:22px;line-height:1.5}h4{font-size:16px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;padding:12px;background:white}.skip-link:focus{top:10px}.preview-banner{padding:10px 24px;text-align:center;background:#fff0cc;color:#624d23;font-size:13px}.preview-banner a{text-decoration:underline;margin-left:12px}
.site-header{position:sticky;top:0;z-index:20;min-height:90px;display:flex;align-items:center;justify-content:space-between;padding:14px max(24px,calc((100vw - 1240px)/2));border-bottom:1px solid var(--line);background:rgba(248,247,242,.97)}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand>span{font:34px/1 var(--serif);letter-spacing:.02em}.brand small{font-size:8px;letter-spacing:.23em;margin-top:8px}.nav{display:flex;gap:30px;align-items:center;font-size:13px}.nav>a:hover,.nav-login:hover{text-decoration:underline;text-underline-offset:5px}.nav-login{border:0;background:none;font-size:13px}.nav-cta{border:1px solid var(--green);border-radius:6px;padding:10px 18px;background:var(--green);color:white;font-weight:600}.nav-cta:hover{background:var(--green-dark)}.menu-button{display:none;border:1px solid var(--line);border-radius:6px;background:none;padding:8px 12px}
.hero{max-width:1340px;margin:auto;padding:88px 50px 80px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.19em;color:#6d806e;margin-bottom:22px}.hero-description{font-size:15px;color:var(--muted);margin-top:24px;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:8px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:13px 21px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:600;line-height:1.5;transition:background .15s}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{background:var(--sage);color:var(--green)}.secondary:hover:not(:disabled){background:#dbe6da}.text{background:transparent;color:var(--green)}.full{width:100%}.hero-note{font-size:12px;color:var(--muted);margin-top:20px}.hero-card{border:1px solid #d4dbc9;border-radius:140px 140px 10px 10px;padding:40px 30px 22px;background:#e6eada}.card-top{display:flex;align-items:center;justify-content:space-between;padding:0 24px}.card-top .eyebrow{font-size:8px;margin:0}.seal{font:32px var(--serif);border:1px solid #aab698;border-radius:50%;height:54px;width:54px;display:grid;place-items:center}.card-title{font-size:28px;line-height:1.6;text-align:center;margin:14px 0 27px;letter-spacing:-.05em}.paper-sheet{background:var(--paper);padding:22px;border-radius:4px;box-shadow:0 8px 16px #34432d08;transform:rotate(-2deg)}.paper-heading{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:12px}.paper-list{list-style:none;padding:0;margin:0}.paper-list li{display:flex;align-items:center;gap:17px;border-bottom:1px solid #e9e9e0;padding:16px 0}.paper-list li:last-child{border:0;padding-bottom:0}.paper-list li>span{font:15px var(--serif);color:#8a977e}.paper-list strong,.paper-list small{display:block;font-size:13px;font-weight:500}.paper-list small{font-size:10px;color:var(--muted);margin-top:3px}.card-foot{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.02em;color:#6b785f;margin-top:24px}
.service-strip{display:flex;justify-content:space-between;gap:18px;border-block:1px solid var(--line);padding:24px max(24px,calc((100vw - 1160px)/2));font:12px var(--serif);color:#8b977f}.service-strip strong{font:13px 'Malgun Gothic',sans-serif;color:#5c695c;margin-left:12px}.section{padding:94px max(24px,calc((100vw - 1240px)/2))}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{color:var(--muted);font-size:14px;line-height:1.9}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps article{border-top:1px solid #b7c4af;padding:24px 12px 0 0}.step-number{font:25px var(--serif);color:#9ba78d}.steps h3{font-size:19px;margin:28px 0 12px}.steps p{color:var(--muted);font-size:13px;line-height:1.9;word-break:keep-all}
.pricing-section{background:#eeefe7}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.price-card{border:1px solid var(--line);border-radius:10px;padding:28px;background:var(--paper);display:flex;flex-direction:column}.price-card .eyebrow{margin-bottom:14px}.price-card h3{font-size:26px}.muted{color:var(--muted);font-size:14px}.price-card>.muted{font-size:12px;margin:6px 0 22px}.price-card table{border-collapse:collapse;width:100%;margin:0 0 24px;font-size:14px}.price-card th{text-align:left;font-size:10px;font-weight:400;color:var(--muted);padding:0 0 12px;border-bottom:1px solid var(--line)}.price-card td{padding:12px 0;border-bottom:1px solid #eee}.price-card td:last-child,.price-card th:last-child{text-align:right}.price-card td:last-child{font-weight:600}.price-card .button{margin-top:auto}.featured{border-color:#71846d}.pricing-note{margin-top:24px;color:#66715f;font-size:12px;border-top:1px solid #d6dccf;padding-top:16px}.pricing-note summary{font-size:13px;font-weight:600;cursor:pointer}.pricing-note p{margin-top:10px;max-width:990px;line-height:1.9}
.reservation-section{background:var(--paper)}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:28px}.booking-main{border:1px solid var(--line);border-radius:10px;min-width:0;background:white}.progress{list-style:none;display:flex;padding:24px 28px;margin:0;border-bottom:1px solid var(--line);justify-content:space-between;gap:12px}.progress li{display:flex;align-items:center;gap:7px;font-size:12px;color:#8a8e87}.progress li>span{border:1px solid var(--line);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:11px}.progress li[aria-current=step]{color:var(--green);font-weight:700}.progress li[aria-current=step]>span{color:white;background:var(--green);border-color:var(--green)}.progress li.done{color:var(--green)}.booking-panel{padding:30px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.panel-heading h3{font-size:20px}.panel-heading>span{font-size:9px;letter-spacing:.08em;color:#8a977e;white-space:nowrap}.plan-options{padding:0;border:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.plan-options label{position:relative;cursor:pointer}.plan-options input{position:absolute;opacity:0;width:1px;height:1px}.plan-options label>span{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:6px;padding:14px 4px}.plan-options strong{font-size:12px;font-weight:500}.plan-options small{font-size:10px;color:var(--muted);margin-top:4px}.plan-options input:checked+span{background:var(--sage);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.plan-options input:focus-visible+span{outline:3px solid #ad793c;outline-offset:2px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;min-width:0}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid var(--line);background:white;border-radius:6px;font-size:14px;font-weight:400;min-width:0}.field textarea{resize:vertical}.field-hint{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.8}.inline-error{color:#a14227;font-size:12px;min-height:20px;margin-top:6px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 20px}.month-controls{display:flex;align-items:center;gap:16px}.month-controls strong{font-size:14px;min-width:100px;text-align:center}.month-controls button{width:34px;height:34px;font-size:22px;border:1px solid var(--line);border-radius:4px;background:white;line-height:1}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{font-size:11px;color:var(--muted);text-align:center;margin-bottom:10px}.calendar-day{border:1px solid transparent;border-radius:6px;min-height:48px;background:#eff3ec;color:var(--green);font-size:14px;position:relative}.calendar-day:not(:disabled):hover{border-color:var(--green)}.calendar-day:disabled{background:#fafaf7;color:#b6b9b0;opacity:1}.calendar-day[aria-pressed=true]{background:var(--green);color:white}.calendar-day.today:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;bottom:5px;left:calc(50% - 2px)}.calendar-legend{display:flex;gap:18px;margin-top:14px;justify-content:flex-end;font-size:10px;color:var(--muted)}.calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:#a5b99b;margin-right:5px}.calendar-legend i.unavailable{background:#e4e6de}.notice{padding:14px 16px;background:#f5f5ef;border:1px solid #e3e5d9;border-radius:6px;font-size:12px;color:#717960;margin:20px 0;line-height:1.9}.notice a{text-decoration:underline}#times-wrap h4{margin-top:20px}#continue-date{margin-top:10px}
.booking-summary{position:sticky;top:115px;border:1px solid var(--line);border-radius:10px;padding:28px;background:var(--ivory)}.booking-summary .eyebrow{font-size:9px;margin-bottom:12px}.booking-summary h3{font-size:21px;margin-bottom:22px}.booking-summary dl{margin:0;padding-bottom:22px;border-bottom:1px solid var(--line)}.booking-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px}.booking-summary dt{color:var(--muted);flex-shrink:0}.booking-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.summary-price{margin-top:22px}.summary-price>span{display:block;font-size:12px;color:var(--muted)}.summary-price strong{display:block;font-size:30px;font-weight:500;margin:5px 0}.summary-deposit{display:flex;justify-content:space-between;font-size:12px;margin:12px 0 18px}.summary-deposit strong{font-weight:500}.summary-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:22px;display:flex;align-items:center;gap:18px}.summary-bottom>span{font-size:30px;color:#93a082}.summary-bottom p{font-size:12px;color:#7c8774}.member-card{text-align:center;padding:35px 20px;background:var(--ivory);border:1px solid var(--line);border-radius:8px;margin:24px 0}.member-symbol{font:38px var(--serif);margin-bottom:18px}.member-card p{font-size:13px;color:var(--muted);margin:12px 0 24px}.member-card .button{max-width:100%}form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:space-between;gap:10px}.review-list{margin:0 0 24px}.review-list>div{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid #edf0e7;font-size:13px}.review-list dt{color:var(--muted)}.review-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.payment-breakdown{background:var(--ivory);padding:20px;border-radius:8px}.payment-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:13px}.payment-breakdown strong{text-align:right;font-weight:500}.payment-breakdown .deposit-line{border-block:1px solid var(--line);margin:8px 0;padding:18px 0;color:var(--green)}.deposit-line strong{font-size:18px}
.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.accordion details{border-bottom:1px solid var(--line)}.accordion details:first-child{border-top:1px solid var(--line)}.accordion summary{font-size:14px;cursor:pointer;padding:21px 26px 21px 0;position:relative;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';position:absolute;right:4px;color:#88977d;font-size:20px;top:16px}.accordion details[open] summary:after{content:'−'}.accordion details p{font-size:13px;color:var(--muted);padding:0 20px 22px 0;line-height:1.9}footer{display:flex;justify-content:space-between;gap:30px;padding:44px max(24px,calc((100vw - 1240px)/2));background:#e9ece2;border-top:1px solid var(--line)}footer p{font-size:11px;color:var(--muted);margin-top:20px}footer>div:last-child{text-align:right}.copyright{letter-spacing:.1em}dialog{width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:12px;padding:36px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#14261cd0}dialog h2{font-size:26px}dialog p:not(.eyebrow){color:var(--muted);font-size:14px;margin:18px 0 24px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:26px;padding:0 8px}
@media(max-width:1100px){.nav{gap:18px}.hero{padding:60px 28px;gap:30px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-card{padding:34px 22px 22px}.booking-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.booking-panel{padding:24px}.booking-summary{padding:22px}.plan-options{grid-template-columns:repeat(2,1fr)}.price-card{padding:22px}.section{padding-top:70px;padding-bottom:70px}}
@media(max-width:800px){html{scroll-padding-top:90px}.site-header{min-height:72px}.brand>span{font-size:28px}.menu-button{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:16px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a,.nav-login{padding:13px 0;text-align:left}.nav-cta{padding:12px!important;text-align:center!important}.nav-login{margin-bottom:8px}.hero{grid-template-columns:1fr 1fr;gap:25px;padding:45px 24px}.hero h1{font-size:34px}.hero-description{font-size:13px}.hero-card{padding:34px 18px 20px;border-radius:100px 100px 8px 8px}.card-top{padding:0 8px}.card-top .eyebrow{font-size:7px;letter-spacing:.08em}.seal{width:40px;height:40px;font-size:27px}.card-title{font-size:23px}.paper-sheet{padding:18px}.paper-heading{font-size:10px}.card-foot{flex-direction:column;align-items:center;gap:4px}.service-strip{flex-wrap:wrap;justify-content:space-around;padding:20px 24px}.service-strip>span{width:40%}.service-strip strong{font-size:11px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.steps{grid-template-columns:repeat(2,1fr);gap:28px}.steps h3{margin-top:20px}.pricing-grid{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-summary{position:static;grid-row:1;padding:20px}.booking-summary .eyebrow,.booking-summary h3,.summary-bottom,.booking-summary>.field-hint{display:none}.booking-summary dl{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;padding-bottom:12px}.summary-price{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.summary-price strong{font-size:25px}.summary-deposit{margin:6px 0 0}.plan-options{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-section{grid-template-columns:1fr;gap:28px}footer{padding:32px 24px}.preview-banner{font-size:11px;padding:8px 16px}}
@media(max-width:540px){.hero{grid-template-columns:1fr;padding:48px 24px 36px;gap:40px}.hero h1{font-size:37px}.hero-copy>.eyebrow{font-size:8px}.hero-actions{flex-direction:row;align-items:center;gap:3px}.hero-actions .button{font-size:12px;gap:10px;padding:13px 12px}.hero-description{font-size:13px}.hero-note{font-size:11px}.hero-card{max-width:360px;width:100%;margin:auto;padding:34px 26px 22px}.card-top .eyebrow{font-size:8px}.card-title{font-size:26px}.paper-sheet{padding:22px}.paper-heading{font-size:11px}.paper-list strong{font-size:13px}.card-foot{flex-direction:row;font-size:7px}.section{padding:54px 20px}.section-heading{margin-bottom:28px}.section-heading>p{font-size:13px}.eyebrow{font-size:9px}.steps{gap:24px 16px}.steps h3{font-size:17px}.steps p{font-size:12px}.pricing-grid{grid-template-columns:1fr}.price-card{padding:24px}.progress{padding:18px 14px;gap:6px}.progress li{font-size:10px;gap:4px}.progress li>span{width:20px;height:20px;font-size:9px}.booking-panel{padding:20px 16px}.panel-heading h3{font-size:18px}.panel-heading>span{font-size:8px}.plan-options{grid-template-columns:repeat(2,1fr)}.plan-options label>span{align-items:flex-start;padding:12px}.plan-options strong{font-size:13px}.calendar-grid,.calendar-weekdays{gap:3px}.calendar-day{min-height:42px;font-size:13px}.month-controls{gap:8px}.month-controls strong{font-size:13px;min-width:90px}.calendar-heading h4{font-size:14px}.calendar-legend{font-size:9px}.booking-summary dl{grid-template-columns:1fr;gap:0}.booking-summary dl>div{padding:4px 0}.booking-summary{padding:18px}.review-list>div{grid-template-columns:85px 1fr;font-size:12px}.payment-breakdown{padding:15px}.payment-breakdown>div{font-size:12px}.deposit-line strong{font-size:15px}form{grid-template-columns:1fr;gap:18px}.form-actions .button{font-size:12px;padding:12px 15px}.member-card{padding:28px 14px}footer{flex-direction:column;gap:6px}footer>div:last-child{text-align:left}footer p{margin-top:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Local visual refinement: reduce the empty hero/section space and use the supplied logo. */
.brand-logo{display:block;width:104px;height:auto}
footer .brand-logo{width:92px}
.hero{align-items:start;padding-top:48px;padding-bottom:56px;gap:42px}
.hero-copy{padding-top:18px}
.section{padding-top:64px;padding-bottom:64px}
@media(max-width:1100px){.hero{padding-top:40px;padding-bottom:48px;gap:28px}.hero-copy{padding-top:8px}.section{padding-top:52px;padding-bottom:52px}}
@media(max-width:800px){.brand-logo{width:90px}footer .brand-logo{width:84px}.hero{align-items:start;padding-top:34px;padding-bottom:36px}.hero-copy{padding-top:0}}
footer{align-items:flex-end}
footer .footer-business{flex:1;min-width:0}
footer .footer-business p{margin:0;font-size:12px;line-height:1.8;color:var(--muted)}
footer .copyright{margin:0;font-size:11px;color:var(--muted)}
@media(max-width:540px){footer{align-items:flex-start}footer .copyright{margin-top:4px}}
footer{padding:20px max(24px,calc((100vw - 1240px)/2))}
@media(max-width:800px){footer{padding:18px 24px}}
@media(max-width:540px){footer{padding:16px 24px}}
@media(max-width:540px){.hero{padding-top:28px;padding-bottom:28px}.section{padding-top:40px;padding-bottom:40px}}
/* Single-choice headcount tiers, with native radio keyboard navigation. */
.guest-options{border:0;padding:0;margin:0;min-width:0}
.guest-options legend{padding:0;margin-bottom:12px;font-size:13px;font-weight:600}
#guest-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.guest-options label{position:relative;cursor:pointer}
.guest-options input{position:absolute;opacity:0;width:1px;height:1px}
.guest-options label>span{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:6px;padding:12px 10px}
.guest-options strong{font-size:13px;font-weight:500}
.guest-options small{font-size:11px;color:var(--muted)}
.guest-options input:checked+span{background:var(--sage);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.guest-options input:focus-visible+span{outline:3px solid #ad793c;outline-offset:2px}
.time-selects{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:end;max-width:360px;margin:16px 0 0}
.time-selects>span{padding-bottom:11px}
.customer-time-options{display:grid;gap:10px;margin:16px 0 0}.availability-window{border:1px solid var(--line);border-radius:8px;background:#fbfcf9;padding:14px}.availability-window-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.availability-window-heading strong{color:var(--green);font-size:15px}.availability-window-heading small{color:var(--muted);font-size:10px}.availability-window-starts{display:flex;flex-wrap:wrap;gap:8px}.start-time-button{appearance:none;border:1px solid #b8cdbb;border-radius:6px;background:#fff;color:var(--green);padding:10px 13px;font:600 12px inherit;cursor:pointer}.start-time-button:hover{background:var(--sage);border-color:var(--green-2)}.start-time-button.selected{background:var(--green);border-color:var(--green);color:#fff}.availability-empty{margin:0;border:1px dashed var(--line);border-radius:6px;padding:14px;color:var(--muted);font-size:12px;line-height:1.7}.legacy-time-selects{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discount-card{background:#f8f7f0}.discount-list{display:grid;gap:0;margin:8px 0 18px}.discount-list section{padding:15px 0;border-top:1px solid #e4e3d8}.discount-list section:last-child{border-bottom:1px solid #e4e3d8}.discount-list h4{font-size:14px;margin:0 0 7px;color:var(--green)}.discount-list p{font-size:12px;line-height:1.75;color:var(--muted)}.discount-list strong{color:#ad4a2f;font-weight:700}.discount-list small{display:block;font-size:10px;color:var(--muted);line-height:1.6}

.availability-range-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:16px 0 10px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:#fbfcf9}.availability-range-label strong{color:var(--green);font-size:15px}.availability-range-label small{color:var(--muted);font-size:10px;text-align:right}.customer-time-selects{max-width:360px;margin-top:0}
.time-period{margin-top:20px}.time-period:first-child{margin-top:16px}.time-period h5{margin:0 0 10px;color:var(--ink);font-size:14px;font-weight:600}.time-block-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-block{min-height:48px;padding:10px 6px;border:1px solid #d8ded5;border-radius:8px;background:#fff;color:var(--green);font:500 14px inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.time-block:hover:not(:disabled){border-color:var(--green);background:var(--sage)}.time-block.selected{border-color:var(--green);background:var(--green);color:#fff;font-weight:700}.time-block:disabled,.time-block.blocked{border-color:#e3e5df;background:#f0f1ed;color:#b8bcb4;cursor:not-allowed}.time-block.selected:disabled{border-color:var(--green);background:var(--green);color:#fff;cursor:pointer}.time-block.unavailable{background:#fafaf7;color:#b8bcb4}
@media(max-width:800px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.pricing-grid{grid-template-columns:1fr}}
/* Local pricing-page refinement: keep the heading and all pricing choices visible together. */
.pricing-section{padding-top:42px;padding-bottom:42px}
.pricing-section .section-heading{margin-bottom:24px;gap:24px}
.pricing-section .section-heading h2{font-size:clamp(30px,3.2vw,42px)}
.pricing-section .section-heading>p{font-size:13px;line-height:1.7}
.pricing-section .pricing-grid{gap:18px}
.pricing-section .price-card{padding:22px}
.pricing-section .price-card .eyebrow{margin-bottom:10px}
.pricing-section .price-card h3{font-size:24px}
.pricing-section .price-card>.muted{margin:4px 0 14px}
.pricing-section .price-card table{margin-bottom:16px}
.pricing-section .price-card th{padding-bottom:8px}
.pricing-section .price-card td{padding:9px 0}
.pricing-section .discount-list{gap:14px;margin-top:6px}
.pricing-section .discount-list section{padding-bottom:12px}
.pricing-section .pricing-note{margin-top:16px;padding-top:12px}
@media(max-width:1100px){.pricing-section{padding-top:34px;padding-bottom:34px}.pricing-section .section-heading{margin-bottom:20px}.pricing-section .price-card{padding:18px}}
@media(max-width:800px){.pricing-section{padding-top:28px;padding-bottom:28px}.pricing-section .section-heading{margin-bottom:18px}.pricing-section .price-card h3{font-size:21px}}
@media(max-width:540px){.pricing-section{padding-top:24px;padding-bottom:24px}.pricing-section .section-heading{margin-bottom:16px}.pricing-section .price-card{padding:20px}.pricing-section .price-card td{padding:8px 0}}
.pricing-section .section-heading{margin-bottom:14px}
.pricing-description{max-width:760px;margin:18px 0 0 auto;color:var(--muted);font-size:13px;line-height:1.8;text-align:right}
@media(max-width:800px){.pricing-description{margin-left:0;text-align:left}}
/* Local service-page refinement: close the gap between the hero card and service details. */
.hero{padding-bottom:24px}
#service.section{padding-top:28px}
@media(max-width:800px){.hero{padding-bottom:20px}#service.section{padding-top:24px}}
@media(max-width:540px){.hero{padding-bottom:18px}#service.section{padding-top:20px}}
@media(max-width:540px){#guest-options{grid-template-columns:repeat(2,minmax(0,1fr))}.time-selects{max-width:none}}
/* Discount details use a simple title, divider, and explanation layout. */
.discount-list{gap:18px;margin:10px 0 0}.discount-list section,.discount-list section:last-child{padding:0 0 16px;border:0;background:transparent;text-align:left}.discount-list h4{margin:0 0 10px;padding:0 0 9px;border-bottom:1px solid #e4e3d8;background:transparent;color:var(--green);font-size:15px;font-weight:600;letter-spacing:0}.discount-list p{padding:0;margin:0;font-size:12px;line-height:1.75;text-align:left}.discount-list small{margin-top:2px}
.side-options{border:0;padding:0;margin:0;min-width:0}.side-options legend{padding:0;margin:0 0 8px;font-size:13px;font-weight:600}.side-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.side-choice-options label{position:relative;cursor:pointer}.side-choice-options input{position:absolute;opacity:0;width:1px;height:1px}.side-choice-options label>span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:14px;font-weight:500}.side-choice-options input:checked+span{background:var(--sage);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);color:var(--green)}.side-choice-options input:focus-visible+span{outline:3px solid #ad793c;outline-offset:2px}
.couple-contact-fields,.cash-receipt-options{margin:0;padding:0;border:0;min-width:0}.couple-contact-fields legend,.cash-receipt-options legend{padding:0;margin:0 0 8px;font-size:13px;font-weight:600}.couple-contact-grid,.cash-receipt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cash-receipt-options{margin:20px 0}.cash-receipt-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cash-receipt-choice-options label{position:relative;cursor:pointer}.cash-receipt-choice-options input{position:absolute;opacity:0;width:1px;height:1px}.cash-receipt-choice-options label>span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;font-weight:500}.cash-receipt-choice-options input:checked+span{background:var(--sage);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green);color:var(--green)}.cash-receipt-choice-options input:focus-visible+span{outline:3px solid #ad793c;outline-offset:2px}.cash-receipt-fields{margin-top:14px;padding:16px;background:var(--ivory);border:1px solid var(--line);border-radius:8px}
.nav a.active,.nav-login.active{color:var(--green);font-weight:700}.nav a.nav-cta.active{color:#fff}
.service-method-label{display:inline-block;min-width:22px;color:#8a977e;font-family:var(--serif);font-weight:600}
 /* Kakao button colors follow Kakao Login's published design guide. */
.kakao-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;max-width:100%;padding:12px 24px;border:0;border-radius:12px;background:#fee500;color:rgba(0,0,0,.85);font-size:15px;font-weight:600;letter-spacing:0}
.kakao-button svg{width:20px;height:20px;flex-shrink:0;fill:#000}
.kakao-button:disabled{opacity:1;cursor:not-allowed}
.auth-help{font-size:12px!important;line-height:1.8;margin:14px 0!important;color:var(--muted)}
.auth-status{margin:0;padding:12px 24px;text-align:center;font-size:13px;background:var(--sage);color:var(--green)}
#member-continue{margin-top:14px}
.pricing-section .section-heading{margin-bottom:20px}
.pricing-section .pricing-description{max-width:none;margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.7;text-align:left;white-space:nowrap}
.hero-card{padding-top:24px}
.hero-card .card-title{margin-top:0}
@media(max-width:800px){.pricing-section .pricing-description{white-space:normal}.hero-card{padding-top:22px}}
.nav-admin{color:var(--green);font-weight:700}
/* Keep the first screen intact when browser zoom or a compact laptop width
   reduces the available CSS viewport. */
body{overflow-x:clip}
@media(max-width:1100px){
  .site-header{min-height:72px;padding-inline:24px}
  .brand-logo{width:92px}
  .menu-button{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--ivory)}
  .nav.open{display:flex}
  .nav>a,.nav-login{padding:13px 0;text-align:left}
  .nav-cta{padding:12px!important;text-align:center!important}
  .nav-login{margin-bottom:8px}
  .hero{grid-template-columns:minmax(0,1fr);max-width:760px;padding-inline:28px}
  .hero-card{width:100%;max-width:640px}
}
.account-section{background:var(--paper);min-height:calc(100vh - 90px)}
.account-login-notice{margin:0;border-block:1px solid var(--line);border-radius:0}
.bank-transfer-notice{display:grid;gap:8px;line-height:1.7}.bank-transfer-notice strong{font-size:14px;color:var(--green)}.bank-transfer-notice span{font-size:15px;font-weight:600;color:var(--ink)}.bank-transfer-notice small{font-size:12px;color:var(--muted)}
.transfer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.transfer-actions .button{min-width:120px}.transfer-action-status{min-height:20px;margin:10px 0 0;color:var(--green);font-size:12px;line-height:1.6}.transfer-action-status.error{color:#a14227}@media(max-width:540px){.transfer-actions{display:grid;grid-template-columns:1fr 1fr}.transfer-actions .button{width:100%;min-width:0}}
.booking-panel[data-step="2"]{padding-bottom:24px}.booking-panel[data-step="2"]>.panel-heading{margin-bottom:12px}.booking-panel[data-step="2"]>.muted{margin-bottom:12px;font-size:12px;line-height:1.65}.booking-panel[data-step="2"] .member-card{margin:12px 0;padding:22px 20px}.booking-panel[data-step="2"] .member-card h4{font-size:19px}.booking-panel[data-step="2"] .member-card p{margin:8px 0 14px}.booking-panel[data-step="2"] .auth-help{margin:9px 0!important}.booking-panel[data-step="2"] #member-continue{margin-top:6px}.booking-panel[data-step="2"]>.field-hint{margin-top:8px}.booking-panel[data-step="2"]>[data-back]{margin-top:2px}
@media(max-width:540px){.booking-panel[data-step="2"] .member-card{padding:20px 14px}.booking-panel[data-step="2"] .member-card h4{font-size:17px}}
.mobile-ledger-section{background:#f3f4ef;border-block:1px solid var(--line)}
.mobile-ledger-intro{display:block}.mobile-ledger-intro>.eyebrow{margin:0 0 14px;color:#6d806e;font-size:10px;font-weight:600;letter-spacing:.19em}.mobile-ledger-intro>p{max-width:760px;margin:0;color:var(--muted);font-size:15px;line-height:1.9;word-break:keep-all}.mobile-ledger-intro small{display:block;margin-top:8px;font-size:12px;line-height:1.7}
.mobile-ledger-layout{display:grid;grid-template-columns:minmax(245px,.54fr) minmax(0,1.46fr);gap:42px;align-items:center;margin-top:50px}.mobile-ledger-features{display:grid;gap:0;list-style:none;padding:0;margin:0;border-top:1px solid #b7c4af}.mobile-ledger-features li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:22px 0;border-bottom:1px solid #cfd8ce}.mobile-ledger-features li>span{font:22px var(--serif);color:#9ba78d}.mobile-ledger-features h3{margin:0 0 7px;font-size:18px;line-height:1.45}.mobile-ledger-features p{margin:0;color:var(--muted);font-size:12px;line-height:1.75;word-break:keep-all}
.mobile-ledger-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;padding:20px;border:1px solid #dbe2d9;border-radius:18px;background:linear-gradient(135deg,#fbfcf8,#e8eee8);box-shadow:0 16px 34px rgba(36,78,64,.07)}.mobile-ledger-shot-card{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;margin:0;aspect-ratio:1206/2266;overflow:hidden}.ledger-shot{display:block;width:100%;height:100%;border:1px solid #161616;border-radius:13px;object-fit:cover;object-position:top;box-shadow:0 11px 22px rgba(32,43,37,.13)}.mobile-ledger-shot-card figcaption{margin-top:10px;color:var(--muted);font-size:12px;text-align:center;line-height:1.5;word-break:keep-all}
.account-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);align-items:start;gap:24px}
.account-card{border:1px solid var(--line);border-radius:10px;padding:28px;background:var(--ivory);min-width:0}
.account-card .eyebrow{margin-bottom:12px}.account-card h3{font-size:25px}.account-details{margin:24px 0;padding-block:8px;border-block:1px solid var(--line)}
.account-details>div,.reservation-details>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;font-size:13px}
.account-details dt,.reservation-details dt{color:var(--muted);flex-shrink:0}.account-details dd,.reservation-details dd{margin:0;text-align:right;overflow-wrap:anywhere}
.account-card-heading,.account-reservation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.account-card-heading h3{font-size:25px}
.account-refresh{border:1px solid var(--line);border-radius:6px;padding:8px 11px;background:transparent;color:var(--green);font:600 12px inherit;white-space:nowrap}.account-refresh:hover{border-color:var(--green);background:var(--sage)}
.account-status{margin:18px 0 12px;color:var(--muted);font-size:12px}.account-reservations{display:grid;gap:12px}
.account-reservation{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff}.account-reservation h4{font-size:17px;font-weight:600}
.payment-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f0f2ec;color:#687364;font-size:10px;font-weight:600;white-space:nowrap}.payment-badge.paid{background:#e1efe3;color:#23603a}.payment-badge.failed{background:#f5e8e4;color:#a14227}.payment-badge.refunded{background:#edf0f5;color:#506a8a}
.reservation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;margin:17px 0 0;padding-top:10px;border-top:1px solid #e9ebe4}.reservation-memo{margin:14px 0 0;padding:12px 14px;border-radius:6px;background:#f5f6f0;color:var(--muted);font-size:12px;line-height:1.75;white-space:pre-wrap}
.account-empty{margin:0;padding:28px 18px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:1100px){.account-grid{grid-template-columns:1fr}.account-section{min-height:0}}
@media(max-width:980px){.mobile-ledger-layout{grid-template-columns:1fr;gap:30px}.mobile-ledger-features{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-ledger-features li{grid-template-columns:1fr;padding:18px 14px;border-bottom:0;border-right:1px solid #cfd8ce}.mobile-ledger-features li:last-child{border-right:0}.mobile-ledger-gallery{max-width:760px;margin:auto}}
@media(max-width:540px){.account-card{padding:22px 16px}.account-card h3,.account-card-heading h3{font-size:21px}.account-reservation{padding:16px}.reservation-details{grid-template-columns:1fr}.account-details>div,.reservation-details>div{font-size:12px}.payment-badge{font-size:9px}.mobile-ledger-intro>p{font-size:13px}.mobile-ledger-layout{margin-top:32px}.mobile-ledger-features{grid-template-columns:1fr}.mobile-ledger-features li{grid-template-columns:40px minmax(0,1fr);padding:17px 0;border-right:0;border-bottom:1px solid #cfd8ce}.mobile-ledger-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;border-radius:12px}}
@media(max-width:540px){.couple-contact-grid,.cash-receipt-fields{grid-template-columns:1fr;gap:14px}.cash-receipt-fields{padding:14px}}
