/* =========================================================
   SSHG Group - premium footer + mobile CTA row (footer.css)
   Loaded on every page from includes/header.php
   ========================================================= */
.sfoot{position:relative;overflow:hidden;color:#C3D8CA;padding:76px 0 0;
  background:radial-gradient(700px 360px at 90% 0,#f28a1c1f,transparent 60%),radial-gradient(700px 360px at 0 100%,#7db54424,transparent 60%),linear-gradient(180deg,#062A1B,#041a11)}
.sfoot::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--o),var(--gold),var(--leaf))}
.sfoot a{text-decoration:none}
.sfoot h4{position:relative;margin:0 0 20px;padding-bottom:12px;font:700 .8rem "Source Sans 3",system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.sfoot h4::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--o)}
.sf-top{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:48px;padding-bottom:52px}
.sf-logo{display:flex;align-items:center;gap:14px;margin-bottom:20px;color:#fff}
.sf-logo img{width:64px;height:auto;background:#fff;border-radius:14px;padding:4px;box-shadow:0 8px 22px #0006}
.sf-logo strong{display:block;font:800 1.45rem "Bricolage Grotesque",system-ui,sans-serif;line-height:1.1;color:#fff}
.sf-logo small{display:block;margin-top:4px;font-size:.82rem;color:var(--gold);letter-spacing:.04em}
.sf-brand p{margin:0;max-width:30em;font-size:.98rem;line-height:1.7;color:#B9D2C3}
.sf-col a{display:block;width:fit-content;padding:7px 0;color:#C3D8CA;transition:color .25s,transform .25s var(--ease)}
.sf-col a:hover{color:var(--gold);transform:translateX(5px)}
.sf-reach{padding:44px 0 46px;border-top:1px solid #ffffff1c}
.sf-cards{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:20px}
.sf-card{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:18px;color:#C3D8CA;background:linear-gradient(160deg,#ffffff17,#ffffff07);border:1px solid #ffffff1f;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
a.sf-card:hover{transform:translateY(-6px);border-color:#f6b73c88;box-shadow:0 22px 44px #00000040}
.sf-card i{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#062A1B;background:linear-gradient(135deg,var(--o),var(--gold))}
.sf-card i svg{width:21px;height:21px}
.sf-card span{display:block;min-width:0}
.sf-card strong{display:block;margin-bottom:6px;font:700 1.02rem "Bricolage Grotesque",system-ui,sans-serif;color:#fff}
.sf-card em{display:block;font-style:normal;font-size:.93rem;line-height:1.6}
.sf-contact a{display:block;padding:3px 0;color:#C3D8CA;font-size:.93rem;overflow-wrap:normal;transition:color .25s}
.sf-contact a:hover{color:var(--gold)}
.sf-bottom{padding:26px 0 30px;border-top:1px solid #ffffff1c;text-align:center}
.sf-bottom p{margin:0;font-size:.93rem;color:#B9D2C3}
.sf-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px!important}
.sf-badges span{padding:6px 14px;border-radius:30px;border:1px solid #ffffff26;background:#ffffff0d;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#CFE5D8}

@media(max-width:1020px){
  .sf-top{grid-template-columns:repeat(3,1fr);gap:36px}.sf-brand{grid-column:1/-1}
  .sf-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .sfoot{padding-top:56px}
  .sf-top{grid-template-columns:1fr 1fr;gap:34px 20px;padding-bottom:38px}
  .sf-brand{text-align:center}.sf-logo{justify-content:center;flex-direction:column;gap:10px;text-align:center}.sf-brand p{margin:0 auto;font-size:.95rem}
  .sf-pages{grid-column:1/-1}
  .sf-links{display:flex;flex-wrap:nowrap;gap:8px}
  .sf-pages .sf-links a{flex:1 1 auto;min-width:0;width:auto;padding:10px 6px;text-align:center;font-size:clamp(.78rem,3.6vw,.92rem);border:1px solid #ffffff2b;border-radius:30px;background:#ffffff0d}
  .sf-pages .sf-links a:hover{transform:none;border-color:var(--gold)}
  .sf-col a{padding:8px 0}
  .sf-reach{padding:34px 0 36px}
  .sf-cards{grid-template-columns:1fr;gap:14px}
  .sf-card{padding:18px}
  .sf-bottom{padding:22px 0 26px}
  .sf-badges{flex-wrap:nowrap;gap:6px}
  .sf-badges span{flex:0 1 auto;min-width:0;white-space:nowrap;text-transform:none;letter-spacing:0;font-size:clamp(.56rem,2.9vw,.72rem);padding:6px 7px}
}

/* "Let us build something dependable together": both buttons on one row on mobile */
@media(max-width:620px){
  .cta .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
  .cta .wrap h2,.cta .wrap p{flex:0 0 100%}
  .cta .wrap .btn{flex:1 1 auto;min-width:0;margin:0;padding:13px 10px;font-size:.84rem;text-align:center;white-space:nowrap}
}