
.culhane-site-footer{
  --csf-bg:#fff;
  --csf-ink:#181512;
  --csf-muted:rgba(24,21,18,.64);
  --csf-border:rgba(24,21,18,.1);
  --csf-link:#8d78bf;
  margin:clamp(1.5rem,4vw,3rem) auto 0;
  padding:clamp(1.15rem,3vw,2rem) clamp(1rem,3vw,1.8rem);
  color:var(--csf-ink);
  background:var(--csf-bg);
  border-top:1px solid var(--csf-border);
}
.culhane-site-footer.is-style-paper,
.culhane-site-footer.is-style-clean{--csf-bg:#fff;--csf-ink:#181512;--csf-muted:rgba(24,21,18,.64);--csf-border:rgba(24,21,18,.1)}
.culhane-site-footer.is-style-ink{--csf-bg:#151313;--csf-ink:#fff9ef;--csf-muted:rgba(255,249,239,.7);--csf-border:rgba(255,255,255,.14);--csf-link:#d7c8ef}
.culhane-site-footer-inner{max-width:var(--csf-max-width,1280px);margin:0 auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.culhane-footer-intro{display:grid;gap:.28rem;max-width:760px;margin:0 0 clamp(.9rem,2vw,1.25rem)}
.culhane-footer-kicker{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--csf-muted)}
.culhane-footer-intro h2{margin:0;font-size:clamp(1.1rem,2.1vw,1.62rem);line-height:1.08}
.culhane-footer-intro p:not(.culhane-footer-kicker){margin:.05rem 0 0;color:var(--csf-muted);line-height:1.45;font-size:.92rem;max-width:68ch}
.culhane-footer-links{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(1rem,3vw,2.4rem);padding:clamp(.85rem,2vw,1.15rem) 0;border-top:1px solid var(--csf-border);border-bottom:1px solid var(--csf-border)}
.culhane-footer-column{--csf-group-colour:var(--csf-link)}
.culhane-footer-column h3{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--csf-muted);margin:0 0 .48rem;line-height:1.2}
.culhane-footer-column ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.34rem .38rem}
.culhane-footer-column a{--link-colour:var(--csf-group-colour);color:var(--csf-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.34rem;line-height:1;border-radius:999px;padding:.42rem .62rem;border:1px solid color-mix(in srgb,var(--link-colour) 28%, var(--csf-border));background:color-mix(in srgb,var(--link-colour) 8%, transparent);font-size:.82rem;font-weight:650;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
.culhane-footer-column a:hover,.culhane-footer-column a:focus-visible{background:color-mix(in srgb,var(--link-colour) 18%, transparent);border-color:color-mix(in srgb,var(--link-colour) 55%, var(--csf-border));color:var(--link-colour);transform:translateY(-1px);outline:none}
.culhane-footer-column a[data-project-filter-link]:not([data-project-filter-link=""])::after{content:"";width:.38rem;height:.38rem;border-radius:999px;background:var(--link-colour);opacity:.72;flex:0 0 auto}
.culhane-footer-external{font-size:.78em;line-height:1;opacity:.72;transform:translateY(-.04em)}
.culhane-footer-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:.82rem;color:var(--csf-muted);font-size:.82rem}
.culhane-footer-bottom p{margin:0}.culhane-footer-top{color:var(--csf-muted);text-decoration:none}.culhane-footer-top:hover{color:var(--csf-link)}
@media(max-width:860px){.culhane-footer-links{grid-template-columns:1fr;gap:.85rem}.culhane-footer-column ul{gap:.32rem}.culhane-site-footer{padding:1rem}.culhane-footer-bottom{display:grid;gap:.4rem}.culhane-footer-intro{margin-bottom:.8rem}}
@media(max-width:480px){.culhane-footer-column a{font-size:.8rem;padding:.4rem .55rem}.culhane-footer-intro h2{font-size:1.18rem}}


/* v1.2 — alignment pass: balanced, centred footer without the boxy feel */
.culhane-site-footer{
  margin:clamp(1.25rem,3vw,2.25rem) auto 0;
  padding:clamp(1rem,2.2vw,1.45rem) clamp(1rem,3vw,1.5rem) .9rem;
}
.culhane-site-footer-inner{
  width:min(100%, var(--csf-max-width,1120px));
}
.culhane-footer-intro{
  max-width:760px;
  margin:0 auto clamp(.85rem,1.8vw,1.1rem);
  text-align:center;
  justify-items:center;
}
.culhane-footer-intro h2{
  max-width:760px;
}
.culhane-footer-intro p:not(.culhane-footer-kicker){
  max-width:58ch;
}
.culhane-footer-links{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:clamp(1.2rem,4vw,3rem);
  padding:.85rem 0 .9rem;
}
.culhane-footer-column{
  min-width:0;
  text-align:center;
}
.culhane-footer-column h3{
  margin-bottom:.45rem;
}
.culhane-footer-column ul{
  justify-content:center;
  align-items:center;
  gap:.34rem;
}
.culhane-footer-column a{
  padding:.38rem .58rem;
  font-size:.78rem;
  min-height:28px;
}
.culhane-footer-bottom{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  padding-top:.72rem;
  font-size:.76rem;
}
.culhane-footer-bottom p{
  text-align:left;
}
.culhane-footer-top{
  white-space:nowrap;
}
@media(max-width:900px){
  .culhane-footer-links{
    grid-template-columns:1fr;
    gap:.82rem;
    padding:.78rem 0;
  }
  .culhane-footer-column ul{
    max-width:620px;
    margin:0 auto;
  }
  .culhane-footer-bottom{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }
  .culhane-footer-bottom p{
    text-align:center;
  }
}
@media(min-width:901px){
  .culhane-footer-column:first-child ul{
    max-width:340px;
    margin:0 auto;
  }
  .culhane-footer-column:nth-child(2) ul,
  .culhane-footer-column:nth-child(3) ul{
    max-width:300px;
    margin:0 auto;
  }
}


/* v1.3 — aesthetics pass: no horizontal rulers, quieter footer shelf */
.culhane-site-footer{
  border-top:0 !important;
  margin:clamp(1rem,2.4vw,2rem) auto 0;
  padding:clamp(.85rem,1.8vw,1.25rem) clamp(1rem,3vw,1.5rem) .8rem;
}
.culhane-site-footer-inner{
  position:relative;
}
.culhane-footer-intro{
  margin-bottom:clamp(.72rem,1.4vw,.95rem);
}
.culhane-footer-kicker{
  font-size:.66rem;
  opacity:.55;
}
.culhane-footer-intro h2{
  font-size:clamp(1.08rem,1.9vw,1.48rem);
}
.culhane-footer-intro p:not(.culhane-footer-kicker){
  font-size:.86rem;
  line-height:1.38;
}
.culhane-footer-links{
  border-top:0 !important;
  border-bottom:0 !important;
  padding:.2rem 0 .52rem;
  gap:clamp(1rem,4vw,3rem);
}
.culhane-footer-column h3{
  font-size:.66rem;
  opacity:.72;
  margin-bottom:.38rem;
}
.culhane-footer-column a{
  padding:.34rem .54rem;
  min-height:26px;
  font-size:.75rem;
  border-color:color-mix(in srgb,var(--link-colour) 24%, transparent);
  box-shadow:0 1px 0 rgba(0,0,0,.035);
}
.culhane-footer-column a:hover,
.culhane-footer-column a:focus-visible{
  box-shadow:0 5px 14px rgba(0,0,0,.055);
}
.culhane-footer-bottom{
  padding-top:.35rem;
  font-size:.72rem;
  opacity:.88;
}
.culhane-footer-top{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:.2rem .4rem;
  border-radius:999px;
}
.culhane-footer-top:hover,
.culhane-footer-top:focus-visible{
  background:rgba(0,0,0,.04);
  outline:none;
}
@media(max-width:900px){
  .culhane-footer-links{
    padding:.1rem 0 .42rem;
  }
  .culhane-footer-column h3{
    margin-bottom:.3rem;
  }
}
@media(max-width:520px){
  .culhane-site-footer{
    padding-left:.9rem;
    padding-right:.9rem;
  }
  .culhane-footer-bottom{
    font-size:.7rem;
  }
}
