/* Professional page only: never override the guest page. */
.pro-page { --pro-gap:clamp(22px,3.2vw,60px); background:#fcf8f2; }
.pro-page h1,.pro-page h2,.pro-page h3 { text-wrap:balance; }
.pro-page h2 em { color:#964638; }
.pro-page .pro-venue-intro { display:grid; grid-template-columns:minmax(0,1fr); margin-bottom:48px; }
.pro-page .pro-venue-intro .section-heading { min-width:0; margin:0; }
.pro-page .pro-venue-intro h2 { font-size:clamp(34px,3.5vw,56px); }
.pro-page .pro-venues .bath-content h3 { line-height:1.05; }
.pro-page .pro-venues .bath-content { padding-bottom:86px; }
.pro-page .pro-venues .bath-arrow { opacity:1; top:36%; }
.pro-page .pro-venues .bath-counter { bottom:58px; right:26px; }
.pro-page .pro-venues .bath-dots { bottom:8px; gap:4px; }
.pro-page .pro-venues .bath-dots button,.pro-page .pro-venues .bath-dots button.active { display:grid; place-items:center; width:26px; height:44px; padding:0; background:transparent; }
.pro-page .pro-venues .bath-dots button::after { content:''; width:7px; height:7px; border-radius:50%; background:#ffffff80; }
.pro-page .pro-venues .bath-dots button.active::after { background:#fff; box-shadow:0 0 0 3px #ffffff40; }
.pro-page .pro-venues .bath-slide img { filter:none; }
.pro-page .button { min-height:52px; min-width:0; max-width:100%; gap:18px; white-space:normal; line-height:1.5; padding:15px 22px; font-size:13px; border-radius:10px; }
.pro-page .button span { flex-shrink:0; }
.pro-page .configurations,.pro-page .pro-gallery,.pro-page .pro-preparation,.pro-page .professional-booking,.pro-page .pro-questions { padding:88px var(--pro-gap); }
.pro-page .pro-preparation,.pro-page .pro-questions { margin-left:var(--rail); }
.pro-page .section-heading,.pro-page .gallery-heading,.pro-page .reels-heading { grid-template-columns:32px minmax(0,1fr); gap:22px; margin-bottom:40px; }
.pro-page .section-heading>p:last-child:not(.section-number),.pro-page .gallery-heading>p:last-child,.pro-page .reels-heading>p:last-child { grid-column:2; max-width:58ch; font-size:14px; line-height:1.8; margin:0; }
.pro-page .section-heading h2,.pro-page .gallery-heading h2,.pro-page .reels-heading h2,.pro-page .booking-intro h2 { font-size:clamp(34px,4vw,64px); line-height:1.12; letter-spacing:-.04em; }
.pro-page .pro-venues { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.pro-page .pro-both { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #b99c7d66; padding:28px 4px; }
.pro-page .pro-both h3 { font-size:26px; margin:0 0 8px; }
.pro-page .pro-both p { font-size:13px; line-height:1.8; color:#65574b; margin:0; max-width:48ch; }
.pro-page .pro-both .button { flex-shrink:0; border:1px solid #aa8c6c; color:#302b27; background:transparent; }
.pro-page .pro-capacity-note { max-width:75ch; font-size:11px; line-height:1.8; color:#65574b; margin:18px 0 0; }
.pro-page .pro-gallery { background:#fcf8f2; }
.pro-page .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:260px; gap:16px; padding:0; }
.pro-page .gallery-heading { padding-inline:0; }
.pro-page .gallery-grid figure { grid-column:auto; grid-row:auto; min-width:0; border-radius:14px; overflow:hidden; }
.pro-page .gallery-grid img,.pro-page .gallery-grid figure:hover img { filter:none; }
.pro-page .gallery-grid .gallery-tall { grid-row:span 2; }
.pro-page .gallery-grid .gallery-wide,.pro-page .gallery-grid .gallery-landscape { grid-column:span 2; }
.pro-page .gallery-grid figcaption { padding:48px 18px 20px; font-size:13px; line-height:1.6; background:linear-gradient(transparent,#211b17e8); }
.pro-page .gallery-grid figcaption span { font-size:9px; letter-spacing:.09em; }
.pro-page .gallery-more { min-height:50px; }
.pro-page .pro-preparation { background:#efe6da; }
.pro-page .pro-preparation-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:start; gap:clamp(28px,4vw,64px); }
.pro-page .pro-preparation-grid>figure { margin:0; min-width:0; }
.pro-page .pro-preparation-grid>figure img { width:100%; aspect-ratio:3/4; height:auto; object-fit:cover; border-radius:14px; }
.pro-page .pro-preparation-grid>figure figcaption { font-size:10px; line-height:1.8; margin-top:12px; color:#65574b; }
.pro-page .pro-preparation-copy { min-width:0; }
.pro-page .pro-preparation-copy>p { font-size:15px; line-height:1.85; margin:0 0 20px; color:#65574b; }
.pro-page .pro-checklist { list-style:none; padding:0; margin:0 0 28px; }
.pro-page .pro-checklist li { display:grid; grid-template-columns:24px minmax(0,1fr); gap:14px; padding:24px 0; border-top:1px solid #b99c7d66; }
.pro-page .pro-checklist li>span { font-size:10px; color:#855437; padding-top:5px; }
.pro-page .pro-checklist h3 { font-size:24px; line-height:1.25; margin:0 0 10px; }
.pro-page .pro-checklist p { color:#65574b; font-size:13px; line-height:1.8; margin:0; }
.pro-page .reels-section { padding:80px var(--pro-gap); }
.pro-page .reels-heading h2 em { color:#e0b789; }
.pro-page .reels-heading>p:last-child { color:#dfd0be; }
.pro-page .reels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:0; overflow:visible; }
.pro-page .reel-card { min-width:0; width:auto; aspect-ratio:auto; max-height:none; background:transparent; border:0; box-shadow:none; border-radius:0; }
.pro-page .reel-card figcaption { position:static; inset:auto; padding:18px 2px 0; text-shadow:none; }
.pro-page .reel-card figcaption small { color:#dfd0be; }
.pro-page .reel-card video { width:100%; height:auto; aspect-ratio:9/16; max-height:640px; object-fit:cover; border-radius:14px; }
.pro-page .professional-booking { grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:clamp(32px,4vw,64px); }
.pro-page .booking-intro>p:not(.eyebrow):not(.section-number) { font-size:15px; line-height:1.85; color:#65574b; }
.pro-page .pro-form-help { margin-top:30px; border-top:1px solid #b99c7d66; padding-top:24px; }
.pro-page .pro-form-help strong { font-size:13px; }
.pro-page .pro-form-help p { font-size:12px; color:#65574b; line-height:1.8; }
.pro-page .booking-form,.pro-page .booking-form label,.pro-page .local-form-fields { min-width:0; }
.pro-page .booking-form label:has(select) { grid-column:1 / -1; }
.pro-page .booking-form select,.pro-page .booking-form input,.pro-page .booking-form textarea { max-width:100%; font-size:16px; }
.pro-page .pro-questions { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:40px; background:#fcf8f2; }
.pro-page .pro-questions h2 { font-size:clamp(32px,3vw,48px); line-height:1.2; }
.pro-page .pro-questions details { border-bottom:1px solid #b99c7d66; padding:0; }
.pro-page .pro-questions summary { padding:22px 4px; cursor:pointer; font-size:14px; line-height:1.6; }
.pro-page .pro-questions details p { padding:0 4px 22px; font-size:13px; line-height:1.85; color:#65574b; margin:0; }
.pro-page section[id] { scroll-margin-top:28px; }
.pro-page a:focus-visible,.pro-page button:focus-visible,.pro-page summary:focus-visible { outline:3px solid #a26a3a; outline-offset:5px; }
@media (min-width:861px) and (max-width:1150px) {
  .pro-page .pro-venues,.pro-page .professional-booking,.pro-page .pro-questions { grid-template-columns:minmax(0,1fr); }
  .pro-page .pro-preparation-grid { grid-template-columns:minmax(0,1fr); }
  .pro-page .pro-preparation-grid>figure img { aspect-ratio:4/3; object-position:50% 65%; }
  .pro-page .gallery-grid { grid-auto-rows:210px; }
  .pro-page .pro-both { align-items:flex-start; flex-direction:column; }
}
@media (max-width:860px) {
  .pro-page { --pro-gap:22px; }
  .pro-page .configurations,.pro-page .pro-gallery,.pro-page .pro-preparation,.pro-page .professional-booking,.pro-page .pro-questions,.pro-page .reels-section { padding:56px var(--pro-gap); }
  .pro-page .section-heading,.pro-page .gallery-heading,.pro-page .reels-heading { grid-template-columns:minmax(0,1fr); gap:16px; margin-bottom:30px; }
  .pro-page .section-heading>p:last-child:not(.section-number),.pro-page .gallery-heading>p:last-child,.pro-page .reels-heading>p:last-child { grid-column:1; font-size:13px; }
  .pro-page .pro-venues,.pro-page .pro-preparation-grid,.pro-page .professional-booking,.pro-page .pro-questions { grid-template-columns:minmax(0,1fr); gap:24px; }
  .pro-page .pro-both { flex-direction:column; align-items:flex-start; }
  .pro-page .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:240px; gap:12px; }
  .pro-page .gallery-grid .gallery-tall { grid-row:span 1; }
  .pro-page .gallery-grid .gallery-wide,.pro-page .gallery-grid .gallery-landscape { grid-column:span 1; }
  .pro-page .pro-preparation-grid>figure img { aspect-ratio:4/3; object-position:50% 65%; }
  .pro-page .reels-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .pro-page .reel-card figcaption { display:block; }
  .pro-page .reel-card figcaption span { display:none; }
  .pro-page .reel-card figcaption strong { display:block; font-size:19px; }
  .pro-page .reel-card figcaption small { display:block; font-size:10px; margin-top:8px; line-height:1.6; }
}
@media (max-width:540px) {
  .pro-page { --pro-gap:18px; }
  .pro-page .gallery-grid { grid-template-columns:minmax(0,1fr); grid-auto-rows:300px; }
  .pro-page .reels-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .pro-page .reel-card { max-width:360px; width:100%; margin:0 auto; }
  .pro-page .reel-card video { max-height:520px; }
}
@media (max-width:1150px) {
  .pro-page .pro-venue-intro { grid-template-columns:minmax(0,1fr); gap:28px; margin-bottom:36px; }
}
@media (max-width:540px) {
  .pro-page .pro-venues .bath-content h3 { font-size:40px; }
  .pro-page .pro-both .button { width:100%; justify-content:space-between; }
}
