
/* STEP 7 — FOOTER */
.site-footer{
  background:var(--dark);
  color:var(--cream);
  padding:clamp(75px,10vw,125px) 0 28px;
  overflow:hidden;
}
.footer-main{
  display:grid;
  grid-template-columns:1.4fr .65fr .9fr .95fr;
  gap:45px;
  padding-bottom:70px;
}
.footer-logo{
  display:inline-flex;
  align-items:baseline;
  color:var(--cream);
  text-decoration:none;
  font:900 clamp(42px,5vw,72px)/.8 var(--heading);
  letter-spacing:-.08em;
}
.footer-logo b{color:var(--teal);font-weight:900}
.footer-hashtag{
  margin:15px 0 6px;
  color:var(--teal);
  font:800 12px var(--heading);
  letter-spacing:.08em;
}
.footer-slogan{
  max-width:300px;
  margin:0;
  color:rgba(255,249,240,.7);
  font-size:15px;
  line-height:1.55;
}
.footer-cta{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:30px;
  color:var(--dark);
  background:var(--cream);
  padding:13px 15px;
  text-decoration:none;
  font:800 11px var(--heading);
  transition:transform .2s,background .2s,color .2s;
}
.footer-cta:hover{transform:translateY(-2px);background:var(--teal);color:var(--cream)}
.footer-cta-icon,.footer-contact-icon{
  width:19px;height:19px;display:inline-grid;place-items:center;flex:0 0 19px;
}
.footer-cta-icon svg,.footer-contact-icon svg{width:20px;height:20px;display:block}
.footer-label{
  margin:3px 0 17px;
  color:var(--teal);
  font:800 10px var(--heading);
  letter-spacing:.15em;
}
.footer-nav,.footer-contact,.footer-local{display:flex;flex-direction:column;align-items:flex-start}
.footer-nav a,.footer-contact a,.footer-local a{
  color:rgba(255,249,240,.76);
  text-decoration:none;
  font-size:14px;
  line-height:1.6;
  margin-bottom:9px;
  transition:color .2s,transform .2s;
}
.footer-nav a:hover,.footer-contact a:hover,.footer-local a:hover{
  color:var(--cream);
  transform:translateX(3px);
}
.footer-contact a,.footer-local a{display:inline-flex;align-items:center;gap:9px}
.footer-local p:not(.footer-label){
  margin:0 0 7px;
  color:rgba(255,249,240,.66);
  font-size:13px;
  line-height:1.5;
}
.footer-local a{margin-top:8px;color:var(--cream)}
.footer-socials{
  border-top:1px solid rgba(255,249,240,.14);
  border-bottom:1px solid rgba(255,249,240,.14);
  padding:30px 0;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:35px;
  align-items:center;
}
.footer-social-intro{
  margin:0;
  color:rgba(255,249,240,.58);
  font-size:12px;
  line-height:1.5;
}
.social-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.social-link{
  min-height:52px;
  padding:9px 10px;
  border:1px solid rgba(255,249,240,.14);
  color:rgba(255,249,240,.72);
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:9px;
  font:700 10px var(--heading);
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.social-link svg{width:20px;height:20px;flex:0 0 20px;display:block}
.social-link:hover{
  background:rgba(0,150,136,.13);
  border-color:var(--teal);
  color:var(--cream);
  transform:translateY(-2px);
}
.social-link:focus-visible,.footer-nav a:focus-visible,.footer-contact a:focus-visible,
.footer-local a:focus-visible,.footer-cta:focus-visible,.footer-logo:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:3px;
}
.footer-bottom{
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:rgba(255,249,240,.4);
  font-size:10px;
  line-height:1.5;
}
.footer-bottom p{margin:0}
@media(max-width:1050px){
  .footer-main{grid-template-columns:1.2fr .8fr .9fr;gap:35px}
  .footer-local{grid-column:2 / 4}
  .social-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1 / -1}
  .footer-local{grid-column:auto}
  .footer-socials{grid-template-columns:1fr}
  .social-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .site-footer{padding-top:70px}
  .footer-main{grid-template-columns:1fr;gap:32px;padding-bottom:50px}
  .footer-brand,.footer-local{grid-column:auto}
  .social-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:7px}
}
@media(prefers-reduced-motion:reduce){
  .footer-cta,.footer-nav a,.footer-contact a,.footer-local a,.social-link{transition:none}
}


@media(max-width:700px){
  .footer-main{gap:30px}
  .social-link{min-height:50px}
}
@media(max-width:420px){
  .social-grid{grid-template-columns:1fr}
  .footer-contact a,.footer-local a{min-height:42px}
}

.footer-logo img{display:block;max-width:100%;height:auto}

/* Footer polish — CTA icon + legal links */
.footer-cta-icon svg{width:19px;height:19px}
.footer-legal-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 16px;
}
.footer-legal-links a{
  color:rgba(255,249,240,.58);
  text-decoration:none;
  transition:color .2s;
}
.footer-legal-links a:hover{color:var(--cream)}
.footer-legal-links a:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:3px;
}
@media(max-width:480px){
  .footer-legal-links{justify-content:flex-start}
}
