.booking-page h1 .accent,.booking-page h2 .accent,.booking-page h3 .accent{color:var(--mercury-primary)}.booking-page .required{color:var(--mercury-primary);margin-left:2px}.booking-hero{min-height:clamp(360px,50vh,520px);padding:var(--nav-clearance) 0 var(--section-y-tight);background:0 0;align-items:flex-end;display:flex;position:relative;overflow:hidden}.booking-hero-bg{z-index:0;position:absolute;inset:0}.booking-hero-bg img{object-fit:cover;object-position:center 35%;width:100%;height:100%}.booking-hero-overlay{background: linear-gradient(to bottom, oklch(9% .006 250/.72) 0%, oklch(9% .006 250/0) 28%),  linear-gradient(95deg, var(--mercury-bg) 12%, oklch(9% .006 250/.82) 50%, oklch(9% .006 250/.4) 100%), radial-gradient(ellipse at 50% 0%, oklch(88% .3 145/.08), transparent 60%);position:absolute;inset:0}.booking-hero-inner{z-index:1;gap:var(--space-lg);max-width:var(--content-max);flex-direction:column;display:flex;position:relative}.booking-hero-inner h1{font-family:var(--font-display), sans-serif;font-weight:900;font-size:var(--type-display-1);line-height:var(--lh-display);letter-spacing:var(--ls-display-tight);color:var(--mercury-text);margin:0}.booking-hero-lead{max-width:56ch;font-size:var(--type-body-lg);line-height:var(--lh-loose);color:var(--mercury-text-muted);margin:0}.booking-wizard-section{padding:clamp(1.5rem, 3vw, 2.5rem) 0 var(--section-y);background:0 0}.booking-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3vw,3rem);display:grid}@media (max-width:880px){.booking-layout{grid-template-columns:1fr}}.booking-wizard{border:1px solid var(--mercury-border);border-radius:var(--radius-lg);background:var(--mercury-surface);padding:clamp(1.5rem,3vw,2.5rem)}.booking-steps{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-2xl);padding:0 0 var(--space-xl);border-bottom:1px solid var(--mercury-border);list-style:none;display:flex}.booking-step-pip{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.booking-step-pip:not(:last-child):after{content:"";background:var(--mercury-border);flex:1;height:1px}.booking-step-num{border:1px solid var(--mercury-border-strong);width:30px;height:30px;font-family:var(--font-display), sans-serif;font-weight:800;font-size:var(--type-eyebrow);color:var(--mercury-text-muted);background:var(--mercury-bg);transition:background var(--fx-duration-link-hover), color var(--fx-duration-link-hover), border-color var(--fx-duration-link-hover);border-radius:50%;flex:none;place-items:center;display:grid}.booking-step-label{font-size:var(--type-body-xs);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--mercury-text-subtle);white-space:nowrap;font-weight:600}.booking-step-pip.active .booking-step-num{background:var(--mercury-primary);color:var(--mercury-bg);border-color:var(--mercury-primary)}.booking-step-pip.active .booking-step-label{color:var(--mercury-text)}.booking-step-pip.done .booking-step-num{border-color:var(--mercury-primary);color:var(--mercury-primary)}@media (max-width:520px){.booking-step-label{display:none}}.booking-panel{gap:var(--space-xl);flex-direction:column;display:flex}.booking-panel-kicker{font-size:var(--type-body-xs);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--mercury-primary);margin:0;font-weight:600}.booking-field{border:0;min-width:0;margin:0;padding:0}.booking-field[disabled]{opacity:.55}.booking-field legend{font-family:var(--font-display), sans-serif;font-weight:700;font-size:var(--type-body-lg);letter-spacing:-.01em;color:var(--mercury-text);margin-bottom:var(--space-md);padding:0}.booking-pills{gap:var(--space-sm);flex-wrap:wrap;display:flex}.booking-pill{min-width:56px;min-height:48px;padding:var(--space-md) var(--space-lg);border:1px solid var(--mercury-border-strong);border-radius:var(--radius-sm);background:var(--mercury-bg);color:var(--mercury-text);font-family:var(--font-display), sans-serif;font-weight:800;font-size:var(--type-body-fixed);transition:border-color var(--fx-duration-link-hover), background var(--fx-duration-link-hover), color var(--fx-duration-link-hover), transform .15s}.booking-pill:hover{border-color:var(--mercury-primary)}.booking-pill.active{background:var(--mercury-primary);color:var(--mercury-bg);border-color:var(--mercury-primary);box-shadow:var(--mercury-glow-primary)}.booking-calendar{gap:var(--space-sm);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.booking-day{padding:var(--space-md) var(--space-xs);border:1px solid var(--mercury-border);border-radius:var(--radius-sm);background:var(--mercury-bg);min-height:64px;color:var(--mercury-text);transition:border-color var(--fx-duration-link-hover), background var(--fx-duration-link-hover), transform .15s;flex-direction:column;align-items:center;gap:2px;display:flex}.booking-day:hover{border-color:var(--mercury-primary);transform:translateY(-2px)}.booking-day.active{border-color:var(--mercury-primary);box-shadow:inset 0 0 0 1px var(--mercury-primary);background:oklch(16% .034 145/.45)}.booking-day-wd{text-transform:uppercase;letter-spacing:.06em;color:var(--mercury-text-subtle);font-size:.75rem}.booking-day.active .booking-day-wd{color:var(--mercury-primary)}.booking-day-num{font-family:var(--font-display), sans-serif;font-size:1.25rem;font-weight:800;line-height:var(--lh-display);color:var(--mercury-text)}.booking-day-mo{text-transform:uppercase;letter-spacing:.06em;color:var(--mercury-text-subtle);font-size:.75rem}.booking-day.weekend .booking-day-num{color:var(--mercury-primary)}.booking-day-skel{border-radius:var(--radius-sm);background:linear-gradient(100deg, var(--mercury-surface-elev) 30%, var(--mercury-surface) 50%, var(--mercury-surface-elev) 70%);background-size:200% 100%;min-height:64px;animation:1.4s ease-in-out infinite booking-shimmer}@keyframes booking-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.booking-day-skel{animation:none}}@media (max-width:520px){.booking-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}.booking-slots{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));display:grid}.booking-slot{min-height:44px;padding:var(--space-md) var(--space-sm);border:1px solid var(--mercury-border);border-radius:var(--radius-sm);background:var(--mercury-bg);color:var(--mercury-text);font-family:var(--font-body), sans-serif;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--type-body-sm);transition:border-color var(--fx-duration-link-hover), background var(--fx-duration-link-hover), color var(--fx-duration-link-hover)}.booking-slot:hover{border-color:var(--mercury-primary)}.booking-slot.active{background:var(--mercury-primary);color:var(--mercury-bg);border-color:var(--mercury-primary)}.booking-hint{margin:var(--space-sm) 0 0;font-size:var(--type-body-sm);line-height:var(--lh-body);color:var(--mercury-text-muted)}.booking-tables-grid{gap:var(--space-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (min-width:600px){.booking-tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.booking-table-num-card{min-height:72px;padding:var(--space-md);border:1px solid var(--mercury-border-strong);border-radius:var(--radius-md);background:var(--mercury-bg);transition:border-color var(--fx-duration-link-hover), background var(--fx-duration-link-hover), transform .15s;justify-content:center;align-items:center;display:flex}.booking-table-num-card:hover{border-color:var(--mercury-primary);transform:translateY(-2px)}.booking-table-num-card.active{border-color:var(--mercury-primary);box-shadow:inset 0 0 0 1px var(--mercury-primary);background:oklch(16% .034 145/.4)}.booking-table-num-label{font-family:var(--font-display), sans-serif;font-size:clamp(1rem,2vw,1.25rem);font-weight:800;line-height:var(--lh-display);letter-spacing:-.01em;color:var(--mercury-text)}.booking-table-num-card.active .booking-table-num-label{color:var(--mercury-primary)}.booking-summary{padding:var(--space-xl);border:1px solid var(--mercury-border);border-radius:var(--radius-md);background:radial-gradient(at 90% 0,oklch(88% .3 145/.08),#0000 60%),oklch(13% .008 250);position:relative}.booking-summary h3{font-family:var(--font-display), sans-serif;font-weight:700;font-size:var(--type-body-lg);letter-spacing:var(--ls-display);color:var(--mercury-text);margin:0 0 var(--space-md)}.booking-summary dl{gap:var(--space-md) var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.booking-summary dl>div{flex-direction:column;gap:2px;display:flex}.booking-summary dt{font-size:var(--type-body-xs);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--mercury-text-subtle)}.booking-summary dd{font-weight:600;font-size:var(--type-body-fixed);color:var(--mercury-text);margin:0}.booking-summary-edit{top:var(--space-lg);right:var(--space-lg);font-size:var(--type-body-xs);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--mercury-primary);text-underline-offset:3px;align-items:center;min-height:44px;font-weight:700;text-decoration:underline;display:inline-flex;position:absolute}.booking-form{gap:var(--space-lg);flex-direction:column;display:flex}.booking-field-row{gap:var(--space-xs);flex-direction:column;display:flex}.booking-field-row label{font-size:var(--type-body-sm);color:var(--mercury-text);font-weight:600}.booking-field-row .required{color:var(--mercury-primary)}.booking-field-row input,.booking-field-row textarea{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--mercury-border-strong);border-radius:var(--radius-sm);background:var(--mercury-bg);color:var(--mercury-text);font-family:var(--font-body), sans-serif;font-size:var(--type-body-fixed);transition:border-color var(--fx-duration-link-hover) var(--ease-out);line-height:1.4}.booking-field-row textarea{resize:vertical;min-height:88px}.booking-field-row input::placeholder,.booking-field-row textarea::placeholder{color:var(--mercury-text-subtle)}.booking-field-row input:focus-visible,.booking-field-row textarea:focus-visible{border-color:var(--mercury-primary);outline:2px solid var(--mercury-primary);outline-offset:1px}.booking-field-row input[aria-invalid=true]{border-color:var(--mercury-accent)}.booking-field-err{font-size:var(--type-body-sm);color:var(--mercury-accent-hover)}.booking-disclaimer{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);font-size:var(--type-body-sm);line-height:var(--lh-body);color:var(--mercury-text-muted);background:oklch(16% .034 145/.18);border:1px solid oklch(88% .3 145/.3);margin:0}@media (max-width:880px){.booking-wizard{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px) + var(--space-xl))}}.booking-nav{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.booking-nav-hint{font-size:var(--type-body-sm);color:var(--mercury-text-subtle);flex-basis:100%}.booking-call-alt{font-size:var(--type-body-sm);color:var(--mercury-text-muted);text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.booking-call-alt:hover{color:var(--mercury-primary)}.booking-confirm{padding:var(--space-lg) var(--space-xl);border:1px solid var(--mercury-primary);border-radius:var(--radius-md);font-size:var(--type-body-fixed);line-height:var(--lh-body);color:var(--mercury-text);background:oklch(16% .034 145/.28)}.booking-confirm strong{color:var(--mercury-primary)}.booking-confirm a{color:var(--mercury-primary);text-underline-offset:3px;text-decoration:underline}.booking-aside{border:1px solid var(--mercury-border);border-radius:var(--radius-lg);background:oklch(13% .008 250);padding:clamp(1.5rem,2.5vw,2rem);position:sticky;top:96px}@media (max-width:880px){.booking-aside{position:static}}.booking-aside h3{font-family:var(--font-display), sans-serif;font-weight:800;font-size:var(--type-display-4);line-height:var(--lh-display);letter-spacing:var(--ls-display-tight);color:var(--mercury-text);margin:0 0 var(--space-md)}.booking-aside-lead{font-size:var(--type-body-sm);line-height:var(--lh-body);color:var(--mercury-text-muted);margin:0 0 var(--space-xl)}.booking-aside-list{margin:0 0 var(--space-xl);border-top:1px solid var(--mercury-border);padding:0;list-style:none}.booking-aside-list li{gap:2px var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--mercury-border);grid-template-columns:auto auto;align-items:baseline;display:grid}.booking-aside-day{font-family:var(--font-display), sans-serif;font-weight:700;font-size:var(--type-body-fixed);color:var(--mercury-text)}.booking-aside-time{font-family:var(--font-display), sans-serif;font-weight:700;font-size:var(--type-body-fixed);color:var(--mercury-primary);text-align:right;white-space:nowrap}.booking-aside-note{font-size:var(--type-body-sm);color:var(--mercury-text-subtle);grid-column:1/-1}.booking-aside-contact{gap:var(--space-md);flex-direction:column;align-items:flex-start;display:flex}@media (max-width:640px){.booking-aside-contact{align-items:stretch}.booking-aside-contact .btn{text-align:center;justify-content:center;width:100%}.booking-nav .btn{text-align:center;flex:100%;justify-content:center}}.booking-aside-contact p{font-size:var(--type-body-sm);color:var(--mercury-text-muted);margin:0}.booking-aside-link{font-size:var(--type-body-sm);color:var(--mercury-primary);text-underline-offset:3px;align-items:center;min-height:44px;font-weight:600;text-decoration:underline;display:inline-flex}.booking-know-section{padding:var(--section-y) 0;background:0 0}.booking-know-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}@media (max-width:880px){.booking-know-inner{gap:var(--space-2xl);grid-template-columns:1fr}}.booking-know-head{top:calc(var(--nav-clearance) + var(--space-lg));gap:var(--space-md);flex-direction:column;display:flex;position:sticky}@media (max-width:880px){.booking-know-head{position:static}}.booking-know-head h2{font-family:var(--font-display), sans-serif;font-weight:900;font-size:var(--type-display-3);line-height:var(--lh-display);letter-spacing:var(--ls-display-tight);color:var(--mercury-text);margin:0}.booking-hero .booking-hero-inner [data-anim],.booking-wizard-section [data-anim],.booking-know-section [data-anim]{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(20px)}.booking-hero .booking-hero-inner [data-anim].is-revealed,.booking-wizard-section [data-anim].is-revealed,.booking-know-section [data-anim].is-revealed{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.booking-hero .booking-hero-inner [data-anim],.booking-wizard-section [data-anim],.booking-know-section [data-anim]{opacity:1;transition:none;transform:none}}
