/*  Footer layout  */
footer{ background:var(--ink); color:#C9CFC4; padding:56px 0 32px; }

.footer-top{
  display:grid;
  grid-template-columns:1.2fr 0.8fr 1.5fr 1.5fr;
  gap:40px;
  align-items:start;
  max-width:1160px;
  margin:0 auto;
  padding:0 32px 40px;
}

.footer-brand .brand{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--paper);
  font-size:20px;
  font-weight:600;
  margin-bottom:14px;
}
.footer-brand p{ font-size:14px; line-height:1.6; max-width:30ch; margin-bottom:20px; color:#9AA394; }

.footer-col h4{
  color:var(--paper);
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.footer-col ul{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:11px;
}
.footer-col a{
  font-size:14px;
  color:#C9CFC4;
  transition:color .15s ease, padding-left .15s ease;
  display:inline-block;
}
.footer-col a:hover{ color:var(--paper); padding-left:3px; }

/* Services */
.footer-list-columns{
  display:grid;
  grid-template-rows:repeat(6, auto);
  grid-auto-flow:column;
  column-gap:24px;
  row-gap:11px;
}

/* Bottom bar */
.footer-bottom{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  max-width:1160px;
  margin:0 auto;
  padding-top:24px;
  border-top:1px solid #2A312A;
  font-size:13px;
  color:#7C8574;
}
.footer-dot{ opacity:.5; }

.footer-bottom .footer-contact:hover{ color:white; }

/*  Responsive */
@media (max-width:990px){
  .footer-top{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1 / -1; margin-bottom:8px; }
}
@media (max-width:640px){
  .footer-top{ grid-template-columns:1fr; gap:32px; padding:0 20px 32px; }
  .footer-list-columns{ grid-template-rows:repeat(6, auto); }
  .footer-bottom{ flex-direction:row; gap:6px;}
  .footer-dot{ display:none; }
}
@media (max-width:380px){
  .footer-list-columns{ grid-template-rows:repeat(12, auto); grid-auto-flow:row; }
}

.footer-brand .btn-primary{
  position:relative;
  display:inline-flex;
  align-items:center;
  padding:13px 24px;
  margin-top:4px;
  background: var(--sage-deep);
  color: white;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  border:1px solid var(--sage);
  border-radius:999px;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}

.footer-brand .btn-primary::after{
  content:"→";
  display:inline-block;
  max-width:0;
  margin-left:0;
  opacity:0;
  transform:translateX(-4px);
  overflow:hidden;
  transition:max-width .25s ease, margin-left .25s ease, opacity .2s ease .05s, transform .25s ease;
}

.footer-brand .btn-primary:hover{
  transform:translateY(-2px);
  background: var(--sage-deep);
  /* box-shadow:0 8px 20px -6px rgba(140,178,130,.35); */
}
.footer-brand .btn-primary:hover::after{
  max-width:20px;
  margin-left:8px;
  opacity:1;
  transform:translateX(0);
}

.footer-brand .btn-primary:active{
  transform:translateY(0);
  /* box-shadow:0 4px 10px -4px rgba(140,178,130,.3); */
}

@media (prefers-reduced-motion: reduce){
  .footer-brand .btn-primary,
  .footer-brand .btn-primary::after{ transition:none; }
}

.work-hours{
  margin-top: 25px;
}