/* ======================================================
   SITE FOOTER  (Anchor Corps Divi grandchild)
   Enqueue as handle "ac-footer" (dep "anchor-child-style").
====================================================== */

.ac-site-footer {
  width: 100%;
  /* High stacking context for the WHOLE footer. Mirrors the original Divi
     footer, whose wrapping section had z-index:9999999999. It makes the fixed
     #expanding-cta-background (z-index:-1 WITHIN this context) paint ABOVE the
     page content above the footer -> the mountain "takes over the whole screen"
     when the CTA activates, with the footer content rendering on top.
     NOTE: this also sits above a sticky header (z-index:999999); lower it just
     under the header z-index if you want the header to stay visible. */
  position: relative;
  z-index: 9999999999;
}

.ac-footer-cta-section,
.ac-footer-main {
  width: 100%;
}

.ac-footer-main {
  /* bottom 0 = the "tab" sits flush at the bottom edge (preferred).
     Use a bottom value (e.g. 20px) if you want it to float with the
     background showing beneath it too. */
  padding: 0 20px 0px;
}

.ac-footer-inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  background: #f4f4f2;
  border-radius: 30px 30px 0 0;   /* tab look: rounded top corners */
  padding: clamp(36px, 5vw, 72px) clamp(24px, 5vw, 64px) 24px;
}

.ac-footer-top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 32px;
  margin-bottom: clamp(40px, 6vw, 72px);
}

.ac-footer-heading h2 {
  margin: 0;
  font-size: clamp(56px, 7vw, 100px);
  line-height: 0.98;
  font-weight: 500;
  color: #666;
}

.ac-footer-heading h2 span { color: #2f5f91; }

.ac-footer-buttons { padding-top: 42px; }

.ac-footer-columns {
  display: grid;
  grid-template-columns: minmax(320px, 1.4fr) 1fr 1fr;
  gap: clamp(40px, 8vw, 140px);
  align-items: start;
}

.ac-blurb-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.blurb-link-header {
  margin: 0 0 14px;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.2;
  color: #666;
  font-weight: 600;
}

.blurb-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: #37a9e8;
  font-size: clamp(18px, 1.6vw, 26px);
  line-height: 1.3;
  text-decoration: none;
}

.blurb-link i {
  width: 22px;
  min-width: 22px;
  text-align: center;
  color: currentColor;
}

.ac-footer-bottom {
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: 24px;
  border-top: 1px solid rgba(0,0,0,.12);
  text-align: center;
}

.ac-footer-bottom p {
  margin: 0;
  color: #111;
  font-size: clamp(15px, 1.4vw, 20px);
  line-height: 1.4;
}

.ac-footer-bottom a { color: inherit; text-decoration: underline; }

@media (max-width: 980px) {
  .ac-footer-top { grid-template-columns: 1fr; }
  .ac-footer-buttons { padding-top: 0; }
  .ac-footer-columns { grid-template-columns: 1fr 1fr; gap: 40px; }
  .ac-footer-contact { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .ac-footer-main { padding: 0 12px 12px; }
  .ac-footer-inner { border-radius: 24px 24px 0 0; padding: 36px 22px 22px; }
  .ac-footer-columns { grid-template-columns: 1fr; gap: 34px; }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; justify-content: space-between; }
  .blurb-link { width: 100%; align-items: flex-start; }
}

/* ======================================================
   EXPANDING CTA (Footer)
   ┌───────────────────────────────────────────────────┐
   │ ★ PER-SITE EDIT #2 — the big background photo.      │
   │ Change the url() below to THIS site's uploaded      │
   │ image (use a ROOT-RELATIVE path so it works on any  │
   │ environment, e.g. /wp-content/uploads/2026/04/X.avif│
   └───────────────────────────────────────────────────┘
====================================================== */

#expanding-cta-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
    url('/wp-content/uploads/2025/11/Artboard-7.jpg');   /* ★ PER-SITE */
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  transition: opacity 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
}

#expanding-cta-background.active { opacity: 1; }

#expanding-cta-container {
  position: relative;
  cursor: default;
  border-radius: 20px;
  padding: 80px 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 800px;
  width: 95%;
  max-width: 1440px;
  margin: 40px auto;
  background-color: var(--theme-main-light);
  transition: transform 0.7s cubic-bezier(0.25, 0.8, 0.25, 1),
    background-color 0.7s cubic-bezier(0.25, 0.8, 0.25, 1);
  z-index: 1;
}

#expanding-cta-container.active {
  transform: scale(1.05);
  background-color: transparent;
}

.expanding-cta-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.expanding-cta-content .logo { max-width: 300px; margin-bottom: 20px; }

.expanding-cta-content h2.h2-h1 {
  color: #ffffff;
  font-weight: 600;
  margin-bottom: 1rem;
  line-height: 1.2;
  font-size: clamp(60px, 7vw, 120px) !important;
  letter-spacing: -.05em !important;
}

.expanding-cta-content p { font-size: 1.7rem; line-height: 1.7em; }

.expanding-cta-content .btn-row-container { margin-top: 2em; }
