: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}.hero-tagline{color:var(--coral);margin-top:.25rem;font-size:.55em;display:block}.hero-intro p{margin:.4rem 0}.hero-offer{color:var(--navy,#0c2a3e);font-size:1.15rem;font-weight:600}.hero-terms{font-size:.8rem;margin-top:.9rem!important}.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{border:1px solid color-mix(in srgb, var(--navy) 10%, transparent);background:#fff;border-radius:1.5rem;padding:1.25rem}.summary{font-size:.875rem;position:sticky;top:2rem}.summary h2{font-size:1.25rem}.step-heading{letter-spacing:.16em;text-transform:uppercase;color:#52616b;font:800 1.125rem/1.4 Hanken Grotesk,system-ui,sans-serif;display:block}.party-note{margin:.25rem 0 0}.bay-count{margin:.5rem 0 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}.hold-expired{background:#ffc93c40;border-radius:.75rem;padding:.75rem 1rem}.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,textarea{font:inherit;border:2px solid color-mix(in srgb, var(--navy) 15%, transparent);width:100%;color:var(--navy);background:#fff;border-radius:.75rem;margin-top:.35rem;padding:.6rem .8rem;display:block}input[type=number]{max-width:10rem}button{font:inherit;color:var(--navy);border:2px solid color-mix(in srgb, var(--navy) 15%, transparent);cursor:pointer;background:#fff;border-radius:.75rem;min-height:44px;padding:.65rem .9rem;font-weight:700;transition:background-color .15s,border-color .15s}button:hover:enabled{border-color:color-mix(in srgb, var(--navy) 40%, transparent)}button:focus-visible,input:focus-visible,select:focus-visible,textarea: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;background:color-mix(in srgb, var(--navy) 5%, transparent);color:#65717a;border-color:#0000}.durations{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.durations button{text-align:left;padding:.75rem 1rem}.durations span,.durations small{color:#52616b;font-size:.875rem;font-weight:400;display:block}.durations [aria-pressed=true]:enabled span,.durations [aria-pressed=true]:enabled small{color:var(--sand)}.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}.slots.stale{opacity:.45;transition:opacity .15s}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.happy-slot{background:color-mix(in srgb, var(--coral) 10%, transparent);border-color:var(--coral)}.happy-slot:hover:enabled{background:color-mix(in srgb, var(--coral) 20%, transparent);border-color:var(--coral)}.happy-note{background:color-mix(in srgb, var(--coral) 15%, transparent);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 color-mix(in srgb, var(--navy) 10%, transparent);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}textarea.guest-note{resize:vertical;margin-top:.5rem}.guest-note-summary{overflow-wrap:anywhere;white-space:pre-line}.empty-summary{background:color-mix(in srgb, var(--navy) 5%, transparent);color:#52616b;text-align:center;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{border:2px solid color-mix(in srgb, var(--navy) 15%, transparent);background:#fff;border-radius:.75rem;align-items:baseline;gap:.75rem;padding:1rem;font-weight:400;display:flex}.choice:has(input:checked){border-color:var(--coral);background:color-mix(in srgb, var(--coral) 10%, transparent)}.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}.contact-note p{margin:0}.code{letter-spacing:.06em;font-size:1.4rem;font-weight:700}.waivers h3{margin:1.25rem 0 .25rem;font-size:1.05rem}.waiver-link{background:var(--coral);border-radius:100rem;padding:.65rem 1.25rem;font-weight:700;text-decoration:none;display:inline-block}.share-link{overflow-wrap:anywhere;font-weight:650}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:color-mix(in srgb, var(--navy) 50%, transparent)}.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}.dialog-heading .make-change{white-space:nowrap;font-size:1rem}.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 color-mix(in srgb, var(--navy) 10%, transparent);max-width:78rem;margin:auto;padding:2rem 1.25rem;font-size:.8rem}footer a{margin-left:.4rem}.brand-contact{margin:.5rem 0 0}.brand-contact a{margin-left:0}header img.brand-logo{object-fit:contain;width:auto;max-width:14rem;height:2.5rem;display:block}.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);box-shadow:0 2px 12px color-mix(in srgb, var(--navy) 20%, transparent);border:0;border-radius:100rem;display:block;position:fixed}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}}.confetti{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){button,.slots.stale{transition:none}}header .brand{color:var(--sand);letter-spacing:0;text-transform:none;font:700 1.125rem Fraunces,Georgia,serif}.group-pay{max-width:44rem}.group-pay .terms{white-space:pre-line;max-height:18rem;padding-right:.5rem;font-size:.9375rem;overflow-y:auto}.turnstile{min-height:65px;margin:.75rem 0}.rsvp label{margin:.9rem 0;font-weight:700;display:block}.rsvp label.choice{margin:1.25rem 0;font-weight:400;display:flex}.rsvp-details ul{margin:0 0 1.75rem;padding-left:1.1rem}.rsvp-details li{margin-bottom:.4rem}.rsvp-details .eyebrow{margin-bottom:.25rem;font-size:1.5rem}.rsvp-tagline{color:var(--coral);margin:.35rem 0 1rem;font:700 1.125rem Fraunces,Georgia,serif}.rsvp-where{margin:0 0 1.25rem}.rsvp-countdown{text-align:center;margin-bottom:1.25rem}.rsvp-count{margin:0 0 .75rem;font-size:1.125rem;font-weight:700}.rsvp-count strong{color:var(--coral);font-variant-numeric:tabular-nums;font:700 3.5rem/1 Fraunces,Georgia,serif;display:block}.rsvp-spots{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.rsvp-spots li{background:var(--coral);border-radius:50%;width:1.1rem;height:1.1rem}.rsvp-spots li.taken{background:color-mix(in srgb, var(--navy) 15%, transparent)}.rsvp-done{outline:none}
