/* Locally hosted typefaces keep typography consistent without external font requests. */
@font-face { font-family: 'Instrument Serif'; src: url('fonts/instrument-serif.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Instrument Serif'; src: url('fonts/instrument-serif-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Inter'; src: url('fonts/inter.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
:root { color-scheme: light; font-family: 'Inter', sans-serif; color: #292c28; background: #faf9f6; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; padding: 0 clamp(24px, 5vw, 80px); }
a { color: inherit; }
/* A quiet header pairs the geometric mark with a compact, legible wordmark. */
.site-header { display: flex; align-items: center; justify-content: space-between; padding-top: 36px; }
.wordmark { display: inline-flex; align-items: center; gap: 11px; font-size: 24px; font-weight: 600; letter-spacing: -1px; text-decoration: none; }
.wordmark img { width: 35px; height: 35px; }
main { flex: 1; display: grid; place-items: center; padding: 90px 0 100px; }
.hero { width: 100%; text-align: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 28px; font-size: 12px; letter-spacing: .04em; color: #696e63; }
.eyebrow::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #8b9679; }
h1 { margin: 0; font-family: 'Instrument Serif', Georgia, serif; font-size: clamp(64px, 7.5vw, 112px); font-weight: 400; line-height: 1.04; letter-spacing: -.025em; }
/* Restore the original italic serif and sage emphasis for the closing phrase. */
h1 em { font-style: italic; font-weight: 400; color: #737e66; }
.signup { width: min(100%, 440px); margin: 34px auto 0; }
.signup-caption { margin: 0 0 25px; font-size: 13px; line-height: 1.8; color: #71746d; }
.signup-status { font-size: 12px; color: #71746d; }
/* Keep the real provider form inline, with scrolling available for validation feedback. */
.tally-frame { display: block; width: 100%; height: 240px; border: 0; }
.form-fallback { display: block; width: fit-content; margin: 8px auto 0; font-size: 12px; text-underline-offset: 4px; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0 28px; border-top: 1px solid #e6e5de; font-size: 12px; letter-spacing: 0; color: #777b71; }
:focus-visible { outline: 2px solid #737e66; outline-offset: 5px; }
.skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: absolute; top: 8px; left: 24px; padding: 10px; background: white; z-index: 1; }
[hidden] { display: none !important; }
@media (max-width: 600px) {
  .site-header { padding-top: 25px; }
  .wordmark { font-size: 22px; }
  .wordmark img { width: 30px; height: 30px; }
  main { padding: 85px 0; }
  h1 { font-size: clamp(50px, 12vw, 72px); }
  .eyebrow { margin-bottom: 26px; }
  .signup { margin-top: 28px; }
  .signup-caption { max-width: 250px; margin: 0 auto 24px; }
  footer { align-items: center; }
}
