/* reinstate.sg footer system v20261017: one structure, light default, .rs-foot--dark for homepage */
.rs-foot{
  --f-bg:#f4f4f2;--f-text:#52525b;--f-strong:#0a0a0a;--f-label:#52525b;
  --f-link:#0a0a0a;--f-hover:#047857;--f-rule:#e7e5e4;--f-accent:#10b981;
  margin:64px 0 0;padding:48px 0 32px;border-top:1px solid var(--f-rule);
  background:var(--f-bg);color:var(--f-text);text-align:left;
  font:400 14px/1.6 'Inter',system-ui,-apple-system,sans-serif;
}
.rs-foot--dark{
  --f-bg:#0a0a0a;--f-text:#a1a1aa;--f-strong:#fafaf9;--f-label:#8e8e99;
  --f-link:#fafaf9;--f-hover:#10b981;--f-rule:#27272a;margin-top:0;
}
.rs-foot *{box-sizing:border-box}
.rs-foot p{margin:0}
.rs-foot__inner,.rs-foot__bottom{max-width:1080px;margin:0 auto;padding:0 22px}
.rs-foot__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:32px 40px}

/* Brand */
.rs-foot__brand::before{content:"";display:block;width:32px;height:3px;border-radius:2px;background:var(--f-accent);margin-bottom:16px}
.rs-foot__logo{display:inline-flex;align-items:baseline;gap:8px;font:700 20px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.02em;color:var(--f-strong);text-decoration:none}
.rs-foot__by{font:600 10px/1 'Space Grotesk',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--f-text)}
.rs-foot__tagline{margin-top:10px;max-width:34ch}

/* Columns */
.rs-foot__label{margin-bottom:8px;font:600 11px/1.4 'Space Grotesk',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--f-label)}
.rs-foot__list{list-style:none;margin:0;padding:0}
.rs-foot__list li{margin:0}
.rs-foot__list a{display:inline-block;padding:5px 0}
.rs-foot a{color:var(--f-link);text-decoration:none}
.rs-foot a:hover{color:var(--f-hover);text-decoration:underline;text-underline-offset:3px}
.rs-foot a:focus-visible{color:var(--f-hover);outline:2px solid var(--f-hover);outline-offset:2px;border-radius:2px}
.rs-foot__wa{font-weight:600}

/* Legal bar */
.rs-foot__bottom{margin-top:36px}
.rs-foot__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;border-top:1px solid var(--f-rule);padding-top:20px;font-size:12px;line-height:1.6;color:var(--f-text)}
.rs-foot__legal{max-width:70ch}
.rs-foot__bar a{color:var(--f-text);text-decoration:underline;text-decoration-color:var(--f-rule);text-underline-offset:2px}
.rs-foot__bar a:hover{color:var(--f-hover);text-decoration-color:currentColor}

/* Responsive */
@media(max-width:760px){
  .rs-foot{padding:40px 0 104px}
  .rs-foot__inner{grid-template-columns:1fr 1fr;gap:28px 24px}
  .rs-foot__brand{grid-column:1/-1}
}
@media(max-width:600px){.rs-foot__inner,.rs-foot__bottom{padding:0 18px}}
@media(max-width:400px){.rs-foot__inner{grid-template-columns:1fr}}

/* Sticky WhatsApp */
.sticky-wa{
  position:fixed;z-index:40;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25d366;color:#04210f;text-decoration:none;
  box-shadow:0 10px 24px -6px rgba(10,10,10,.35);transition:transform .2s,background-color .2s;
}
.sticky-wa:hover{background:#1ebe5a;transform:translateY(-2px)}
.sticky-wa:focus-visible{outline:3px solid #0a0a0a;outline-offset:3px}
.sticky-wa svg{width:28px;height:28px}
@media(prefers-reduced-motion:no-preference){.sticky-wa{animation:rsWaPulse 2.4s ease-out 2}}
@keyframes rsWaPulse{
  0%{box-shadow:0 10px 24px -6px rgba(10,10,10,.35),0 0 0 0 rgba(37,211,102,.45)}
  100%{box-shadow:0 10px 24px -6px rgba(10,10,10,.35),0 0 0 16px rgba(37,211,102,0)}
}
@media print{.sticky-wa{display:none}}
