/* Site-wide call to action and footer (operator 2026-11-04). Own file so it ships without custom.css. */
.zde-fcta-wrap { margin-top: clamp(40px, 5vw, 72px); }

/* Call to action */
.zde-close { position: relative; display: grid; place-items: center; min-height: clamp(520px, 48vw, 680px); padding: clamp(64px, 8vw, 120px) clamp(20px, 5vw, 80px); background: #141416; color: #fff; text-align: center; }
.zde-close::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgb(10 8 6 / .68); }
.zde-close__ph { position: absolute; inset: 0; margin: 0; overflow: hidden; }
.zde-close__ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 75%; }
.zde-close__in { position: relative; z-index: 2; min-width: 0; }
.zde-close h2.zde-close__k { max-width: 70ch; margin: 0 auto 16px; color: #FFD2CD; font: 500 var(--zde-fs-label)/1.5 var(--zde-mono); letter-spacing: .08em; text-transform: uppercase; }
.zde-close__d { max-width: 16em; margin: 0 auto; color: #fff; font-family: var(--zde-head); font-size: var(--zde-fs-headline); font-weight: 500; line-height: .94; letter-spacing: -.025em; text-transform: uppercase; text-wrap: balance; }
.zde-close__lead { max-width: 58ch; margin: 18px auto 0; color: #F4F0E8; font-size: var(--zde-fs-lead); line-height: 1.55; }
/* .zde-fcta__acts stays for the call bar, but its old 380px column would pin the buttons left */
.zde-close .zde-actions { flex-direction: row; justify-content: center; gap: 16px 20px; width: auto; max-width: none; margin-top: clamp(24px, 2.6vw, 36px); }
.zde-close .zde-actions .zde-btn { width: auto; }
.zde-close a.zde-btn--ghost, .zde-close a.zde-btn--ghost:visited { color: #fff; }
.zde-close a.zde-btn--primary, .zde-close a.zde-btn--primary:visited { color: var(--zde-on-fill); }

/* Footer */
.zde-sfoot { background: #0C0C0D; color: #F2EFEA; font-family: var(--zde-sans); font-size: 16px; line-height: 1.6; border-top: 1px solid rgb(255 255 255 / .1); }
.zde-sfoot__cols { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: 36px clamp(24px, 3vw, 56px); padding: clamp(44px, 5vw, 76px) clamp(20px, 5vw, 80px); }
.zde-sfoot ul { margin: 0; padding: 0; list-style: none; }
.zde-sfoot h2 { margin: 0 0 12px; color: #FF6F63; font: 500 var(--zde-fs-tag)/1.4 var(--zde-mono); letter-spacing: .08em; text-transform: uppercase; }
.zde-sfoot__logo { display: inline-block; width: min(300px, 72vw); }
.zde-sfoot__logo img { display: block; width: 100%; height: auto; }
.zde-sfoot__brand p { max-width: 34ch; margin: 16px 0 0; color: #C4C0B9; }
.zde-sfoot ul.zde-sfoot__facts { display: grid; gap: 2px; margin-top: 8px; color: #C4C0B9; font-size: .95rem; }
.zde-sfoot__svc ul { columns: 2; column-gap: 20px; }
/* The theme's bracket button, sized as a footer link */
.zde-sfoot a.zde-btn--text, .zde-sfoot a.zde-btn--text:visited { display: inline-flex; align-items: center; justify-content: flex-start; min-height: 34px; margin-left: -12px; padding: 5px 12px; color: #C4C0B9; font: 400 .96rem/1.4 var(--zde-sans); letter-spacing: 0; text-align: left; text-decoration: none; text-transform: none; }
.zde-sfoot a.zde-btn--text:is(:hover, :focus-visible) { color: #F2EFEA; outline: none; }
.zde-sfoot a.zde-sfoot__phone, .zde-sfoot a.zde-sfoot__phone:visited { margin-top: 14px; color: #F2EFEA; font: 500 clamp(1.5rem, 1.3rem + .7vw, 2rem)/1.2 var(--zde-head); letter-spacing: -.03em; white-space: nowrap; }
.zde-sfoot__legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 24px; padding: 18px clamp(20px, 5vw, 80px); border-top: 1px solid rgb(255 255 255 / .16); color: #C4C0B9; font-size: .86rem; }
.zde-sfoot__ll { display: flex; gap: 8px; }
.zde-sfoot__legal a.zde-btn--text, .zde-sfoot__legal a.zde-btn--text:visited { min-height: 28px; margin-left: 0; font-size: .86rem; }

@media (max-width: 1100px) {
  .zde-sfoot__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .zde-sfoot__brand { grid-column: 1 / -1; }
}
@media (max-width: 859px) {
  .zde-sfoot { padding-bottom: 76px; } /* the call bar never covers the legal row */
}
@media (max-width: 760px) {
  .zde-sfoot__cols { grid-template-columns: minmax(0, 1fr); }
  .zde-close .zde-actions { flex-direction: column; align-items: stretch; }
  .zde-close .zde-actions .zde-btn { width: 100%; }
}
