/* footer.css — the site footer, shared by every page (built by js/footer.js). It is the home page's
   footer: deep-forest ground, contact links, the copyright line, the flamingo, and the surname
   run off the bottom edge as texture. Loads after site.css, so the few properties it shares with
   site.css's older footer rules are set explicitly here. */
footer{
  position:relative;overflow:hidden;
  background:var(--footer-ground);
  color:var(--footer-ink);
  --focus-ring:var(--footer-ink);
  min-height:clamp(160px,18vw,230px);
  display:flex;align-items:flex-start;
}
.footer-ghost{
  position:absolute;
  left:max(var(--step), calc((100% - 96rem)/2 + var(--step)));
  bottom:-.26em;
  font-family:var(--display);
  font-size:clamp(3.5rem,17vw,16rem);
  line-height:.78;letter-spacing:.05em;
  color:color-mix(in srgb,var(--footer-ink) var(--footer-ghost),transparent);
  pointer-events:none;user-select:none;white-space:nowrap;
}
.footer-inner{
  position:relative;width:100%;
  max-width:96rem;margin-inline:auto;padding-inline:var(--step);
  padding-block:var(--step);
  display:flex;flex-direction:column;gap:clamp(.6rem,1.3vw,.9rem);
}
.footer-links{
  display:flex;flex-wrap:wrap;gap:clamp(1rem,2.6vw,2.2rem);
  font-family:var(--body-text);
  font-size:clamp(1.05rem,1.5vw,1.25rem);letter-spacing:.022em;
}
.footer-links a,.footer-links button{
  display:inline-flex;align-items:center;min-height:24px;
  color:var(--footer-ink);
  text-decoration-color:currentColor;transition:none;   /* site.css styles these links differently; the footer is one look everywhere */
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em;
}
.footer-links button{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;cursor:pointer;}
.footer-copy{
  margin:0;
  font-family:var(--display);
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--footer-ink);
}
.footer-bird{
  position:absolute;right:var(--step);bottom:0;
  height:100%;width:auto;display:block;pointer-events:none;
}
@media (forced-colors:active){footer{background:Canvas;color:CanvasText;}}

/* ---- the contact form (a native dialog, built by js/footer.js) -------------------------------
   Cream panel, forest ink: ink on --panel is 15:1, and the form's labels are normal-size text, so they
   are the ink colour rather than the muted one. The focus ring is the site's black ring. */
.contact{
  width:min(34rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);
  padding:clamp(1.25rem,3vw,2rem);
  background:var(--panel);color:var(--ink);
  border:1px solid var(--rule);border-radius:clamp(12px,1.6vw,20px);
  box-shadow:var(--shadow-card-lift);
  overflow:auto;
}
.contact::backdrop{background:color-mix(in srgb,var(--forest-900) 70%,transparent);}
.contact-form{display:flex;flex-direction:column;gap:1.1rem;}
.contact-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.contact h2{
  margin:0;font-family:var(--display-alt);font-weight:400;
  font-size:clamp(1.9rem,4vw,2.6rem);line-height:.95;color:var(--ink);
}
.contact-close{
  font-family:"GT America Condensed",var(--ui);font-weight:500;
  font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;line-height:1;
  color:var(--ink);background:transparent;
  border:1px solid currentColor;border-radius:999px;padding:.6rem 1.05rem;cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.contact-close:hover{background:var(--ink);color:var(--panel);}
.contact-field{display:flex;flex-direction:column;gap:.4rem;}
.contact-field span{
  font-family:"GT America Condensed",var(--ui);font-weight:500;
  font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;line-height:1;color:var(--ink);
}
.contact-field input,.contact-field textarea{
  width:100%;font:inherit;font-family:var(--body-text);font-size:1.15rem;letter-spacing:.022em;line-height:1.4;
  color:var(--ink);background:var(--ground);
  border:1px solid var(--ink);border-radius:8px;padding:.7rem .85rem;
}
.contact-field textarea{resize:vertical;min-height:8rem;}
.contact-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.contact-status{
  min-height:1.4em;margin:0;max-width:none;
  font-family:var(--body-text);font-size:1.1rem;letter-spacing:.022em;line-height:1.4;color:var(--ink);
}
.contact-status.is-error{color:var(--orange-800);}
.contact-send{
  align-self:flex-start;
  font-family:"GT America Condensed",var(--ui);font-weight:500;
  font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;line-height:1;
  color:var(--apricot-50);background:var(--forest-900);
  border:1px solid var(--forest-900);border-radius:999px;padding:.8rem 1.4rem;cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
.contact-send:hover{background:var(--apricot-50);color:var(--forest-900);}
.contact-send:disabled{opacity:.6;cursor:default;}
@media (prefers-reduced-motion:reduce){.contact-close,.contact-send{transition:none;}}
