.sp-program{margin:52px 0;border:1px solid #d6e1ef;border-radius:20px;background:#fff;overflow:clip;scroll-margin-top:175px;color:#15365c}
.sp-program-header{padding:40px 42px 34px;border-top:4px solid #193e6b;border-bottom:1px solid #dce5f0;background:linear-gradient(110deg,#f1f5fb 0%,#fff 72%)}
.sp-program-kicker{font-size:.875rem;font-weight:800;letter-spacing:.12em;color:#b22540;margin:0 0 14px}
.sp-program-audience{font-size:.875rem;line-height:1.6;letter-spacing:.045em;color:#526980;margin:0 0 12px;overflow-wrap:anywhere}
.sp-program h2{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.4;letter-spacing:-.03em;margin:0 0 19px;max-width:1000px;word-break:keep-all;overflow-wrap:anywhere}
.sp-program-lead{font-size:1.0625rem;line-height:1.95;color:#344f6d;max-width:960px;margin:0}
.sp-program-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.sp-program-tags span{font-size:.875rem;line-height:1.5;border:1px solid #d0dceb;border-radius:6px;padding:7px 12px;background:#fff;color:#264a70}
.sp-program-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;padding:38px 42px 44px;align-items:start}
.sp-program-toc{padding:0 18px 0 0;border-right:1px solid #dce5ef}
.sp-program-toc>p{font-size:.875rem;font-weight:750;margin:0 0 15px;color:#193e6b}
.sp-program-toc a{display:flex;gap:10px;align-items:baseline;font-size:.875rem;line-height:1.7;padding:10px 0;color:#425f7e;text-decoration:none;overflow-wrap:anywhere}
.sp-program-toc a span{font-size:.875rem;color:#9b2b43;font-variant-numeric:tabular-nums;flex:0 0 21px}
.sp-program-toc a:hover{color:#a1233b;text-decoration:underline;text-underline-offset:4px}
.sp-program-copy{max-width:78ch;min-width:0}
.sp-program-copy p[lang=en]{font-size:1rem;line-height:1.95;color:#3f5570;overflow-wrap:anywhere;margin:0;text-wrap:pretty}
.sp-program-copy .sp-program-intro{font-size:1.0625rem;color:#243f5f;margin-bottom:38px;padding-bottom:30px;border-bottom:2px solid #cfdceb}
.sp-program-topic{padding:0 0 31px;margin-bottom:29px;border-bottom:1px solid #e2e8f0;scroll-margin-top:175px}
.sp-program-topic:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.sp-program-topic .sp-program-number{font-size:.875rem;line-height:1.7;color:#a32d45;font-weight:650;letter-spacing:.02em;margin:0 0 10px}
.sp-program-topic h3{font-size:1.3rem;line-height:1.5;letter-spacing:-.02em;color:#15385f;margin:0 0 17px;overflow-wrap:anywhere}
.sp-program-footer{padding:29px 42px 32px;background:#f3f6fa;border-top:1px solid #dce5ef}
.sp-program-footer h3{font-size:1.25rem;line-height:1.6;margin:0 0 6px}
.sp-program-footer p{font-size:1rem;line-height:1.85;color:#405d7a;margin:0}
.sp-program-actions{display:flex;flex-wrap:wrap;gap:11px;margin:20px 0}
.sp-program-actions .btn{font-size:.9375rem;line-height:1.6;white-space:normal;text-align:center}
.sp-program-footer .sp-program-note{font-size:.875rem;line-height:1.85;color:#50667d;max-width:1020px}
.sp-program-jump{display:inline-block;font-size:.9375rem;line-height:1.6;color:#294f78;text-decoration:underline;text-underline-offset:4px;margin:14px 0 0}
.sp-program :focus-visible,.sp-program-jump:focus-visible{outline:3px solid #b22540;outline-offset:4px}
@media(max-width:960px){.sp-program-layout{grid-template-columns:1fr;gap:28px;padding:29px}.sp-program-copy{max-width:none}.sp-program-header{padding:30px}.sp-program-toc{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;border-right:0;border-bottom:1px solid #dce5ef;padding:0 0 24px}.sp-program-toc>p{grid-column:1/-1;margin-bottom:9px}.sp-program-toc a{padding:7px 0}.sp-program-footer{padding:27px 30px}}
@media(max-width:580px){.sp-program{border-radius:14px;margin:34px 0}.sp-program-header,.sp-program-layout,.sp-program-footer{padding:24px 20px}.sp-program h2{font-size:1.5rem}.sp-program-lead{font-size:1rem}.sp-program-toc{grid-template-columns:1fr;gap:0}.sp-program-topic h3{font-size:1.2rem}.sp-program-topic{padding-bottom:26px;margin-bottom:25px}.sp-program-actions{display:grid;grid-template-columns:1fr}.sp-program-actions .btn{width:100%}}
@media print{.sp-program{border:0;margin:24px 0;overflow:visible}.sp-program-layout{display:block;padding:0}.sp-program-toc,.sp-program-actions{display:none}.sp-program-header,.sp-program-footer{padding:16px 0;background:#fff}.sp-program-copy{max-width:none}.sp-program-topic h3{break-after:avoid}.sp-program-topic p{orphans:3;widows:3}}
