/* Newsletter landing page */
.n-hero { padding: clamp(64px, 7vw, 128px) 0 clamp(40px, 5vw, 80px); text-align: center; }
.n-hero .tag {
  display: inline-block; padding: 6px 14px; background: var(--green-100); color: var(--green-900);
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 500; margin-bottom: 24px;
}
.n-hero h1 {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(48px, 6.5vw, 120px); line-height: .96; letter-spacing: -.025em;
  margin: 0 auto 22px; max-width: 16ch; text-wrap: balance;
}
.n-hero h1 em { font-style: italic; color: var(--green-700); }
.n-hero p {
  font-family: var(--serif); font-style: italic; font-size: clamp(20px, 1.8vw, 28px);
  line-height: 1.4; color: var(--ink-2); max-width: 48ch; margin: 0 auto 32px; padding: 0 var(--gutter);
}
.n-hero .n-form {
  display: flex; gap: 12px; align-items: stretch;
  background: var(--cream); border: 1px solid var(--rule);
  padding: 8px 8px 8px 20px; border-radius: 999px; max-width: 540px; margin: 0 auto;
}
.n-hero .n-form input {
  flex: 1; border: 0; background: transparent; font: inherit;
  font-family: var(--sans); font-size: 16px; color: var(--ink); padding: 10px 0; outline: 0;
}
.n-hero .n-form input::placeholder { color: var(--muted); }
.n-hero .n-form button {
  background: var(--pink); color: #fff; border-radius: 999px; padding: 12px 22px;
  font-size: 14px; font-weight: 500; display: inline-flex; align-items: center; gap: 8px;
}
.n-hero .n-form button:hover { background: var(--pink-deep); }
.n-hero .n-form button .wc-icon { width: 14px; height: 14px; }
.n-hero .note {
  margin-top: 14px; font-size: 13px; color: var(--muted); letter-spacing: .04em;
}

.n-what { padding: clamp(48px, 5vw, 88px) 0; border-top: 1px solid var(--rule); }
.n-what .grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 3vw, 56px); max-width: 1280px; margin: 0 auto;
}
.n-what .cell h3 {
  font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1.2;
  margin: 0 0 14px;
}
.n-what .cell h3 em { font-style: italic; color: var(--green-700); }
.n-what .cell p { font-size: 15px; line-height: 1.55; color: var(--ink-2); margin: 0; }

.n-sample { padding: clamp(48px, 5vw, 88px) 0; background: var(--cream-2); border-top: 1px solid var(--rule); }
.n-sample .container { max-width: 900px; }
.n-sample h2 {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(28px, 2.8vw, 44px); letter-spacing: -.015em; margin: 0 0 8px;
}
.n-sample h2 em { font-style: italic; color: var(--green-700); }
.n-sample .frame {
  background: var(--cream); border: 1px solid var(--rule); padding: clamp(32px, 3.5vw, 64px);
  margin-top: 30px;
}
.n-sample .frame h3 { font-family: var(--serif); margin: 0 0 12px; font-weight: 400; font-size: 28px; }
.n-sample .frame p { font-family: var(--serif); font-size: 19px; line-height: 1.5; margin: 0 0 1em; color: var(--ink); }

.n-archive { padding: clamp(48px, 5vw, 88px) 0; border-top: 1px solid var(--rule); }
.n-archive h2 {
  font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.8vw, 44px);
  margin: 0 0 28px; padding-bottom: 18px; border-bottom: 1px solid var(--ink);
}
.n-archive h2 em { font-style: italic; color: var(--green-700); }
.n-archive .issues { display: flex; flex-direction: column; }
.n-archive .issue {
  display: grid; grid-template-columns: 100px 1fr auto; gap: 28px;
  padding: 20px 0; border-bottom: 1px solid var(--rule);
  transition: padding-left .2s var(--ease);
}
.n-archive .issue:hover { padding-left: 8px; }
.n-archive .issue .n { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--muted); line-height: 1; }
.n-archive .issue h3 { font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1.2; margin: 0 0 6px; }
.n-archive .issue .date { font-size: 12px; color: var(--muted); letter-spacing: .06em; align-self: center; }

.n-closer {
  padding: clamp(48px, 5vw, 80px) 0; background: var(--green-900); color: var(--cream); text-align: center;
}
.n-closer p {
  font-family: var(--serif); font-style: italic; font-size: clamp(22px, 2vw, 28px);
  max-width: 40ch; margin: 0 auto; line-height: 1.3;
}

@media (max-width: 960px) {
  .n-what .grid { grid-template-columns: 1fr; }
  .n-archive .issue { grid-template-columns: 60px 1fr; }
  .n-archive .issue .date { grid-column: 2; }
}
