footer{background:var(--navy-deep);color:rgba(255,255,255,0.75);padding:100px 0 36px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;}
@media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;row-gap:48px;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}

footer h5{font-family:var(--serif);color:#fff;font-size:16px;letter-spacing:0.02em;margin-bottom:8px;}
footer .tagline{font-style:italic;color:var(--aegean-light);font-size:14.5px;margin-bottom:16px;font-family:var(--serif);}
footer p.desc{font-size:13.5px;line-height:1.75;color:rgba(255,255,255,0.55);max-width:280px;}

footer .col-title{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.38);margin-bottom:20px;}

footer ul li{margin-bottom:14px;font-size:14px;color:rgba(255,255,255,0.75);}
footer ul li a{transition:color .3s ease;}
footer ul li a:hover{color:#F1D9A8;}

/* contact list gets a quiet label/value pairing instead of a flat
   list, so it reads as considered information rather than filler */
.footer-contact li{display:flex;flex-direction:column;gap:3px;}
.footer-contact .label{
  font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  color:rgba(255,255,255,0.35);
}
.footer-contact .value{font-size:14px;color:rgba(255,255,255,0.85);}
.footer-contact a.value:hover{color:#F1D9A8;}

.footer-bottom{
  margin-top:88px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.1);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  font-size:12px;color:rgba(255,255,255,0.4);
}
