/* ============================================================
   DevCo · Site footer
   Survey-document styling; hard edges; multi-page links.
   ============================================================ */
.dc-footer{
  background:var(--ink);color:var(--bone);
  border-top:var(--hair) solid var(--bone-hair);
}
.dc-footer > *{
  max-width:var(--maxw);margin-inline:auto;
  padding-inline:var(--gutter);
}

/* survey-chrome row */
.dc-footer__chrome{
  display:flex;justify-content:space-between;gap:24px;
  padding-block:clamp(16px,2.4vh,24px);
  color:var(--bone-faint);
}

/* brand + statement */
.dc-footer__top{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:40px;flex-wrap:wrap;
  padding-block:clamp(40px,6vh,80px) clamp(32px,4vh,56px);
  border-top:var(--hair) solid var(--bone-hair);
}
.dc-footer__mark{display:inline-flex;}
/* two-tone wordmark — "Dev" goes bone on the dark footer ground */
.dc-footer__brandmark{height:clamp(40px,6vw,72px);}
.dc-footer__mark .dc-brand__type--ink{fill:var(--bone);}
.dc-footer__mark .dc-brand__type--sage{fill:var(--sage);}
.dc-footer__line{
  font-family:var(--font-display);font-style:italic;
  font-size:clamp(1.1rem,1.6vw,1.6rem);
  line-height:1.3;color:var(--bone-faint);
  max-width:24ch;text-align:right;
}

/* link / contact grid */
.dc-footer__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(28px,4vw,72px);
  padding-block:clamp(34px,5vh,60px);
  border-top:var(--hair) solid var(--bone-hair);
}
.dc-footer__label{
  color:var(--bone-faint);
  margin:0 0 clamp(14px,2vh,22px);
}
.dc-footer__nav{list-style:none;margin:0;padding:0;}
.dc-footer__nav li + li{margin-top:10px;}
.dc-footer__nav a{
  font-family:var(--font-display);
  font-size:clamp(1.15rem,.95rem + .7vw,1.6rem);
  line-height:1.25;
  transition:color .26s var(--ease),font-style .26s var(--ease);
}
.dc-footer__nav a:hover,
.dc-footer__nav a:focus-visible{color:var(--bone);font-style:italic;}
.dc-footer__contact{
  font-family:var(--font-display);
  font-size:clamp(1.05rem,.9rem + .6vw,1.4rem);
  margin:0 0 .35em;
}
.dc-footer__contact a{
  display:inline-flex;align-items:center;gap:8px;
  transition:color .26s var(--ease);
}
.dc-footer__contact a:hover,
.dc-footer__contact a:focus-visible{color:var(--accent);}
.dc-footer__contact--muted{
  font-family:var(--font-mono);font-size:var(--fs-mono);
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--bone-faint);
}

/* meta strip */
.dc-footer__meta{
  display:flex;justify-content:space-between;align-items:center;
  gap:24px;flex-wrap:wrap;
  padding-block:clamp(20px,2.6vh,30px) clamp(28px,4vh,44px);
  border-top:var(--hair) solid var(--bone-hair);
  font-family:var(--font-mono);font-size:var(--fs-mono-sm);
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--bone-faint);
}
.dc-footer__totop{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--bone-faint);
  transition:color .26s var(--ease);
}
.dc-footer__totop:hover,
.dc-footer__totop:focus-visible{color:var(--bone);}

/* focus visibility */
.dc-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

@media (max-width:860px){
  .dc-footer__grid{grid-template-columns:1fr 1fr;}
  .dc-footer__col--network{grid-column:1 / -1;}
}
@media (max-width:560px){
  .dc-footer__top{flex-direction:column;align-items:flex-start;gap:24px;}
  .dc-footer__line{text-align:left;}
  .dc-footer__grid{grid-template-columns:1fr;gap:30px;}
  .dc-footer__col--network{grid-column:auto;}
  .dc-footer__meta{flex-direction:column;align-items:flex-start;gap:12px;}
}

@media (prefers-reduced-motion:reduce){
  .dc-footer a{transition:none;}
}
