/* V9 builds on V8's visual transition with broader institutional content. */
.projects { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.action-path { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--line); }
.action-path h3 { font-size: 23px; margin-bottom: 10px; }
.action-path > p { color: var(--muted); }
.action-path ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; list-style: none; counter-reset: action; margin: 22px 0 0; padding: 0; }
.action-path li { counter-increment: action; border-top: 2px solid #c5dce0; padding-top: 12px; font-size: 13px; }
.action-path li::before { content: '0' counter(action); display: block; color: #246a72; font-weight: 600; margin-bottom: 6px; }
.open-invitation { background: #edf4f5; padding-block: clamp(38px, 5vw, 64px); font: 14px/1.75 Inter, Arial, sans-serif; }
.invitation-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; }
.open-invitation h2 { font-family: Inter, Arial, sans-serif; font-weight: 500; font-size: clamp(29px, 3vw, 39px); line-height: 1.2; letter-spacing: -.035em; text-wrap: balance; }
.open-invitation :is(em, .kicker) { color: #246a72; }
.invitation-sectors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; list-style: none; padding: 0; margin: 22px 0; }
.invitation-sectors li { border-bottom: 1px solid #cbdde1; padding-block: 11px; color: var(--navy); }
.invitation-note { color: #465f6d; margin: 0; font-size: 13px; }
.manifesto-actions { justify-content: center; margin-top: 28px; }
.manifesto-actions .btn { color: white; border-color: #9cdbd6; border-radius: 8px; padding: 12px 22px; }
.manifesto-actions .btn:hover { background: #ffffff12; }
.manifesto-page { background: #f8fbfc; color: var(--ink); font: 16px/1.85 Inter, Arial, sans-serif; }
.reading-layout { max-width: 820px; padding-block: 40px 72px; }
.reading-back { color: #246a72; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.reading-header { margin-block: 32px 44px; border-bottom: 1px solid #cbdde1; padding-bottom: 32px; }
.manifesto-page h1 { font: 500 clamp(35px, 4.2vw, 54px)/1.12 Inter, Arial, sans-serif; letter-spacing: -.04em; text-wrap: balance; }
.manifesto-page em { color: #246a72; }
.reading-intro { color: var(--muted); font-size: 18px; margin: 22px 0 0; }
.manifesto-page section { margin-top: 36px; }
.manifesto-page h2 { font: 500 27px/1.25 Inter, Arial, sans-serif; letter-spacing: -.025em; margin-bottom: 18px; }
.manifesto-page section p { margin-bottom: 18px; }
.manifesto-page blockquote { margin: 28px 0; padding: 12px 0 12px 24px; border-left: 3px solid var(--gold); font-size: 23px; line-height: 1.5; }
.reading-actions { align-items: center; padding-top: 28px; border-top: 1px solid #cbdde1; gap: 24px; }
.reading-actions .btn { font-size: 14px; border-radius: 8px; }
@media (max-width: 1050px) {
  .projects { gap: 16px; }
  .invitation-layout { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 680px) {
  .projects { grid-template-columns: 1fr; gap: 23px; }
  .action-path ol { grid-template-columns: 1fr; gap: 10px; }
  .action-path li { display: flex; gap: 16px; align-items: baseline; padding-top: 10px; font-size: 14px; }
  .action-path li::before { flex-shrink: 0; }
  .invitation-sectors { grid-template-columns: 1fr; }
  .manifesto-page { font-size: 15px; line-height: 1.8; }
  .reading-layout { padding-block: 28px 48px; }
  .reading-header { margin-block: 24px 32px; }
  .manifesto-page h2 { font-size: 24px; }
  .manifesto-page blockquote { padding-left: 16px; font-size: 21px; }
}
