/* Reserve call-to-action band. */
/* Top padding allows for the top wave, bottom padding for the footer wave that overlaps it; content sits centred in the visible band. */
.lmn-cta { position: relative; width: 100vw; margin-left: calc(50% - 50vw); padding: calc(var(--lmn-section) + clamp(32px, 6vw, 80px)) var(--lmn-gutter) calc(var(--lmn-section) + clamp(28px, 5vw, 60px)); text-align: center; overflow: hidden; }
.lmn-cta--coral { background: var(--lmn-coral); color: var(--lmn-white); }
.lmn-cta--yellow { background: var(--lmn-yellow); color: var(--lmn-black); }
.lmn-cta--yellow-soft { background: var(--lmn-yellow-soft); color: var(--lmn-black); }
.lmn-cta--black { background: var(--lmn-black); color: var(--lmn-cream); }
.lmn-cta__wave { position: absolute; left: 0; right: 0; top: -1px; height: clamp(32px, 6vw, 80px); line-height: 0; z-index: 1; }
.lmn-cta__wave svg { width: 100%; height: 100%; display: block; }
.lmn-cta__wave path { fill: var(--lmn-cream); }
.lmn-cta__inner { max-width: 40rem; margin-inline: auto; position: relative; }
.lmn-cta__title { margin-bottom: 0.4em; }
.lmn-cta--coral .lmn-cta__title { color: var(--lmn-white); }
.lmn-cta__text { font-size: 1.125rem; margin-bottom: 1.5rem; }
.lmn-cta__actions { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; justify-content: center; align-items: center; }
.lmn-site .lmn-cta__phone { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 700; color: var(--lmn-white); text-decoration: none; }
.lmn-site .lmn-cta--yellow .lmn-cta__phone, .lmn-site .lmn-cta--yellow-soft .lmn-cta__phone { color: var(--lmn-black); }
.lmn-site .lmn-cta--black .lmn-cta__phone { color: var(--lmn-cream); }
.lmn-site .lmn-cta__phone:hover { text-decoration: underline; }
.lmn-cta--coral .lmn-btn--primary { background: var(--lmn-white); color: var(--lmn-coral-deep); box-shadow: none; }
.lmn-cta--coral .lmn-btn--primary:hover { background: var(--lmn-black); color: var(--lmn-white); }
.lmn-cta--yellow .lmn-btn--primary, .lmn-cta--yellow-soft .lmn-btn--primary { background: var(--lmn-black); color: var(--lmn-white); box-shadow: none; }
.lmn-cta--yellow .lmn-btn--primary:hover, .lmn-cta--yellow-soft .lmn-btn--primary:hover { background: var(--lmn-coral-deep); }
.lmn-cta--black .lmn-btn--primary { background: var(--lmn-yellow); color: var(--lmn-black); box-shadow: none; }
.lmn-cta--black .lmn-btn--primary:hover { background: var(--lmn-white); }
.lmn-cta__deco { position: absolute; width: 14rem; height: 14rem; border-radius: 50%; opacity: 0.15; background: currentColor; pointer-events: none; }
/* Circles sit inside the visible band (below the top wave, above the footer wave) and only run off the side edge. */
.lmn-cta__deco--1 { left: -6rem; bottom: calc(clamp(28px, 5vw, 60px) - 2rem); }
.lmn-cta__deco--2 { right: -4rem; top: calc(clamp(32px, 6vw, 80px) + 1rem); width: 10rem; height: 10rem; }
