.site-main :is(.booking-journey-form,.contact-message-form) .field label,.site-main .booking-journey-form .field legend{color:var(--forest);font-size:.875rem;font-weight:750}.site-main :is(.booking-journey-form,.contact-message-form) .field input:not([type=checkbox],[type=radio]),.site-main :is(.booking-journey-form,.contact-message-form) .field textarea,.site-main .booking-journey-form .field select,.booking-date-trigger{width:100%;min-height:47px;color:var(--ink);background:#fffefa;border:1px solid #aebba9;border-radius:6px;padding:9px 12px;font-size:1rem}.site-main :is(.booking-journey-form,.contact-message-form) .field :is(input:not([type=checkbox],[type=radio]),select,textarea)[aria-invalid=true],.site-main .booking-journey-form .booking-date-trigger[aria-invalid=true]{border-color:#a83c2e}.booking-journey-form .lunch-field:has([aria-invalid=true]) .segmented-options span{border-color:#a83c2e}.site-main :is(.booking-journey-form,.contact-message-form) :is(button,input,select,textarea):focus-visible{outline:2px solid var(--clay);outline-offset:2px}.field-error{color:#892d20;margin:0;font-size:.8125rem}.site-main>.journey-intro{width:100%;max-width:calc(1180px + 2 * var(--page-gutter));margin-inline:auto;padding-block:clamp(24px,4vw,49px) 20px}.site-main>.booking-intro{max-width:calc(900px + 2 * var(--page-gutter))}.journey-intro .eyebrow{margin:0 0 7px}.journey-intro h1{text-wrap:initial;margin:0 0 8px;font-size:clamp(2.05rem,4.7vw,3rem);line-height:1.06}.journey-intro>p:last-child{max-width:65ch;color:var(--muted);margin:0;font-size:clamp(.875rem,1.6vw,1rem)}.site-main>.journey-calendar,.site-main>.booking-section{padding-top:0}.site-main .journey-calendar .public-calendar{box-shadow:var(--shadow);border-radius:12px;padding:clamp(12px,2.7vw,30px)}.journey-calendar .calendar-toolbar{flex-direction:row;align-items:center;gap:8px}.site-main .journey-calendar .calendar-toolbar h2{font-size:clamp(1.4rem,3.5vw,2.2rem)}.journey-calendar .month-nav{gap:4px;width:auto}.site-main .journey-calendar .month-nav button{padding-inline:8px;font-size:.75rem}.journey-calendar .month-nav button svg{width:18px;height:18px}.journey-calendar .calendar-current-month{white-space:nowrap}.journey-calendar .calendar-current-month svg{display:none}.site-main .journey-calendar .calendar-legend{gap:5px 9px;margin-block:15px 9px;padding:0;list-style:none}.site-main .journey-calendar .calendar-legend .legend{font-size:.75rem}.calendar-selection-guide{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-bottom:15px;display:flex}.journey-calendar .calendar-reading-hint{margin:0;font-size:.8125rem;line-height:1.5}.site-main .journey-calendar .public-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.site-main .journey-calendar .public-month>b{text-align:center;padding-inline:0;font-size:.75rem}.site-main .journey-calendar .public-month>.calendar-day,.site-main .journey-calendar .public-month>.empty{min-height:clamp(59px,7vw,81px)}.site-main .journey-calendar .public-month>.calendar-day{text-align:left;border-radius:6px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex}.journey-calendar .calendar-day strong{font-size:clamp(.9rem,2vw,1.125rem);line-height:1.2}.site-main .journey-calendar .calendar-day .calendar-label-full{margin:6px 0 0}.site-main .journey-calendar .calendar-day.selectable{box-shadow:0 1px 2px #173f3510}.site-main .journey-calendar .calendar-day.selectable:hover{border-color:var(--forest);filter:brightness(.97);transform:none}.site-main .journey-calendar .calendar-day.is-today:not(:focus-visible){outline:none}.journey-calendar .calendar-day.is-today strong{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:2px}.site-main .journey-calendar .calendar-day.closed,.site-main .journey-calendar .calendar-day.unknown{color:var(--muted);background:#f0efe8;border-color:#e3e2d9}.journey-calendar .calendar-day.pending:after,.journey-calendar .calendar-day.unavailable:after{display:none}.site-main .journey-calendar .calendar-day[data-range=inside]{border-color:var(--jade);box-shadow:inset 0 -3px var(--jade)}.site-main .journey-calendar .calendar-day[data-range=closed]{border-style:dashed;border-color:var(--jade)}.site-main .journey-calendar .calendar-day[data-range=edge],.site-main .journey-calendar .calendar-day[data-range=edge]:hover{background:var(--forest);border-color:var(--forest);color:#fff}.site-main .journey-calendar .calendar-day[data-range=edge] strong,.site-main .journey-calendar .calendar-day[data-range=edge] .calendar-label-full{color:inherit}.journey-calendar .calendar-selected-icon{position:absolute;top:8px;right:8px}.journey-calendar .calendar-day .calendar-range-marker{color:inherit;margin:0;font-size:.625rem;font-weight:750;position:absolute;top:6px;right:26px}.site-main .journey-calendar .selection-bar{background:#e9eddf;border:1px solid #d5ddc9;border-radius:8px;align-items:center;gap:14px;margin-top:15px;padding:clamp(12px,2.1vw,22px)}.selection-copy{align-items:flex-start;gap:10px;display:flex}.selection-copy>svg{color:var(--jade);margin-top:4px}.selection-kicker{color:var(--jade);text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem;font-weight:800;display:block}.site-main .journey-calendar .selection-bar b{color:var(--forest);font-size:clamp(.95rem,2vw,1.15rem);line-height:1.35;display:block}.site-main .journey-calendar .selection-bar p{font-size:.8125rem}.site-main .journey-calendar .selection-bar .selection-error{color:#842d22}.selection-actions{flex:none;justify-items:stretch;gap:4px;display:grid}.selection-actions>.button{white-space:normal;text-align:center}.selection-edits{flex-wrap:wrap;justify-content:center;gap:4px 12px;display:flex}.site-main .journey-link{min-height:36px;color:var(--forest);text-underline-offset:3px;background:0 0;border:0;padding:3px 0;font-size:.8125rem;font-weight:750;text-decoration:underline}.site-main .selection-bar .button{min-height:46px;font-size:.875rem}.site-main .selection-bar .button:disabled{color:var(--muted);cursor:default;background:#f0f1ea;border-color:#b5c3af}.site-main>.urgent.urgent-compact{padding-block:clamp(26px,4vw,48px)!important}.site-main .urgent-compact h2{font-size:clamp(1.85rem,4vw,2.65rem)}.booking-period-list{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.calendar-period-list{margin-block:15px 0}.booking-period-list>li{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;padding:6px 12px;display:flex}.booking-period-list small{color:var(--muted);display:block}.booking-period-actions{flex-wrap:wrap;gap:0 12px;display:flex}.booking-period-heading{margin-block:0 12px}.booking-add-period{align-items:start}.booking-review-periods{gap:8px;padding-left:1.25rem;display:grid}.journey-progress{grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 13px;padding:0;list-style:none;display:grid}.journey-progress li{min-width:0;color:var(--muted);border-bottom:2px solid var(--line);align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;font-weight:700;display:flex}.journey-progress .progress-number{background:#eeece4;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.75rem;display:grid}.journey-progress li[data-complete]{color:var(--forest);border-color:#a6b79f}.journey-progress li[data-complete] .progress-number{background:var(--sage)}.journey-progress li[aria-current=step]{color:var(--forest);border-color:var(--forest)}.journey-progress li[aria-current=step] .progress-number{background:var(--forest);color:#fff}.journey-progress-mobile{display:none}.site-main .booking-journey-form .form-card{box-shadow:var(--shadow);border-radius:12px;padding:clamp(16px,3.8vw,36px)}.site-main .booking-journey-form .form-card h2{margin:0 0 20px;font-size:clamp(1.65rem,3.6vw,2.125rem)}.booking-journey-form .form-card .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.booking-journey-form .fields .full{grid-column:1/-1}.booking-journey-form .field{min-width:0}.booking-journey-form .field-group-title{margin-top:1px}.booking-journey-form .field textarea{resize:vertical}.booking-date-trigger{text-align:left;justify-content:space-between;align-items:center;gap:7px;display:flex}.booking-select{min-width:0;position:relative}.site-main .booking-journey-form .booking-select select{appearance:none;padding-right:36px}.booking-select>svg{pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.booking-select>svg,.booking-date-trigger>svg,.booking-time>svg{color:var(--jade)}.booking-time-field{border:0;margin:0;padding:0}.booking-time-field legend{margin-bottom:6px}.booking-time{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:7px;display:grid}.booking-time-field .field-error{margin-top:6px}.booking-journey-form .lunch-field{margin:0}.booking-journey-form .segmented-options{max-width:260px}.booking-journey-form .segmented-options span{border-radius:6px}.booking-journey-form .segmented-options input:checked+span{border-width:2px}.booking-checkbox{align-items:flex-start;gap:9px;display:flex}.booking-checkbox input{flex:none;width:18px;height:18px;margin:3px 0 0}.field-hint,.overnight-note{color:var(--muted);margin:0;font-size:.8125rem}.booking-journey-form .software-hint{margin-top:-11px}.booking-journey-form .form-context{margin:-8px 0 17px;font-size:.8125rem}.booking-journey-form .booking-error{margin:14px 0 0}.booking-journey-form .booking-inline-note{color:var(--muted);background:#f2f2e9;border-left:2px solid #a9b89f;align-items:flex-start;gap:9px;margin:17px 0 0;padding:10px 12px;font-size:.8125rem;display:flex}.booking-inline-note svg{color:var(--jade);margin-top:3px}.booking-inline-note a{color:var(--forest);text-underline-offset:3px;text-decoration:underline}.booking-journey-form .form-nav{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:17px;padding-top:15px}.booking-journey-form .form-nav .button{min-height:46px}.booking-journey-form .form-nav .secondary{margin-right:auto}.booking-review{gap:8px;display:grid}.booking-review-group{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;padding:10px 14px 13px}.booking-review-group>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.booking-review-group h3{color:var(--forest);margin:0;font-size:1rem}.booking-review-group p{margin:0;font-size:.875rem}.review-notes{white-space:pre-wrap}.site-main .journey-calendar button:focus-visible,.site-main .booking-journey-form .segmented-options input:focus-visible+span{outline:2px solid var(--clay);outline-offset:2px}.booking-journey-form .booking-calendar-day[data-partial]:after{content:none}.booking-journey-form .booking-calendar-day[data-partial]{grid-template-rows:auto auto;align-content:center;gap:0}.booking-journey-form .booking-calendar-day[data-other-hours]{background:0 0;border:1px dashed #aebba9}.booking-journey-form .booking-calendar-day[aria-current=date]{text-underline-offset:3px;text-decoration:underline}.booking-journey-form .booking-calendar-grid td[data-range=inside] .booking-calendar-day:not([aria-disabled=true]){box-shadow:inset 0 -2px var(--jade)}.booking-journey-form .booking-calendar-grid td[data-range=edge] .booking-calendar-day:not([aria-disabled=true]){background:var(--forest);color:#fff}.booking-calendar-other{color:var(--muted);margin:0;font-size:.75rem}@media (max-width:760px){.site-main .journey-calendar .calendar-day .calendar-label-full{display:none}.site-main .journey-calendar .calendar-day .calendar-label-short{margin:2px 0 0;font-size:.625rem}.site-main .journey-calendar .public-month>.calendar-day{align-items:center;padding:7px 1px}.journey-calendar .calendar-selected-icon{width:12px;height:12px;position:static}.journey-calendar .calendar-day .calendar-range-marker{display:none}.site-main .journey-calendar .selection-bar{align-items:stretch}}@media (max-width:620px){.journey-progress{display:none}.journey-progress-mobile{margin-bottom:12px;display:block}.journey-progress-mobile p{color:var(--muted);justify-content:space-between;gap:8px;margin:0 0 6px;font-size:.8125rem;display:flex}.journey-progress-mobile strong{color:var(--forest)}.journey-progress-mobile>div{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.journey-progress-mobile span{background:var(--line);border-radius:3px;height:3px}.journey-progress-mobile span[data-reached]{background:var(--jade)}.booking-journey-form .form-card .fields{grid-template-columns:minmax(0,1fr);gap:14px}.site-main .booking-journey-form .form-nav .button{flex:none;font-size:.8125rem}}@media (max-width:440px){.journey-calendar .calendar-current-month span{display:none}.journey-calendar .calendar-current-month svg{display:inline-block}}@media (max-width:360px){.site-main .journey-calendar .public-month{gap:3px}.site-main .journey-calendar .calendar-day .calendar-label-short{font-size:.55rem}.site-main .journey-calendar .month-nav button{font-size:.6875rem}.site-main .booking-journey-form .form-nav .button{gap:4px;padding-inline:8px}}@media (prefers-reduced-motion:reduce){.site-main .journey-calendar .public-month>.calendar-day{transition:none}}
