/* The newsletter box (static/newsletter.js). Used on the directory's pages and Ghost's, so it
   carries its own colors and fonts; class names start with gfn- to stay clear of the theme's. */
.gfn { --gfn-surface: #fffdf7; --gfn-text: #15171a; --gfn-muted: #6b6358; --gfn-border: #e6dfcc;
  --gfn-accent: #fd0266; --gfn-link: #c4004c; --gfn-good: #1f6b43;
  padding: 56px 16px; background: var(--gfn-surface); border-top: 1px solid var(--gfn-border);
  color: var(--gfn-text); font: 19px/1.5 "EB Garamond", Georgia, "Times New Roman", serif; text-align: center; }
.gfn-inner { max-width: 560px; margin: 0 auto; }
.gfn h2 { margin: 0 0 8px; font: 700 30px/1.2 "EB Garamond", Georgia, serif; letter-spacing: -0.01em; color: var(--gfn-text); }
.gfn p { margin: 0 0 18px; }
.gfn-form { display: flex; gap: 10px; margin: 0; }
.gfn-form input { flex: 1; min-width: 0; margin: 0; padding: 10px 14px; font: inherit; color: var(--gfn-text);
  background: #fff; border: 1px solid var(--gfn-border); border-radius: 8px; }
.gfn-form button { flex: none; margin: 0; padding: 10px 22px; font: inherit; font-weight: 700; color: #fff;
  background: var(--gfn-accent); border: 0; border-radius: 8px; cursor: pointer; }
.gfn-form button[disabled] { opacity: 0.6; cursor: default; }
.gfn .gfn-status { margin: 8px 0 0; color: var(--gfn-link); font-size: 16px; }
.gfn .gfn-status:empty { display: none; }
.gfn .gfn-thanks { margin: 0; font-weight: 600; color: var(--gfn-good); }
.gfn .gfn-small { margin: 10px 0 0; font-size: 15px; color: var(--gfn-muted); }
.gfn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 480px) { .gfn-form { flex-direction: column; } }
