@font-face{font-family:logoFont;src:url(../media/Lobster_Regular-s.p.44yr_et5dyn_6.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:logoFont Fallback;src:local(Arial);ascent-override:113.63%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:88.0%}.logofont_5c26a397-module__u0Cpwa__className{font-family:logoFont,logoFont Fallback;font-weight:400}.logofont_5c26a397-module__u0Cpwa__variable{--font-logo:"logoFont", "logoFont Fallback"}
:root{--ink:#17221b;--muted:#657067;--paper:#f4f0e7;--card:#fffdf8;--accent:#d45b2c;--line:#17221b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}main{min-height:100vh;padding:0 clamp(1.25rem,5vw,5rem)}nav,footer{border-bottom:1px solid var(--line);min-height:5rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.site-nav-links{align-items:center;gap:1.25rem;display:flex}.site-nav-links a,.site-nav-links button{color:var(--muted);font:inherit;letter-spacing:inherit;text-transform:inherit}.site-nav-links a:hover,.site-nav-links button:hover{color:var(--ink)}.site-nav-links button{cursor:pointer;background:0 0;border:0;padding:0}.site-logo{width:clamp(11.5rem,17vw,13.25rem);color:var(--ink);text-transform:none;transition:color .16s,opacity .16s;display:block}.site-logo:hover{color:var(--accent)}.site-logo svg{width:100%;height:auto;display:block;overflow:visible}.site-logo text{fill:currentColor;stroke:currentColor;stroke-width:.85px;paint-order:stroke fill;font-family:var(--font-logo), "Lobster", "Cooper Black", cursive;font-size:50px}.hero{max-width:64rem;padding:clamp(5rem,12vw,10rem) 0 clamp(5rem,10vw,8rem)}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:700}h1{letter-spacing:-.06em;max-width:11ch;margin:1.25rem 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.6rem,9vw,8rem);font-weight:500;line-height:.9}.intro{max-width:42rem;color:var(--muted);font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.6}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}.actions a{border:1px solid var(--ink);padding:1rem 1.35rem;font-weight:700}.primary{background:var(--ink);color:var(--card)}.actions a:hover{transform:translateY(-2px)}.events-section{border-top:1px solid var(--line);padding:clamp(4rem,8vw,7rem) 0}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.section-heading h2{letter-spacing:-.045em;max-width:14ch;margin:.5rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1}.section-heading>p{color:var(--muted)}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.event-card{background:var(--card);border:1px solid var(--line);overflow:hidden}.event-image{aspect-ratio:4/3;background:#d8d0c0;display:block;position:relative;overflow:hidden}.event-image img,.event-detail-header>img{object-fit:cover;transition:transform .4s}.event-card:hover .event-image img{transform:scale(1.025)}.event-image-placeholder{background:linear-gradient(135deg,#d6c7ac,#9bad93);width:100%;height:100%;display:block}.event-card-copy{padding:1.5rem}.event-meta{letter-spacing:.06em;text-transform:uppercase;min-height:2.2em;margin:0;font-size:.72rem;font-weight:700;color:var(--accent)!important;line-height:1.4!important}.event-card h3{min-height:2.2em;margin:1rem 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500;line-height:1.1}.event-card-copy>p{color:var(--muted);line-height:1.55}.event-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;font-size:.85rem;display:flex}.event-card-footer a{font-weight:700}.empty-state{border:1px dashed var(--line);text-align:center;padding:4rem}.empty-state p{margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:2rem}.empty-state span{color:var(--muted)}.event-detail{padding:clamp(2rem,5vw,4rem) 0 6rem}.event-detail-top{grid-template-columns:minmax(0,1fr) minmax(18rem,23rem);align-items:start;gap:clamp(1.25rem,3vw,3rem);display:grid}.event-detail-content{min-width:0}.event-detail-header{isolation:isolate;background:var(--card);align-items:end;min-height:clamp(34rem,72vh,50rem);padding:clamp(2rem,6vw,5rem);display:flex;position:relative;overflow:hidden}.event-detail-header.has-image{color:#fff;background:#111a14}.event-detail-header.has-image:after{z-index:-1;content:"";background:linear-gradient(90deg,#0a110ce0 0%,#0a110c9e 52%,#0a110cbf 100%);position:absolute;inset:0}.event-detail-header>img{z-index:-2}.event-detail-header.has-image .intro{color:#ffffffc7}.event-detail-heading{z-index:1;position:relative}.event-detail-header h1{max-width:12ch;font-size:clamp(3.5rem,8vw,7rem)}.booking-panel{background:var(--card);border:1px solid var(--line);padding:1.5rem}.booking-panel>div{justify-content:space-between;gap:1rem;display:flex}.booking-panel span,.booking-panel small{color:var(--muted)}.booking-panel button{background:var(--ink);color:#fff;cursor:not-allowed;opacity:.8;border:0;width:100%;margin:1.5rem 0 .75rem;padding:1rem;font-weight:700}.booking-panel small{line-height:1.5;display:block}.booking-form-panel{align-self:start}@media (min-width:721px){.booking-form-panel.can-stick{position:sticky;top:1rem}}.booking-price-line{border-bottom:1px solid var(--line);padding-bottom:1rem}.booking-form-panel form{margin-top:1.25rem}.booking-quantity-field{margin-bottom:1.5rem}.booking-details{color:var(--ink);border-top:1px solid var(--line);margin-top:1.25rem}.booking-details>h2{margin:0;padding:1rem 0;font-size:.8rem;font-weight:800}.booking-details-content{padding-bottom:.25rem}.booking-details-content fieldset{margin-top:0}.booking-form-panel fieldset{border:0;margin:1.5rem 0 0;padding:0}.booking-form-panel legend{margin-bottom:.75rem;font-weight:800}.booking-form-panel label{color:var(--ink);margin-bottom:.8rem;font-size:.78rem;font-weight:700;display:block}.booking-form-panel label small{margin-left:.25rem;font-weight:400;display:inline}.booking-form-panel input,.booking-form-panel select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:0;margin-top:.35rem;padding:.65rem .7rem;font-weight:400}.booking-form-panel input:focus,.booking-form-panel select:focus{outline:2px solid var(--accent);outline-offset:1px}.booking-quantity-control{border:1px solid var(--line);background:#fff;align-items:stretch;margin-top:.35rem;display:inline-flex}.booking-form-panel .booking-quantity-control input{border:0;border-inline:1px solid var(--line);text-align:center;appearance:textfield;width:3.5rem;min-height:42px;margin:0;padding:.4rem .2rem}.booking-quantity-control input::-webkit-inner-spin-button{appearance:none;margin:0}.booking-quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.booking-form-panel .booking-quantity-control button{width:42px;min-height:42px;color:var(--ink);opacity:1;cursor:pointer;background:#fff;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.booking-form-panel .booking-quantity-control button:hover:not(:disabled){background:#eef3eb}.booking-form-panel .booking-quantity-control button:disabled{color:var(--muted);opacity:.45;cursor:not-allowed}.booking-quantity-control svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:18px;height:18px}.booking-quantity-control button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.booking-form-panel button{cursor:pointer}.booking-form-panel button:disabled{cursor:wait;opacity:.65}.booking-total{border-top:1px solid var(--line);justify-content:space-between;padding-top:1rem;display:flex}.form-error{color:#a12e3e;margin:.8rem 0 0;font-size:.8rem;line-height:1.4}.signed-in-note{color:var(--muted);background:#eef3eb;padding:.8rem;font-size:.8rem;line-height:1.5}.booking-unavailable strong{margin-top:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;display:block}.booking-unavailable p{color:var(--muted);line-height:1.5}.event-detail-body{grid-template-columns:minmax(0,1.5fr) minmax(17rem,.7fr);gap:clamp(2rem,5vw,5rem);padding-top:clamp(3rem,7vw,6rem);display:grid}.event-description{max-width:48rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.45}.event-detail dl{margin:0}.event-detail dl div{border-bottom:1px solid var(--line);padding:1.25rem 0}.event-detail dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.7rem;font-weight:700}.event-detail dd{margin:0;line-height:1.55}.booking-message,.booking-confirmation{padding:clamp(4rem,4vw,8rem) 0}.booking-message{max-width:52rem}.booking-message h1{max-width:13ch;font-size:clamp(3rem,7vw,6rem)}.booking-message .primary{margin-top:1.5rem;padding:1rem 1.25rem;display:inline-block}.booking-confirmation>header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3rem;display:grid}.booking-confirmation h1{max-width:12ch;font-size:clamp(3.5rem,7vw,6.5rem)}.booking-status{--status-color:#866019;--status-tint:#f7edda;border:1px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:1rem;min-width:12rem;max-width:24rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 16px #17221b09}.booking-status-icon{background:var(--status-tint);width:46px;height:46px;color:var(--status-color);border-radius:50%;flex:0 0 46px;padding:10px}.booking-status span,.booking-reference span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.7rem;font-weight:700;display:block}.booking-status strong{color:var(--status-color);text-transform:capitalize;font-size:.95rem;line-height:1.5;display:block}.booking-status-confirmed{--status-color:#286242;--status-tint:#e6efe7}.booking-status-expired,.booking-status-cancelled{--status-color:#62675f;--status-tint:#eeeee8}.booking-status-payment_failed{--status-color:#a13240;--status-tint:#f9e7e8}.booking-reference{border:1px dashed var(--line);background:var(--card);border-radius:10px;margin:1.25rem 0 3rem;padding:1.5rem}.booking-reference strong{letter-spacing:.04em;font-family:monospace;font-size:clamp(1.25rem,3vw,2rem)}.booking-summary-grid{grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem);display:grid}.booking-summary-grid h2{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.booking-summary-grid ol{margin:0;padding-left:1.5rem}.booking-summary-grid li{border-bottom:1px solid var(--line);padding:.7rem 0}.booking-summary-grid>dl{border:1px solid var(--line);background:var(--card);border-radius:12px;align-self:start;margin:0;padding:.5rem 1.5rem}.booking-summary-grid li::marker{color:var(--muted);font-size:.8rem}.booking-summary-grid>dl>div:last-child{border-bottom:0}.booking-summary-grid .booking-summary-total{justify-content:space-between;align-items:baseline;gap:1rem;padding:1.4rem 0;display:flex}.booking-summary-total dd{letter-spacing:-.04em;font-size:1.6rem;font-weight:700}.booking-summary-grid dd,.booking-edit-summary p{overflow-wrap:anywhere}.booking-summary-grid dl div{border-bottom:1px solid var(--line);padding:1rem 0}.booking-summary-grid dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.booking-summary-grid dd{margin:.35rem 0 0;line-height:1.5}.booking-edit-summary section+section{margin-top:2rem}.booking-edit-summary p{color:var(--muted);line-height:1.6}.booking-edit-button{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:6px;padding:.75rem 1rem;font-weight:700}.booking-edit-button:hover{border-color:var(--ink);background:#fff}.booking-confirmation button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.booking-edit-form label{margin-bottom:.8rem;font-size:.78rem;font-weight:700;display:block}.booking-edit-form input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;margin-top:.35rem;padding:.65rem .7rem;font-weight:400}.booking-edit-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.booking-edit-form label small{color:var(--muted);font-weight:400}.booking-edit-actions{gap:.75rem;margin-top:1rem;display:flex}.booking-edit-actions button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;padding:.8rem 1rem;font-weight:800}.booking-edit-actions button+button{color:var(--ink);background:0 0}.booking-edit-actions button:disabled{cursor:wait;opacity:.65}.payment-next-step{background:var(--ink);color:#fff;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:2rem;margin-top:2rem;padding:1.5rem;display:flex;box-shadow:0 6px 20px #17221b0f}.payment-next-step p{color:#ffffffb3;margin:.35rem 0 0}.payment-next-step button{background:var(--accent);color:#fff;cursor:pointer;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;padding:.9rem 1.1rem;font-weight:800}.payment-next-step button:hover:not(:disabled){background:#b84720}.payment-next-step button:disabled{cursor:wait;opacity:.65}.payment-next-step .payment-error{color:#ffb9ae;font-weight:700}.auth-shell{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.65fr);align-items:center;gap:clamp(3rem,10vw,10rem);min-height:calc(100vh - 5rem);padding:4rem 0;display:grid}.auth-copy h1{max-width:10ch;font-size:clamp(3.5rem,7vw,6.5rem)}.auth-card{border:1px solid var(--line);background:var(--card);padding:clamp(1.5rem,4vw,2.5rem)}.auth-card label{margin-bottom:1rem;font-size:.78rem;font-weight:700;display:block}.auth-card input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);font:inherit;background:#fff;margin-top:.4rem;padding:.75rem}.auth-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-card>small{color:var(--muted);line-height:1.5;display:block}.auth-card button,.account-action{background:var(--ink);color:#fff;cursor:pointer;text-align:center;border:0;width:100%;margin-top:1.25rem;padding:1rem;font-weight:800;display:inline-block}.auth-card button:disabled{cursor:wait;opacity:.65}.auth-card>p:last-child{color:var(--muted);text-align:center;margin:1.25rem 0 0;font-size:.85rem}.auth-card>p a{color:var(--accent);font-weight:700}.account-shell{padding:clamp(4rem,8vw,7rem) 0}.account-heading{justify-content:space-between;align-items:end;gap:2rem;padding-bottom:4rem;display:flex}.account-heading h1,.empty-account h1{max-width:12ch;font-size:clamp(3.5rem,7vw,6.5rem)}.account-heading>p{color:var(--muted)}.booking-history{border-top:1px solid var(--line)}.booking-history-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;padding:1.5rem 0;display:grid}.booking-history-card:hover h3{color:var(--accent)}.booking-history-card span,.booking-history-card small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.booking-history-card h3{margin:.55rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.booking-history-card p{color:var(--muted);margin:0}.booking-history-meta{justify-items:end;gap:.6rem;display:grid}.history-status{border:1px solid var(--line);padding:.35rem .5rem;color:var(--ink)!important}.history-status-confirmed{border-color:#2b8a55}.history-status-pending_payment{border-color:#d6962c}.history-status-expired,.history-status-cancelled,.history-status-payment_failed{border-color:#b13b49}.empty-account{max-width:55rem}.empty-account .account-action{width:auto}footer{border:0}@media (max-width:720px){.section-heading{flex-direction:column;align-items:flex-start}.site-nav-links{gap:.7rem;font-size:.7rem}.event-grid{grid-template-columns:1fr}.event-card h3,.event-meta{min-height:0}.event-detail-top,.event-detail-body{grid-template-columns:1fr;gap:2rem}.event-detail-header{min-height:0;padding:2rem 1.25rem}.booking-confirmation>header,.booking-summary-grid{grid-template-columns:1fr;gap:2rem}.payment-next-step{flex-direction:column;align-items:flex-start}.auth-shell{grid-template-columns:1fr;gap:2rem}.account-heading{flex-direction:column;align-items:flex-start}.booking-history-card{grid-template-columns:1fr}.booking-history-meta{justify-items:start}footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem}}:root{--calendar-border:#dce2de}.calendar-section{padding:3rem 0}.calendar-toolbar,.calendar-controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.calendar-toolbar{grid-template-columns:1fr auto 1fr;margin:2rem 0;display:grid}.calendar-view{justify-self:end}.calendar-toolbar select,.calendar-toolbar button{border:1px solid var(--calendar-border);color:#163e32;border-radius:.5rem;padding:.65rem}.calendar-controls h2{text-align:center;color:#163e32;min-width:9rem;margin:0;font-size:.85rem;font-weight:600}.calendar-scroll{overflow-x:auto}.calendar-grid{border-left:1px solid var(--calendar-border);border-top:1px solid var(--calendar-border);grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px;display:grid}.calendar-day,.calendar-weekday{border-right:1px solid var(--calendar-border);border-bottom:1px solid var(--calendar-border);padding:.6rem}.calendar-weekday{background:#edf3ef;font-weight:700}.calendar-day{min-height:125px}.calendar-empty{background:#f5f6f4}.calendar-today{color:#fff;background:#163e32;border-radius:50%;padding:.25rem .45rem}.calendar-event{color:#163e32;overflow-wrap:anywhere;background:#e3eee7;border-radius:.35rem;margin-top:.6rem;padding:.5rem;font-size:.85rem;display:block}.calendar-event small{margin-top:.3rem;display:block}.calendar-list{gap:1rem;display:grid}.calendar-list article{border:1px solid var(--calendar-border);border-radius:.7rem;padding:1.25rem}.calendar-toolbar .calendar-select{min-height:44px;font:inherit;cursor:pointer;background:#fffdf88c;border:1px dashed #17221b2e;border-radius:1rem;align-items:center;gap:.65rem;padding:.65rem .8rem;font-size:.85rem;font-weight:600;transition:background .16s,border-color .16s;display:inline-flex}.calendar-toolbar .calendar-select:hover,.calendar-toolbar .calendar-select[data-state=open]{background:var(--card);border-color:#17221b59}.calendar-select:focus-visible{outline-offset:3px;outline:2px solid #163e32}.calendar-select svg{fill:none;stroke:#163e32;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.15rem;height:1.15rem}.calendar-select-chevron{margin-left:auto;display:flex}.calendar-select-menu{z-index:50;min-width:var(--radix-select-trigger-width);max-width:calc(100vw - 24px);max-height:var(--radix-select-content-available-height);background:var(--card);color:#163e32;border:1px solid #17221b14;border-radius:1rem;overflow:hidden;box-shadow:0 12px 32px #17221b1f}.calendar-select-options{padding:.35rem}.calendar-select-option{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.7rem;justify-content:space-between;align-items:center;gap:1.5rem;min-height:44px;padding:.65rem .85rem;font-size:.85rem;display:flex}.calendar-select-option[data-state=checked]{background:#edf3ef;font-weight:700}.calendar-select-option[data-highlighted]{outline-offset:-2px;background:#e3eee7;outline:2px solid #163e32}.calendar-select-check{width:1rem;display:flex}.calendar-select-check svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.calendar-select-scroll{text-align:center;padding:.4rem}@media (prefers-reduced-motion:reduce){.calendar-toolbar .calendar-select{transition:none}}@media (forced-colors:active){.calendar-select-option[data-highlighted],.calendar-select:focus-visible{outline-color:highlight}}.calendar-controls{background:#fffdf88c;border:1px dashed #17221b2e;border-radius:1rem;gap:.25rem;padding:.2rem}.calendar-controls button{cursor:pointer;min-width:36px;min-height:36px;font:inherit;background:0 0;border:0;border-radius:.6rem;justify-content:center;align-items:center;padding:.4rem;font-size:.8rem;display:inline-flex}.calendar-controls button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.calendar-controls .calendar-today-button{background:#edf3ef;border:1px solid #17221b14;margin-left:.1rem;padding-inline:.6rem;font-weight:600}.calendar-controls button:hover{background:#edf3ef}.event-search{margin-bottom:2rem}.event-search label{margin-bottom:.65rem;font-size:.85rem;font-weight:700;display:block}.event-search>div{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.event-search input{border:1px solid var(--line);background:var(--card);min-width:180px;color:var(--ink);font:inherit;border-radius:.6rem;flex:1;padding:.9rem 1rem}.event-search button{border:1px solid var(--ink);background:var(--ink);color:#fff;font:inherit;cursor:pointer;border-radius:.6rem;padding:.9rem 1.4rem}.event-search input:focus-visible,.calendar-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.account-profile-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.profile-editor{max-width:36rem;margin:-2rem 0 3rem}.profile-editor .booking-edit-form{width:100%}.profile-edit-button{align-items:center;gap:.5rem;display:inline-flex}.profile-edit-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.profile-editor fieldset{border:0;margin:0;padding:0}@media (max-width:1000px){.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-controls{grid-area:1/1/auto/-1;justify-content:center}}@media (max-width:720px){.calendar-controls{gap:.4rem;width:100%}.calendar-controls h2{min-width:0;font-size:1.1rem}.calendar-select{max-width:100%}}
