/*
 * Canonical ESPO Home CTA
 * This local context guarantees that every instance uses the same Home markup,
 * rhythm, controls and responsive behaviour without applying Home styles to the page body.
 */
.espo-home-cta-canonical {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  isolation: isolate;
}
.espo-home-cta-canonical > .espo-final-cta { margin: 0; }
.espo-home-cta-canonical .espo-final-cta__panel {
  box-shadow: 0 26px 72px rgba(0,0,0,.16);
}
.espo-home-cta-canonical .espo-final-cta__copy > p { max-width: 50ch; color: #5f6b76; }
.espo-home-cta-canonical .espo-final-cta__actions { gap: .65rem; }

/* Prevent page templates from creating additional exterior spacing around the shared CTA. */
.espo-home-cta-canonical:first-child,
.espo-home-cta-canonical:last-child { margin-block: 0; }

@media (max-width: 767px) {
  .espo-home-cta-canonical .espo-final-cta__actions { gap: .65rem !important; }
  .espo-home-cta-canonical .espo-final-cta__actions .espo-btn {
    width: 100%;
    justify-content: center;
  }
}


/* Connected-script typography formerly depended on body.home. Scope it to the
   component so the Home CTA is identical on About, Projects and other pages. */
html:lang(fa) .espo-home-cta-canonical .espo-final-cta h2 {
  max-width: 22ch;
  font-size: clamp(1.55rem, 2.12vw, 2.38rem) !important;
  font-weight: 600 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
}
html:lang(ar) .espo-home-cta-canonical .espo-final-cta h2 {
  max-width: 23ch;
  font-size: clamp(1.62rem, 2.2vw, 2.48rem) !important;
  font-weight: 600 !important;
  line-height: 1.43 !important;
  letter-spacing: 0 !important;
}
html:lang(fa) .espo-home-cta-canonical .espo-final-cta__copy > p {
  max-width: 50ch;
  font-size: clamp(.96rem, .98vw, 1.04rem);
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: 0;
}
html:lang(ar) .espo-home-cta-canonical .espo-final-cta__copy > p {
  max-width: 50ch;
  font-size: clamp(.97rem, 1vw, 1.06rem);
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0;
}
