/* .site-footer{background:var(--ink);color:#c7cde0;padding:76px 0 0;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;
  max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter);
  padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-brand .brand-name{color:#fff;font-size:1.2rem;}
.footer-brand .brand-sub{color:#f0b8bf;}
.footer-motto{font-family:var(--serif);font-style:italic;color:#fff;
  font-size:1.05rem;margin:18px 0 14px;}
.footer-blurb{font-size:.9rem;line-height:1.7;color:#9aa2bd;max-width:320px;}
.footer-col h4{color:#fff;font-family:var(--sans);font-size:.74rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:.9rem;color:#b4bbd4;transition:color .2s var(--ease),padding-left .2s var(--ease);}
.footer-col a:hover{color:#fff;padding-left:5px;}
.footer-socials{display:flex;gap:12px;margin-top:20px;}
.footer-socials a{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);display:flex;align-items:center;justify-content:center;
  color:#c7cde0;transition:all .2s var(--ease);}
.footer-socials a:hover{background:var(--crimson);border-color:var(--crimson);color:#fff;}
.footer-socials svg{width:17px;height:17px;}
.footer-bottom{max-width:var(--wrap);margin-inline:auto;padding:24px var(--gutter);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.footer-bottom p{font-size:.82rem;color:#8890ac;margin:0;}
.footer-legal{display:flex;gap:22px;}
.footer-legal a{font-size:.82rem;color:#8890ac;}
.footer-legal a:hover{color:#fff;}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;gap:36px;}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr;}.footer-bottom{flex-direction:column;align-items:flex-start;}} */


:root{
  --navy:#03176D;
  --navy-700:#0a2178;
  --navy-900:#050f3d;
  --ink:#0A1330;
  --crimson:#B00014;
  --crimson-600:#c8102e;
  --parchment:#F7F5F0;
}

.site-footer{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse 900px 500px at 12% 0%, rgba(176,0,20,0.10), transparent 60%),
    linear-gradient(180deg, var(--navy-900) 0%, var(--ink) 45%, #060b28 100%);
  color: #c7cbe0;
  padding: 96px 64px 0;
  font-family: 'Inter', 'Segoe UI', Arial, Helvetica, sans-serif;
  border-top: 1px solid rgba(200,16,46,0.35);
}

/* Faint colonnade watermark — nods to "Building Legacy" without a photo asset */
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0.05;
  pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='320' viewBox='0 0 220 320'%3E%3Crect x='18' y='60' width='14' height='220' fill='%23F7F5F0'/%3E%3Crect x='68' y='60' width='14' height='220' fill='%23F7F5F0'/%3E%3Crect x='118' y='60' width='14' height='220' fill='%23F7F5F0'/%3E%3Crect x='168' y='60' width='14' height='220' fill='%23F7F5F0'/%3E%3Crect x='0' y='40' width='220' height='16' fill='%23F7F5F0'/%3E%3Crect x='0' y='282' width='220' height='16' fill='%23F7F5F0'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: 220px 320px;
  mix-blend-mode: screen;
}

/* Soft grain / vignette for depth */
.site-footer::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background: radial-gradient(ellipse 1200px 600px at 85% 100%, rgba(3,23,109,0.55), transparent 65%);
}

.footer-top,
.footer-bottom{
  position: relative;
  z-index: 1;
}

.footer-top{
  display: grid;
  grid-template-columns: 1.7fr 1fr 1fr 1fr;
  gap: 56px;
  max-width: 1360px;
  margin: 0 auto;
  padding-bottom: 64px;
}

/* ---------- Brand block ---------- */
.footer-brand{
  max-width: 440px;
}

.brand-crest{
  color: var(--crimson-600);
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
  opacity: 0.95;
}
.brand-crest svg{ width:100%; height:100%; }

.brand-text{
  display:flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.brand-name{
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 3px;
  color: #f5f6fa;
  line-height: 1.1;
}

.brand-sub{
  margin-top: 10px;
  font-size: 14px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--crimson-600);
  font-weight: 600;
}

.footer-motto{
  margin: 0 0 22px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 20px;
  font-style: italic;
  color: #eceef7;
  border-left: 3px solid var(--crimson-600);
  padding-left: 16px;
  line-height: 1.4;
}

.footer-blurb{
  margin: 0 0 34px;
  font-size: 16.5px;
  line-height: 1.8;
  color: #a6adcf;
  max-width: 420px;
}

.footer-socials{
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-socials a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(199,203,224,0.25);
  background: rgba(10,19,48,0.4);
  color: #c7cbe0;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.footer-socials svg{
  width: 18px;
  height: 18px;
}

.footer-socials a:hover{
  background: var(--crimson-600);
  border-color: var(--crimson-600);
  color: #fff;
  transform: translateY(-2px);
}

/* ---------- Nav columns ---------- */
.footer-col h4{
  margin: 0 0 26px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8791ba;
  position: relative;
  padding-bottom: 14px;
}
.footer-col h4::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width: 28px;
  height: 2px;
  background: var(--crimson-600);
}

.footer-col ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-col li{
  margin-bottom: 18px;
}

.footer-col a{
  color: #d3d6ea;
  text-decoration: none;
  font-size: 17px;
  line-height: 1.3;
  transition: color 0.15s ease, padding-left 0.15s ease;
}

.footer-col a:hover{
  color: #fff;
  padding-left: 4px;
}

/* ---------- Bottom bar ---------- */
.footer-bottom{
  border-top: 1px solid rgba(199,203,224,0.15);
  max-width: 1360px;
  margin: 0 auto;
  padding: 28px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.footer-bottom p{
  margin: 0;
  font-size: 14.5px;
  color: #8990b8;
}

.footer-legal{
  display: flex;
  gap: 32px;
}

.footer-legal a{
  font-size: 14.5px;
  color: #8990b8;
  text-decoration: none;
}

.footer-legal a:hover{
  color: #fff;
  text-decoration: underline;
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .footer-top{
    grid-template-columns: 1fr 1fr;
  }
  .footer-brand{
    grid-column: 1 / -1;
    max-width: none;
  }
}

@media (max-width: 600px){
  .site-footer{
    padding: 64px 24px 0;
  }
  .footer-top{
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .brand-name{ font-size: 34px; }
  .footer-motto{ font-size: 18px; }
  .footer-bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}