.newsletter { background: #e6e8dd; color: #123f36; padding-block: 64px; }
.newsletter-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; }
.newsletter h2 { font-size: clamp(32px, 3.3vw, 48px); margin-bottom: 16px; }
.newsletter p { max-width: 47ch; font-size: 16px; line-height: 1.7; }
.newsletter-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.newsletter .subscribe-link { display: inline-flex; gap: 32px; align-items: center; padding: 14px 22px; background: #0d5e4e; color: #f3efe8; text-decoration: none; min-height: 48px; }
.newsletter .subscribe-link:hover, .newsletter .subscribe-link:focus-visible { background: #123f36; }
.newsletter .sample-link { font-size: 14px; }
.newsletter .newsletter-note { font-size: 13px; margin-top: 16px; color: #4b5d52; }
.email-note { font-size: 13px; line-height: 1.6; color: var(--muted); max-width: 30ch; }
.captcha-wrap { margin: 0 0 22px; }
.form-status[data-state="error"] { border-color: #8a3931; }
.form-status[data-state="success"] { border-color: #0d5e4e; }
form[aria-busy="true"] button { cursor: wait; opacity: .7; }
form button:disabled { cursor: default; }
@media (max-width: 600px) {
  form[data-direct-message] .field-row { grid-template-columns: 1fr; gap: 0; }
  form[data-direct-message] .form-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }
  form[data-direct-message] .form-bottom .button { flex-shrink: 0; white-space: nowrap; }
  form[data-direct-message] .email-note { max-width: none; }
}
.blog-opening { padding-block: 64px 48px; max-width: 920px; }
.blog-opening h1 { font-size: clamp(46px, 5.2vw, 76px); margin-bottom: 24px; }
.blog-opening p { max-width: 48ch; font-size: 18px; }
.blog-list { max-width: 1080px; padding-bottom: 90px; }
.blog-entry { padding-block: 30px; border-top: 1px solid var(--line); }
.blog-entry time, .article-date { display: block; color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.blog-entry h2 { font-size: clamp(26px, 2.6vw, 36px); margin-bottom: 16px; max-width: 36ch; }
.blog-entry p { color: var(--muted); max-width: 66ch; }
.article { max-width: 860px; margin-inline: auto; padding: 64px var(--gutter) 90px; }
.article h1 { font-size: clamp(38px, 4.4vw, 62px); margin-bottom: 24px; }
.article h2 { font-size: clamp(28px, 2.6vw, 38px); margin-block: 40px 18px; }
.article h3 { font-size: 24px; margin-block: 30px 16px; }
.article p, .article ul, .article ol { margin-block: 18px; }
.article img { width: 100%; height: auto; margin-block: 28px; }
.article figure { margin-block: 28px; }
.article blockquote { font-size: 28px; line-height: 1.4; padding-left: 24px; border-left: 2px solid var(--forest); }
.article-back { display: inline-block; margin-bottom: 28px; font-size: 14px; }
.article .historical-note { font-size: 13px; color: var(--muted); }
@media (max-width: 760px) {
  .newsletter-inner { grid-template-columns: 1fr; gap: 24px; }
  .newsletter { padding-block: 48px; }
  .newsletter h2 { font-size: 34px; }
  .article { padding-top: 40px; }
}
