.project-program-section{background:#eef5fb}
.program-project-list{display:grid;gap:28px;margin-top:58px}
.program-project-card{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);min-height:590px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(11,50,91,.08);overflow:hidden}
.program-project-poster{display:grid;place-items:center;padding:42px;background:linear-gradient(145deg,#092b59,#0f5a9d)}
.program-project-poster img{display:block;width:min(100%,390px);max-height:510px;object-fit:contain;box-shadow:0 24px 55px rgba(0,0,0,.3);transform:rotate(-1deg);transition:.3s}
.program-project-poster:hover img{transform:none}
.program-project-copy{align-self:center;padding:58px 62px}
.program-project-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;color:#a37c2e;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.program-project-meta small{padding:7px 10px;background:#e8f3fb;color:#3d77a8;font-size:7px;letter-spacing:.12em}
.program-project-meta small.status-upcoming{background:#e8f3fb;color:#3d77a8}
.program-project-meta small.status-ongoing{background:var(--gold);color:#3a2a06;font-weight:800}
.program-project-meta small.status-completed{background:#eef1f4;color:#8391a1}
.program-project-meta small.status-active{background:#e8f3fb;color:#3d77a8}
.program-project-copy h3{max-width:680px;margin:0 0 20px;color:#12263f;font-size:clamp(32px,4vw,50px);line-height:1.16;letter-spacing:-.045em}
.program-project-copy>p{max-width:680px;margin:0;color:#647386;font-size:13px;line-height:1.9;text-align:justify;text-justify:inter-word;text-align-last:left}
.program-project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:32px 0}
.program-project-facts>div{padding-left:16px;border-left:2px solid var(--gold)}
.program-project-facts small,.program-project-facts strong{display:block}
.program-project-facts small{color:#8994a1;font-size:7px;text-transform:uppercase;letter-spacing:.13em}
.program-project-facts strong{margin-top:5px;color:#21364f;font-size:12px}
.program-project-copy .project-button{margin-top:0}

.program-hero h1{max-width:990px;font-size:clamp(48px,5.6vw,76px)}
.program-overview{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:90px;align-items:center}
.program-poster-frame{margin:0;padding:34px;background:linear-gradient(145deg,#092b59,#0f5a9d)}
.program-poster-frame img{display:block;width:100%;max-height:650px;object-fit:contain;box-shadow:0 25px 55px rgba(0,0,0,.3)}
.program-overview-copy h2{margin:0 0 25px;color:#11253e;font-size:clamp(38px,4.5vw,58px);line-height:1.14;letter-spacing:-.045em}
.program-overview-copy h2 em{font-family:var(--serif);font-weight:600;color:var(--blue-2)}
.program-overview-copy>p{color:#617084;font-size:14px;line-height:1.9}
.program-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:38px;background:var(--line);border:1px solid var(--line)}
.program-facts>div{min-height:125px;padding:24px 20px;background:#fff}
.program-facts small,.program-facts strong{display:block}
.program-facts small{color:#a17b31;font-size:8px;text-transform:uppercase;letter-spacing:.13em}
.program-facts strong{margin-top:12px;color:#263a51;font-size:13px;line-height:1.55}

.project-articles-section{background:#eef5fb}
.project-articles-heading{display:grid;grid-template-columns:1fr .72fr;gap:75px;align-items:end;margin-bottom:55px}
.project-articles-heading h2{margin:0;color:#11253e;font-size:clamp(40px,5vw,62px);line-height:1.12;letter-spacing:-.05em}
.project-articles-heading h2 em{font-family:var(--serif);font-weight:600;color:var(--blue-2)}
.project-articles-heading>p{margin:0;color:#687688;font-size:13px;line-height:1.85}
.project-articles-grid{display:grid;gap:24px}
.project-news-status{margin:0 0 24px;padding:14px 17px;border-left:3px solid #739fc5;background:rgba(255,255,255,.68);color:#49657f;font-size:11px;line-height:1.7}
.project-news-status[data-state="loading"]{animation:projectNewsPulse 1.2s ease-in-out infinite alternate}.project-news-status[data-state="error"]{border-color:#c18d2c;background:#fff7e6;color:#70531a}.project-news-status[data-state="empty"]{border-color:#a8bdce;background:rgba(255,255,255,.5)}
.project-news-status a{color:#155b9b;text-decoration:underline;text-underline-offset:3px}@keyframes projectNewsPulse{to{opacity:.5}}
.project-news-all{display:inline-flex;margin-top:28px;padding-bottom:5px;border-bottom:1px solid #9ebbd2;color:#145691;font-size:11px;font-weight:800}.project-news-all[hidden]{display:none}
.project-article-card{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:430px;background:#fff;border:1px solid var(--line);overflow:hidden}
.project-article-image{display:grid;place-items:center;padding:30px;background:#e5eef5}
.project-article-image img{width:100%;height:100%;max-height:370px;object-fit:contain;box-shadow:0 18px 40px rgba(15,47,82,.17)}
.project-article-copy{align-self:center;padding:45px 50px}
.project-article-date{display:flex;justify-content:space-between;gap:20px;margin:0 0 20px;color:#9b7933;font-size:8px;text-transform:uppercase;letter-spacing:.13em}
.project-article-copy h3{max-width:680px;margin:0 0 18px;color:#142943;font-size:clamp(25px,3vw,37px);line-height:1.28;letter-spacing:-.03em}
.project-article-copy>p:not(.project-article-date){max-width:700px;margin:0;color:#667587;font-size:12px;line-height:1.85}
.project-article-copy>a{display:inline-block;margin-top:24px;color:#145691;font-size:10px;font-weight:700;border-bottom:1px solid #b9cede;padding-bottom:5px}

.primary-article-section{background:#fff}
.primary-article-section .project-news-status{margin-bottom:40px}
.primary-article-heading{max-width:900px;margin:0 0 50px}
.primary-article-heading h2{margin:14px 0 0;color:#11253e;font-size:clamp(34px,4.4vw,52px);line-height:1.16;letter-spacing:-.04em}
.primary-article-meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px;color:#5c7186;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.primary-article-meta span{white-space:nowrap}

.article-hero{min-height:650px}
.article-hero h1{max-width:1050px;font-size:clamp(42px,5.2vw,70px)}
.article-hero-meta{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:30px;color:rgba(255,255,255,.7);font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.article-layout{display:grid;grid-template-columns:minmax(280px,.64fr) minmax(0,1.36fr);gap:90px;align-items:start}
.article-poster{position:sticky;top:100px;margin:0;padding:28px;background:#e8f1f8;border:1px solid var(--line)}
.article-poster img{display:block;width:100%;height:auto;box-shadow:0 20px 45px rgba(15,49,83,.18)}
.article-poster figcaption{margin-top:15px;color:#7a8795;font-size:8px;text-align:center;text-transform:uppercase;letter-spacing:.12em}
.article-prose{max-width:760px}
.article-prose .article-lead{margin-top:0;color:#1e334c;font-size:19px;line-height:1.8}
.article-prose p{margin:0 0 24px;color:#566679;font-size:14px;line-height:2;text-align:justify;text-justify:inter-word;text-align-last:left}
.article-prose h2{margin:48px 0 18px;color:#122740;font-size:29px;line-height:1.3}
.article-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:42px 0;background:var(--line);border:1px solid var(--line)}
.article-facts>div{padding:25px;background:#f7fbfe}
.article-facts small,.article-facts strong,.article-facts span{display:block}
.article-facts small{color:#9c7831;font-size:8px;text-transform:uppercase;letter-spacing:.13em}
.article-facts strong{margin-top:9px;color:#263a51;font-size:14px;line-height:1.55}
.article-facts span{margin-top:5px;color:#6a7888;font-size:11px}
.article-note{margin:35px 0;padding:26px 28px;border-left:3px solid var(--gold);background:#eef5fb;color:#34495f;font-size:13px;line-height:1.85}
.article-contact-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:28px;align-items:center;margin:42px 0;padding:24px;background:linear-gradient(135deg,#092b59,#0f5796);color:#fff}
.article-contact-card img{display:block;width:112px;height:136px;object-fit:cover;object-position:center top;background:#dce9f3}
.article-contact-card small,.article-contact-card strong,.article-contact-card span{display:block}
.article-contact-card small{color:#e7ba55;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}
.article-contact-card strong{margin-top:8px;color:#fff;font-size:20px;line-height:1.3}
.article-contact-card span{margin-top:7px;color:rgba(255,255,255,.72);font-size:12px}
.article-contact-card a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:999px;background:#fff;color:#0b467d;font-size:10px;font-weight:800;white-space:nowrap}
.article-back{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:55px;padding-top:28px;border-top:1px solid var(--line)}
.article-back a{color:#135791;font-size:11px;font-weight:700}

@media(max-width:1000px){
  .program-project-card{grid-template-columns:320px 1fr}.program-project-copy{padding:45px 40px}
  .program-overview{grid-template-columns:310px 1fr;gap:50px}.program-facts{grid-template-columns:1fr}
  .project-article-card{grid-template-columns:300px 1fr}.project-article-copy{padding:38px}
  .article-layout{grid-template-columns:300px 1fr;gap:48px}
}
@media(max-width:768px){
  .program-project-card,.program-overview,.project-article-card,.article-layout{grid-template-columns:1fr}
  .program-project-poster{padding:28px}.program-project-poster img{max-height:430px}
  .program-project-copy{padding:36px 25px}.program-project-meta{align-items:flex-start;flex-direction:column}
  .program-project-facts{grid-template-columns:1fr}
  .program-poster-frame{padding:25px}.program-overview{gap:45px}.program-facts{grid-template-columns:1fr}
  .project-articles-heading{grid-template-columns:1fr;gap:22px}.project-article-image{padding:25px}.project-article-image img{height:auto;max-height:440px}
  .project-article-copy{padding:30px 25px}.project-article-date{flex-direction:column;gap:5px}
  .article-poster{position:static;padding:20px}.article-prose .article-lead{font-size:17px}.article-prose p{font-size:13px}
  .primary-article-heading{margin-bottom:32px}.primary-article-meta{gap:8px 16px}
  .article-facts{grid-template-columns:1fr}.article-back{align-items:flex-start;flex-direction:column}
  .article-contact-card{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:18px}.article-contact-card img{width:82px;height:104px}.article-contact-card strong{font-size:17px}.article-contact-card a{grid-column:1/-1;width:100%}
}
