.site-footer{background:var(--navy-900); color:#fff; font-family:'Inter',system-ui,sans-serif;}
.site-footer .wrap{max-width:1280px; margin-inline:auto; padding-inline:clamp(16px,5vw,48px);}

.footer-accent{
  background:linear-gradient(100deg,var(--navy),var(--navy-700));
  border-bottom:3px solid var(--gold);
}
.footer-accent-inner{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-block:2.25rem; flex-wrap:wrap;
}
.fa-eyebrow{font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); margin:0 0 .4rem;}
.footer-accent h3{font-family:'Playfair Display',Georgia,serif; color:#fff;
  font-size:clamp(1.3rem,2.6vw,1.9rem); font-weight:800; margin:0; letter-spacing:-.01em;}

.footer-main{
  display:grid; grid-template-columns:1.3fr 2.7fr; gap:clamp(2rem,5vw,4.5rem);
  padding-block:clamp(3rem,5vw,4.5rem);
}
.footer-lockup{display:flex; align-items:center; gap:14px; text-decoration:none; margin-bottom:1.1rem;}
.footer-crest{height:66px; width:auto; filter:drop-shadow(0 6px 16px rgba(0,0,0,.4));}
.footer-lockup b{display:block; font-family:'Playfair Display',Georgia,serif; font-size:1.7rem;
  font-weight:800; color:#fff; line-height:1; letter-spacing:.02em;}
.footer-lockup em{display:block; font-style:italic; font-size:.82rem; color:var(--gold); margin-top:.4rem;
  font-family:'Playfair Display',Georgia,serif; max-width:22rem; line-height:1.35;}
.footer-blurb{color:rgba(255,255,255,.7); font-size:.92rem; line-height:1.6; max-width:34ch; margin:0 0 1.4rem;}
.footer-socials{display:flex; gap:12px;}
.footer-socials a{
  width:2.4rem; height:2.4rem; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,255,255,.08); color:#fff; transition:.2s;
}
.footer-socials a svg{width:1.1rem; height:1.1rem;}
.footer-socials a:hover{background:var(--gold); color:var(--navy-900); transform:translateY(-3px);}

.footer-links{display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;}
.footer-col h4{font-size:.78rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin:0 0 1.1rem;}
.footer-col ul{list-style:none; margin:0; padding:0; display:grid; gap:.7rem;}
.footer-col a{color:rgba(255,255,255,.72); text-decoration:none; font-size:.9rem; transition:.15s;}
.footer-col a:hover{color:#fff; padding-left:4px;}
.footer-col--contact .footer-office{margin:0 0 1rem; color:rgba(255,255,255,.72);
  font-size:.85rem; line-height:1.55;}
.fo-label{display:block; color:#fff; font-weight:700; font-size:.72rem; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:.25rem;}
.footer-email{display:inline-block; color:var(--gold); text-decoration:none; font-weight:600; font-size:.9rem;}
.footer-email:hover{text-decoration:underline;}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding-block:1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.footer-bottom p{margin:0; color:rgba(255,255,255,.55); font-size:.82rem;}
.footer-legal{display:flex; gap:1.5rem;}
.footer-legal a{color:rgba(255,255,255,.7); text-decoration:none; font-size:.82rem;}
.footer-legal a:hover{color:var(--gold);}
.footer-dev a{color:rgba(255,255,255,.7); text-decoration:none;}
.footer-dev a:hover{color:var(--gold);}

@media(max-width:900px){
  .footer-main{grid-template-columns:1fr; gap:2.5rem;}
  .footer-links{grid-template-columns:repeat(2,1fr); gap:2rem 1.5rem;}
}
@media(max-width:560px){
  .footer-links{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:.75rem;}
}
