/*
  FOOTER — brand, newsletter, columns and a closing quote. The <b> phrase wipes white->accent once
  when the footer enters the viewport (footer.js adds `.on`; CSS transition does the wipe).
  Scoped under .hc-footer.
*/
.hc-footer{background:var(--ink);color:var(--cream);text-align:center;padding:clamp(4rem,9vw,7rem) 6vw;border-top:2px solid var(--cream)}
.hc-footer .hc-line{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,1.5rem+3vw,4rem);line-height:1.15;max-width:30ch;margin:0 auto}
.hc-footer .hc-line b{
  font-weight:700;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent) 50%, #fff 50%, #fff 100%);
  background-size:200% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hc-footer .hc-line.on b{background-position:0 0;transition:background-position 1.3s cubic-bezier(.65,0,.35,1)}
.hc-footer .hc-brand-brand{margin-top:2.5rem;font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}
.hc-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:2.5rem;text-align:left;max-width:1200px;margin:3.5rem auto 0;padding:3rem 0;border-top:1px solid var(--line-l)}
@media(max-width:820px){.hc-foot-grid{grid-template-columns:1fr 1fr;text-align:left}.hc-foot-grid .hc-foot-brand{grid-column:1/-1}}
.hc-foot-brand h3{font-size:1.9rem;font-weight:700;line-height:1.1}
.hc-foot-brand p{color:var(--muted);max-width:22rem;margin-top:.8rem;font-size:1rem}
.hc-foot-col h4{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
.hc-foot-col a{display:block;color:var(--cream);opacity:.85;font-size:.95rem;margin:.35rem 0;transition:.2s}
.hc-foot-col a:hover{opacity:1;color:var(--accent)}
.hc-foot-note{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.hc-news{display:flex;max-width:300px}
.hc-news input{flex:1;min-width:0;background:transparent;border:1px solid var(--line-l);border-right:none;padding:.75rem .9rem;color:var(--cream);font-family:var(--sans);border-radius:6px 0 0 6px}
.hc-news input::placeholder{color:var(--muted)}
.hc-news button{background:var(--accent);border:1px solid var(--accent);color:var(--ink);font-weight:700;padding:.75rem 1.3rem;border-radius:0 6px 6px 0;cursor:pointer}
.hc-foot-bottom{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid var(--line-l);font-size:.82rem;color:var(--muted)}
.hc-foot-bottom .hc-brand{margin:0;letter-spacing:.22em;text-transform:uppercase}
