.site-footer { position:relative; background:#141619; color:#bdc0c7; font-size:14px; line-height:1.75; }
.site-footer-shell { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.site-footer a { color:#bdc0c7; transition:color .2s, background-color .2s, border-color .2s; }
.site-footer a:hover { color:#fff; }
.site-footer :is(a,button,input):focus-visible { outline:2px solid #fa7c84; outline-offset:5px; }
.site-footer-eyebrow { display:block; font-size:11px; letter-spacing:.13em; font-weight:700; line-height:1.6; text-transform:uppercase; color:#c6c9d0; }
.site-footer-intro { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:64px 0 54px; border-bottom:1px solid #ffffff20; }
.site-footer-intro h2 { color:#fff; font-size:clamp(36px,4.3vw,60px); font-weight:800; letter-spacing:-.045em; line-height:1.12; margin-top:18px; }
.site-footer-intro h2 span { color:#ee686e; }
.site-footer .site-footer-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; padding:18px 24px; color:#fff; font-size:14px; font-weight:700; border:1px solid #ffffff45; border-radius:8px; flex-shrink:0; }
.site-footer .site-footer-cta span { font-size:24px; line-height:1; color:#ee686e; }.site-footer .site-footer-cta:hover { background:#bf3039; border-color:#bf3039; }.site-footer-cta:hover span { color:#fff; }
.site-footer-grid { display:grid; grid-template-columns:1.35fr 1fr .85fr 1.3fr; gap:42px; padding:52px 0; }
.site-footer-grid > * { min-width:0; }
.site-footer-logo { display:inline-block; margin-bottom:20px; }.site-footer-logo img { display:block; width:220px; max-width:100%; height:auto; }
.site-footer-brand p { font-size:14px; line-height:1.85; color:#bdc0c7; margin:0 0 22px; max-width:31ch; }
.site-footer-socials { display:flex; flex-wrap:wrap; gap:8px; }.site-footer-socials a { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; border:1px solid #ffffff26; font-size:13px; }.site-footer-socials a:hover { background:#bf3039; border-color:#bf3039; }
.site-footer-grid h3 { font-size:14px; font-weight:800; color:#fff; margin:2px 0 22px; line-height:1.5; }
.site-footer-nav ul { list-style:none; padding:0; margin:0; }.site-footer-nav li + li { margin-top:10px; }.site-footer-nav a { display:inline-block; padding-block:2px; }.site-footer .site-footer-all-services { color:#ee9297; font-weight:700; }.site-footer-all-services span { margin-left:12px; }
.site-footer-contact > a { display:block; overflow-wrap:anywhere; margin-bottom:8px; font-size:13px; }.site-footer-contact .site-footer-phone { font-size:20px; font-weight:700; color:#fff; letter-spacing:-.025em; margin-bottom:12px; white-space:nowrap; }
.site-footer-contact address { margin:24px 0 0; font-style:normal; font-size:13px; color:#bdc0c7; }.site-footer-contact address .site-footer-eyebrow { margin-bottom:8px; color:#a5a9b1; font-size:10px; }
.site-footer-newsletter { padding:30px; border:1px solid #ffffff1f; border-radius:12px; background:#1b1e22; display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.site-footer-newsletter h3 { font-size:20px; color:#fff; font-weight:700; line-height:1.4; letter-spacing:-.02em; margin:0 0 6px; }.site-footer-newsletter p { margin:0; font-size:13px; color:#bdc0c7; }
.site-footer-email-field { display:flex; gap:8px; border-bottom:1px solid #737780; padding-bottom:8px; }.site-footer-email-field input { flex:1; min-width:0; width:100%; background:transparent; color:white; font-size:16px; line-height:1.5; padding:12px 4px; border:0; border-radius:0; }.site-footer-email-field input::placeholder { color:#afb3bc; opacity:1; }.site-footer-email-field button { display:inline-flex; align-items:center; gap:20px; padding:12px 16px; border-radius:6px; background:#bd3039; color:#fff; font-size:13px; font-weight:700; }.site-footer-email-field button:hover { background:#a32730; }.site-footer-email-field button:disabled { opacity:.6; cursor:wait; }
.site-footer-newsletter #newsletter-status { margin-top:12px; color:#c1e6cc; }.site-footer-newsletter #newsletter-status.is-error { color:#ffb6ba; }.site-footer [hidden] { display:none !important; }
.site-footer-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.site-footer-legal { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:28px 0; color:#a5a9b1; font-size:11px; }.site-footer-legal p { font-size:inherit; color:inherit; margin:0; }.site-footer-legal nav { display:flex; flex-wrap:wrap; gap:24px; }.site-footer-signoff { color:#a5a9b1; }
@media(max-width:1199px) { .site-footer-grid { grid-template-columns:1.2fr 1fr; gap:40px 60px; }.site-footer-brand p { max-width:38ch; }.site-footer-intro h2 { font-size:46px; } }
@media(max-width:767px) { .site-footer-shell { width:calc(100% - 40px); }.site-footer-intro { padding:42px 0 36px; gap:26px; align-items:flex-start; flex-direction:column; }.site-footer-intro h2 { font-size:38px; }.site-footer .site-footer-cta { padding:14px 20px; gap:36px; }.site-footer-grid { padding:36px 0; grid-template-columns:1fr 1fr; gap:32px 20px; }.site-footer-brand { grid-column:1/-1; }.site-footer-brand p { max-width:44ch; }.site-footer-contact { grid-column:1/-1; padding-top:24px; border-top:1px solid #ffffff20; }.site-footer-grid h3 { margin-bottom:16px; }.site-footer-nav a { font-size:13px; }.site-footer-newsletter { grid-template-columns:1fr; gap:20px; padding:24px 20px; }.site-footer-newsletter h3 { font-size:19px; }.site-footer-email-field { gap:4px; }.site-footer-email-field button { gap:10px; padding-inline:12px; }.site-footer-legal { flex-direction:column; align-items:flex-start; gap:12px; padding-block:24px; }.site-footer-signoff { display:none; } }
@media(prefers-reduced-motion:reduce) { .site-footer a { transition:none; } }
