:root{--ux-space:20px;--ux-small:12px;--ux-tiny:8px;--ux-large:24px;--ux-control:50px;--ux-pill:13px;--ux-title:28px;--ux-body:16px;--ux-caption:13px}
.ui-icon{width:24px;height:24px;flex:none}.simple-home{max-width:1040px;margin:auto;padding:32px 24px 110px}.simple-home h1{font-size:clamp(28px,4vw,42px);letter-spacing:-1.4px;line-height:1.3;margin:12px 0}.simple-home .intro-caption{color:var(--muted);margin:12px 0 28px}.situation-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.situation-cards a{display:flex;flex-direction:column;gap:20px;text-decoration:none;background:var(--card);color:var(--text);padding:24px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);font-size:17px;font-weight:700;transition:transform .15s,border-color .15s}.situation-cards a:hover{transform:translateY(-2px);border-color:var(--brand)}.situation-cards a>[data-icon]{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--brand-soft);color:var(--brand);flex:none}.situation-cards .ui-icon{width:26px;height:26px}.simple-home .home-secondary{display:flex;align-items:center;justify-content:space-between;margin:28px 0;padding:20px 0;border-bottom:1px solid var(--border);gap:12px}.home-secondary a{color:var(--brand);text-decoration:none;font-weight:700}.home-more{margin:28px 0;display:grid;gap:12px}.home-more h2{font-size:20px;margin:0 0 4px}.more-card{display:flex;align-items:center;gap:16px;padding:16px;min-height:72px;box-sizing:border-box;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.more-card:hover{border-color:var(--brand)}.more-card>[data-icon]{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--brand-soft);color:var(--brand);flex:none}.more-card .ui-icon{width:24px;height:24px}.more-copy{display:grid;gap:2px;min-width:0}.more-copy strong{font-size:16px}.more-copy small{color:var(--muted);font-size:13px;line-height:1.6}.more-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.customer-nav{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 24px));display:grid;grid-template-columns:repeat(5,1fr);background:var(--card);border:1px solid var(--border);border-radius:22px;padding:8px;z-index:500;box-shadow:var(--shadow)}.customer-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);font-size:12px;text-decoration:none;padding:8px;border-radius:13px}.customer-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand);font-weight:700}.step-dots{color:var(--brand);font-size:13px;font-weight:700;letter-spacing:2px}.request-wizard h2{font-size:28px;line-height:1.4;letter-spacing:-1px}.request-wizard .choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.choice-grid button{min-height:62px;border:1px solid var(--border);border-radius:13px;background:var(--card);color:var(--text);font:inherit;cursor:pointer;padding:12px}.choice-grid button[aria-pressed=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand);font-weight:700}.choice-grid button:disabled{opacity:.4;cursor:not-allowed}.request-wizard .primary{width:100%;min-height:50px;border:0;border-radius:13px;background:var(--brand);color:var(--card);font:inherit;font-weight:700;padding:12px 20px}.request-wizard .primary:disabled{opacity:.5}.request-wizard .text-button{border:0;background:none;color:var(--brand);font:inherit;padding:12px 0;cursor:pointer}.request-wizard .wizard-context{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.request-wizard .success-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--brand-soft);color:var(--brand);margin:20px 0}.success-icon .ui-icon{width:34px;height:34px}.booking-timeline{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.booking-timeline li{position:relative;font-size:12px;text-align:center;color:var(--muted)}.booking-timeline .step-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;margin:0 auto 8px;background:var(--bg);border:1px solid var(--border)}.booking-timeline .done .step-symbol,.booking-timeline .current .step-symbol{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.booking-timeline .current{color:var(--brand);font-weight:700}.journey-status{display:flex;align-items:center;gap:12px;padding:12px;background:var(--brand-soft);border-radius:13px}.customer-requests #requestForm{display:block}.customer-requests .container{max-width:1000px}.customer-requests #accountContent{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.customer-requests #requestForm{grid-column:1;grid-row:1/5;align-self:start;margin-top:0}.customer-requests #requestList{grid-column:2}.customer-requests #accountContent>section,.customer-requests .request-filters{grid-column:2;margin:0}.customer-requests .request-heading p:first-child{color:var(--brand);font-weight:700}.customer-requests .privacy-footer{font-size:13px;color:var(--muted)}.customer-requests .container:last-of-type{padding-bottom:110px}.request-wizard label{display:block}.request-wizard select{font:inherit}.request-wizard button:focus-visible,.situation-cards a:focus-visible,.customer-nav a:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
@media(max-width:700px){.simple-home{padding:24px 16px 110px}.situation-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.situation-cards a{padding:20px 16px;font-size:15px;min-height:126px}.customer-requests #accountContent{display:block}.request-wizard h2{font-size:24px}.request-wizard .choice-grid{gap:8px}.customer-requests #requestForm{margin-bottom:24px}.customer-requests .request-filters{margin:16px 0}.customer-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.situation-cards a{transition:none}}
[hidden]{display:none!important}

.customer-requests #requestForm .choice-grid button{grid-column:auto}.customer-requests{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Malgun Gothic",sans-serif}.customer-requests #requestForm .text-button{background:transparent;color:var(--brand);width:auto}.customer-requests #accountNotice{font-size:13px;color:var(--muted)}

.home-map-section{margin:36px 0 24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.home-map-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 24px 0}.home-map-heading h2{margin:4px 0;font-size:24px;letter-spacing:-.7px}.home-map-heading .eyebrow{margin:0;font-size:12px}.home-map-heading a{color:var(--brand);font-size:13px;font-weight:700;white-space:nowrap}.home-map-caption,.home-location-status{padding:0 24px;font-size:13px;color:var(--muted);margin:10px 0}.home-map-tools{display:flex;gap:8px;padding:4px 24px}.home-map-tools button{min-height:44px;border:1px solid var(--border);border-radius:12px;padding:8px 16px;background:var(--brand-soft);color:var(--brand);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
#homeMap{height:340px;z-index:0;width:100%;background:var(--bg)}#homeMap.large{height:65dvh;min-height:340px}.home-office-pin{display:grid;place-items:center;border:2px solid var(--muted);border-radius:10px;background:var(--card);color:var(--muted);box-shadow:var(--shadow)}.home-office-pin .ui-icon{width:20px;height:20px}.home-map-section .leaflet-popup-content a{display:inline-block;margin-top:8px}.home-map-section .leaflet-control-zoom a{min-width:36px;min-height:36px;line-height:36px}
@media(max-width:480px){.home-map-heading{padding:20px 16px 0;align-items:flex-start}.home-map-heading h2{font-size:21px}.home-map-heading a{font-size:12px}.home-map-caption,.home-location-status{padding:0 16px}.home-map-tools{padding:4px 16px}#homeMap{height:300px}#homeMap.large{height:65dvh;min-height:300px}}

.home-office-pin{background:var(--brand);border-color:var(--brand-dark);color:var(--card)}
.office-slot h2{font-size:20px;margin:4px 0 8px}.office-slot p{font-size:13px;line-height:1.5;margin:8px 0;color:var(--muted)}.office-slot label{display:block;font-size:13px;font-weight:700;margin:12px 0 4px}.office-slot input,.office-slot select{width:100%;min-width:0;box-sizing:border-box;min-height:44px;font:inherit;font-size:16px;border:1px solid var(--border);border-radius:10px;padding:8px;background:var(--card);color:var(--text)}.office-slot .btn{width:100%;box-sizing:border-box;font-size:14px;min-height:46px}.office-slot .btn:disabled{opacity:.5}.home-map-section .leaflet-popup-content{max-width:calc(100vw - 90px)}

.home-map-section .home-location-status{min-height:20px}.map-gesture-help{font-size:12px;color:var(--muted);margin:8px 16px}

.member-header{display:flex;align-items:center;gap:var(--ux-small);flex-wrap:wrap;justify-content:flex-end}.member-header a{font-size:14px;color:var(--brand);text-decoration:none;font-weight:700;padding:10px 12px;white-space:nowrap}.member-header .member-primary{background:var(--brand);color:var(--card);border-radius:var(--ux-pill)}.home-help{margin-bottom:var(--ux-large)}#situations{scroll-margin-top:var(--ux-large);font-size:var(--ux-title)}.situation-copy{display:flex;flex-direction:column;gap:var(--ux-tiny)}.situation-copy strong{font-size:inherit}.situation-copy small{font-weight:400;font-size:12px;color:var(--muted)}.member-gate-notice{padding:var(--ux-small);background:var(--brand-soft);color:var(--text)}
@media(max-width:480px){.home-page .nav{padding:12px 16px;gap:8px;flex-wrap:wrap}.home-page .nav .brand-logo{height:28px;width:auto}.member-header{gap:4px}.member-header a{font-size:12px;padding:10px 8px}.situation-cards a{padding:16px 10px;font-size:13px}.situation-copy small{font-size:11px}.simple-home .intro-caption{font-size:14px}}

.home-membership{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;margin:0 0 24px;background:var(--brand-soft);border-radius:16px;text-align:left}.home-membership strong{font-size:16px}.home-membership p{margin:6px 0 0;font-size:13px;color:var(--muted)}.home-membership .btn{margin:0;white-space:nowrap;font-size:14px;padding:12px 16px}@media(max-width:480px){.home-membership{align-items:stretch;flex-direction:column;gap:12px}.home-membership .btn{text-align:center}}

body.has-bottom-nav .simple-home{padding-bottom:24px}body.has-bottom-nav.customer-requests .container:last-of-type{padding-bottom:24px}
@media(max-width:899px){body.has-bottom-nav .customer-nav{height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));bottom:0;left:0;right:0;width:100%;transform:none;padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));box-sizing:border-box;border-radius:18px 18px 0 0}body.has-bottom-nav .customer-nav a{min-height:44px;padding:4px 2px;position:relative;white-space:nowrap;font-size:11px}}

