/* ==========================================================
   SHARED NAV + FOOTER CSS
   Extracted from page-news.php for reuse across page templates.
   ========================================================== */


/* ===== PILLS (shared) ===== */
.pill {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 14px 26px;
  border-radius: 999px;
  font-size: 13px; font-weight: 500;
  text-decoration: none;
  border: 1px solid transparent;
  transition: background 220ms var(--ease-out), color 220ms var(--ease-out), border-color 220ms var(--ease-out);
  cursor: pointer; position: relative; overflow: hidden;
}
.pill .arrow { display: inline-block; transition: transform 280ms var(--ease-out); }
.pill:hover .arrow { transform: translateX(4px); }
.pill.outline-light { background: transparent; border-color: var(--paper); color: var(--paper); }
.pill.outline-light:hover { background: var(--paper); color: var(--ink); }
.pill.outline-dark { background: transparent; border-color: var(--ink); color: var(--ink); }
.pill.outline-dark:hover { background: var(--ink); color: var(--paper); }
.pill.green { background: var(--frog-vif); color: var(--ink); }
.pill.green:hover { background: var(--ink); color: var(--frog-vif); }

/* ===== FOOTER ===== */
footer { background: var(--ink); color: var(--paper); padding: 100px 48px 40px; }
footer .footer-cta { text-align: center; margin-bottom: 100px; }
footer .footer-cta h2 { font-family: 'Instrument Serif', var(--font-display, serif); font-weight: 400; font-size: clamp(48px, 6vw, 88px); line-height: 1; color: var(--paper); letter-spacing: -0.015em; margin-bottom: 32px; }
footer .footer-cta h2 em { font-style: italic; color: var(--frog-vif); }
footer .footer-cta .pills { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
footer .top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 60px; border-bottom: 0.5px solid var(--line-dark, rgba(244,241,234,0.16)); max-width: 1440px; margin: 0 auto; }
footer .col h4 { font-size: 11px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--frog-vif); margin-bottom: 22px; }
footer .col a { display: block; padding: 6px 0; font-size: 14px; color: var(--paper); opacity: 0.86; text-decoration: none; transition: opacity 200ms, color 200ms; }
footer .col a:hover { opacity: 1; color: var(--frog-vif); }
footer .signature { font-family: 'Instrument Serif', var(--font-display, serif); font-style: italic; font-size: 26px; line-height: 1.2; margin-bottom: 28px; }
footer .signature em { color: var(--frog-vif); }
footer .bottom { display: flex; justify-content: space-between; padding-top: 32px; font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper); opacity: 0.6; max-width: 1440px; margin: 0 auto; }
@media (max-width: 1024px) { footer .top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { footer .top { grid-template-columns: 1fr; } }

/* ===== REVEAL (shared) ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 800ms var(--ease-out), transform 800ms var(--ease-out); }
.reveal.in { opacity: 1; transform: translateY(0); }
