/* Parasol v3.21 — footer layout refinements + WhatsApp right position.
   Scoped to existing templates. No JS, external fonts or tracking. */

/* The original site.css sets left: on floating WhatsApp. Override even when a
   previous cached stylesheet or inline declaration has higher specificity. */
html body > a.whatsapp-float,
html body > a.wa,
html body a.whatsapp-float {
  position:fixed !important;
  left:auto !important;
  right:clamp(14px,2vw,28px) !important;
  bottom:calc(20px + env(safe-area-inset-bottom,0px)) !important;
  z-index:58;
}
@media (max-width:520px) {
  html body > a.whatsapp-float,
  html body > a.wa,
  html body a.whatsapp-float {
    left:auto !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* Main homepage & service page footer: single balanced layout, clear hierarchy. */
.site-footer {
  display:flex;
  flex-direction:column;
  padding-top:clamp(46px,5vw,70px);
  padding-bottom:0;
}
.site-footer > .footer-main {
  order:0;
  grid-template-columns:minmax(190px,1.15fr) minmax(140px,.68fr) minmax(190px,.9fr) minmax(230px,1.05fr);
  column-gap:clamp(26px,3.5vw,58px);
  row-gap:32px;
  align-items:start;
  padding-bottom:clamp(32px,4vw,50px);
}
.site-footer .footer-brand img { width:clamp(152px,13vw,193px); max-width:100%; height:auto; }
.site-footer .footer-brand p { margin-top:15px; line-height:1.65; }
.site-footer .footer-group, .site-footer .footer-end { gap:10px; }
.site-footer .footer-group h2, .site-footer .footer-end h2 { margin-bottom:6px; font-weight:700; color:#e7bc7d; }
.site-footer .footer-group a { display:block; padding:3px 0; line-height:1.45; }
.site-footer .footer-invite { font-size:clamp(23px,2vw,30px); line-height:1.35; }
.site-footer .footer-cta { margin-top:8px; }

/* Service area appears as a compact panel instead of a stray line between tiers. */
.site-footer > .shell[aria-label="Norfolk project enquiries"] {
  order:1;
  width:min(calc(100% - 96px),var(--shell,1400px));
  margin-inline:auto;
  padding:20px 24px !important;
  border:1px solid rgba(226,190,125,.22);
  background:rgba(255,255,255,.035);
  border-radius:6px;
}
.site-footer > .shell[aria-label="Norfolk project enquiries"] p { max-width:100%; }
.site-footer > .shell[aria-label="Norfolk project enquiries"] strong { display:inline-block; margin-bottom:4px; }

/* Put social icons before legal links and copyright; remove double heavy rules. */
.site-footer > #ps319-footer-social {
  order:2;
  width:min(calc(100% - 96px),var(--shell,1400px));
  max-width:none;
  margin:18px auto 0;
  padding:19px 2px;
  border-top:0;
  border-bottom:1px solid rgba(220,232,244,.15);
}
.site-footer #ps319-footer-social .ps319-inner { gap:14px 28px; }
.site-footer #ps319-footer-social .ps319-eyebrow { color:#e7bc7d; font-size:12px; }
.site-footer #ps319-footer-social a.ps319-network {
  border-color:rgba(225,185,111,.45);
  border-radius:6px;
  min-height:44px;
  background:rgba(255,255,255,.04);
}
.site-footer #ps319-footer-social a.ps319-network:hover { background:rgba(226,184,110,.15); }
.site-footer > [data-parasol-v317-legal-links="1"] {
  order:3;
  width:min(calc(100% - 96px),var(--shell,1400px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:16px 2px 10px !important;
  border-top:none !important;
}
.site-footer > [data-parasol-v317-legal-links="1"] nav { row-gap:9px; }
.site-footer > [data-parasol-v317-legal-links="1"] a { text-decoration:none !important; color:#c7d2da !important; font-size:13px; }
.site-footer > [data-parasol-v317-legal-links="1"] a:hover { text-decoration:underline !important; color:#eac28a !important; }
.site-footer > .footer-bottom {
  order:4;
  width:min(calc(100% - 96px),var(--shell,1400px));
  margin-inline:auto;
  border-top:0;
  padding:12px 0 27px;
  gap:12px 28px;
  font-size:13px;
  line-height:1.65;
  letter-spacing:0;
  flex-wrap:wrap;
  align-items:center;
}
.site-footer > .footer-bottom a { font-size:13px; }
.site-footer a:focus-visible { outline:2px solid #e8bb79; outline-offset:4px; }

/* Standalone pages have a separate .footer template; keep original layout. */
footer.footer #ps319-footer-social { margin-top:12px; padding-block:16px 22px; }
footer.footer .foot-grid img,
footer.footer .footer-grid img { width:170px; max-width:100%; height:auto !important; object-fit:contain; }

@media (max-width:1180px) {
  .site-footer > .footer-main { grid-template-columns:1.1fr 1fr 1fr; gap:29px 34px; }
  .site-footer .footer-end { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; }
}
@media (max-width:780px) {
  .site-footer > .footer-main { grid-template-columns:1fr 1fr; gap:28px 24px; }
  .site-footer .footer-brand, .site-footer .footer-end { grid-column:1/-1; }
  .site-footer .footer-end { flex-direction:column; align-items:flex-start; gap:12px; }
  .site-footer > .shell[aria-label="Norfolk project enquiries"],
  .site-footer > #ps319-footer-social,
  .site-footer > [data-parasol-v317-legal-links="1"],
  .site-footer > .footer-bottom { width:calc(100% - 40px) !important; }
  .site-footer > .shell[aria-label="Norfolk project enquiries"] { padding:17px 18px !important; }
}
@media (max-width:520px) {
  .site-footer > .footer-main { gap:26px 18px; }
  .site-footer .footer-group a { font-size:14px; }
  .site-footer > #ps319-footer-social .ps319-inner { flex-direction:column; align-items:flex-start; }
  .site-footer > .footer-bottom { flex-direction:column; align-items:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .site-footer a { transition:none !important; }
}
