:root{--sand:#fef4ea;--navy:#0c2a3e;--coral:#ff6a4d;--aqua:#10c4b5;--yellow:#ffc93c;color:var(--navy);background:var(--sand);font-synthesis:none;font-family:Hanken Grotesk,ui-sans-serif,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit}header{background:linear-gradient(135deg in oklab, var(--navy) 0%, var(--navy) 18%, var(--coral) 105%);color:var(--sand);justify-content:space-between;gap:1rem;padding:1rem max(1.25rem,50vw - 604px);display:flex}header a{align-self:center;font:700 1.125rem Fraunces,Georgia,serif;text-decoration:none}header span,.eyebrow,legend{letter-spacing:.16em;text-transform:uppercase;font:700 .75rem/1.5 Hanken Grotesk,system-ui,sans-serif}header span{color:var(--yellow);align-self:center}main{max-width:78rem;margin:auto;padding:2rem 1.25rem}h1,h2,h3{font-family:Fraunces,Georgia,serif}h1{margin:0;font-size:clamp(1.875rem,4vw,2.25rem);line-height:1.15}h2{margin:0 0 .75rem;font-size:1.25rem}p{margin:.5rem 0 1rem}.intro{color:#52616b;max-width:42rem;margin-bottom:1.75rem}.booking-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:2rem;display:grid}.booking-layout>div{min-width:0}section{margin-bottom:1.75rem}.panel{background:#fff;border:1px solid #0c2a3e1a;border-radius:1.5rem;padding:1.25rem}.summary{font-size:.875rem;position:sticky;top:2rem}.summary h2{font-size:1.25rem}.party-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.party-heading p{margin:0}.eyebrow,legend{color:#52616b}.stepper{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.stepper button{border-radius:100rem;width:44px;height:44px;padding:0;font-size:1.25rem}.stepper output{text-align:center;font-variant-numeric:tabular-nums;width:2.5rem;font-size:1.875rem;font-weight:700}.group-note{background:#ffc93c40;border-radius:.75rem;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}fieldset{border:0;min-width:0;margin:1.25rem 0;padding:0}.party-panel fieldset{margin:1.5rem 0 0}legend{margin-bottom:.5rem}label{margin:.8rem 0;font-weight:650;display:block}input,select{font:inherit;width:100%;color:var(--navy);background:#fff;border:2px solid #0c2a3e26;border-radius:.75rem;margin-top:.35rem;padding:.6rem .8rem;display:block}input[type=number]{max-width:10rem}button{font:inherit;color:var(--navy);cursor:pointer;background:#fff;border:2px solid #0c2a3e26;border-radius:.75rem;min-height:44px;padding:.65rem .9rem;font-weight:700;transition:background-color .15s,border-color .15s}button:hover:enabled{border-color:#0c2a3e66}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #087a72}button[aria-pressed=true],button[aria-pressed=true]:hover:enabled{background:var(--navy);color:var(--sand);border-color:var(--navy)}button:disabled{cursor:not-allowed;color:#65717a;background:#0c2a3e0d;border-color:#0000}.durations{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.durations button{text-align:left;padding:.75rem 1rem}.durations button[aria-pressed=true],.durations button[aria-pressed=true]:hover:enabled{color:var(--navy);background:#0c2a3e0d}.durations span,.durations small{color:#52616b;font-size:.875rem;font-weight:400;display:block}.durations small{margin-top:.375rem}.durations small:before,.happy-note:before{content:"";background:var(--coral);border-radius:50%;width:.5rem;height:.5rem;margin-right:.4rem;display:inline-block}.day-strip{gap:.5rem;padding:.2rem 0 .5rem;display:flex;overflow-x:auto}.day-strip button{flex:none;padding:.5rem .75rem}.day-strip .eyebrow{color:inherit;display:block}.day-strip small{font-size:.625rem;display:block}.day-strip .more-dates{background:0 0;border-style:dashed}.slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.slots button{text-align:left;padding:.625rem .75rem}.slots strong,.slots span{display:block}.slots span{font-size:.875rem;font-weight:400}.slots del{opacity:.65;margin-right:.2rem}.happy-slot{border-color:var(--coral);background:#ff6a4d1a}.happy-slot:hover:enabled{border-color:var(--coral);background:#ff6a4d33}.happy-note{background:#ff6a4d26;border-radius:.75rem;padding:.75rem 1rem;font-size:.875rem}.happy-note>span{margin-top:.375rem;display:block}.muted,small{color:#52616b;font-size:.8rem}.row{justify-content:space-between;gap:.75rem;margin:.5rem 0;display:flex}.row dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin:0}.strong{border-top:1px solid #0c2a3e1a;padding-top:.5rem;font-weight:700}.tender{background:var(--sand);border-radius:.75rem;margin:1rem 0 .5rem;padding:.5rem 1rem}.tender .strong{border:0;padding-top:0}.selected-time{text-align:center;margin-top:1.25rem;font-weight:700}.empty-summary{color:#52616b;text-align:center;background:#0c2a3e0d;border-radius:.75rem;margin-top:1.25rem;padding:.75rem 1rem}.primary{background:var(--coral);border-color:#0000;border-radius:100rem;width:100%;margin-top:.5rem;padding:.75rem 1.5rem}.primary:hover:enabled{background:#ff7a60;border-color:#0000}.choice{background:#fff;border:2px solid #0c2a3e26;border-radius:.75rem;align-items:baseline;gap:.75rem;padding:1rem;font-weight:400;display:flex}.choice:has(input:checked){border-color:var(--coral);background:#ff6a4d1a}.choice input{width:1rem;accent-color:var(--navy);flex:0 0 1rem}.consent{font-size:.875rem}.consent ul{padding-left:1rem}.consent li{margin-bottom:.5rem}.error{color:#842413;background:#fff0eb;border:1px solid #b63721;border-radius:.75rem;padding:.8rem}details{margin-top:1rem}details summary{cursor:pointer;padding:.5rem 0;font-weight:700}.manage{max-width:42rem}.manage form{margin:1rem 0}.manage button{margin:.3rem .4rem .3rem 0}.code{letter-spacing:.06em;font-size:1.4rem;font-weight:700}dialog{background:var(--sand);color:inherit;border:0;border-radius:1.5rem;width:min(96vw,448px);max-height:92dvh;padding:1.5rem;overflow-y:auto}dialog::backdrop{background:#0c2a3e80}.checkout-sheet{width:min(96vw,512px)}.dialog-heading,.month-nav{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dialog-heading h2{margin:0;font-size:1.5rem}.dialog-heading button{background:0 0;border:0;padding:.5rem;font-size:.75rem;text-decoration:underline}.month-nav button{border-radius:100rem}.month-nav strong{font-family:Fraunces,Georgia,serif}.month-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;font-size:.75rem;display:grid}.month-grid button{padding:.3rem;font-size:.9rem}.month-grid small{font-size:.65rem;display:block}.month-grid .available{background:#10c4b566;border-color:#0000}footer{border-top:1px solid #0c2a3e1a;max-width:78rem;margin:auto;padding:2rem 1.25rem;font-size:.8rem}footer a{margin-left:.4rem}.mobile-summary-toggle{display:none}@media (width<=1023px){.booking-layout{grid-template-columns:minmax(0,1fr);padding-bottom:6rem}.summary{display:none}.slots{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-summary-toggle{left:1.25rem;right:1.25rem;bottom:max(1rem, env(safe-area-inset-bottom));z-index:2;background:var(--coral);border:0;border-radius:100rem;display:block;position:fixed;box-shadow:0 2px 12px #0c2a3e33}footer{padding-bottom:6rem}.checkout-sheet{width:100%;max-width:none;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));border-radius:1.5rem 1.5rem 0 0;margin:auto 0 0}}@media (width<=639px){.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.durations{grid-template-columns:1fr}header span{text-align:right;max-width:9rem;font-size:.625rem}.month-grid{gap:.15rem}dialog:not(.checkout-sheet){padding:1rem}}@media (prefers-reduced-motion:reduce){button{transition:none}}
