.news-shell {
  width: min(100%, 84rem);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 5rem) 4.5vw;
}
.news-lead {
  color: var(--muted);
  font-size: var(--text-lead);
  line-height: 1.6;
  max-width: 39rem;
  margin: 1.1rem 0 1.5rem;
}
.news-shell h1 {
  font-size: clamp(2.75rem, 6vw, 5.25rem);
  line-height: 1.04;
  margin: 0;
}
.signup-layout, .news-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}
.news-photo {
  overflow: hidden;
  background: var(--paper-dark);
  border-radius: var(--radius-lg);
}
.news-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.signup-photo { margin-top: 2rem; aspect-ratio: 1.85; }
.signup-card {
  padding: clamp(1.2rem, 3.4vw, 3rem);
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--red);
  border-radius: var(--radius-lg);
}
.signup-card h2, .news-listing h2 { font-size: clamp(1.8rem, 3.4vw, 2.75rem); margin: 0; }
.signup-card > p, .signup-card form > p { font-size: var(--text-body); line-height: 1.6; margin: .75rem 0 1.6rem; }
#signup-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.signup-field, #signup-fields > p { grid-column: 1 / -1; margin: 0; }
.signup-name { grid-column: span 1; }
.signup-field .field-error:empty, #signup-notice:empty { display: none; }
.signup-field .field-error { margin: .3rem 0 0; }
.signup-consent label {
  display: flex; align-items: flex-start; gap: .65rem;
  font-weight: 500; line-height: 1.55; cursor: pointer; margin: 0; padding-block: .2rem;
}
.signup-consent input {
  accent-color: var(--red); flex: 0 0 1.3rem; width: 1.3rem; height: 1.3rem; margin: .2rem 0 0;
}
#signup-actions { margin-top: 1.35rem; }
#signup-actions button + button { margin-left: .65rem; }
#signup-actions button[hidden] + button { margin-left: 0; }
.signup-card a.privacy-note { display: inline-block; margin-top: 1.4rem; font-size: var(--text-small); color: var(--muted); text-underline-offset: .15em; }
.news-intro { align-items: center; padding-bottom: clamp(2rem, 5vw, 4rem); }
.blog-cover { aspect-ratio: 2.1; }
.news-listing { border-top: 1px solid var(--line); padding-top: clamp(1.7rem, 4vw, 3rem); }
.news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.news-grid:empty { display: none; }
.news-card { align-self: start; max-width: 33rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); overflow: hidden; }
.news-card > img { width: 100%; aspect-ratio: 1.85; object-fit: cover; }
.news-card > div { padding: clamp(1.1rem, 2.4vw, 1.8rem); }
.news-card h3 { font-size: var(--text-card); margin: .5rem 0; line-height: 1.2; }
.news-card h3 a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: .13em; }
.news-card h3 a:hover { text-decoration-color: var(--red); }
.news-card p, .news-message, .post-body, .post-meta { color: var(--muted); font-size: var(--text-body); line-height: 1.65; }
.news-card p { margin: .5rem 0 0; }
.news-card time, .post-meta { font-size: var(--text-small); color: var(--muted); }
.news-message { margin: 1.1rem 0 0; max-width: 45rem; }
.news-message a, .post-body a { color: var(--red); text-underline-offset: .15em; }
#blog-more { margin-top: 1.5rem; }
.market-post { max-width: 52rem; margin-inline: auto; }
.post-back { margin-bottom: 1.8rem; }
.post-meta { margin: .85rem 0; }
.post-cover { margin: 1.5rem 0; }
.post-cover img { height: auto; max-height: 36rem; object-fit: contain; }
.post-body { color: var(--ink); overflow-wrap: anywhere; margin-block: 1.65rem; }
.post-body p, .post-body li { line-height: 1.75; }
.post-body h2, .post-body h3 { line-height: 1.24; margin-block: 1.4em .5em; }
.post-body h2 { font-size: clamp(1.65rem, 4vw, 2.6rem); }
.post-body h3 { font-size: var(--text-card); }
.post-body img, .post-body iframe, .post-body video { max-width: 100%; }
.post-body img, .post-body video { height: auto; }
.post-body figure { margin: 1.25rem 0; }
.post-body blockquote { border-left: 3px solid var(--red); margin: 1.5rem 0; padding-left: 1rem; }
.post-body pre, .post-body table { max-width: 100%; overflow-x: auto; display: block; }
.post-subscribe { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.news-callout {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  padding: clamp(2rem, 5vw, 4rem) 4.5vw; border-top: 1px solid var(--line); background: var(--white);
}
.news-callout h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); margin: 0; }
.news-callout p { font-size: var(--text-body); color: var(--muted); margin: .65rem 0 0; line-height: 1.6; }
.news-callout-actions { display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.news-shell [hidden] { display: none !important; }
@media (min-width: 76.01em) and (max-width: 82em) {
  .site-header { gap: 1rem; padding-inline: 3vw; }
  .site-header nav { gap: clamp(.55rem, 1.15vw, 1.25rem); }
  .site-header .brand > span { font-size: 1.5rem; }
}
@media (max-width: 54em) {
  .signup-layout, .news-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .signup-photo { display: none; }
  .blog-cover { aspect-ratio: 3; }
  .news-callout { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
}
@media (max-width: 34em) {
  .news-shell { padding-inline: 5vw; }
  .signup-name { grid-column: 1 / -1; }
  .news-callout-actions { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .blog-cover { aspect-ratio: 2.35; }
}
