.page-header { padding-top: 7rem; background: #1a1714; }
  .page-header-inner { max-width: var(--max-wide); margin: 0 auto; padding: 3rem var(--col-pad) 3.5rem; }
  .page-label { font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245,242,238,0.55); margin-bottom: 1.25rem; display: flex; align-items: center; gap: 0.75rem; opacity: 0; animation: fadeInUp 0.6s ease 0.2s forwards; }
  .page-label::before { content: ""; width: 24px; height: 1px; background: #2b4a6f; flex-shrink: 0; }
  .page-title { font-family: var(--serif); font-size: clamp(3rem, 6vw, 5.5rem); font-weight: 400; line-height: 0.95; letter-spacing: -0.03em; color: #f5f2ee; margin-bottom: 2rem; opacity: 0; animation: fadeInUp 0.6s ease 0.35s forwards; }
  .page-title em { font-style: italic; color: #d4cfc9; }
  .page-standfirst { font-family: var(--sans); font-size: 1.05rem; font-weight: 300; line-height: 1.8; color: rgba(245,242,238,0.72); max-width: 600px; opacity: 0; animation: fadeInUp 0.6s ease 0.5s forwards; }
  .press-section { padding: 5rem var(--col-pad); }
  .press-section:nth-child(odd) { background: #f5f2ee; }
  .press-section:nth-child(even) { background: #ede9e3; }
  .press-inner { max-width: var(--max-wide); margin: 0 auto; }
  .section-label { font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: #5c5652; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.75rem; }
  .section-label::before { content: ""; width: 24px; height: 1px; background: #2b4a6f; flex-shrink: 0; }
  .section-heading { font-family: var(--serif); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; line-height: 1.2; color: #1a1714; margin-bottom: 0.75rem; }
  .section-standfirst { font-size: 1rem; font-weight: 300; color: #3d3935; line-height: 1.75; max-width: 620px; margin-bottom: 2.5rem; }
  .section-rule { width: 48px; height: 2px; background: #2b4a6f; border: none; margin: 1.5rem 0 2.5rem; }
  .press-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
  .press-card { background: #f5f2ee; border: 1px solid #d4cfc9; padding: 2rem; display: flex; flex-direction: column; transition: border-color 0.2s, transform 0.2s; }
  .press-section:nth-child(even) .press-card { background: #f5f2ee; }
  .press-card:hover { border-color: #2b4a6f; transform: translateY(-2px); }
  .press-card-type { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #2b4a6f; margin-bottom: 0.75rem; display: block; }
  .press-card-title { font-family: var(--serif); font-size: 1.15rem; font-weight: 500; color: #1a1714; line-height: 1.35; margin-bottom: 0.75rem; flex: 1; }
  .press-card-source { font-size: 0.8rem; font-weight: 300; color: #5c5652; line-height: 1.5; margin-bottom: 1.25rem; }
  .press-card-link { display: inline-block; font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #2b4a6f; text-decoration: none; border-bottom: 1px solid rgba(43,74,111,0.35); padding-bottom: 2px; transition: border-color 0.2s; margin-top: auto; }
  .press-card-link:hover { border-color: #2b4a6f; }
  .speaking-list { list-style: none; display: flex; flex-direction: column; gap: 0; }
  .speaking-item { padding: 1.5rem 0; border-top: 1px solid #d4cfc9; }
  .speaking-item:last-child { border-bottom: 1px solid #d4cfc9; }
  .speaking-event { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; color: #1a1714; margin-bottom: 0.25rem; }
  .speaking-topic { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #2b4a6f; display: block; margin-bottom: 0.4rem; }
  .speaking-desc { font-size: 0.9rem; font-weight: 300; color: #5c5652; line-height: 1.65; max-width: 680px; }
  .orgs-list { list-style: none; display: flex; flex-direction: column; gap: 0; }
  .org-item { padding: 1.5rem 0; border-top: 1px solid #d4cfc9; display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; }
  .org-item:last-child { border-bottom: 1px solid #d4cfc9; }
  .org-name { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; color: #1a1714; margin-bottom: 0.25rem; }
  .org-role { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #2b4a6f; display: block; margin-bottom: 0.4rem; }
  .org-desc { font-size: 0.9rem; font-weight: 300; color: #5c5652; line-height: 1.65; }
  .org-link { font-family: var(--sans); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #2b4a6f; text-decoration: none; border: 1px solid rgba(43,74,111,0.4); padding: 0.4rem 0.9rem; white-space: nowrap; transition: all 0.2s; flex-shrink: 0; }
  .org-link:hover { background: #2b4a6f; color: #f5f2ee; border-color: #2b4a6f; }
@media (max-width: 600px) {
  .org-item { grid-template-columns: 1fr; }
  .press-grid { grid-template-columns: 1fr; }
}
  .pack-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; }
  .pack-block { background: #f5f2ee; border: 1px solid #d4cfc9; border-left: 3px solid #2b4a6f; padding: 1.75rem; }
  .pack-heading { font-family: var(--serif); font-size: 1.15rem; font-weight: 500; color: #1a1714; margin-bottom: 0.5rem; }
  .pack-note { font-size: 0.875rem; color: #5c5652; line-height: 1.6; margin-bottom: 1rem; }
  .pack-copy { border-left: 2px solid #d4cfc9; padding-left: 1rem; margin-bottom: 1rem; }
  .pack-copy p { font-size: 0.95rem; color: #1a1714; line-height: 1.75; margin-bottom: 0.85rem; }
  .pack-copy p:last-child { margin-bottom: 0; }
  .pack-body { font-size: 0.95rem; color: #3d3935; line-height: 1.75; }
  .pack-list { list-style: none; margin-bottom: 1rem; }
  .pack-list li { font-size: 0.95rem; color: #3d3935; line-height: 1.6; padding: 0.5rem 0; border-top: 1px solid #d4cfc9; }
  .pack-list li:first-child { border-top: none; }

/* Former inline style attributes. Moved out so the CSP can drop
   'unsafe-inline' from style-src — a style="" attribute is blocked
   by that directive just as an inline <style> block is. */
  .x-press-1.x-press-1.x-press-1 { display:flex;flex-direction:column;gap:0.5rem;flex-shrink:0; }
