@font-face{font-family:'Inter Tight';src:url('/assets/fonts/InterTight.woff2') format('woff2');font-weight:300 600;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/InstrumentSerif.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
[hidden]{display:none !important}
.hero-copy > *{animation:none}
.section.wrap{padding-left:40px;padding-right:40px}
@media (max-width:760px){.section.wrap{padding-left:16px;padding-right:16px}}
#book,#prices,#visit,#styles,#reels{scroll-margin-top:90px}

.book-title{font-size:clamp(42px,5vw,72px)}
.book-lede{font-size:17px}
.booking-location{margin-top:22px}
.booking-location p{margin-top:8px}
.booking-location a{text-decoration:underline;text-underline-offset:3px}
.stepper [aria-current="step"]{color:var(--ink);font-weight:600}
.booking-h{font-size:24px;font-weight:500;letter-spacing:-.02em;margin-bottom:4px}
.booking-note{margin:0 0 14px}
.booking-dates{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin;scrollbar-color:#333 transparent}
.booking-day{flex:0 0 72px;min-height:88px;border-radius:20px;background:var(--panel2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;line-height:1.2;text-align:center;color:var(--ink);transition:background .3s}
.booking-day span{color:var(--muted);font-size:12px}
.booking-day:hover{background:#29292c}
.booking-day[aria-pressed="true"]{background:var(--gold,#e3c98f);color:#141109}
.booking-day[aria-pressed="true"] span{color:#3b3115}
.booking-day:disabled{opacity:.35;cursor:not-allowed}
#slot-section{margin-top:22px}
.booking-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.booking-time{min-height:52px;border-radius:16px;background:var(--panel2);font-size:15px;transition:background .3s}
.booking-time:hover{background:#29292c}
.booking-time[aria-pressed="true"]{background:var(--ink);color:#141109;font-weight:600}
.booking-next{width:100%;margin-top:22px}
.booking-chosen{font-weight:500;margin-top:6px}
.change-time{min-height:44px;margin-bottom:18px;font-size:14px}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.booking-fields label{display:grid;gap:8px;font-size:14px;color:#d6d1c8;align-content:start}
.field-wide{grid-column:1/-1}
textarea.field{font:inherit;color:inherit;padding:14px 16px;resize:vertical;min-height:96px}
.field-hint{font-size:13px;color:var(--muted)}
.field-error{font-size:13px;color:#ffb4a8}
.field-error:empty{display:none}
.field[aria-invalid="true"]{border-color:#ffb4a8}
.booking-consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#d6d1c8;margin-top:12px;cursor:pointer}
.booking-consent input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--gold,#e3c98f)}
.booking-error{padding:20px;border-radius:20px;background:#2b1a18;margin-bottom:16px}
.booking-error p{margin-bottom:12px}
.booking-error .ghost{min-height:44px}
#receipt-reference{word-break:break-all}
.modal-frame video{background:#000}
.modal-close{z-index:2}
.sticky{transition:opacity .3s,transform .3s}
.sticky.away{opacity:0;transform:translateY(120%);pointer-events:none}
@media (max-width:760px){
  .booking-fields{grid-template-columns:minmax(0,1fr)}
  .field{font-size:16px}
}
