/* Keep public entry and legal content usable at narrow widths and text zoom. */
.entry-shell, .legal-shell, .content-shell { container-type: inline-size; }
.content-shell .content-nav, .content-shell .nav-actions { flex-wrap: wrap; }
.content-shell .content-featured > *, .content-shell .content-section > * { min-width: 0; }
.content-shell h1, .content-shell h2, .content-shell h3, .content-shell p { overflow-wrap: anywhere; }
.content-shell a { max-width: 100%; overflow-wrap: anywhere; }
.content-shell .primary-action, .content-shell .nav-link { white-space: normal; text-align: center; padding-block: 12px; }
.entry-shell .hero-copy h1 { color: #fff; }
.entry-shell .entry-nav { flex-wrap: wrap; }
.entry-shell .nav-actions { flex-wrap: wrap; min-width: 0; }
.entry-shell .hero-grid > *, .entry-shell .section-copy,
.legal-shell .legal-card { min-width: 0; }
.entry-shell h1, .entry-shell h2, .entry-shell p,
.legal-shell h1, .legal-shell h2, .legal-shell p,
.legal-shell li { overflow-wrap: anywhere; }
.entry-shell a, .legal-shell a { max-width: 100%; overflow-wrap: anywhere; }
.legal-shell .brand { flex-wrap: wrap; }
.entry-shell .primary-action, .entry-shell .secondary-action,
.entry-shell .content-cta-link, .legal-shell .secondary-action {
  white-space: normal; text-align: center; padding-block: 12px;
}
@container (max-width: 920px) {
  .content-shell .content-featured, .content-shell .content-section { grid-template-columns: minmax(0, 1fr); }
  .content-shell .content-final { flex-direction: column; align-items: stretch; }
  .entry-shell .hero-grid, .entry-shell .entry-flow,
  .entry-shell .entry-tech, .entry-shell .entry-content-cta,
  .entry-shell .entry-faq { grid-template-columns: minmax(0, 1fr); }
  .entry-shell .hero-grid { gap: 28px; padding: 30px 20px; }
}
@container (max-width: 420px) {
  .content-shell .brand { flex-wrap: wrap; }
  .content-shell .nav-actions { flex-direction: row; }
  .content-shell .content-hero h1 { font-size: 2rem; line-height: 1.05; }
  .content-shell .content-featured article, .content-shell .content-featured aside,
  .content-shell .content-list article, .content-shell .content-final { padding: 16px; }
  .entry-shell .entry-nav { padding: 18px; gap: 16px; }
  .entry-shell .nav-actions { flex-direction: row; }
  .entry-shell .brand { flex-wrap: wrap; }
  .entry-shell .entry-flow, .entry-shell .entry-tech,
  .entry-shell .entry-content-cta, .entry-shell .entry-faq { padding: 16px; }
  .entry-shell .tech-list { grid-template-columns: minmax(0, 1fr); }
  .entry-shell .system-panel { padding: 16px; }
  .entry-shell .status-line { flex-wrap: wrap; gap: 8px; }
  .entry-shell h1 { font-size: 2rem; line-height: 1.05; }
  .legal-shell .legal-card { padding: 18px; }
  .legal-shell .brand { gap: 10px; }
  .legal-shell .brand strong { font-size: 1.1rem; }
  .legal-shell .brand small { display: none; }
  .legal-shell h1 { font-size: 1.8rem; line-height: 1.1; }
  .legal-shell ul { padding-left: 16px; }
}