.member-header .expert-header-entry{border:1px solid var(--brand);color:var(--brand);background:var(--card)}
@media(max-width:767px){.member-header .expert-header-entry{display:none}}

/* Keep Korean words intact in the home situation section. */
.home-page #situations,.home-page #situations + .intro-caption,.home-page .situation-copy strong,.home-page .situation-copy small{word-break:keep-all;overflow-wrap:normal}
.home-page #situations{text-wrap:balance}
.home-page #situations + .intro-caption,.home-page .situation-copy small{text-wrap:pretty}
/* Keep the home-map popup clear of map controls, including on narrow phones. */
#homeMap.popup-open .leaflet-control-zoom{display:none}
#homeMap .leaflet-popup-content{max-width:calc(100vw - 112px);margin:20px 18px 18px;font-family:var(--font-ui)}
#homeMap .leaflet-popup-content h2{padding-right:28px;font-size:18px;line-height:1.4}
#homeMap .leaflet-popup-content p{font-size:13px;line-height:1.6}
#homeMap .leaflet-popup-content a.btn,#homeMap .leaflet-popup-content a.btn:visited{display:flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;text-decoration:none;font-size:14px;line-height:1.4;min-height:46px;padding:12px;margin-top:14px}
#homeMap .leaflet-popup-content-wrapper{border-radius:18px}
#homeMap .leaflet-popup-close-button{width:44px;height:44px;line-height:40px;font-size:24px;color:var(--ink-muted);border-radius:12px;z-index:1}

