.holiday-page { --page:#fcfcfc; --ink:#0f0f0e; --muted:#53534d; --line:#d3d3cb; --surface:#f1f1f1; color-scheme:light; background:var(--page); color:var(--ink); }
.holiday-header, .holiday-footer { max-width:1240px; margin:auto; padding:1rem clamp(1rem,4vw,3rem); display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.holiday-header img { width:180px; height:auto; }
.holiday-page a, .holiday-page summary { min-height:44px; }
.holiday-header a, .holiday-footer a { display:inline-flex; align-items:center; }
.holiday-page h1, .holiday-page h2, .holiday-page h3 { letter-spacing:-.035em; line-height:1.05; overflow-wrap:break-word; }
.holiday-page h1 { font-size:clamp(2.6rem,6vw,5rem); max-width:14ch; }
.holiday-page h2 { font-size:clamp(2rem,4vw,3.5rem); max-width:20ch; }
.holiday-page h3 { font-size:1.5rem; }
.holiday-intro { padding:clamp(2.5rem,5vw,5rem) max(1rem,calc((100vw - 1144px)/2)); background:var(--accent); }
.holiday-label { font-weight:850; }
.holiday-lede { max-width:60ch; font-size:1.2rem; }
.holiday-intro .button { background:var(--ink); color:var(--page); box-shadow:none; }
.holiday-inquiry { max-width:900px; margin:auto; padding:clamp(2rem,5vw,4rem) 1rem; scroll-margin-top:1rem; }
.holiday-inquiry .application-form { width:100%; margin:1.5rem 0 0; }
.holiday-details { margin:1.5rem 0; border-block:1px solid var(--line); }
.holiday-details summary { padding:.75rem 0; font-weight:800; cursor:pointer; }
.holiday-details .booking-form-grid { padding-block:1rem; }
.holiday-formats { max-width:1240px; margin:auto; display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1fr); align-items:start; gap:clamp(2rem,5vw,5rem); padding:clamp(3rem,5vw,5rem) clamp(1rem,4vw,3rem); border-top:1px solid var(--line); }
.holiday-photo img { width:100%; height:auto; border-radius:12px; }
.holiday-formats p { max-width:62ch; }
.holiday-caption { color:var(--muted); font-size:.9rem; }
.holiday-closing { background:var(--surface); padding:3rem max(1rem,calc((100vw - 1144px)/2)); }
.holiday-closing p { max-width:65ch; }
.holiday-footer { border-top:1px solid var(--line); }
.holiday-page :focus-visible { outline:3px solid #805c00; outline-offset:4px; }
@media(max-width:700px) { .holiday-formats { grid-template-columns:minmax(0,1fr); } .holiday-formats .holiday-photo { max-width:400px; } .holiday-header img { width:140px; } .holiday-page .booking-form-grid { grid-template-columns:minmax(0,1fr); } .holiday-page .event-options { grid-template-columns:minmax(0,1fr); } .holiday-page .button { white-space:normal; text-align:center; } }
