.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-259edba */.cps-footer{position:relative;overflow:hidden;background:var(--cps-ink,#161b21);color:#fff;padding:76px 0 0}
.cps-footer::before{content:"";position:absolute;left:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(199,159,82,.14),transparent 68%);pointer-events:none}
.cps-footer-inner{position:relative;z-index:1;width:min(1200px,calc(100% - 44px));margin-inline:auto}

/* top strip — the three things people actually want */
.cps-foot-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:52px;
  border-bottom:1px solid rgba(255,255,255,.1)}
.cps-foot-card{display:flex;gap:15px;align-items:flex-start;padding:22px;border-radius:16px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:.25s ease}
.cps-foot-card:hover{background:rgba(255,255,255,.09);transform:translateY(-3px)}
.cps-foot-ico{flex:0 0 auto;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:rgba(199,159,82,.16);color:var(--cps-brass-light,#c79f52)}
.cps-foot-card small{display:block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.5)}
.cps-foot-card a,.cps-foot-card b{display:block;margin-top:6px;font-size:16px;font-weight:700;color:#fff;
  text-decoration:none;line-height:1.45}
.cps-foot-card a:hover{color:var(--cps-brass-light,#c79f52)}
.cps-foot-card span{display:block;margin-top:5px;font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6}

/* link columns */
.cps-foot-grid{display:grid;grid-template-columns:1.45fr .8fr .8fr 1.15fr;gap:44px;padding:52px 0}
.cps-foot-brand .cps-brand{color:#fff}
.cps-foot-brand .cps-brand-mark{background:#fff;color:var(--cps-slate,#20394c)}
.cps-foot-brand .cps-brand-copy span{color:rgba(255,255,255,.5)}
.cps-foot-brand p{margin:20px 0 0;max-width:340px;font-size:14px;line-height:1.75;color:rgba(255,255,255,.55)}
.cps-social{display:flex;gap:9px;margin-top:24px}
.cps-social a{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);transition:.22s ease}
.cps-social a:hover{background:var(--cps-brass,#a4802e);border-color:var(--cps-brass,#a4802e);transform:translateY(-3px)}

.cps-foot-title{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
  color:var(--cps-brass-light,#c79f52);margin-bottom:18px}
.cps-foot-links{display:grid;gap:12px}
.cps-foot-links a{font-size:14px;color:rgba(255,255,255,.62);text-decoration:none;transition:.2s ease;width:fit-content}
.cps-foot-links a:hover{color:#fff;transform:translateX(3px)}

.cps-foot-ask p{margin:0 0 16px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.55)}
.cps-foot-ask .cps-btn{width:100%}
.cps-foot-hours{margin-top:20px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.45)}
.cps-foot-hours b{color:rgba(255,255,255,.8);font-weight:700}

/* oversized wordmark */
.cps-wordmark{display:block;width:100%;margin:0;padding:10px 0 0;line-height:.82;font-weight:700;
  font-size:clamp(58px,13vw,168px);letter-spacing:-.045em;color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.13);user-select:none;pointer-events:none}

.cps-foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:24px 0 30px;margin-top:18px;border-top:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.42);font-size:12.5px}
.cps-foot-bottom nav{display:flex;gap:20px;flex-wrap:wrap}
.cps-foot-bottom a{color:rgba(255,255,255,.42);text-decoration:none}
.cps-foot-bottom a:hover{color:#fff}

@media(max-width:1000px){
  .cps-foot-contact{grid-template-columns:1fr}
  .cps-foot-grid{grid-template-columns:1fr 1fr;gap:34px}
  .cps-foot-brand,.cps-foot-ask{grid-column:1/-1}
}
@media(max-width:720px){
  .cps-footer{padding-top:56px}
  .cps-footer-inner{width:min(100% - 28px,1200px)}
  .cps-foot-grid{grid-template-columns:1fr}
  .cps-foot-bottom{flex-direction:column;gap:12px}
}
.cps-foot-card span{
    padding: 12px;
}/* End custom CSS */