/* TOP: make the first-visit offer readable at a glance in both locations. */
.home .campaign-promo{background:#eaf4ed;padding-block:30px}
.home .campaign-promo__inner{
  background:#fff;border:1px solid #bfd9cd;border-left:5px solid var(--green);
  border-radius:9px 34px 9px 9px;box-shadow:0 12px 30px #1a675515;
  padding:27px 30px;gap:clamp(18px,2.5vw,34px);
}
.home .campaign-promo .eyebrow{margin:0 0 7px}
.home .campaign-promo h2{font-size:clamp(22px,2vw,28px);line-height:1.45;margin:0 0 8px;color:var(--green-deep)}
.home .campaign-promo h2 span{display:inline-block;white-space:nowrap}
.home .campaign-promo__inner>div:first-child>p:last-child{font-size:14px;line-height:1.75}
.home .campaign-promo__price{border-left:1px solid #cbded4;padding-left:24px;gap:8px}
.home .campaign-promo__price>span{font-size:13px}
.home .campaign-promo__price strong{font-size:clamp(37px,3.2vw,45px);color:var(--green-deep)}
.home .campaign-promo__price strong small{
  padding:5px 9px;border-radius:20px;background:#fff0bf;
  color:#6b5718;font-size:12px;white-space:nowrap;
}
.home .campaign-promo .button{min-height:54px;border-radius:9px;font-weight:800}
.home .first-visit__booking{
  background:#eaf4ed;border:1px solid #b9d7c9;border-left:5px solid var(--green);
  border-radius:9px 38px 9px 9px;box-shadow:0 12px 32px #1a675514;
  padding:clamp(25px,3vw,38px);gap:clamp(24px,3vw,42px);
}
.home .first-visit__booking .visit-fee__service{font-size:18px;line-height:1.55;margin-bottom:17px;color:var(--green-deep)}
.home .first-visit__booking .visit-fee__regular{font-size:14px}
.home .first-visit__booking .visit-fee__campaign{margin:16px 0 10px}
.home .first-visit__booking .visit-fee__campaign>span{
  display:inline-block;padding:5px 10px;border-radius:20px;background:#fff0bf;
  color:#6b5718;font-size:13px;
}
.home .first-visit__booking .visit-fee__campaign strong{font-size:clamp(46px,4.4vw,62px);line-height:1.15;color:var(--green-deep)}
.home .first-visit__booking .visit-fee__time{font-size:15px}
.home .first-visit__booking .visit-booking{
  min-width:0;background:#fff;border:1px solid #d4e5dc;border-radius:9px 27px 9px 9px;
  padding:25px 27px;
}
.home .first-visit__booking .visit-booking__payment{font-size:13px;line-height:1.65;margin-bottom:16px}
.home .first-visit__booking .visit-booking .button{min-height:54px;border-radius:9px;font-weight:800}
.home .first-visit__booking .visit-booking>p:last-child{line-height:1.75;color:var(--ink-soft)}
@media(max-width:600px){
  .home .campaign-promo{padding:16px var(--pad) 25px}
  .home .campaign-promo__inner{padding:22px 19px;gap:13px;border-radius:8px 27px 8px 8px}
  .home .campaign-promo h2{font-size:21px}
  .home .campaign-promo__inner>div:first-child>p:last-child{font-size:13px}
  .home .campaign-promo__price{border-left:0;border-top:1px solid #d4e5dc;padding:13px 0 0;gap:6px}
  .home .campaign-promo__price strong{font-size:39px}
  .home .campaign-promo__price strong small{display:inline-block;margin:0 0 5px}
  .home .campaign-promo .button{min-height:50px;margin-top:0}
  .home .first-visit__booking{padding:22px 19px;gap:20px;border-radius:8px 28px 8px 8px}
  .home .first-visit__booking .visit-fee__service{font-size:16px}
  .home .first-visit__booking .visit-fee__campaign strong{font-size:52px}
  .home .first-visit__booking .visit-booking{padding:20px 17px;border-top:1px solid #d4e5dc}
  .home .first-visit__booking .visit-booking .button{min-height:50px}
}
