.hp-field{position: absolute !important;left: -9999px !important;width: 1px;height: 1px;opacity: 0}.section--listing{padding-top: clamp(28px,4vw,48px)}.btn--lg{padding: 15px 32px;font-size: 1.02rem}.page-head{padding-block: clamp(36px,6vw,64px) clamp(20px,3vw,32px)}.page-head__eyebrow{margin: 0 0 8px;font-size: .8rem;font-weight: 800;letter-spacing: .12em;text-transform: uppercase;color: var(--accent-text)}.page-head__title{display: flex;align-items: center;gap: 14px;font-size: clamp(1.9rem,4.5vw,3.3rem);font-weight: 600;margin-bottom: 12px}.page-head__desc{max-width: 64ch;margin: 0;color: var(--muted);font-size: 1.02rem}.breadcrumbs{padding-top: 18px;font-size: .84rem}.breadcrumbs__list{display: flex;flex-wrap: wrap;align-items: center;gap: 4px;list-style: none;margin-block: 0;padding-block: 0}.breadcrumbs__item{display: inline-flex;align-items: center;gap: 4px;color: var(--muted);min-width: 0}.breadcrumbs__item + .breadcrumbs__item::before{content: "›";margin-inline: 5px;color: var(--muted);opacity: .6}.breadcrumbs__item a{color: var(--muted);font-weight: 600;text-decoration: none;white-space: nowrap}.breadcrumbs__item a:hover{color: var(--accent-text)}.breadcrumbs__item span{font-weight: 600;color: var(--text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 46ch}.booking{display: grid;gap: 36px;align-items: start}@media (min-width: 1024px){.booking{grid-template-columns: .8fr 1.2fr;gap: 56px}}.booking__info h2{font-size: 1.5rem}.booking__steps{list-style: none;margin: 24px 0;padding: 0;display: flex;flex-direction: column;gap: 22px}.booking__steps li{display: flex;gap: 16px}.booking__step-num{display: grid;place-items: center;flex-shrink: 0;width: 38px;height: 38px;border-radius: 50%;background: var(--accent-soft);color: var(--accent-text);font-family: var(--font-display);font-weight: 700;font-size: 1.05rem}.booking__steps strong{display: block;color: var(--ink);margin-bottom: 3px}.booking__steps p{margin: 0;font-size: .9rem;color: var(--muted)}.booking__note{display: flex;gap: 12px;padding: 16px 18px;background: var(--info-soft);border-radius: var(--r-md);font-size: .88rem}.booking__note svg{width: 19px;height: 19px;flex-shrink: 0;margin-top: 2px;color: var(--info)}.booking__note p{margin: 0}.booking__form{padding: clamp(22px,3.5vw,34px);background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-lg);box-shadow: var(--shadow-sm)}.booking__form fieldset{border: 0;margin: 0 0 26px;padding: 0}.form-label{display: block;margin-bottom: 14px;font-size: .8rem;font-weight: 800;letter-spacing: .1em;text-transform: uppercase;color: var(--muted)}.cal{max-width: 420px}.cal__head{display: flex;align-items: center;justify-content: space-between;margin-bottom: 12px}.cal__month{font-weight: 800;color: var(--ink)}.cal__nav{display: grid;place-items: center;width: 36px;height: 36px;padding: 0;border: 1px solid var(--border);border-radius: var(--r-sm);background: var(--surface);color: var(--ink);transition: border-color var(--t-3) var(--ease)}.cal__nav:hover{border-color: var(--accent)}.cal__nav:disabled{opacity: .35;pointer-events: none}.cal__nav svg{width: 16px;height: 16px}.cal__grid{display: grid;grid-template-columns: repeat(7,1fr);gap: 4px}.cal__dow{text-align: center;font-size: .72rem;font-weight: 800;color: var(--muted);padding-block: 6px}.cal__day{position: relative;display: grid;place-items: center;aspect-ratio: 1;border: 1px solid transparent;border-radius: var(--r-sm);background: none;color: var(--text);font-weight: 600;font-size: .9rem;font-variant-numeric: tabular-nums}.cal__day:disabled{color: var(--muted);opacity: .4;cursor: default}.cal__day--avail{background: var(--accent-soft);color: var(--ink);font-weight: 700;cursor: pointer;transition: background-color var(--t-3) var(--ease),transform var(--t-3) var(--ease)}.cal__day--avail:hover{background: var(--accent);color: var(--accent-ink);transform: scale(1.06)}.cal__day.is-selected{background: var(--ink) !important;color: var(--bg) !important;border-color: var(--ink)}.cal__hint{margin: 12px 0 0;font-size: .85rem;color: var(--muted)}.slots{display: flex;flex-wrap: wrap;gap: 10px}.form-grid{display: grid;gap: 18px}@media (min-width: 768px){.form-grid{grid-template-columns: 1fr 1fr}.form-field--full{grid-column: 1 / -1}}.form-field label{display: block;margin-bottom: 7px;font-size: .88rem;font-weight: 700;color: var(--ink)}.form-field input,.form-field select,.form-field textarea{width: 100%;padding: 12px 16px;border: 1.5px solid var(--border-strong);border-radius: var(--r-sm);background: var(--bg);color: var(--ink);font-family: var(--font-sans);font-size: .95rem;transition: border-color var(--t-3) var(--ease)}.form-field textarea{resize: vertical;min-height: 80px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline: none;border-color: var(--accent);box-shadow: 0 0 0 3px var(--accent-soft)}.booking__summary{margin: 18px 0;padding: 14px 18px;background: var(--accent-soft);border-radius: var(--r-sm);font-weight: 700;color: var(--ink);font-size: .94rem}.booking__privacy{margin: 14px 0 0;font-size: .8rem;color: var(--muted);text-align: center}.confirm-card{max-width: 560px;margin-inline: auto;padding: clamp(36px,6vw,56px);background: var(--surface);border: 1px solid var(--border);border-radius: var(--r-lg);box-shadow: var(--shadow-md);text-align: center}.confirm-card__icon{display: inline-grid;place-items: center;width: 72px;height: 72px;margin-bottom: 20px;border-radius: 50%;background: var(--bg-alt);color: var(--muted)}.confirm-card__icon--ok{background: var(--ok-soft);color: var(--ok)}.confirm-card__icon svg{width: 34px;height: 34px}.confirm-card h1{font-size: 1.6rem}.confirm-card__detail{margin: 18px 0;padding: 16px 20px;background: var(--bg-alt);border-radius: var(--r-md);font-size: 1.05rem;line-height: 1.7;color: var(--ink)}.confirm-card__actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-top: 26px}@keyframes needle-spin{0%,100%{transform: rotate(0deg)}30%{transform: rotate(160deg)}55%{transform: rotate(120deg)}80%{transform: rotate(380deg)}}