.bookingShell{min-height:100vh;color:var(--brown);background:#f8f3eb;overflow:hidden}.bookingHeader{border-bottom:1px solid var(--line);background:#f8f3ebf5;justify-content:space-between;align-items:center;height:78px;padding:0 max(24px,50vw - 590px);display:flex}.bookingBrand{align-items:center;gap:11px;display:flex}.bookingBrand>span{border:1px solid var(--terra);width:38px;height:38px;color:var(--terra);font:italic 500 15px/1 var(--font-display), serif;letter-spacing:-2px;border-radius:50%;place-items:center;padding-right:2px;display:grid}.bookingBrand strong{font:500 22px/1 var(--font-display), serif}.bookingBrand em{color:var(--terra);font-size:.72em}.secureNote{text-transform:uppercase;letter-spacing:.12em;color:var(--brown-soft);align-items:center;gap:8px;font-size:9px;font-weight:700;display:flex}.secureNote i{background:var(--sage);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #89917c24}.bookingProgress{max-width:1180px;margin:0 auto;padding:28px 0 30px}.progressMeta{justify-content:space-between;align-items:center;margin-bottom:10px;display:none}.progressMeta span{text-transform:uppercase;letter-spacing:.12em;color:var(--brown-soft);font-size:10px}.progressMeta strong{font:500 18px/1 var(--font-display), serif}.progressTrack{background:#49372f1a;border-radius:3px;height:3px;display:none;overflow:hidden}.progressTrack i{background:var(--terra);height:100%;transition:width .35s;display:block}.bookingProgress ol{counter-reset:steps;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;display:grid}.bookingProgress li{text-align:center;text-transform:uppercase;letter-spacing:.1em;color:#49372f66;padding-top:24px;font-size:9px;position:relative}.bookingProgress li:before{counter-increment:steps;content:counter(steps);z-index:2;background:#f8f3eb;border:1px solid #49372f3d;border-radius:50%;place-items:center;width:18px;height:18px;font-size:8px;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.bookingProgress li:after{content:"";background:#49372f29;width:100%;height:1px;position:absolute;top:9px;left:-50%}.bookingProgress li:first-child:after{display:none}.bookingProgress li.active{color:var(--brown)}.bookingProgress li.active:before{background:var(--terra);border-color:var(--terra);color:#fff}.bookingProgress li.active:after{background:var(--terra)}.bookingLayout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:28px;width:min(1180px,100% - 48px);margin:0 auto 90px;display:grid}.bookingPanel{background:#fffdf9;flex-direction:column;min-height:690px;padding:clamp(34px,5vw,70px);display:flex;box-shadow:0 18px 55px #49372f12}.bookingPanel section{flex:1;animation:.25s bookingFade}@keyframes bookingFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bookingEyebrow{color:var(--terra);text-transform:uppercase;letter-spacing:.18em;margin:0 0 15px;font-size:9px;font-weight:700}.bookingPanel h1,.completeCard h1{max-width:670px;font:500 clamp(44px, 5vw, 68px)/.98 var(--font-display), serif;letter-spacing:-.04em}.bookingIntro{max-width:650px;color:var(--brown-soft);margin:22px 0 35px;font-size:14px}.choiceGrid{gap:12px;display:grid}.choiceGrid.two{grid-template-columns:1fr 1fr}.choiceCard{border:1px solid var(--line);min-height:130px;color:var(--brown);text-align:left;cursor:pointer;background:#fbf7f0;padding:22px;transition:all .2s;position:relative}.choiceCard:hover{border-color:#b865458c;transform:translateY(-2px)}.choiceCard.selected{border:2px solid var(--terra);background:#b865450d;padding:21px}.choiceCard.selected:after{content:"✓";background:var(--terra);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid;position:absolute;top:15px;right:16px}.choiceCard strong,.choiceCard small{display:block}.choiceCard strong{font:500 22px/1.1 var(--font-display), serif}.choiceCard small{color:var(--brown-soft);margin-top:8px;font-size:10px;line-height:1.55}.choiceIcon{border:1px solid var(--sand);width:32px;height:32px;color:var(--terra);border-radius:50%;place-items:center;margin-bottom:17px;display:grid}.services{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.serviceChoice{isolation:isolate;background:var(--brown);color:#fff;flex-direction:column;justify-content:flex-end;min-height:260px;display:flex;overflow:hidden}.serviceChoice:before{content:"";z-index:-1;background:linear-gradient(#301f1605 20%,#301f16e6 100%);position:absolute;inset:0}.serviceChoice .serviceImage{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.serviceChoice:hover .serviceImage{transform:scale(1.04)}.serviceChoice small{color:#fffc}.serviceChoice.selected{background:var(--brown)}.serviceDot{border:1px solid #ffffffbf;border-radius:50% 45% 52% 44%;width:36px;height:36px;position:absolute;top:18px;left:18px}.serviceDot:after{content:"";border:1px solid var(--sage);border-radius:45% 50% 43% 52%;position:absolute;inset:9px}.fieldGrid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.fieldGrid.single{grid-template-columns:1fr;max-width:590px}.fieldGrid label,.consentBlock>label:not(.checkRow){text-transform:uppercase;letter-spacing:.08em;flex-direction:column;gap:8px;font-size:10px;font-weight:700;display:flex}.fieldGrid input,.consentBlock textarea{border:1px solid var(--line);width:100%;min-height:52px;color:var(--brown);text-transform:none;letter-spacing:0;background:#fbf8f2;border-radius:0;outline:none;padding:0 16px;font-size:14px}.fieldGrid input:focus,.consentBlock textarea:focus{border-color:var(--terra);box-shadow:0 0 0 3px #b865451a}.spanTwo{grid-column:span 2}.addressGrid{margin-top:25px}.addressCheck{color:var(--brown-soft);background:#f2e7da;margin:12px 0 0;padding:10px 13px;font-size:10px}.addressCheck.success{color:var(--sage);background:#89917c24;font-weight:700}.demoNote{border-left:2px solid var(--sand);color:var(--brown-soft);margin:24px 0 0;padding-left:15px;font-size:10px}.durationField{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:25px;padding:0;display:grid}.durationField legend{text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:10px;font-weight:700}.durationField>label{border:1px solid var(--line);cursor:pointer;background:#fbf8f2;align-items:center;min-height:68px;padding:14px 17px;display:flex}.durationField label.selected{border-color:var(--terra);background:#b865450d}.durationField input{accent-color:var(--terra);margin-right:13px}.durationField label span,.durationField strong,.durationField small{display:block}.durationField strong{font-size:12px}.durationField small{color:var(--brown-soft);font-size:10px}.dateScroller{scrollbar-width:none;grid-template-columns:repeat(8,1fr);gap:7px;padding-bottom:4px;display:grid;overflow-x:auto}.dateScroller::-webkit-scrollbar{display:none}.dateScroller button{border:1px solid var(--line);min-width:64px;min-height:94px;color:var(--brown);cursor:pointer;background:#fbf8f2;flex-direction:column;justify-content:center;align-items:center;display:flex}.dateScroller button.selected{background:var(--terra);color:#fff;border-color:var(--terra)}.dateScroller small,.dateScroller span{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-size:8px}.dateScroller strong{font:500 30px/1.05 var(--font-display), serif}.timeSection{margin-top:30px}.timeSection h2{font:500 26px/1 var(--font-display), serif;margin-bottom:16px}.timeGrid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.timeGrid button{border:1px solid var(--line);min-height:48px;color:var(--brown);cursor:pointer;background:#fff}.timeGrid button.selected{background:var(--brown);border-color:var(--brown);color:#fff}.emptyDate{border:1px dashed var(--line);min-height:130px;color:var(--brown-soft);place-items:center;margin-top:25px;font-size:12px;display:grid}.routeContact{color:var(--brown-soft);background:#f2e7da;padding:20px;font-size:12px}.privacyMini{background:#89917c1a;gap:13px;margin-top:25px;padding:18px;display:flex}.privacyMini>span{border:1px solid var(--sage);width:26px;height:26px;color:var(--sage);border-radius:50%;flex:0 0 26px;place-items:center;display:grid}.privacyMini p{color:var(--brown-soft);margin:0;font-size:10px}.privacyMini strong{color:var(--brown);display:block}.consentBlock{gap:22px;display:grid}.checkRow{border:1px solid var(--line);cursor:pointer;background:#fbf8f2;align-items:flex-start;gap:13px;padding:20px;display:flex}.checkRow input{width:18px;height:18px;accent-color:var(--terra);margin-top:3px}.checkRow span{flex:1}.checkRow strong,.checkRow small{display:block}.checkRow strong{font-size:12px}.checkRow small{color:var(--brown-soft);margin-top:5px;font-size:10px}.consentBlock textarea{resize:vertical;min-height:110px;padding:14px}.optional{color:var(--brown-soft);text-transform:none;letter-spacing:0;font-weight:400}.reviewCard{border-top:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.reviewCard>div,.reviewCard>button{border-bottom:1px solid var(--line)}.reviewCard>div{padding:17px 0}.reviewCard>button{color:var(--terra);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border-width:0 0 1px;padding:0 0 0 20px;font-size:9px}.reviewCard span,.reviewCard strong,.reviewCard small{display:block}.reviewCard span{color:var(--brown-soft);text-transform:uppercase;letter-spacing:.1em;font-size:8px}.reviewCard strong{font-size:13px}.reviewCard small{color:var(--brown-soft);font-size:10px}.testPayment{border:1px solid var(--sand);background:#d8be9f24;margin-top:25px;padding:18px}.testPayment span{color:var(--terra);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:700}.testPayment p{margin:3px 0 0;font-size:11px}.bookingError{color:#823d2b;border-left:3px solid var(--terra);background:#f9e6de;margin:20px 0 0;padding:13px 16px;font-size:11px}.bookingActions{justify-content:flex-end;gap:10px;margin-top:auto;padding-top:32px;display:flex}.bookingPrimary,.bookingSecondary{cursor:pointer;border-radius:999px;min-height:50px;padding:0 27px;font-size:11px;font-weight:700;transition:all .2s}.bookingPrimary{border:1px solid var(--terra);background:var(--terra);color:#fff}.bookingPrimary:hover{background:var(--terra-dark);transform:translateY(-1px)}.bookingSecondary{border:1px solid var(--line);color:var(--brown);background:0 0}.bookingSummary{background:var(--brown);color:var(--cream);padding:32px;position:sticky;top:22px}.bookingSummary>p{color:var(--sand);text-transform:uppercase;letter-spacing:.16em;margin:0 0 8px;font-size:8px}.bookingSummary h2{font:500 30px/1.1 var(--font-display), serif}.bookingSummary dl{border-top:1px solid #f6f0e726;border-bottom:1px solid #f6f0e726;margin:25px 0;padding:18px 0}.bookingSummary dl div,.priceSummary span,.priceSummary>strong{justify-content:space-between;gap:20px;display:flex}.bookingSummary dt,.bookingSummary dd{margin:0;font-size:10px}.bookingSummary dt{color:#f6f0e78c}.bookingSummary dd{text-align:right}.priceSummary span{color:#f6f0e7a6;font-size:10px}.priceSummary b{color:var(--cream);font-weight:600}.priceSummary>strong{font:500 19px/1 var(--font-display), serif;border-top:1px solid #f6f0e726;margin-top:12px;padding-top:12px}.priceSummary small{color:#f6f0e77a;margin-top:7px;font-size:8px;display:block}.summaryTrust{border-top:1px solid #f6f0e726;align-items:center;gap:11px;margin-top:30px;padding-top:21px;font-size:10px;display:flex}.summaryTrust i{background:var(--sage);border-radius:50%;place-items:center;width:26px;height:26px;font-style:normal;display:grid}.summaryTrust small{color:#f6f0e77a}.completeShell{place-items:center;padding:40px 20px;display:grid}.completeCard{text-align:center;background:#fffdf9;width:min(680px,100%);padding:clamp(35px,7vw,75px);box-shadow:0 20px 70px #49372f1a}.completeMark{background:var(--sage);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 25px;font-size:25px;display:grid}.completeCard h1{margin:0 auto}.completeCard>p:not(.bookingEyebrow){color:var(--brown-soft);font-size:13px}.completeCard dl{border-top:1px solid var(--line);margin:30px 0}.completeCard dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:25px;padding:13px 0;display:flex}.completeCard dt,.completeCard dd{margin:0;font-size:11px}.completeCard dt{color:var(--brown-soft)}.completeCard dd{font-weight:700}.testPaymentQr{text-align:left;border:1px solid var(--line);background:#f7efe7;align-items:center;gap:25px;margin:30px 0;padding:22px;display:flex}.testPaymentQr>div{flex:1}.testPaymentQr span{color:var(--terra);text-transform:uppercase;letter-spacing:.15em;font-size:8px;font-weight:700}.testPaymentQr h2{font:500 28px/1 var(--font-display), serif;margin:8px 0}.testPaymentQr p,.testPaymentQr small{color:var(--brown-soft);margin:0;font-size:10px;line-height:1.55;display:block}.testPaymentQr small{color:var(--brown);margin-top:11px;font-weight:700}.testPaymentQr img{background:#fff;width:132px;height:132px;padding:8px}.completeCard .bookingPrimary{margin:0 auto 18px;display:block}.bookingTextLink{color:var(--terra);text-underline-offset:4px;font-size:11px;text-decoration:underline}@media (width<=900px){.bookingProgress{padding-left:24px;padding-right:24px}.bookingLayout{grid-template-columns:1fr}.bookingSummary{order:-1;grid-template-columns:1fr 1fr;gap:15px 30px;display:grid;position:static}.bookingSummary dl{border:0;margin:0;padding:0}.bookingSummary .priceSummary{grid-area:1/2/span 2}.summaryTrust{display:none}.services{grid-template-columns:1fr}.serviceChoice{min-height:180px}}@media (width<=640px){.bookingHeader{height:66px;padding:0 17px}.bookingBrand strong{font-size:19px}.secureNote{font-size:0}.secureNote:after{content:"Test";font-size:8px}.bookingProgress{padding:20px 18px}.bookingProgress ol{display:none}.progressMeta,.progressTrack{display:flex}.progressTrack{display:block}.bookingLayout{width:100%;margin:0;display:block}.bookingPanel{min-height:calc(100vh - 132px);box-shadow:none;padding:38px 20px 110px}.bookingPanel h1{font-size:47px}.bookingIntro{margin:18px 0 28px}.choiceGrid.two,.fieldGrid{grid-template-columns:1fr}.spanTwo{grid-column:auto}.choiceCard{min-height:112px}.choiceGrid.two .choiceCard{grid-template-columns:38px 1fr;align-content:center;column-gap:13px;display:grid}.choiceGrid.two .choiceCard .choiceIcon{grid-row:1/span 2;margin:0}.choiceGrid.two .choiceCard strong{font-size:20px}.choiceGrid.two .choiceCard small{margin:4px 0 0}.serviceChoice{min-height:170px;padding-left:82px}.serviceDot{top:50%;transform:translateY(-50%)}.durationField{grid-template-columns:1fr}.durationField>label{width:100%}.dateScroller{grid-template-columns:repeat(8,68px);margin-right:-20px;padding-right:20px}.timeGrid{grid-template-columns:repeat(3,1fr)}.bookingActions{z-index:10;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf9f5;margin:0;position:fixed;bottom:0;left:0;right:0}.bookingActions button{flex:1}.bookingSummary{display:none}.testPaymentQr{align-items:flex-start}.testPaymentQr img{width:104px;height:104px}.reviewCard>div{padding-right:10px}.reviewCard>button{padding-left:10px}}@media (prefers-reduced-motion:reduce){.bookingPanel section{animation:none}}
