.mid-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  padding: 3.2rem 7vw;
}

.mid-cta h2 {
  max-width: 850px;
  margin: 0;
  font: 500 clamp(2rem, 3.4vw, 3.5rem)/1.08 'Playfair Display', serif;
  letter-spacing: -.03em;
}

.mid-cta .eyebrow {
  margin-bottom: .65rem;
}

.bath-cta-light {
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.bath-cta-dark {
  background: #2f4045;
  color: #fff;
}

.cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
}

.call-button {
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
}

.call-button:hover {
  background: var(--ink);
  color: #fff;
}

.call-button-light {
  border-color: #fff;
  color: #fff;
}

.call-button-light:hover {
  background: #fff;
  color: var(--ink);
}

.bath-showroom { display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr); min-height:660px; background:#26383d; color:#fff; }
.bath-showroom-visual { min-height:100%; background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(38,56,61,.2)),url('bath-showroom-consultation.png') center/cover no-repeat; }
.bath-showroom-content { display:flex; flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,7rem); }
.bath-showroom-content h2 { margin:.35rem 0 1.25rem; font:500 clamp(2.6rem,4.4vw,4.8rem)/1.02 'Playfair Display',serif; letter-spacing:-.035em; }
.bath-showroom-content > p:not(.eyebrow) { max-width:720px; color:#d4dddf; font-size:1.05rem; }
.bath-showroom-locations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2.2rem 0; }
.bath-showroom-locations article { padding:1.5rem; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.055); }
.bath-showroom-locations span { color:#d8bf8d; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.bath-showroom-locations h3 { margin:.55rem 0 .5rem; font:500 1.65rem 'Playfair Display',serif; }
.bath-showroom-locations address { margin-bottom:1rem; color:#d4dddf; font-style:normal; line-height:1.55; }
.bath-showroom-locations a { color:#fff; font-size:.8rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }

.bath-custom-shop { display:grid; grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr); gap:clamp(3rem,7vw,8rem); align-items:center; overflow:hidden; background:#eef1f1; }
.bath-shop-copy h2 { margin:.5rem 0 1.4rem; font:500 clamp(2.7rem,4.4vw,4.8rem)/1.03 'Playfair Display',serif; letter-spacing:-.04em; }
.bath-shop-copy > p:not(.eyebrow) { color:#586265; font-size:1.03rem; line-height:1.75; }
.bath-shop-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:2rem 0; border-block:1px solid #c6cecf; }
.bath-shop-stats div { padding:1.4rem 1rem 1.4rem 0; }
.bath-shop-stats div + div { padding-left:1rem; border-left:1px solid #c6cecf; }
.bath-shop-stats strong,.bath-shop-stats span { display:block; }
.bath-shop-stats strong { font:500 clamp(2rem,3vw,3rem)/1 'Playfair Display',serif; }
.bath-shop-stats span { margin-top:.45rem; color:#657174; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.bath-shop-copy ul { display:grid; gap:.7rem; margin:0 0 2rem; padding:0; list-style:none; }
.bath-shop-copy li::before { content:'✓'; margin-right:.7rem; color:#94733d; }
.bath-shop-gallery { position:relative; min-height:680px; }
.bath-shop-gallery figure { margin:0; }
.bath-shop-gallery img { width:100%; height:100%; object-fit:cover; }
.bath-shop-main { position:absolute; inset:0 0 12% 8%; box-shadow:0 24px 60px rgba(20,35,39,.18); }
.bath-shop-detail { position:absolute; bottom:0; left:0; width:34%; height:47%; border:8px solid #eef1f1; box-shadow:0 18px 40px rgba(20,35,39,.22); }
.bath-shop-gallery figcaption { position:absolute; right:0; bottom:0; padding:.65rem .85rem; background:rgba(25,39,43,.9); color:#fff; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; }
.bath-final-form > p:not(.eyebrow) { margin:-.8rem 0 1rem; color:#687276; font-size:.9rem; }
.bath-final-form iframe { display:block; min-height:450px; }
.bath-final-actions { margin-top:.8rem; }

.hero-lead-card {
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  width: min(560px, calc(100% - 5rem));
  margin: 3rem auto 8rem;
  padding: 2rem;
  background: rgba(255,255,255,.97);
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(10,18,21,.34);
}
.hero:has(.hero-lead-card) .hero-copy { grid-column:1; grid-row:1; }
.hero:has(.hero-lead-card) .hero-image { grid-column:2; grid-row:1; }
.hero-lead-card h2 { margin:.15rem 0 .65rem; font:500 clamp(2rem,2.8vw,3rem)/1.06 'Playfair Display',serif; letter-spacing:-.035em; }
.hero-lead-card > p:not(.eyebrow) { margin:0 0 .8rem; color:#667174; font-size:.92rem; line-height:1.55; }
.hero-lead-card iframe { display:block; min-height:432px; }
.hero-form-actions { margin-top:.7rem; }
.hero-form-actions .button { flex:1 1 180px; }
.hero:has(.hero-lead-card) .hero-image::after { content:''; position:absolute; inset:0; background:rgba(19,30,34,.3); }
.hero:has(.hero-lead-card) .hero-image figcaption { z-index:2; }

@media (max-width: 900px) {
  .mid-cta {
    align-items: flex-start;
    flex-direction: column;
    padding: 3.5rem 6vw;
  }
  .bath-showroom,.bath-custom-shop { grid-template-columns:1fr; }
  .hero-lead-card { grid-column:1; grid-row:2; width:min(600px,calc(100% - 3rem)); margin:3rem auto; }
  .hero:has(.hero-lead-card) .hero-image { grid-column:1; grid-row:2; min-height:760px; }
  .hero:has(.hero-lead-card) .hero-stats { grid-row:3; }
  .bath-showroom-visual { min-height:420px; }
  .bath-shop-gallery { min-height:560px; }
}

@media (max-width: 600px) {
  .bath-showroom-visual { min-height:310px; }
  .bath-showroom-content { padding:3.5rem 6vw; }
  .bath-showroom-locations,.bath-shop-stats { grid-template-columns:1fr; }
  .bath-shop-stats div + div { padding-left:0; border-left:0; border-top:1px solid #c6cecf; }
  .bath-shop-gallery { min-height:460px; }
  .bath-shop-main { inset:0 0 10% 0; }
  .bath-shop-detail { width:42%; height:42%; border-width:5px; }
  .bath-showroom .button,.bath-custom-shop .button,.bath-final-form .button { width:100%; text-align:center; }
  .hero-lead-card { width:calc(100% - 1.5rem); margin:1.5rem auto; padding:1.3rem; }
  .hero:has(.hero-lead-card) .hero-image { min-height:720px; }
  .hero-lead-card h2 { font-size:2rem; }
}
