.booking-hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;padding:45px 40px 55px;align-items:center}.booking-hero img{width:100%;max-height:470px;object-fit:cover;border-radius:180px 180px 14px 14px}.booking-hero h1{font-size:clamp(42px,5vw,66px)}.booking-hero .lede{max-width:560px}.booking-pills{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.booking-pills span{border:1px solid var(--line);border-radius:40px;padding:6px 13px;font-size:12px}.booking-shell{max-width:1160px;margin:0 auto;padding:50px 32px 70px}.booking-experiences{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 40px}.experience-card{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.experience-card h3{font-size:27px;margin-top:0}.experience-card p{font-size:14px}.booking-columns{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;align-items:start}.booking-aside{position:sticky;top:24px}.booking-aside img{max-height:210px;width:100%;object-fit:cover;border-radius:15px;margin:24px 0}.booking-aside h2{font-size:38px}.booking-steps{padding-left:20px}.booking-steps li{margin-bottom:15px;padding-left:7px}.booking-form fieldset{border:0;padding:0;margin:0 0 25px}.booking-form legend{font:26px Georgia,serif;color:var(--olive);margin-bottom:20px}.booking-form textarea,.booking-form input[type=date],.booking-form input[type=number]{width:100%;font:inherit;padding:12px;border:1px solid #cbcdbd;border-radius:6px;min-height:50px;background:white;color:var(--ink)}.booking-notice{border-left:3px solid var(--rose);padding:14px 18px;background:#f7e9e1;font-size:14px;line-height:1.6}.booking-status{font-size:14px;padding:12px 0;color:var(--muted)}.slot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 22px}.slot-list button{padding:10px 5px;min-height:48px;border:1px solid #afb298;border-radius:8px;background:white;color:var(--olive);cursor:pointer}.slot-list button[aria-pressed=true]{background:var(--olive);color:white}.selected-time{background:#eceddf;padding:12px 15px;border-radius:8px;margin-bottom:22px;font-size:14px}.booking-error{color:#7e3129;background:#f9e5df;padding:15px;border-radius:8px}.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.event-card{background:var(--paper);padding:28px;border:1px solid var(--line);border-radius:15px}.event-card .eyebrow{margin-bottom:10px}.event-card h2{font-size:31px}.event-card .event-description{white-space:pre-line}.event-meta{font-size:14px;color:var(--muted)}.booking-empty{padding:30px;background:var(--paper);border:1px dashed var(--line);border-radius:15px}.booking-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.booking-help{max-width:800px;margin:0 auto;padding:40px 25px}.booking-help details{padding:20px 0;border-bottom:1px solid var(--line)}.booking-help summary{cursor:pointer;font-weight:600}.manage-shell{max-width:780px;margin:45px auto 90px;padding:0 24px}.manage-shell h1{font-size:48px}.manage-details{display:grid;grid-template-columns:140px 1fr;gap:10px;margin:25px 0}.manage-details dt{font-weight:600}.manage-details dd{margin:0;overflow-wrap:anywhere}.manage-controls{border-top:1px solid var(--line);padding-top:25px}.booking-page .site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.booking-cta-strip{max-width:1320px;margin:auto;padding:40px 45px;background:var(--blush);display:flex;justify-content:space-between;align-items:center;gap:30px}.booking-cta-strip h2{font-size:35px;margin-bottom:10px}.booking-cta-strip p{margin-bottom:0}.booking-cta-strip .button{flex-shrink:0}@media(max-width:800px){.booking-hero{gap:25px;padding:30px 24px;grid-template-columns:1fr 0.8fr}.booking-columns{grid-template-columns:1fr}.booking-aside{position:static}.booking-aside img{display:none}.booking-experiences{grid-template-columns:1fr}.experience-card{padding:23px}.booking-shell{padding:36px 20px 50px}.event-list{grid-template-columns:1fr}.booking-cta-strip{padding:32px 24px;display:block}.booking-cta-strip .button{margin-top:20px}}@media(max-width:560px){.booking-hero{grid-template-columns:1fr}.booking-hero img{max-height:300px;object-position:center 35%;border-radius:130px 130px 12px 12px}.booking-hero h1{font-size:44px}.booking-form{padding:25px 18px}.slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}.manage-details{grid-template-columns:1fr;gap:3px}.manage-details dd{margin-bottom:13px}.booking-actions .button{width:100%}}

@media(max-width:560px){.booking-hero img{order:-1;max-height:230px;object-fit:cover;object-position:center 35%;border-radius:120px 120px 14px 14px}.booking-hero{padding-top:12px}.booking-hero .signature{font-size:34px;margin-bottom:18px}}
