/* Static cleanup additions: accessibility, reduced motion, focus states */
.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 9999;
  padding: 0.75rem 1rem;
  background: var(--cream, #F0EBE3);
  color: var(--ink-0, #070503);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  transform: translateY(-140%);
  transition: transform 0.2s ease;
}
.skip-link:focus {
  transform: translateY(0);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--red-hi, #E05530);
  outline-offset: 4px;
}
main {
  min-height: 60vh;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* GLOBAL CTA GLOW MODULE: shared bottom-callout treatment */
.site-cta-glow {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.site-cta-glow::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(64rem, 86vw);
  height: min(32rem, 44vw);
  transform: translate(-50%, -50%) scale(.92);
  border-radius: 50%;
  background:
    radial-gradient(ellipse 50% 50% at 50% 50%, rgba(224,85,48,.14), transparent 66%),
    radial-gradient(ellipse 75% 55% at 50% 50%, rgba(88,205,210,.065), transparent 76%);
  filter: blur(24px);
  opacity: .66;
  pointer-events: none;
  z-index: 0;
  animation: siteCtaPulseField 6.2s ease-in-out infinite;
}

.site-cta-glow > * {
  position: relative;
  z-index: 2;
}

.site-cta-glow .btn-primary,
.site-cta-glow .nav-cta,
.site-cta-glow .menu-cta,
.site-cta-glow a[href*="calendly"],
.site-cta-glow a[href*="contact"],
.site-cta-glow button[type="submit"] {
  position: relative;
  box-shadow:
    0 0 20px rgba(224,85,48,.18),
    0 0 44px rgba(224,85,48,.070);
  animation: siteCtaButtonPulse 5.4s ease-in-out infinite;
}

@keyframes siteCtaPulseField {
  0%, 100% {
    opacity: .44;
    transform: translate(-50%, -50%) scale(.90);
  }
  50% {
    opacity: .80;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes siteCtaButtonPulse {
  0%, 100% {
    box-shadow:
      0 0 18px rgba(224,85,48,.14),
      0 0 36px rgba(224,85,48,.050);
  }
  50% {
    box-shadow:
      0 0 26px rgba(224,85,48,.30),
      0 0 58px rgba(224,85,48,.10);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cta-glow::before,
  .site-cta-glow .btn-primary,
  .site-cta-glow .nav-cta,
  .site-cta-glow .menu-cta,
  .site-cta-glow a[href*="calendly"],
  .site-cta-glow a[href*="contact"],
  .site-cta-glow button[type="submit"] {
    animation: none !important;
  }
}

/* GLOBAL SECONDARY CTA GLOW MODULE: quiet halo for paired text links */
.site-cta-glow .btn-ghost,
.site-cta-glow .link-arrow,
.site-cta-glow a:not(.btn-primary):not(.nav-cta):not(.menu-cta) {
  position: relative;
  z-index: 2;
}

.site-cta-glow .btn-ghost::before,
.site-cta-glow .link-arrow::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 2.2rem);
  height: calc(100% + 1.2rem);
  transform: translate(-50%, -50%) scale(.88);
  border-radius: 999px;
  background:
    radial-gradient(ellipse 70% 70% at 50% 50%, rgba(224,85,48,.12), transparent 70%),
    radial-gradient(ellipse 90% 70% at 50% 50%, rgba(88,205,210,.045), transparent 76%);
  filter: blur(10px);
  opacity: .36;
  pointer-events: none;
  z-index: -1;
  animation: siteSecondaryCtaGlow 5.8s ease-in-out infinite;
}

.site-cta-glow .btn-ghost:hover::before,
.site-cta-glow .link-arrow:hover::before {
  opacity: .72;
  transform: translate(-50%, -50%) scale(1);
}

.site-cta-glow .btn-ghost:hover,
.site-cta-glow .link-arrow:hover {
  text-shadow:
    0 0 10px rgba(224,85,48,.20),
    0 0 18px rgba(88,205,210,.08);
}

@keyframes siteSecondaryCtaGlow {
  0%, 100% {
    opacity: .28;
    transform: translate(-50%, -50%) scale(.88);
  }
  50% {
    opacity: .56;
    transform: translate(-50%, -50%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cta-glow .btn-ghost::before,
  .site-cta-glow .link-arrow::before {
    animation: none !important;
  }
}

/* GLOBAL SECONDARY CTA GLOW FIX: make text CTAs render a visible halo box */
.site-cta-glow .btn-ghost,
.site-cta-glow .link-arrow,
.site-cta-glow a[href*="services"],
.site-cta-glow a[href*="contact"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  z-index: 2;
  isolation: isolate;
}

.site-cta-glow .btn-ghost::before,
.site-cta-glow .link-arrow::before,
.site-cta-glow a[href*="services"]::before,
.site-cta-glow a[href*="contact"]::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 2.75rem);
  height: calc(100% + 1.35rem);
  min-width: 8.5rem;
  min-height: 2.25rem;
  transform: translate(-50%, -50%) scale(.92);
  border-radius: 999px;
  background:
    radial-gradient(ellipse 72% 72% at 50% 50%, rgba(224,85,48,.16), transparent 70%),
    radial-gradient(ellipse 95% 75% at 50% 50%, rgba(88,205,210,.055), transparent 78%);
  filter: blur(10px);
  opacity: .46;
  pointer-events: none;
  z-index: -1;
  animation: siteSecondaryCtaGlowFixed 5.8s ease-in-out infinite;
}

.site-cta-glow .btn-ghost:hover::before,
.site-cta-glow .link-arrow:hover::before,
.site-cta-glow a[href*="services"]:hover::before,
.site-cta-glow a[href*="contact"]:hover::before {
  opacity: .82;
  transform: translate(-50%, -50%) scale(1);
}

@keyframes siteSecondaryCtaGlowFixed {
  0%, 100% {
    opacity: .36;
    transform: translate(-50%, -50%) scale(.92);
  }
  50% {
    opacity: .68;
    transform: translate(-50%, -50%) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cta-glow .btn-ghost::before,
  .site-cta-glow .link-arrow::before,
  .site-cta-glow a[href*="services"]::before,
  .site-cta-glow a[href*="contact"]::before {
    animation: none !important;
  }
}
