.program-page { background: #fff; color: #004735; font-family: 'Closer Text', sans-serif; overflow: hidden; padding-top: 135px; }
.program-container { margin: 0 auto; width: var(--eco-page-shell, min(1320px, calc(100vw - 120px))); }
.program-hero { margin-bottom: 64px; }
.program-kicker { color: #004735; font-size: 20px; line-height: 1.3; margin: 0 0 12px; opacity: .7; }
.program-hero h1 { color: #013026; font-size: 64px; font-weight: 500; line-height: 1.04; margin: 0 0 40px; max-width: 1040px; }
.program-lead { color: #013026; font-size: 24px; font-weight: 500; line-height: 1.2; max-width: 1210px; }
.program-lead p { margin: 0 0 22px; }
.program-prep { background: #004735; border-radius: 18px; margin-bottom: 64px; padding: 58px 67px; }
.program-prep h2, .program-plan h2 { color: #fff; font-size: 36px; font-weight: 500; line-height: 1.2; margin: 0 0 20px; }
.program-prep > p { color: #cfe2e0; font-size: 17px; line-height: 1.55; margin: 0; max-width: 780px; }
.program-prep__body { display: grid; gap: 32px; grid-template-columns: minmax(0, 1fr) minmax(380px, 562px); margin-top: 44px; }
.program-prep__body > div { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; color: #cfe2e0; font-size: 20px; line-height: 1.28; padding: 33px; }
.program-prep__body p { margin: 0 0 18px; }
.program-prep__body img, .program-donor__media img { border-radius: 20px; display: block; height: 100%; object-fit: cover; width: 100%; }
.program-process { margin-bottom: 64px; width: min(1160px, calc(100vw - 120px)); }
.program-process__intro { margin-bottom: 34px; max-width: 860px; }
.program-process h2, .program-included h2, .program-donor h2 { color: #013026; font-size: 36px; font-weight: 500; line-height: 1.2; margin: 0 0 18px; }
.program-process__intro p, .program-included > p, .program-donor > div > p { color: #004735; font-size: 16px; line-height: 1.5; margin: 0; }
.program-process h3 { color: #013026; font-size: 36px; font-weight: 500; line-height: 1.2; margin: 0 0 28px; }
.program-steps { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); }
.program-steps article { background: rgba(207,226,224,.3); border: 1px solid #cfe2e0; border-radius: 20px; min-height: 226px; padding: 25px; }
.program-steps div { align-items: center; display: flex; gap: 12px; margin-bottom: 16px; }
.program-steps span { color: rgba(0,71,53,.3); font-size: 40px; font-weight: 500; line-height: 1; }
.program-steps h4 { color: #013026; font-size: 18px; font-weight: 500; line-height: 1.3; margin: 0; }
.program-steps p { color: #004735; font-size: 15px; line-height: 1.6; margin: 0; }
.program-interest { align-items: center; background: #004735; border-radius: 12px; color: #cfe2e0; display: flex; gap: 24px; justify-content: space-between; margin-top: 32px; padding: 22px 28px; }
.program-interest strong { color: #fff; display: block; font-size: 18px; margin-bottom: 5px; }
.program-interest p { font-size: 14px; line-height: 1.3; margin: 0; }
.program-interest a { background: #cfe2e0; border-radius: 8px; color: #004735; flex: 0 0 auto; font-size: 14px; padding: 13px 28px; text-decoration: none; }
.program-included { background: #cfe2e0; border-radius: 22px; margin-bottom: 64px; padding: 64px 72px; }
.program-included h2 { margin-bottom: 18px; }
.program-tables { display: grid; gap: 36px; grid-template-columns: 1fr 1fr; margin-top: 34px; }
.program-table-card h3, .program-tables h3 { color: #013026; font-size: 22px; font-weight: 500; margin: 0 0 14px; }
.program-table-shell { border-radius: 24px; overflow: hidden; width: 100%; }
.program-table-shell--plan { border-radius: 24px; }
.program-tables table, .program-plan table { border-collapse: separate; border-spacing: 0; width: 100%; }
.program-tables th, .program-plan th { background: #004735; color: #fff; font-size: 14px; font-weight: 500; padding: 14px 16px; text-align: left; }
.program-tables td, .program-plan td { background: #f6f8f8; border-bottom: 1px solid #dfe9e8; color: #004735; font-size: 14px; line-height: 1.35; padding: 13px 16px; }
.program-tables tr:nth-child(even) td, .program-plan tr:nth-child(even) td { background: #fff; }
.program-tables tbody tr:last-child td, .program-plan tbody tr:last-child td { border-bottom: 0; }
.program-budget { align-items: center; background: #004735; border-radius: 16px; color: #cfe2e0; display: grid; gap: 36px; grid-template-columns: 280px 1fr; margin-top: 42px; padding: 28px 34px; }
.program-budget span { display: block; font-size: 14px; margin-bottom: 8px; }
.program-budget strong { color: #fff; display: block; font-size: 36px; font-weight: 500; line-height: 1; }
.program-budget p { font-size: 15px; line-height: 1.35; margin: 0; }
.program-donor { align-items: start; display: grid; gap: 60px; grid-template-columns: minmax(0, 1fr) 480px; margin-bottom: 64px; }
.program-donor__items { display: grid; gap: 20px; margin-top: 40px; }
.program-donor__items article { align-items: flex-start; background: rgba(207,226,224,.35); border: 1px solid #cfe2e0; border-radius: 24px; display: grid; gap: 16px; grid-template-columns: auto 1fr; padding: 20px 22px; }
.program-donor__emoji { display: inline-flex; font-size: 34px; line-height: 1; margin-top: 2px; }
.program-donor__item-body { min-width: 0; }
.program-donor__items strong { color: #013026; display: block; font-size: 17px; margin-bottom: 6px; }
.program-donor__items span { color: #004735; display: block; font-size: 14px; line-height: 1.35; }
.program-donor__media { display: grid; gap: 18px; }
.program-donor__media img { aspect-ratio: 1.24 / 1; }
.program-donor__media div { background: #004735; border-radius: 16px; color: #cfe2e0; padding: 28px; }
.program-donor__media strong { color: #fff; display: block; font-size: 18px; margin-bottom: 8px; }
.program-donor__media p { font-size: 15px; line-height: 1.35; margin: 0; }
.program-plan { background: #004735; border-radius: 18px; margin-bottom: 64px; padding: 54px 68px 64px; }
.program-plan h2 { margin-bottom: 30px; }
@media (max-width: 1180px) { .program-container, .program-process { width: calc(100vw - 40px); } .program-prep__body, .program-donor { grid-template-columns: 1fr; } .program-steps, .program-tables { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .program-page { padding-top: 104px; } .program-hero h1 { font-size: 42px; } .program-lead { font-size: 19px; } .program-prep, .program-included, .program-plan { padding: 30px; } .program-steps, .program-tables, .program-budget { grid-template-columns: 1fr; } .program-interest { align-items: stretch; flex-direction: column; } .program-process h2, .program-process h3, .program-included h2, .program-donor h2, .program-prep h2, .program-plan h2 { font-size: 31px; } .program-table-shell, .program-plan { overflow-x: auto; } .program-tables table, .program-plan table { min-width: 620px; } .program-donor__items article { border-radius: 20px; } }
@media (max-width: 480px) { .program-container, .program-process { width: calc(100vw - 32px); } .program-hero h1 { font-size: 34px; } .program-prep__body { grid-template-columns: 1fr; } }
