.booking-shell{--forest:#062f27;--forest-deep:#03251f;--cream:#fff6df;--paper:#fffaf0;--gold:#e1bd72;--red:#b82422;--ink:#153c31;--muted:#52675e;background:radial-gradient(ellipse at 10% 10%,#25664a55,transparent 50%),var(--forest-deep);min-height:100svh;color:var(--ink);padding-bottom:1px;font:16px/1.55 Arial,sans-serif}.booking-shell *{box-sizing:border-box}.booking-shell button,.booking-shell input,.booking-shell select{font:inherit}.booking-shell a{color:inherit;text-underline-offset:3px}:is(.booking-shell a:focus-visible,.booking-shell button:focus-visible,.booking-shell input:focus-visible,.booking-shell select:focus-visible){outline-offset:4px;outline:3px solid #dc901e}.booking-shell button{cursor:pointer}.booking-shell button:disabled{opacity:.52;cursor:not-allowed}.booking-shell h1,.booking-shell h2,.booking-shell p{margin-top:0}.booking-shell h2{letter-spacing:-.02em;margin-bottom:16px;font:700 clamp(1.65rem,3vw,2.2rem)/1.15 Georgia,serif}.booking-shell h2:focus{outline:none}.booking-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.booking-skip{z-index:100;background:var(--cream);border-radius:8px;padding:12px 22px;position:fixed;top:-90px;left:18px}.booking-skip:focus{top:18px}.booking-preview{color:#3f331c;background:#f5dca3;border-bottom:1px solid #d5b668;justify-content:space-between;align-items:center;gap:18px;padding:14px max(24px,50vw - 585px);display:flex}.booking-preview strong{letter-spacing:.1em;margin-bottom:3px;font-size:.7rem;display:block}.booking-preview span{max-width:700px;font-size:.8rem;display:block}.booking-preview select{background:#fff9ec;border:1px solid #826b3c;border-radius:7px;max-width:100%;min-height:44px;padding:8px 10px;font-size:.85rem}.booking-topbar{color:#ffefd0;justify-content:space-between;align-items:center;gap:22px;max-width:1170px;min-height:97px;margin:auto;padding:12px 24px;font-size:.83rem;display:flex}.booking-brand img{object-fit:contain;width:118px;height:68px;display:block}.booking-topbar>a:last-child{padding:10px 0;text-decoration:none}.booking-topbar>a:last-child span{color:var(--gold);margin-left:8px}.booking-hero{max-width:1122px;color:var(--cream);background:#0c3e30;border:1px solid #dbc28240;border-radius:24px;grid-template-columns:1fr 1fr;margin:0 auto 24px;display:grid;overflow:hidden;box-shadow:0 14px 40px #00170f40}.booking-hero-copy{z-index:1;padding:35px 38px 30px;position:relative}.booking-eyebrow{color:#8c4b25;letter-spacing:.13em;margin-bottom:11px;font-size:.68rem;font-weight:700;display:block}.booking-hero .booking-eyebrow{color:#ebca80}.booking-hero h1{letter-spacing:-.04em;margin:0 0 19px;font:700 clamp(2.2rem,4vw,3.4rem)/1.03 Georgia,serif}.booking-host{margin-bottom:0;font-size:.95rem}.booking-city{opacity:.78;margin-bottom:20px;font-size:.77rem}.booking-date{color:#eadbb6;gap:3px;font-size:.8rem;display:grid}.booking-date span:first-child{color:#fff0cf;font-weight:700}.booking-hero-photo{background:linear-gradient(90deg,#0c3e30 0%,#0c3e3000 24%),linear-gradient(#0000 30%,#0b2f2099),url(/assets/hero-family-concept.png) 50% 48%/cover;min-height:300px;position:relative}.booking-hero-photo>span{color:#fff2cf;text-shadow:0 2px 14px #00180d;font:italic 1.25rem Georgia,serif;position:absolute;bottom:25px;right:28px}.booking-layout{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);align-items:start;gap:24px;max-width:1170px;margin:auto;padding:0 24px;display:grid}.booking-journey{min-width:0}.booking-steps{color:#9bb3a7;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.booking-steps li{border-bottom:2px solid #7a9b8847;align-items:center;gap:7px;padding:7px 0 10px;display:flex}.booking-steps li>span{border:1px solid #809f8f85;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:.7rem;display:grid}.booking-steps b{font-size:.7rem;font-weight:400;line-height:1.25}.booking-steps .is-current{color:#fff1cd;border-bottom-color:var(--gold)}.booking-steps .is-current>span{background:var(--gold);border-color:var(--gold);color:#17382b;font-weight:700}.booking-steps .is-complete{color:#bad6b9}.booking-card{background:var(--paper);border-radius:20px;min-width:0;padding:31px 30px 29px;box-shadow:0 12px 45px #00180f2b}.booking-muted{color:var(--muted);font-size:.9rem}.booking-fieldset{border:0;margin:24px 0;padding:0}.booking-fieldset legend{margin-bottom:8px;padding:0;font-size:1.05rem;font-weight:700}.booking-quantity{border-top:1px solid #cbbd9f80;grid-template-columns:minmax(0,1fr) auto 58px;align-items:center;gap:17px;padding:18px 0;display:grid}.booking-quantity:last-child{border-bottom:1px solid #cbbd9f80}.booking-quantity label strong{font-size:.95rem;display:block}.booking-quantity label span{color:var(--muted);margin-top:3px;font-size:.73rem;line-height:1.5;display:block}.booking-unit-price{text-align:right;white-space:nowrap;font-size:1.15rem;font-weight:700}.booking-unit-price small{color:var(--muted);font-size:.64rem;font-weight:400;display:block}.booking-quantity input{text-align:center;width:58px;height:48px;color:var(--ink);background:#fff;border:1px solid #a6b5a6;border-radius:9px;padding:6px}.booking-fine{color:var(--muted);margin:12px 0;font-size:.73rem;line-height:1.55}.booking-time-grid{grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0;display:grid}.booking-time{cursor:pointer;text-align:center;background:#fffdf7;border:1px solid #b8c4b4;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:48px;padding:11px 8px;font-size:.84rem;display:flex;position:relative}.booking-time input{accent-color:#0a563a;flex-shrink:0;width:14px;height:14px;margin:0}.booking-time.is-selected{background:#e7eddf;border:2px solid #1f684d;padding:10px 7px;font-weight:700}.booking-time.is-unavailable{opacity:.55;cursor:not-allowed;flex-wrap:wrap}.booking-time small{font-size:.65rem}.booking-note{background:#edf0e2;border:1px solid #d5ddc8;border-radius:12px;margin:24px 0;padding:18px 20px;font-size:.86rem}.booking-note strong{margin-bottom:4px;font-size:.9rem;display:block}.booking-note p{margin:0}.booking-note a{overflow-wrap:anywhere;margin-top:8px;display:inline-block}.booking-primary,.booking-secondary{text-align:center;border-radius:100px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:12px 21px;font-size:.87rem;font-weight:700;line-height:1.35;display:inline-flex;text-decoration:none!important}.booking-shell .booking-primary{background:var(--red);border:1px solid var(--red);color:#fff8e6;box-shadow:0 3px #701a1620}.booking-primary:not(:disabled):hover{background:#a51c1a}.booking-shell .booking-secondary{color:var(--ink);background:0 0;border:1px solid #8b9c8d}.booking-buttons{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.booking-buttons>.booking-primary{margin-left:auto}.booking-contact-fields{gap:20px;margin:26px 0;display:grid}.booking-contact-fields label{margin-bottom:6px;font-size:.85rem;font-weight:700;display:block}.booking-contact-fields input{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #a5b5a7;border-radius:9px;padding:12px 14px;font-size:1rem}.booking-contact-fields input[readonly]{color:#43584a;background:#f0f0e6}.booking-contact-fields input[aria-invalid=true]{border-color:#a92b25}.booking-checkbox{align-items:flex-start;gap:11px;margin:23px 0;font-size:.82rem;line-height:1.55;display:flex}.booking-checkbox input{accent-color:#195b42;flex-shrink:0;width:19px;height:19px;margin:3px 0 0}.booking-preview-note{color:#655021;background:#fff2cf;border:1px dashed #b69344;border-radius:8px;padding:12px 14px;font-size:.77rem;line-height:1.5}.booking-error{color:#9e2420;margin:8px 0;font-size:.82rem}.booking-error-box{background:#fbe7df;border-left:3px solid #a22924;border-radius:0 8px 8px 0;margin-top:24px;padding:12px 16px}.booking-details{margin:24px 0}.booking-details>div{border-bottom:1px solid #cbbd9f70;grid-template-columns:105px minmax(0,1fr);gap:16px;padding:12px 0;font-size:.88rem;display:grid}.booking-details dt{color:var(--muted)}.booking-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.booking-payment-total{border-block:1px solid #cbbd9f80;justify-content:space-between;align-items:center;gap:14px;margin:25px 0;padding:22px 0;display:flex}.booking-payment-total span{font-size:.88rem}.booking-payment-total strong{font:700 2rem Georgia,serif}.booking-text-button{color:#215940;background:0 0;border:0;padding:12px 0;font-size:.84rem;text-decoration:underline;display:block}.booking-status-icon,.booking-confirmed-icon{color:#1b6948;background:#e6efdd;border:1px solid #9bb9a0;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:22px;font:700 1.5rem Georgia,serif;display:grid}.booking-status-icon{color:#856027;background:#f5e7c5;border-color:#d6b878;font-style:italic}.booking-reference{overflow-wrap:anywhere;font-size:.8rem}.booking-email-status{border-top:1px solid #cbbd9f80;margin:20px 0;padding-top:20px;font-size:.84rem}.booking-email-status strong{margin-bottom:6px;display:block}.booking-summary{color:#f6ecd1;background:#0c3b2d;border:1px solid #8c9c6170;border-radius:20px;min-width:0;margin-top:62px;padding:28px 28px 22px;position:sticky;top:22px;box-shadow:0 15px 40px #00180d26}.booking-summary .booking-eyebrow{color:#dfc27e;font-size:.63rem}.booking-summary h2{margin-bottom:14px;font-size:1.7rem}.booking-summary-heading p{color:#c5d0b7;font-size:.8rem;line-height:1.6}.booking-summary-meta,.booking-summary-breakdown{margin:20px 0;font-size:.8rem}.booking-summary-meta>div,.booking-summary-breakdown>div{justify-content:space-between;gap:16px;padding:5px 0;display:flex}.booking-summary-meta dt,.booking-summary-breakdown dt{color:#bfceb8}.booking-summary-meta dd,.booking-summary-breakdown dd{text-align:right;white-space:nowrap;margin:0}.booking-summary-lines{border-top:1px solid #f5dc8833;border-bottom:1px solid #f5dc8833;padding:12px 0}.booking-summary-lines>div{justify-content:space-between;gap:12px;padding:7px 0;font-size:.84rem;display:flex}.booking-summary-lines small{color:#b8c8af;margin-top:2px;font-size:.68rem;display:block}.booking-summary-lines b{font-weight:400}.booking-summary-total{border-top:1px solid #f5dc8833;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:20px;display:flex}.booking-summary-total span{font-weight:700}.booking-summary-total strong{color:#ffe5a2;font:700 2rem Georgia,serif}.booking-summary .booking-fine{color:#c1ceb5;font-size:.69rem}.booking-summary-empty{text-align:center;color:#becdb3;border-block:1px solid #f5dc8833;padding:22px 12px;font-size:.82rem}.booking-summary-empty span{color:#dfc27e;margin-bottom:8px;font-size:1.4rem;display:block}.booking-summary-empty p{margin:0}.booking-summary-backup{background:#001c1826;border-radius:10px;margin:22px 0 15px;padding:15px 16px;font-size:.74rem}.booking-summary-backup strong{color:#e9d29a;font-size:.76rem}.booking-summary-backup p{color:#c2ceb5;margin:6px 0 0}.booking-summary-map{font-size:.78rem}.booking-footer{text-align:center;color:#c1d1b7;max-width:1122px;margin:32px auto;padding:0 24px;font-size:.74rem;line-height:1.7}.booking-footer p{margin:4px 0}.booking-footer>p:first-child{color:#ead5a4;margin-bottom:8px;font-family:Georgia,serif;font-size:.95rem}.booking-footer a{overflow-wrap:anywhere}.booking-footer>a{margin-top:8px;display:inline-block}@media (min-width:1400px){.booking-hero-copy{padding-left:43px}.booking-hero-photo{min-height:330px}}@media (max-width:850px){.booking-layout{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr);gap:16px}.booking-card{padding:26px 23px}.booking-summary{padding:25px 21px}.booking-quantity{gap:11px}.booking-hero{margin-inline:24px}.booking-hero-copy{padding:30px}.booking-steps b{font-size:.64rem}.booking-steps li{gap:5px}.booking-buttons{align-items:stretch}.booking-buttons>button{flex:1}.booking-buttons>.booking-primary{margin-left:0}.booking-preview{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width:700px){.booking-topbar{min-height:84px;padding-inline:19px}.booking-brand img{width:100px;height:58px}.booking-hero{border-radius:19px;grid-template-columns:1fr;min-height:310px;margin:0 16px 23px;position:relative}.booking-hero-copy{background:linear-gradient(90deg,#073b2de8 5%,#073b2da8 65%,#073b2d10);padding:30px 26px 27px}.booking-hero h1{font-size:2.55rem}.booking-hero-photo{background-position:50% 44%;min-height:0;position:absolute;inset:0}.booking-hero-photo>span{display:none}.booking-hero-copy{grid-area:1/1}.booking-layout{flex-direction:column;gap:20px;padding:0 16px;display:flex}.booking-journey{width:100%}.booking-card{padding:27px 24px}.booking-summary{width:100%;margin-top:0;padding:25px;position:static}.booking-summary h2 br{display:none}.booking-summary-meta{margin-block:15px}.booking-steps{gap:9px}.booking-steps b{font-size:.68rem}.booking-steps li{gap:6px}.booking-summary-empty{padding-block:16px}.booking-summary-heading h2{font-size:1.7rem}.booking-preview{padding:12px 20px}.booking-preview strong{font-size:.64rem}.booking-preview span{font-size:.73rem}.booking-footer{margin-block:26px}.booking-buttons .booking-primary{flex-basis:100%}.booking-buttons .booking-secondary{flex-basis:100%;order:2}.booking-card>.booking-primary,form>.booking-primary{width:100%}}@media (max-width:390px){.booking-card{padding:24px 18px}.booking-quantity{grid-template-columns:minmax(0,1fr) auto 49px;gap:8px}.booking-quantity input{width:49px}.booking-quantity label span{font-size:.68rem}.booking-unit-price{font-size:1.05rem}.booking-time-grid{grid-template-columns:repeat(2,1fr)}.booking-steps b{font-size:.6rem}.booking-steps li>span{width:22px;height:22px;font-size:.62rem}.booking-steps{gap:5px}.booking-details>div{grid-template-columns:80px minmax(0,1fr);gap:11px}.booking-hero h1{font-size:2.3rem}}.booking-preview-controls{flex-wrap:wrap;align-items:end;gap:10px 14px;width:100%;display:flex}.booking-preview-controls label{gap:5px;font-size:.72rem;display:grid}.booking-preview-controls select,.booking-preview-controls button{font:inherit;color:#073b2d;background:#fff8e9;border:1px solid #b5a47d;border-radius:7px;max-width:100%;padding:8px 10px}.booking-preview-controls a{padding-block:9px;font-size:.75rem}.booking-preview-controls button{cursor:pointer}:is(.booking-preview-controls select:focus-visible,.booking-preview-controls button:focus-visible){outline-offset:2px;outline:3px solid #1a8267}@media (max-width:480px){.booking-preview-controls label,.booking-preview-controls select{width:100%}}@media (prefers-reduced-motion:reduce){.booking-shell *{scroll-behavior:auto!important}}.booking-sandbox-banner{background:#f9dfa0;border-bottom:3px solid #a73c23}.booking-sandbox-banner span b{overflow-wrap:anywhere}.booking-after-confirmation{border-top:1px solid #cbbd9f80;margin-top:28px;padding-top:24px}.booking-after-confirmation h2{font-size:1.45rem}.booking-after-confirmation button{margin:6px 8px 6px 0}.booking-method{cursor:pointer;background:#fffdf7;border:1px solid #b8c4b4;border-radius:12px;align-items:center;gap:13px;margin:10px 0;padding:16px;display:flex}.booking-method.is-selected{background:#e7eddf;border:2px solid #1f684d;padding:15px}.booking-method input{accent-color:#195b42;flex-shrink:0;width:19px;height:19px}.booking-method strong,.booking-method small{display:block}.booking-method small{color:var(--muted);margin-top:3px;font-size:.78rem}.booking-card-fields{grid-template-columns:1fr 1fr;gap:15px;margin:22px 0;display:grid}.booking-card-field:first-child,.booking-card-field:last-child{grid-column:1/-1}.booking-card-field>span,.booking-card-postal{font-size:.83rem;font-weight:700;display:block}.booking-card-field-mount{background:#fff;border:1px solid #a5b5a7;border-radius:9px;min-height:51px;margin-top:6px;overflow:hidden}.booking-card-postal input{width:100%;max-width:230px;min-height:48px;color:var(--ink);background:#fff;border:1px solid #a5b5a7;border-radius:9px;margin-top:6px;padding:12px 14px;display:block}.booking-guest-card{min-width:230px;display:block}.booking-card-payment .booking-buttons{align-items:stretch}.booking-card-payment .booking-buttons>.booking-primary{margin-left:0}@media (max-width:390px){.booking-card-fields{grid-template-columns:1fr}.booking-card-field{grid-column:1/-1}.booking-guest-card{width:100%;min-width:0}}.booking-decline-alert{color:#77251f;background:#fff0ed;border:2px solid #a52b25;border-radius:12px;margin-bottom:20px;padding:20px}.booking-decline-alert p:last-child{margin-bottom:0}
