/* ---------- booking hero ---------- */
.booking-hero{padding:64px 0 40px;text-align:center;}
.booking-hero h1{font-size:clamp(2.1rem,4.4vw,3.1rem);margin-bottom:18px;}
.booking-hero h1 em{font-style:normal;color:var(--clay);}
.booking-hero p{font-size:1.08rem;color:var(--ink-soft);max-width:42em;margin:0 auto;}

/* ---------- what to expect strip ---------- */
.expect{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:44px 0 0;}
.expect div{
  background:var(--sage);border-radius:16px;padding:18px 22px;
  font-size:.93rem;color:var(--ink-soft);text-align:left;
}
.expect strong{display:block;color:var(--ink);font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;margin-bottom:4px;}

/* ---------- calendar ---------- */
.cal-section{padding:48px 0 88px;}
.cal-shell{
  background:#fff;border:1px solid var(--line);border-radius:24px;
  padding:18px;min-height:640px;
  box-shadow:0 20px 50px rgba(30,58,54,.08);
}
#my-cal-inline{width:100%;height:100%;min-height:600px;overflow:auto;}
.cal-fallback{
  text-align:center;padding:80px 24px;color:var(--ink-soft);max-width:34em;margin:0 auto;
}
.cal-fallback h3{margin-bottom:12px;font-size:1.3rem;color:var(--ink);}
.cal-fallback a{color:var(--green);font-weight:600;}
.cal-note{margin-top:22px;text-align:center;font-size:.9rem;color:var(--ink-soft);}
.cal-note a{color:var(--green);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--sage-deep);}
.cal-note a:hover{border-color:var(--clay);}

/* ---------- alt contact ---------- */
.alt-contact{background:var(--sage);padding:64px 0;}
.alt-contact .inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;}
.alt-contact h2{font-size:1.6rem;margin-bottom:8px;}
.alt-contact p{color:var(--ink-soft);max-width:36em;}
.alt-contact a.link{color:var(--green);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--sage-deep);}
.alt-contact a.link:hover{border-color:var(--clay);}

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .expect{grid-template-columns:1fr;}
  .booking-hero{padding:48px 0 28px;}
  .cal-section{padding:32px 0 64px;}
  .alt-contact .inner{flex-direction:column;align-items:flex-start;}
}
@media (max-width: 480px){
  .booking-hero{padding:36px 0 20px;}
  .cal-section{padding:24px 0 48px;}
  .cal-shell{padding:10px;}
  .expect div{padding:14px 16px;}
}
