/* T25 Newsletter - page layout only; visual tokens come from css/v2 */
.nl [hidden] { display: none !important; }
.nl-hero { padding: 64px 0 72px; border-bottom: 2px solid var(--ink-900); }
.nl-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 56px; align-items: center; }
.nl-kicker { font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-900); }
.nl-title { font-size: clamp(3.5rem, 1.5rem + 7vw, 7.5rem) !important; line-height: .95 !important; letter-spacing: -0.03em !important; color: var(--ink-900); margin: 16px 0 24px !important; }
.nl-lead { max-width: 760px; font-size: 19px; line-height: 1.6; color: var(--ink-900); }
.nl-card { padding: 32px; background: var(--cream-0); border: 2px solid var(--ink-900); border-radius: 28px; box-shadow: 8px 8px 0 0 var(--ink-900); }
.nl-form { display: grid; gap: 8px; }
.nl-form .psb-input { margin-bottom: 8px; }
.nl-form .psb-check { margin: 4px 0 8px; }
.nl-form .psb-check a { color: var(--pine-500); }
.nl-note { text-align: center; color: var(--ink-700) !important; }
.nl-error { padding: 8px 12px; border: 2px solid var(--tomato-600); border-radius: 12px; background: var(--tomato-100); font-size: var(--fs-body-s); font-weight: 600; }
.nl-success { display: grid; gap: 12px; padding: 8px 0; }
.nl-success:focus { outline: none; }
.nl-success__h { font: 400 26px/1.2 var(--font-display); color: var(--ink-900); }
.nl-success__h span { color: var(--pine-500); }

.nl .psb-section { padding-block: 64px; }
.nl-parts { list-style: none; margin: 0; padding: 0; }
.nl-parts .psb-box { gap: 4px; }
.nl-n { font: 400 32px/1.1 var(--font-display); color: var(--tomato-500); }
.nl-part__h { font: 700 19px/1.4 var(--font-body) !important; }
.nl-policy { margin-top: 28px !important; }

@media (max-width: 1000px) {
  .nl-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .nl-card { max-width: 520px; }
}
@media (max-width: 600px) {
  .nl-hero { padding: 40px 0 48px; }
  .nl-card { padding: 22px; }
}
.nl-form .psb-field { display: block; color: var(--ink-700); }