/* A selected office stays smaller than the map behind it. */
:root{--office-card-width:320px;--office-card-height:280px;--type-office-title:18px}
.office-slot .office-opening-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.office-slot .office-opening-section{padding:0;gap:var(--space-2);min-width:0;border:0}
.office-slot .office-opening-section:first-child{grid-column:1 / -1}
.office-slot .office-opening-section p{font-size:var(--type-small);line-height:1.5;color:var(--ink-body)}
.office-slot .office-opening-section .btn{margin:0;padding:var(--space-2);min-height:var(--touch-target);font-size:var(--type-small);line-height:1.4;white-space:normal;word-break:keep-all;gap:0;border-radius:var(--radius-control);box-shadow:none}
.office-slot .office-opening-section .btn.ghost{background:var(--brand-soft);color:var(--brand-dark);border-color:var(--border)}
.office-slot :is(button,a,input,select):focus-visible{outline:var(--focus-width) solid var(--brand);outline-offset:var(--focus-width)}
#homeMap .leaflet-popup-content{margin:var(--space-3);max-height:var(--office-popup-content-height);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#homeMap .office-slot h2{position:sticky;top:0;z-index:1;background:var(--card);font-size:var(--type-office-title);margin:0 0 var(--space-2);padding-right:var(--touch-target);line-height:1.4}
#homeMap .office-slot .office-opening-section .btn{margin:0;padding:var(--space-2);min-height:var(--touch-target);font-size:var(--type-small);line-height:1.4}
#homeMap .office-slot .office-opening-section .btn.ghost{background:var(--brand-soft);color:var(--brand-dark)}
.map-page .card-sheet,.map-page .card-sheet.show{width:min(var(--office-card-width),calc(100% - var(--space-4)*2));max-height:min(var(--office-card-height),50%);border-radius:var(--radius);box-shadow:var(--shadow)}
.map-page .card-sheet-body{padding:0 var(--space-3) var(--space-3)}
.map-page .card-sheet h2{font-size:var(--type-office-title);margin:0 0 var(--space-2)}
.map-page .card-sheet .office-opening-section .btn{margin:0}
#homeMap .leaflet-control-attribution{font-size:9px;line-height:1.4;max-width:calc(100% - 16px)}
.home-expert-pin:not(.expert-map-marker){display:grid;place-items:center;box-sizing:border-box;border:2px solid var(--brand-dark);border-radius:var(--radius);background:var(--card);color:var(--brand-dark);box-shadow:var(--shadow)}
.home-expert-pin .ui-icon{width:var(--space-5);height:var(--space-5)}
.home-experts{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}
.home-experts>p{margin:0 0 var(--space-2);font-size:var(--type-small);color:var(--ink-muted)}
.home-expert-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.home-expert-list .btn.ghost{margin:0;padding:var(--space-2) var(--space-3);min-height:var(--touch-target);max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:var(--type-small);background:var(--brand-soft);color:var(--brand-dark);border-color:var(--border);box-shadow:none}
.home-expert-list .btn:focus-visible,#homeMap .home-expert-pin:focus-visible{outline:var(--focus-width) solid var(--brand);outline-offset:var(--focus-width)}
.reservation-notification-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--card)}.reservation-notification-dialog::backdrop{background:rgba(15,23,42,.32)}.reservation-notification-dialog .btn{display:block;width:100%;min-height:44px;margin-top:var(--space-3);white-space:normal}.reservation-notification-dialog [hidden]{display:none}
.home-page .home-map-tools button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:nowrap;line-height:1.4}
.home-page .home-map-tools [data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:1}
.home-page .home-map-tools [data-icon] svg{display:block;width:1.25em;height:1.25em}
