.program-overview{margin:30px 0 42px;padding:32px;border:1px solid #d9e2ef;border-radius:24px;background:linear-gradient(120deg,#edf4ff,#fff 65%,#fff6eb)}
.program-overview h2{font-size:clamp(26px,3vw,38px);letter-spacing:-1px;margin:8px 0 12px;color:#162c49}.program-overview-intro>p{max-width:820px;line-height:1.75;color:#526179}.program-guide{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:26px 0}.program-guide>div{border-top:1px solid #cedaea;padding-top:18px}.program-guide b{color:#315bd2;display:inline-block;margin-right:12px}.program-guide p{font-size:14px;line-height:1.7;color:#526179}.program-party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.program-party-grid article{background:#fff;border:1px solid #dce4ef;border-radius:16px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0}.program-party-grid h3{margin:0;font-size:18px;color:#173150}.program-party-grid p{margin:0;color:#617089;font-size:13px}.program-party-grid .text-link{font-size:13px;white-space:normal;text-align:left;line-height:1.5}.program-card-strip{border:1px solid #d4def4;border-left:3px solid #5673d9;background:#f4f7ff;padding:14px;border-radius:10px;margin:12px 0 16px}.program-card-strip strong{display:block;font-size:14px;margin:6px 0}.program-card-strip p{font-size:12px;color:#596b85;line-height:1.5;margin:6px 0 10px}.program-card-strip .text-link{font-size:13px}.personal-program-panel{padding:26px;border:1px solid #d5e1ef;border-radius:18px;margin-top:26px;background:#f7faff}.personal-program-panel>.section-heading h3{font-size:23px;margin:6px 0}.personal-program-panel>p{line-height:1.7;color:#526179;font-size:14px}.program-count{border-radius:20px;background:#e3ebff;color:#304fb1;white-space:nowrap;padding:8px 12px;font-size:12px}.program-timing{font-size:12px!important;border-left:3px solid #b9c8e0;padding-left:12px}.program-contrast-key{background:#fff;border:1px solid #dce5f0;border-radius:12px;padding:18px;margin:20px 0}.program-contrast-key p{font-size:13px;line-height:1.7;color:#596a80;margin:8px 0 0}.program-commitment{border:1px solid #dbe3ef;border-radius:12px;background:#fff;margin:10px 0;overflow:hidden}.program-commitment>summary{padding:18px;display:flex;gap:18px;justify-content:space-between;cursor:pointer;align-items:center;list-style:none}.program-commitment>summary:after{content:'+';font-size:22px;color:#4f64b1}.program-commitment[open]>summary:after{content:'−'}.program-commitment summary small{display:block;font-size:10px;letter-spacing:1px;color:#65758d;margin-bottom:7px}.program-commitment summary strong{font-size:14px;line-height:1.5;display:block}.program-match-count{font-size:11px;color:#50658b;flex-shrink:0;text-align:right;max-width:125px}.program-commitment-body{border-top:1px solid #e5ebf3;padding:18px;font-size:13px;line-height:1.75}.program-commitment-body h4{margin:20px 0 6px}.program-projects{list-style:none;margin:14px 0;padding:0}.program-projects li{padding:14px 0;border-top:1px solid #e3e9f2}.program-projects a{display:block;margin-top:6px;color:#304e9d;text-decoration:underline;text-underline-offset:3px;font-size:12px;overflow-wrap:anywhere}.program-scope-note,.program-method-addition,.program-release-note{padding:24px;border:1px solid #d8e4f2;border-radius:16px;background:#f0f6ff;margin:24px 0}.program-method-addition p,.program-release-note p,.program-scope-note p{line-height:1.8;color:#526179}.program-scope-note{font-size:14px}.program-method-addition h2,.program-release-note h2{margin:12px 0}.campaign-review-card>.campaign-no-source{margin-bottom:10px}.program-overview .smallprint{margin:22px 0 0;line-height:1.8}.personal-program-panel .section-heading{align-items:flex-start;gap:12px}
@media(max-width:900px){.program-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.program-overview{padding:20px;border-radius:18px}.program-party-grid,.program-guide{grid-template-columns:1fr}.program-guide{gap:10px}.program-party-grid article{padding:17px}.personal-program-panel{padding:16px}.program-commitment>summary{padding:14px;gap:10px}.program-match-count{max-width:75px;font-size:10px}.program-commitment summary strong{font-size:13px}.personal-program-panel>.section-heading{display:block}.program-count{display:inline-block;margin-top:10px}.program-commitment-body{padding:14px}}
