/* Membership presentation: scoped to avoid changing the existing booking UI. */
.vsm-overlay,.vsm-catalog,.vsm-cart,.vsm-step{--vsm-ink:#24231f;--vsm-brass:#815522;--vsm-muted:#756f66;--vsm-line:#e5dcd0;--vsm-ivory:#f8f5ef;color:var(--vsm-ink);font-family:inherit;font-size:15px;line-height:1.55;box-sizing:border-box}
.vsm-overlay *,.vsm-catalog *,.vsm-cart *,.vsm-step *{box-sizing:border-box}
.vsm-overlay button,.vsm-catalog button,.vsm-cart button,.vsm-step button{font-family:inherit;cursor:pointer}
.vsm-overlay :is(button,a):focus-visible,.vsm-catalog :is(button,a):focus-visible,.vsm-cart :is(button,a):focus-visible,.vsm-step :is(button,a,summary):focus-visible,.vsm-terms summary:focus-visible{outline:3px solid #9a713d;outline-offset:3px}
.vsm-overlay{position:fixed;inset:0;z-index:11050;background:rgb(27 24 20 / 55%);display:flex;align-items:center;justify-content:center;padding:24px;overscroll-behavior:contain}
.vsm-dialog{width:min(100%,1020px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:#f7f4ee;border:1px solid #fff;border-radius:24px;padding:20px 32px 24px;box-shadow:0 24px 80px #0003;scrollbar-gutter:stable}
.vsm-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#75644f;font-family:Georgia,'Noto Serif KR',serif;font-size:12px;letter-spacing:.19em}
.vsm-dialog-top>span{margin-left:auto;margin-right:auto}
.vsm-close{border:1px solid #d9cbb8;border-radius:50px;background:transparent;color:#725b40;min-width:54px;min-height:44px;font-size:13px;letter-spacing:0}
.vsm-hero{text-align:center;padding:14px 0 23px;word-break:keep-all}
.vsm-eyebrow{color:var(--vsm-brass);letter-spacing:.2em;font-size:10px;font-weight:600;margin:0 0 12px}
.vsm-hero h2{font-size:clamp(24px,3.1vw,38px);font-family:'Noto Serif KR','Batang',Georgia,serif;font-weight:500;line-height:1.6;letter-spacing:-.05em;margin:0 0 8px}
.vsm-hero h2 b{color:var(--vsm-brass);font-weight:700}
.vsm-headline-condition{display:block;margin-bottom:5px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.6;letter-spacing:0;color:#8c6b41}
.vsm-hero>p:last-child{font-size:16px;color:#6e6254;margin:0;letter-spacing:-.025em}
.vsm-cart-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:22px;background:#ffffffa6;border:1px solid #fff;border-radius:17px;padding:18px 24px}
.vsm-cart-summary>div{min-width:0}
.vsm-cart-summary>div+div{border-left:1px solid var(--vsm-line);padding-left:24px}
.vsm-cart-summary small{display:block;font-size:12px;color:var(--vsm-muted);margin-bottom:5px}
.vsm-cart-summary strong{font-size:19px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.vsm-small-button,.vsm-text-button{border:1px solid #deceba;border-radius:30px;background:#fffaf5;min-height:44px;color:var(--vsm-brass);font-size:12px;padding:8px 15px;white-space:nowrap}
.vsm-comparison-label{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:20px 0 12px;font-size:12px;color:#756650}
.vsm-comparison-label small{color:var(--vsm-muted);font-size:11px}
.vsm-tier-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow-x:auto;padding:5px 1px 13px;scroll-snap-type:x proximity;scrollbar-color:#c4ad8d #ece5db;scrollbar-width:thin}
.vsm-tier{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;text-align:center;background:#fffcf8;border:1px solid #e4dbce;color:var(--vsm-ink);border-radius:17px;padding:20px 16px;min-width:0;scroll-snap-align:start;transition:border-color .15s,box-shadow .15s,background .15s}
.vsm-tier:hover{border-color:#aa8556;box-shadow:0 5px 18px #694b2010}
.vsm-tier.is-selected{border:2px solid #8f632d;padding:19px 15px;background:#faf0e0;box-shadow:0 0 0 2px #8f632d0a}
.vsm-tier-kicker{font-size:10px;font-weight:600;color:#8a6032;letter-spacing:.03em;line-height:1.5;margin-bottom:5px}
.vsm-tier.is-recommended .vsm-tier-kicker{background:#91652f;color:#fff;border-radius:20px;padding:3px 13px;margin-top:-7px;margin-bottom:5px}
.vsm-tier-name{font:500 23px/1.4 Georgia,'Noto Serif KR',serif;letter-spacing:-.025em;margin-bottom:12px;white-space:nowrap}
.vsm-tier-payment{font-size:13px;color:#756a5c}
.vsm-tier-credit{font-family:Georgia,'Noto Serif KR',serif;font-size:clamp(24px,3vw,37px);font-weight:600;letter-spacing:-.04em;line-height:1.3}
.vsm-tier.is-selected .vsm-tier-credit{color:var(--vsm-brass)}
.vsm-tier-caption{font-size:14px}
.vsm-tier-bonus{font-size:12px;color:var(--vsm-brass);margin-top:5px}
.vsm-tier-services{font-size:12px;color:#726654;line-height:1.8;margin-top:8px;word-break:keep-all}
.vsm-tier-action{display:block;font-size:11px;color:#826746;border-top:1px solid #e5d5be;width:100%;padding-top:10px;margin-top:12px}
.vsm-tier.is-selected .vsm-tier-action{font-weight:700;color:#74501f}
.vsm-benefit-detail{margin-top:8px;background:#fffdfa;border:1px solid #fff;border-radius:18px;padding:20px}
.vsm-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px}
.vsm-detail-heading h3{margin:0;font-size:19px;font-weight:600;line-height:1.5}
.vsm-detail-heading>span{font-size:12px;color:var(--vsm-brass);text-align:right}
.vsm-detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:stretch}
.vsm-ledger{padding:0 0 0 2px;min-width:0}
.vsm-ledger>.vsm-detail-heading{margin:0 0 11px;min-height:30px}
.vsm-ledger dl{margin:0}
.vsm-ledger dl>div{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #eee8df;font-size:14px}
.vsm-ledger dt{color:#726b61;white-space:nowrap}
.vsm-ledger dd{margin:0;text-align:right;font-weight:500}
.vsm-accent{color:var(--vsm-brass)!important;font-weight:700!important}
.vsm-service-list span{display:block;font-size:12px;line-height:1.8}
.vsm-ledger .vsm-deduction{padding-top:18px;margin-top:8px;border-bottom:0}
.vsm-balance{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#f7ecdd;border-radius:11px;padding:14px 15px;margin-top:7px}
.vsm-balance>span{font-size:13px}
.vsm-balance strong{font-size:28px;color:var(--vsm-brass);font-family:Georgia,'Noto Serif KR',serif;white-space:nowrap;letter-spacing:-.035em}
.vsm-included{background:#f5f1ea;border:1px solid #ece5da;border-radius:14px;padding:16px;min-width:0}
.vsm-included h4{font-size:15px;font-weight:600;margin:0 0 10px;letter-spacing:-.025em}
.vsm-included>p{font-size:12px;line-height:1.8;margin:8px 0 0;color:#776d60;word-break:keep-all}
.vsm-recommendations{display:flex;flex-direction:column;align-self:stretch;background:#f5f0e8;border:1px solid #e9dfd0;border-radius:14px;padding:14px;min-width:0;container-type:inline-size}
.vsm-recommendation-heading{margin-bottom:9px}
.vsm-recommendation-heading>.vsm-eyebrow{font-size:9px;line-height:1.4;margin:0 0 3px;letter-spacing:.13em}
.vsm-recommendations h4{font-size:15px;line-height:1.5;font-weight:600;letter-spacing:-.035em;margin:0}
.vsm-recommendation-intro{font-size:11px;color:#8b7962;margin:0 0 13px;line-height:1.7;word-break:keep-all}
.vsm-recommendation-list{display:grid;gap:6px}
.vsm-recommendation{display:grid;grid-template-columns:minmax(0,1fr) 104px 44px;align-items:center;gap:8px;padding:9px 10px;background:#fffcf8;border:1px solid #e6dccd;border-radius:9px;color:#312b23;min-height:44px;transition:border-color .15s}
.vsm-recommendation:hover{border-color:#a9814f;background:#fff}
.vsm-recommendation-copy>img{width:46px;height:46px;flex:0 0 46px;object-fit:cover;border-radius:6px}
.vsm-recommendation-copy{display:flex;align-items:center;min-width:0;gap:8px}
.vsm-recommendation-copy>strong{font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.vsm-recommendation-price{font-size:11px;color:#7d6d57;line-height:1.5;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.vsm-recommendation-copy>small{font-size:9px;color:#8c7f6e;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vsm-recommendation-link{width:44px;min-height:40px;padding:7px 3px;border:1px solid #956b36;border-radius:7px;background:#8a602b;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}
.vsm-recommendation-link:hover{background:#704a20}
.vsm-recommendation-link:disabled{opacity:.55;cursor:default}
.vsm-recommendation-status:empty{display:none}
.vsm-recommendation-status:not(:empty){margin:8px 0 0;color:#815522}
.vsm-recommendation-empty{font-size:12px;line-height:1.8;color:#817362;margin:15px 0}
.vsm-events-link{display:block;text-align:right;margin-top:auto;padding-top:8px;color:#886033;font-size:10px;text-underline-offset:3px;min-height:26px}
.vsm-recommendations>.vsm-note{margin-top:5px;font-size:10px;line-height:1.6;color:#8a7c69}
.vsm-application-details{border-top:1px solid #e9e0d4;margin-top:18px;padding-top:3px}
.vsm-application-details>summary{min-height:44px;padding:13px 0 9px;cursor:pointer;color:#7b6649;font-size:11px;font-weight:500}
.vsm-application-details .vsm-item-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.vsm-item-list{list-style:none;padding:0;margin:0}
.vsm-item-list li{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e6ddd0;font-size:12px}
.vsm-item-list li>span{min-width:0;overflow-wrap:anywhere}
.vsm-item-list li b{font-weight:500;white-space:nowrap}
.vsm-item-list small{display:block;color:#8a704e;font-size:10px;line-height:1.6;margin-top:4px}
.vsm-pending-item>b{color:#8a704e}
.vsm-note,.vsm-exclusion{font-size:11px;color:#807569;line-height:1.7;margin:10px 0 0;word-break:keep-all}
.vsm-exclusion{color:#896538}
.vsm-text-button{margin-top:12px;background:transparent;font-size:12px;width:100%}
.vsm-upgrade{display:grid;grid-template-columns:1.2fr .65fr 1.2fr;align-items:center;gap:16px;background:#fffcf8;border:1px solid #fff;border-radius:17px;color:var(--vsm-ink);padding:16px 20px;width:100%;text-align:left;margin:14px 0}
.vsm-upgrade>span>small{display:block;font-size:11.5px;color:#8b704d;margin-bottom:3px}
.vsm-upgrade>span>strong{font-size:16px;line-height:1.6;font-weight:600;word-break:keep-all}
.vsm-upgrade-payment{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px;color:#736657;text-align:center;white-space:nowrap}
.vsm-upgrade-payment b{display:flex;align-items:center;gap:7px;color:#684b27;font-size:17.5px;line-height:1.5;font-weight:600}
.vsm-upgrade-icon{display:block;flex:0 0 20px;width:20px;height:20px;color:#956e3c}
.vsm-upgrade-benefits{display:flex;flex-direction:column;gap:7px;background:#f7edde;border-radius:11px;padding:12px 13px;color:var(--vsm-brass);font-size:14px}
.vsm-upgrade-benefits b{font-weight:600}
.vsm-upgrade-benefit-row{display:flex;align-items:flex-start;gap:8px;line-height:1.55;word-break:keep-all}
.vsm-upgrade-benefit-row>.vsm-upgrade-icon{margin-top:1px}
.vsm-upgrade-benefit-row.is-service{font-size:11.5px;color:#876a47;line-height:1.7}
.vsm-upgrade-benefit-row.is-service>.vsm-upgrade-icon{width:18px;height:18px;flex-basis:20px}
.vsm-modal-actions{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:20px}
.vsm-primary,.vsm-secondary{padding:16px 12px;min-height:62px;border-radius:13px;font-size:17px;line-height:1.4;word-break:keep-all}
.vsm-primary{border:1px solid #272622;background:#272622;color:white;font-weight:600}
.vsm-secondary{border:1px solid #d7cabc;background:#fcf9f4;color:#514639}
.vsm-selection-note{font-size:11px;color:#8b7d6c;text-align:center;margin:10px 0 0}
.vsm-footer{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-top:16px;color:#807365;font-size:10px}
.vsm-footer>p{margin:8px 0 0;text-align:right}
.vsm-terms{font-size:11px;color:#716554;text-align:left;max-width:100%}
.vsm-terms summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:500}
.vsm-terms>div{padding:6px 0 12px;max-width:620px;font-size:11px;line-height:1.8}
.vsm-terms ul{padding-left:18px;margin:0 0 10px}
.vsm-terms p{margin:6px 0}
.vsm-catalog{padding:34px;background:#f8f5ef;border:1px solid #eee4d7;border-radius:20px;margin:18px 0}
.vsm-catalog-heading{text-align:center;margin:0 0 26px}
.vsm-catalog-heading h2{font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:-.045em;margin:0 0 10px;font-family:'Noto Serif KR','Batang',Georgia,serif}
.vsm-catalog-heading h2 em{font-style:normal;color:var(--vsm-brass)}
.vsm-catalog-heading>p:last-child{font-size:13px;color:#7b6a55;margin:0;line-height:1.8}
.vsm-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vsm-catalog-grid .vsm-tier{padding:22px 16px}
.vsm-catalog-grid .vsm-tier-action{margin-top:auto;padding-top:14px}
.vsm-catalog-grid .vsm-tier-services{padding-bottom:12px}
.vsm-catalog>.vsm-note{text-align:right;margin:14px 0 0}
.vsm-cart{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid #cfb38b;background:#faf1e3;border-radius:13px;padding:16px 18px;margin:14px 0}
.vsm-cart[hidden]{display:none!important}
.vsm-cart-copy{min-width:0}
.vsm-cart-copy small{display:block;font-size:9px;color:#98713d;letter-spacing:.12em;font-weight:600;margin-bottom:6px}
.vsm-cart-copy strong{display:block;font-size:16px;line-height:1.5;color:#6f481b;letter-spacing:-.035em;word-break:keep-all}
.vsm-cart-copy span{display:block;font-size:11px;color:#7c6b56;line-height:1.7;margin-top:4px;word-break:keep-all}
.vsm-cart-actions{display:flex;flex-direction:column;gap:5px;align-items:center}
.vsm-cart-actions button{border:1px solid #8a602b;background:#8a602b;color:white;border-radius:8px;min-height:44px;padding:9px 13px;font-size:12px;font-weight:600;white-space:nowrap}
.vsm-cart-actions .vsm-cart-remove{background:transparent;color:#826c50;border:0;font-size:10px;min-height:28px;padding:2px 10px}
.vsm-cart-note{grid-column:1/-1;color:#8d7a60;font-size:9px;line-height:1.7;margin:0}
.vsm-step{width:100%;min-width:0;padding:22px;background:#f8f4ed;border:1px solid #e9dfd1;border-radius:18px;container-type:inline-size}
.vsm-step[hidden]{display:none!important}
.vsm-guide-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 0 14px;border-bottom:1px solid #e6dbc9;color:#8d7758;font-size:11px;line-height:1.7}
.vsm-guide-name{font-family:Georgia,'Noto Serif KR',serif;font-size:17px;letter-spacing:-.03em;color:#765328;font-weight:600;white-space:nowrap}
.vsm-step .vsm-hero{padding:23px 0}
.vsm-step .vsm-hero h2{font-size:clamp(25px,4cqi,38px)}
.vsm-step .vsm-step-actions{margin-top:18px}
.vsm-step .vsm-primary{background:#282620;border-color:#282620}
.procedure-explorer-tab.vsm-category-button,.vsm-category-button{background:#87612f!important;border-color:#87612f!important;color:#fff!important;font-weight:650!important;box-shadow:0 3px 10px #87612f1a}
.vsm-category-button[aria-selected="true"],.vsm-category-button.active{background:#5e401b!important;border-color:#5e401b!important;box-shadow:0 0 0 2px #c7ab81}
@media(max-width:700px){
 .vsm-overlay{padding:12px}.vsm-dialog{padding:14px 17px 20px;border-radius:20px;max-height:calc(100dvh - 24px)}
 .vsm-dialog-top{font-size:9px;letter-spacing:.12em}.vsm-close{min-width:45px;font-size:11px;min-height:40px}
 .vsm-headline-condition{font-size:10px}
 .vsm-hero{padding:12px 0 20px}.vsm-hero h2{font-size:25px;line-height:1.65}.vsm-hero>p:last-child{font-size:13px}.vsm-eyebrow{font-size:9px}
 .vsm-cart-summary{grid-template-columns:1.2fr 1fr;gap:12px;padding:15px;border-radius:13px}.vsm-cart-summary>div+div{padding-left:12px}.vsm-cart-summary strong{font-size:16px}.vsm-cart-summary small{font-size:10px}.vsm-cart-summary>.vsm-small-button{grid-column:1/-1;justify-self:end;min-height:36px;font-size:10px;padding:5px 12px}
 .vsm-tier-rail{grid-auto-columns:calc((100% - 12px)/2.2);gap:10px}.vsm-tier{padding:16px 10px}.vsm-tier.is-selected{padding:15px 9px}.vsm-tier-name{font-size:19px;margin-bottom:9px}.vsm-tier-credit{font-size:29px}.vsm-tier-payment{font-size:11px}.vsm-tier-caption{font-size:12px}.vsm-tier-bonus{font-size:10px}.vsm-tier-action{font-size:10px}.vsm-tier-kicker{font-size:9px}
 .vsm-benefit-detail{padding:16px 14px;border-radius:14px}.vsm-detail-heading{align-items:start;flex-direction:column;gap:5px}.vsm-detail-heading h3{font-size:16px}.vsm-detail-heading>span{font-size:10px;max-width:none}.vsm-detail-grid{grid-template-columns:1fr;gap:15px}.vsm-ledger dl>div{font-size:13px}.vsm-balance strong{font-size:29px}.vsm-balance>span{font-size:12px}.vsm-included{padding:13px}.vsm-included h4{font-size:13px}.vsm-item-list li{font-size:11px}
.vsm-recommendations{padding:12px}.vsm-recommendations h4{font-size:14px}.vsm-recommendation{padding:8px 9px;gap:8px;min-height:44px}.vsm-recommendation-copy>strong{font-size:12px}.vsm-recommendations>.vsm-note{font-size:9px}.vsm-application-details .vsm-item-list{grid-template-columns:1fr}.vsm-application-details>summary{font-size:10px}
 .vsm-upgrade{grid-template-columns:1fr auto;gap:10px;padding:14px}.vsm-upgrade>span>small{font-size:10px}.vsm-upgrade>span>strong{font-size:14px}.vsm-upgrade-payment{font-size:11.5px}.vsm-upgrade-payment b{font-size:15px;gap:5px}.vsm-upgrade-benefits{grid-column:1/-1;font-size:14px;padding:11px 12px}.vsm-upgrade-benefit-row.is-service{font-size:11.5px}.vsm-upgrade-icon{width:18px;height:18px;flex-basis:18px}
 .vsm-modal-actions{grid-template-columns:1fr;gap:8px;margin-top:15px}.vsm-primary,.vsm-secondary{font-size:15px;min-height:50px;padding:12px}.vsm-secondary{min-height:44px;font-size:13px}
 .vsm-footer{display:block;margin-top:12px}.vsm-footer>p{text-align:left;margin:2px 0 0;font-size:9px}.vsm-selection-note{font-size:10px}
 .vsm-catalog{padding:24px 14px;border-radius:16px}.vsm-catalog-heading{margin-bottom:20px}.vsm-catalog-heading h2{font-size:24px}.vsm-catalog-heading>p:last-child{font-size:11px}.vsm-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vsm-catalog-grid .vsm-tier{padding:18px 10px}.vsm-catalog-grid .vsm-tier-name{font-size:19px}.vsm-catalog-grid .vsm-tier-credit{font-size:28px}.vsm-catalog-grid .vsm-tier-services{font-size:10px}.vsm-catalog>.vsm-note{text-align:left;font-size:9px}
 .vsm-cart{padding:14px;gap:10px}.vsm-cart-copy strong{font-size:14px}.vsm-cart-copy span{font-size:10px}.vsm-cart-actions button{padding:8px 10px;font-size:11px}
 .vsm-step{padding:15px 12px;border-radius:14px}.vsm-guide-intro{align-items:start;gap:8px;font-size:9px}.vsm-guide-name{font-size:14px}.vsm-guide-intro>span:last-child{max-width:150px;text-align:right}.vsm-step .vsm-hero{padding:18px 0}.vsm-step .vsm-hero h2{font-size:24px}.vsm-step .vsm-hero>.vsm-eyebrow{font-size:8px;letter-spacing:.12em}.vsm-step .vsm-hero>p:last-child{font-size:12px}.vsm-step .vsm-benefit-detail{padding:14px 12px}.vsm-step .vsm-modal-actions{gap:7px}.vsm-step .vsm-selection-note{text-align:left;font-size:9px}
}
@media(max-width:380px){.vsm-overlay{padding:6px}.vsm-dialog{max-height:calc(100dvh - 12px);padding:12px}.vsm-hero h2{font-size:22px}.vsm-tier-name{font-size:17px}.vsm-tier-credit{font-size:25px}.vsm-cart{grid-template-columns:1fr}.vsm-cart-actions{align-items:stretch}.vsm-cart-copy strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.vsm-tier{transition:none}}

@container(max-width:340px){
 .vsm-recommendation{grid-template-columns:minmax(0,1fr) 44px;row-gap:4px}
 .vsm-recommendation-copy{grid-column:1;grid-row:1}
 .vsm-recommendation-price{grid-column:1;grid-row:2;text-align:left}
 .vsm-recommendation-link{grid-column:2;grid-row:1 / span 2}
}

.vsm-recommendation-price>small{display:block;font-size:9px;line-height:1.4;color:#8a7c69}
.vsm-ledger .vsm-deduction-total{border-bottom:0;font-weight:600}.vsm-deduction-total dd{color:var(--vsm-brass);font-weight:650}
