@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/manrope-400.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/manrope-500.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/manrope-600.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/manrope-700.ttf') format('truetype'); }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/manrope-800.ttf') format('truetype'); }
/* === Program V18 — the report-card (V18) system applied to program pages ===
   Same light premium system: paper, ink, hairlines, lime accent, Manrope.
   First user: Policy Builders of Tomorrow. */
.pg-v18 { --ground:#FAF8F3; --paper:#FFFFFF; --ink:#2A0C3C; --ink2:#3A1251; --muted:#6E5A86; --body:#4A3566; --line:#E3D9F2; --line2:#D5C8EC; --lilac:#F3EDFA; --tray:#F1EAF9; --lime:#BEF264;
  background:var(--ground); color:var(--ink); font-variant-numeric:tabular-nums; overflow-x:clip; padding-bottom:96px; width:100vw; max-width:none; margin-left:calc(50% - 50vw);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; -webkit-font-smoothing:antialiased; }
.pg-v18 ::selection { background:var(--lime); color:var(--ink); }
.pg-v18 * { box-sizing:border-box; }

.pg-hero { padding:64px 0 0; max-width:1060px; margin-inline:auto; }
.pg-imprint { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 24px; }
.pg-title { font-size:clamp(2.7rem,6.2vw,4.75rem); font-weight:800; line-height:1.02; letter-spacing:-0.03em; color:var(--ink); margin:0 0 24px; max-width:17ch; }
.pg-title em { font-style:normal; box-shadow:inset 0 -0.14em 0 var(--lime); }
.pg-stand { font-size:clamp(1.05rem,1.6vw,1.25rem); line-height:1.6; color:var(--body); max-width:62ch; margin:0; }
.pg-status { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:24px; font-size:.95rem; font-weight:700; color:var(--ink2); }
.pg-status span::before { content:"·"; margin-right:24px; color:var(--muted); }
.pg-status span:first-child::before { content:""; margin-right:0; }
.pg-hero-cta { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.pg-hero-cta__alt { font-weight:700; color:var(--ink2); align-self:center; }
.pg-btn { display:inline-block; font-weight:800; font-size:1rem; color:var(--ink); text-decoration:none; border:2px solid var(--ink); border-radius:99px; padding:14px 28px; transition:background .2s ease, color .2s ease; }
.pg-btn:hover { background:var(--lilac); }
.pg-btn--solid { background:var(--ink); color:#fff; }
.pg-btn--solid:hover { background:var(--ink2); color:#fff; }

.pg-ticker { margin:48px calc(50% - 50vw) 0; background:var(--ink2); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); overflow:hidden; padding:12px 0; }
.pg-ticker__track { display:flex; gap:0; width:max-content; animation:pgtick 32s linear infinite; }
.pg-ticker__track span { font-size:14px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:#fff; white-space:nowrap; padding-right:20px; }
.pg-ticker__track span::after { content:"·"; margin-left:20px; font-weight:800; }
@keyframes pgtick { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .pg-ticker__track { animation:none; } }
.pg-ticker__track:hover, .pg-ticker__track:active { animation-play-state:paused; }

.pg-sec { margin-top:96px; max-width:1060px; margin-inline:auto; }
.pg-sec-head { margin-bottom:48px; }
.pg-h2 { font-size:clamp(2rem,4vw,3rem); font-weight:800; letter-spacing:-0.03em; line-height:1.05; color:var(--ink); margin:0 0 16px; }
.pg-sec-sub { font-size:16.5px; line-height:1.65; color:var(--body); max-width:64ch; margin:0; }
.pg-prose p { font-size:16.5px; line-height:1.65; color:var(--body); max-width:68ch; margin:0 0 16px; }
.pg-prose p:last-child { margin-bottom:0; }

/* metric cards — double-bezel, no blur */
.pg-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; max-width:1060px; }
.pg-metric { background:var(--paper); border:1px solid var(--line2); border-radius:20px; padding:32px;
  box-shadow:0 0 0 6px var(--tray), 0 0 0 7px var(--line), inset 0 1px 0 #fff, 0 24px 40px -28px rgba(42,12,60,.28); }
.pg-metric__num { display:block; font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:800; letter-spacing:-0.03em; line-height:1.05; color:var(--ink); margin-bottom:12px; }
.pg-metric__lab { display:block; font-size:14.5px; line-height:1.55; color:var(--body); font-weight:600; }

/* numbered rows (objectives) */
.pg-findings { list-style:none; margin:0; padding:0; border-top:1px solid var(--line2); max-width:1060px; }
.pg-finding { display:flex; gap:24px; align-items:baseline; padding:24px 0; border-bottom:1px solid var(--line); }
.pg-finding__n { font-size:15px; font-weight:800; color:var(--ink2); background:var(--lilac); width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex:none; align-self:flex-start; }
.pg-finding__b { font-size:16.5px; line-height:1.6; color:var(--body); max-width:64ch; margin:0; }

/* content cards (phases, deliverables) */
.pg-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; max-width:1060px; }
.pg-card { background:var(--paper); border:1px solid var(--line2); border-radius:20px; padding:32px;
  box-shadow:0 0 0 6px var(--tray), 0 0 0 7px var(--line), inset 0 1px 0 #fff, 0 24px 40px -28px rgba(42,12,60,.28); }
.pg-card__title { font-size:1.25rem; font-weight:800; letter-spacing:-0.01em; color:var(--ink); margin:0 0 12px; }
.pg-card__text { font-size:15.5px; line-height:1.6; color:var(--body); margin:0; }

/* plain rows (outcomes) */
.pg-rows { list-style:none; margin:0; padding:0; border-top:1px solid var(--line2); max-width:1060px; }
.pg-rows li { font-size:16.5px; line-height:1.6; color:var(--body); max-width:64ch; padding:20px 0; border-bottom:1px solid var(--line); }

/* eligibility list */
.pg-list { list-style:none; margin:0; padding:0; max-width:760px; }
.pg-list li { position:relative; font-size:16.5px; line-height:1.6; color:var(--body); padding:0 0 16px 28px; }
.pg-list li::before { content:""; position:absolute; left:2px; top:.52em; width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 1.5px var(--line2); }
.pg-list li:last-child { padding-bottom:0; }

/* research team showcase */
.pg-team { border:1px solid var(--line2); border-radius:20px; background:var(--paper); padding:32px; max-width:1060px;
  box-shadow:0 0 0 6px var(--tray), 0 0 0 7px var(--line), inset 0 1px 0 #fff; }
.pg-team__label { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 24px; }
.pg-faces { display:flex; flex-wrap:wrap; gap:24px 20px; }
.pg-face { display:flex; flex-direction:column; align-items:center; gap:8px; width:104px; text-align:center; }
.pg-face__photo { width:72px; height:72px; border-radius:50%; object-fit:cover; display:block; box-shadow:0 0 0 2px var(--ground), 0 0 0 3.5px var(--line2); }
.pg-face__name { font-size:.8rem; font-weight:700; color:var(--body); line-height:1.25; }

/* facts list */
.pg-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; max-width:1060px; }
.pg-fact { border-top:2px solid var(--line2); padding-top:16px; }
.pg-fact__k { display:block; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.pg-fact__v { display:block; font-size:16.5px; font-weight:700; line-height:1.5; color:var(--ink); }

.pg-close { border-top:1px solid var(--line2); padding-top:64px; }
.pg-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:32px; }
.pg-credits { margin-top:48px; font-size:.92rem; line-height:1.6; color:var(--muted); max-width:70ch; }
.pg-credits a { color:var(--ink2); font-weight:700; }

@media (max-width:760px) {
  .pg-hero { padding-top:48px; }
  .pg-sec { margin-top:64px; }
  .pg-metrics, .pg-cards { grid-template-columns:1fr; gap:28px; }
  .pg-facts { grid-template-columns:1fr; gap:24px; }
  .pg-faces { gap:20px 12px; }
  .pg-face { width:88px; }
  .pg-face__photo { width:60px; height:60px; }
  .pg-team, .pg-card, .pg-metric { padding:24px; }
  .pg-status { flex-direction:column; gap:4px; }
  .pg-status span::before { content:""; margin-right:0; }
}
