.login-sim{overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:max(32px,env(safe-area-inset-bottom))!important}
.login-sim .owner-login{margin-bottom:24px;flex:none}
.duration-select{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}
.duration-select button{height:52px;border:1px solid #e6ded3;background:#fff;color:#27201b;font-size:14px}
.duration-select button.active{border-color:#a97b3e;background:#2a231e;color:#fff}
.guest-details{margin:18px 20px 118px;padding:22px;background:#fff;border:1px solid #e6ded3}
.guest-details>p{font-family:"Noto Serif KR",serif;font-size:18px;margin:0 0 18px}
.guest-details label{display:block;font-size:14px;color:#554b44;margin-top:14px}
.guest-details label>input:not([type="checkbox"]){display:block;width:100%;height:52px;margin-top:8px;border:1px solid #d8cec3;background:#fff;padding:0 14px;font:16px "Noto Sans KR",sans-serif;color:#27201b;border-radius:0}
.guest-details .consent{display:flex;align-items:flex-start;gap:10px;line-height:1.55;margin-top:18px}
.guest-details .consent input{width:22px;height:22px;flex:0 0 22px;accent-color:#a97b3e}
.guest-details .consent span{font-size:13px}
.admin-note{font-size:14px;line-height:1.75;color:#776c64;margin:0}
.upcoming-head button{min-height:44px;padding:0 6px;font-size:12px}
.upcoming-body span,.upcoming-body small{font-size:12px}
.editorial-list small,.feature-copy>span{font-size:11px}
.editorial-list p,.feature-copy>b{font-size:12px}
.page-hero>span,.step-title>div small,.reservation-summary-v2>p:first-child,.reservation-summary-v2 section small,.sub-heading span{font-size:11px}
.wizard-heading p,.program-select p,.program-select div>span,.time-select small,.options-step button small,.options-step button>b,.reservation-summary-v2 dl>div,.notice{font-size:13px!important}
.program-select small{font-size:12px}
.returning-mode .intro-v2,.returning-mode .signature-v2,.returning-mode .ritual-v2,.returning-mode .concierge-v2{display:none}
.returning-mode .hero-v2{height:470px}
.returning-mode .hero-content{bottom:58px}.returning-mode .hero-content h1{font-size:34px}.returning-mode .scroll-mark{display:none}
.returning-mode .member-home{padding-top:54px}
@media(max-height:680px){.login-sim{padding-top:24px!important}.login-sim>h2{margin-top:18px}.login-sim>p{margin-bottom:16px}.login-sim>div>button{min-height:72px}}
.status-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0 0 20px;padding:16px 0;border-top:1px solid #e6ded3;border-bottom:1px solid #e6ded3}
.status-timeline span{position:relative;text-align:center;font-size:11px;color:#958a82;padding-top:30px;white-space:nowrap}
.status-timeline span:before{content:"";position:absolute;left:0;right:0;top:12px;height:1px;background:#ded5ca}
.status-timeline span:first-child:before{left:50%}.status-timeline span:last-child:before{right:50%}
.status-timeline i{position:absolute;z-index:1;top:0;left:50%;transform:translateX(-50%);width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#f3eee8;border:1px solid #d8cec3;font:11px "Cormorant Garamond",serif;font-style:normal}
.status-timeline .active{color:#8c6231;font-weight:600}.status-timeline .active i{background:#a97b3e;color:#fff;border-color:#a97b3e}

/* v19: quiet, shared motion language */
:root{--motion-fast:160ms;--motion-ui:260ms;--motion-page:380ms;--motion-ease:cubic-bezier(.22,.75,.2,1)}
.booking-v2,.subpage-v2,.admin-v2{animation:pageQuietIn var(--motion-page) var(--motion-ease) both}
.wizard-panel{animation:stepQuietIn 320ms var(--motion-ease) both}
.member-home,.booking-entry{animation:sectionQuietIn var(--motion-page) var(--motion-ease) both}
.program-select>button,.concern-grid>button,.time-select>button,.duration-select>button,.quick-actions>button,.director-pick,.quick-booking-card{transition:border-color var(--motion-ui) ease,background-color var(--motion-ui) ease,color var(--motion-ui) ease,box-shadow var(--motion-ui) ease,transform var(--motion-fast) ease}
button{transition:opacity var(--motion-fast) ease,background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease}
button:active:not(:disabled){transform:translateY(1px) scale(.995)}
.program-detail{animation:detailQuietOpen 280ms var(--motion-ease) both;transform-origin:top}
.nav-v2 button svg{transition:transform var(--motion-ui) var(--motion-ease),color var(--motion-ui) ease}.nav-v2 button.active svg{transform:translateY(-2px)}
.success-mark{animation:successQuiet 620ms var(--motion-ease) both}.success-v2>h2,.success-v2>span{animation:sectionQuietIn 430ms var(--motion-ease) .12s both}
@keyframes pageQuietIn{from{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes stepQuietIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
@keyframes sectionQuietIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes detailQuietOpen{from{opacity:0;transform:scaleY(.96) translateY(-5px)}to{opacity:1;transform:none}}
@keyframes successQuiet{0%{opacity:0;transform:scale(.86)}65%{opacity:1;transform:scale(1.04)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v20: choice support and final readability pass */
.choice-help{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:0 0 20px;padding:17px;background:#f2ece4;border:1px solid #dfd3c5}
.choice-help>svg{width:20px;color:#a97b3e}.choice-help>div{display:flex;flex-direction:column}.choice-help strong{font-size:14px}.choice-help span{font-size:13px;line-height:1.55;color:#776c64;margin-top:5px}
.choice-help button{grid-column:1/-1;height:46px;border:1px solid #9f7a4e;background:#fffaf3;color:#76532d;font-size:14px}
.category-tabs button{min-height:46px!important;font-size:13px!important;padding:0 14px!important}
.nav-v2 button{font-size:12px!important}.nav-v2 button svg{width:21px;height:21px}
.program-select strong{font-size:17px}.program-detail em{font-size:13px}.program-detail>div span{font-size:12px}
.wizard-actions button{min-height:58px;font-size:14px}.manage-buttons button{font-size:14px}
