.group-booking{--booking-ink:var(--grace-text);--booking-muted:var(--grace-muted);--booking-accent:var(--grace-green);--booking-line:var(--grace-line);background:var(--grace-bg);color:var(--booking-ink);min-height:80vh}.booking-header{border-bottom:1px solid var(--grace-line);justify-content:space-between;align-items:center;max-width:1216px;margin:auto;padding:24px 36px;font-size:14px;display:flex}.booking-wordmark{letter-spacing:.08em;align-items:baseline;gap:12px;font:400 27px/1.2 Georgia,serif;display:flex}.booking-wordmark span{font:500 10px/1.4 var(--sans);letter-spacing:.22em}.booking-header>a:last-child{color:var(--grace-muted);padding:8px 0}.booking-shell{max-width:1216px;margin:auto;padding:22px 36px 54px}.booking-preview{border:1px solid var(--grace-line);background:var(--grace-bg);color:var(--grace-muted);border-radius:7px;flex-wrap:wrap;align-items:center;gap:9px 18px;margin-bottom:28px;padding:12px 18px;font-size:14px;display:flex}.booking-preview span{font:600 11px/1.5 var(--sans);letter-spacing:.13em}.booking-steps{max-width:490px;color:var(--grace-muted);justify-content:center;align-items:center;gap:20px;margin:20px auto 34px;font-size:14px;display:flex}.booking-steps span{white-space:nowrap;align-items:center;gap:9px;display:flex}.booking-steps b{font:500 11px/1 var(--sans);border:1px solid var(--grace-line);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.booking-steps [aria-current]{color:var(--grace-text);font-weight:600}.booking-steps [aria-current] b{background:var(--grace-celadon);border-color:var(--grace-line);color:var(--grace-text)}.booking-steps i{background:var(--grace-surface);width:38px;height:1px}.booking-intro{text-align:center;margin:0 auto 36px}.booking-kicker{font:600 11px/1.6 var(--sans);letter-spacing:.19em;color:var(--grace-muted);margin:0 0 12px}.booking-intro h1{font:400 clamp(27px,3vw,40px)/1.55 var(--serif);letter-spacing:-.055em;word-break:keep-all;color:var(--grace-text);margin:0 0 13px}.booking-intro>p:not(.booking-kicker){color:var(--grace-muted);margin:0 auto 21px;font-size:16px;line-height:1.8}.booking-mobile-break{display:none}.booking-facts{color:var(--grace-muted);flex-wrap:wrap;justify-content:center;gap:10px 0;font-size:13px;display:flex}.booking-facts span{border-right:1px solid var(--grace-line);padding:0 18px}.booking-facts span:last-child{border-right:0}.participation-options{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-width:0;margin:0;padding:0;display:grid}.participation-card{border:1px solid var(--grace-line);background:var(--grace-bg);cursor:pointer;min-width:0;color:var(--grace-text);border-radius:14px;flex-direction:column;padding:28px 26px 20px;transition:border-color .18s,box-shadow .18s,background .18s;display:flex;position:relative}.participation-card:hover{border-color:var(--grace-line);box-shadow:0 5px 20px rgb(var(--grace-text-rgb) / .031)}.participation-card.is-selected{background:var(--grace-bg);border-color:var(--grace-line);box-shadow:0 0 0 1px var(--grace-text),0 8px 24px rgb(var(--grace-text-rgb) / .039)}.participation-card input{opacity:0;width:1px;height:1px;position:absolute}.participation-card:has(input:focus-visible){outline:3px solid var(--grace-green);outline-offset:5px}.participation-card.is-unavailable{opacity:.6;cursor:default}.participation-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;display:flex}.participation-overline{font:600 10px/1.6 var(--sans);letter-spacing:.16em;color:var(--grace-muted)}.participation-mark{border:1px solid var(--grace-line);border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;display:grid}.is-selected .participation-mark{color:var(--grace-text);background:var(--grace-celadon);border-color:var(--grace-line)}.participation-title{font:500 26px/1.5 var(--serif);letter-spacing:-.04em}.participation-intro{color:var(--grace-muted);word-break:keep-all;min-height:49px;margin:10px 0 17px;font-size:14px;line-height:1.75}.participation-price{letter-spacing:-.055em;color:var(--grace-text);white-space:nowrap;font:400 clamp(28px,2.8vw,36px)/1.35 DM Sans,sans-serif}.participation-currency{vertical-align:4px;letter-spacing:0;margin-right:6px;font-size:19px}.participation-term{color:var(--grace-muted);margin:7px 0 0;font-size:12px}.participation-divider{background:var(--grace-surface);height:1px;margin:24px 0 21px}.participation-benefit{word-break:keep-all;align-items:flex-start;gap:9px;margin:0 0 12px;font-size:14px;line-height:1.7;display:flex}.participation-benefit svg{color:var(--grace-muted);flex-shrink:0;margin-top:3px}.participation-benefit.is-muted{color:var(--grace-muted)}.participation-selection{text-align:center;border-top:1px solid var(--grace-line);color:var(--grace-muted);margin-top:auto;padding:13px 4px 0;font-size:13px;display:block}.is-selected .participation-selection{color:var(--grace-text);font-weight:600}.booking-selection{background:var(--grace-bg);border:1px solid var(--grace-line);border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:24px 28px;display:flex}.booking-selection .booking-kicker{margin:0 0 4px;font-size:10px;display:block}.booking-selection p{align-items:baseline;gap:23px;margin:0 0 3px;font-size:18px;display:flex}.booking-selection strong{letter-spacing:-.025em;font:500 21px/1.5 DM Sans,sans-serif}.booking-selection small{color:var(--grace-muted);font-size:12px}.booking-primary{border:1px solid var(--grace-line);background:var(--grace-green);min-width:250px;min-height:53px;font:500 15px/1.5 var(--sans);cursor:pointer;border-color:var(--grace-green);border-radius:7px;justify-content:center;align-items:center;padding:15px 30px;text-decoration:none;transition:background .18s;display:flex;color:var(--grace-white)!important}.booking-primary:hover{background:var(--grace-green-hover);color:var(--grace-white);border-color:var(--grace-green)}.booking-primary:focus-visible{outline:3px solid var(--grace-green);outline-offset:4px}.booking-primary:disabled{opacity:.5;cursor:default}.booking-next{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:30px 5px 25px;display:grid}.booking-next p{color:var(--grace-muted);word-break:keep-all;align-items:flex-start;gap:12px;margin:0;font-size:13px;line-height:1.8;display:flex}.booking-next svg{color:var(--grace-muted);flex-shrink:0;margin-top:4px}.booking-next strong{color:var(--grace-muted);margin-bottom:5px;font-size:14px;font-weight:500;display:block}.booking-bottom{border-top:1px solid var(--grace-line);color:var(--grace-muted);flex-wrap:wrap;justify-content:space-between;gap:15px;padding-top:23px;font-size:13px;display:flex}.booking-bottom a{text-underline-offset:4px;text-decoration:underline}.booking-bottom span a{margin-left:9px}.booking-waitlist{border:1px solid var(--grace-line);background:var(--grace-bg);border-radius:14px;max-width:580px;margin:30px auto 45px;padding:30px}.booking-waitlist h2{font:400 22px/1.6 var(--serif);margin-bottom:25px}.booking-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.checkout{--booking-accent:var(--grace-green);color:var(--grace-text)}.checkout>h1{letter-spacing:-.045em;margin:13px 0 20px;font-size:clamp(29px,3.4vw,43px)}.checkout>.product-eyebrow{color:var(--grace-muted);margin:25px 0 0}.checkout .checkout-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start;gap:30px;margin-top:28px}.checkout .checkout-summary{border:1px solid var(--grace-line);background:var(--grace-bg);box-shadow:0 8px 26px rgb(var(--grace-text-rgb) / .02);border-radius:14px;padding:32px;position:sticky;top:24px}.checkout .checkout-summary>p:first-child{letter-spacing:.08em;color:var(--grace-muted);font-size:12px}.checkout .checkout-summary h2{letter-spacing:-.035em;color:var(--grace-text);font-size:28px;line-height:1.6}.checkout .checkout-summary dl{border-top:1px solid var(--grace-line);grid-template-columns:1fr 1.3fr;gap:17px 20px;padding-top:21px;font-size:14px}.checkout .checkout-summary dt{color:var(--grace-muted)}.checkout .checkout-summary dd{color:var(--grace-text);text-align:right;word-break:keep-all}.checkout .checkout-summary .checkout-total{letter-spacing:-.035em;font-family:DM Sans,sans-serif;font-size:26px}.checkout .checkout-summary>p{color:var(--grace-muted);font-size:14px;line-height:1.9}.checkout .checkout-summary>a{text-underline-offset:4px;font-size:14px;text-decoration:underline}.checkout .checkout-form{border:1px solid var(--grace-line);background:var(--grace-bg);border-radius:14px;gap:18px;min-width:0;padding:31px}.checkout .checkout-form h2{color:var(--grace-text);margin:0 0 4px;font-size:24px}.checkout .checkout-form label{color:var(--grace-muted);font-size:14px}.checkout .checkout-form :is(input:not([type=radio]):not([type=checkbox]),textarea){border:1px solid var(--grace-line);background:var(--grace-bg);min-height:48px;color:var(--grace-text);border-radius:6px;padding:12px 14px;font-size:16px}.checkout .checkout-form input:read-only{background:var(--grace-bg);color:var(--grace-muted)}.checkout .checkout-form input:focus-visible{outline:2px solid var(--grace-green);outline-offset:2px}.checkout .checkout-form .commerce-muted{color:var(--grace-muted);margin:-10px 0 0;font-size:12px;line-height:1.7}.checkout .checkout-form fieldset{border:0;border-top:1px solid var(--grace-line);min-width:0;margin:12px 0 0;padding:25px 0 0}.checkout .checkout-form legend{font:500 24px/1.6 var(--serif);letter-spacing:-.035em;color:var(--grace-text);padding:0 0 12px}.checkout .checkout-option{border:1px solid var(--grace-line);background:var(--grace-bg);border-radius:8px;margin:0 0 10px;padding:17px 15px;line-height:1.6}.checkout .checkout-option:has(input:checked){background:var(--grace-bg);border-color:var(--grace-line)}.checkout .checkout-option:has(input:disabled){opacity:.5}.checkout .checkout-form fieldset>p{color:var(--grace-muted);margin:16px 0 0;font-size:13px;line-height:1.9}.checkout .checkout-conditions{border-color:var(--grace-line);margin-top:8px;padding-top:24px}.checkout .checkout-conditions h2{margin-bottom:18px;font-size:20px}.checkout .checkout-conditions p{color:var(--grace-muted);font-size:13px;line-height:1.9}.checkout .checkout-check{margin:8px 0;padding-top:12px;line-height:1.8}.checkout .checkout-form input:is([type=checkbox],[type=radio]){accent-color:var(--grace-green)}.checkout .checkout-form .product-button{width:100%;color:var(--grace-white);border-color:var(--grace-green);justify-content:center;min-height:55px;background:var(--grace-green)!important;border-radius:7px!important;font-size:16px!important;font-weight:500!important}.checkout .checkout-form .product-button:hover{color:var(--grace-white);border-color:var(--grace-green);background:var(--grace-green-hover)!important}.checkout>.commerce-notice{background:var(--grace-bg);border-color:var(--grace-line);color:var(--grace-muted);border-radius:8px;padding:13px 18px;font-size:13px;line-height:1.8}@media (max-width:980px){.booking-shell,.booking-header{padding-inline:24px}.participation-card{padding:23px 20px 19px}.participation-title{font-size:23px}.participation-intro{min-height:72px}.participation-benefit{font-size:13px}.booking-next{gap:20px}.checkout .checkout-grid{gap:22px}.checkout .checkout-summary,.checkout .checkout-form{padding:24px}}@media (max-width:740px){.booking-header{padding:19px 20px}.booking-wordmark{gap:9px;font-size:23px}.booking-wordmark span{font-size:9px}.booking-shell{padding:18px 20px 35px}.booking-preview{margin-bottom:22px;padding:11px 13px;font-size:12px}.booking-steps{gap:11px;margin:12px auto 29px;font-size:12px}.booking-steps span{gap:6px}.booking-steps i{width:18px}.booking-steps b{width:22px;height:22px;font-size:10px}.booking-intro{margin-bottom:27px}.booking-intro h1{font-size:30px;line-height:1.5}.booking-mobile-break{display:block}.booking-intro>p:not(.booking-kicker){max-width:320px;margin-bottom:18px;font-size:14px}.booking-facts{gap:8px 0;font-size:11px}.booking-facts span{padding-inline:10px}.participation-options{grid-template-columns:1fr;gap:14px}.participation-card{grid-template-columns:1fr auto;column-gap:12px;padding:21px 20px 17px;display:grid}.participation-top{grid-column:1/-1;margin-bottom:6px}.participation-title{grid-column:1;font-size:24px}.participation-price{grid-area:2/2;align-self:center;font-size:29px}.participation-currency{vertical-align:2px;margin-right:3px;font-size:16px}.participation-intro{grid-column:1/-1;min-height:0;margin:8px 0;font-size:13px}.participation-term{grid-column:1/-1;margin:0;font-size:11px}.participation-divider{grid-column:1/-1;margin:17px 0}.participation-benefit{grid-column:1/-1;margin-bottom:9px;font-size:13px}.participation-selection{grid-column:1/-1;margin-top:7px;padding-top:12px}.booking-selection{margin-top:19px;padding:20px;display:block}.booking-selection p{justify-content:space-between;gap:10px;font-size:17px}.booking-selection strong{font-size:21px}.booking-primary{width:100%;min-width:0;min-height:53px;margin-top:18px}.booking-next{grid-template-columns:1fr;gap:19px;padding:27px 2px}.booking-next p{font-size:13px}.booking-bottom{font-size:12px}.booking-waitlist{padding:23px}.booking-waitlist h2{font-size:19px}.checkout .checkout-grid{grid-template-columns:1fr;gap:22px;margin-top:23px}.checkout .checkout-summary{padding:24px;position:static}.checkout .checkout-summary h2{font-size:25px}.checkout .checkout-summary dl{margin:20px 0 0;padding-top:20px}.checkout .checkout-form{padding:23px 19px}.checkout>h1{font-size:33px}.checkout .checkout-summary>p{font-size:13px}}@media (prefers-reduced-motion:reduce){.participation-card,.booking-primary{transition:none}}.participation-overline,.booking-kicker,.booking-wordmark span,.booking-preview span,.booking-selection .booking-kicker{font-size:12px}.participation-benefit,.participation-intro,.booking-next p,.booking-next strong,.booking-bottom,.booking-steps,.booking-facts,.participation-selection,.checkout .checkout-conditions p,.checkout .checkout-form fieldset>p,.checkout>.commerce-notice{font-size:14px}@media (max-width:740px){.booking-intro>p:not(.booking-kicker){font-size:16px}.participation-card{grid-template-columns:minmax(0,1fr) auto}.participation-title{overflow-wrap:anywhere}.booking-wordmark span{font-size:10px}.booking-facts,.booking-steps{font-size:12px}.booking-next p,.participation-benefit,.participation-intro,.booking-bottom{font-size:14px}}@media (max-width:380px){.participation-card{grid-template-columns:1fr}.participation-title{grid-column:1}.participation-price{grid-area:4/1;margin-top:10px}.participation-term{grid-row:5}.booking-steps{gap:8px}.booking-steps i{width:10px}.booking-selection p{flex-direction:column;align-items:start;gap:3px}.booking-wordmark{gap:7px}.booking-wordmark span{font-size:9px}.checkout .checkout-summary dl{grid-template-columns:1fr;gap:7px}.checkout .checkout-summary dd{text-align:left;margin-bottom:10px}}.checkout .booking-checkout-steps{justify-content:flex-start;gap:25px;max-width:none;margin:29px 0 30px}.booking-checkout-steps>span+span:before{content:"";background:var(--grace-surface);width:30px;height:1px;margin-right:15px}@media (max-width:740px){.checkout .booking-checkout-steps{gap:10px;margin:24px 0}.booking-checkout-steps>span+span:before{width:12px;margin-right:4px}.checkout .booking-checkout-steps span{gap:5px}}
