.sp-program{background:#fff;color:#343e44;font-family:'Quicksand',Arial,sans-serif;line-height:1.7}
.sp-program *{box-sizing:border-box}
.sp-program h1,.sp-program h2,.sp-program h3,.sp-program .eyebrow,.sp-program .button,.sp-program .tool-link{font-family:'Rubik',Arial,sans-serif}
.sp-program h1,.sp-program h2,.sp-program h3,.sp-program p{margin:0}
.sp-program .wrap{width:90%;max-width:1280px;margin:0 auto;padding:0 24px}
.sp-program .eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0369a1;margin-bottom:14px}
.sp-program .hero{padding:44px 0 76px;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 25%,#0f3460 60%,#0077B6 100%);color:#fff}
.sp-program .breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;margin-bottom:40px;color:#c2d6e5}
.sp-program .breadcrumbs a{color:#d5f0ff;text-underline-offset:4px}
.sp-program .hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:70px;align-items:center}
.sp-program .hero .eyebrow{color:#49fca8}
.sp-program h1{font-size:clamp(34px,4.4vw,58px);font-weight:700;line-height:1.13;max-width:800px;text-wrap:balance}
.sp-program .lead{margin-top:24px;font-size:18px;max-width:710px;color:#dce7f0;line-height:1.8}
.sp-program .actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:30px}
.sp-program .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:50px;padding:12px 24px;background:#49fca8;color:#1a1a2e;text-decoration:none;font-size:14px;font-weight:700}
.sp-program .button.secondary{background:transparent;border:1px solid #8cb3d1;color:#fff}
.sp-program a:focus-visible,.sp-program summary:focus-visible{outline:3px solid #0077b6;outline-offset:5px}
.sp-program .hero a:focus-visible,.sp-program .cta a:focus-visible{outline-color:#49fca8}
.sp-program .hero-aside{border-left:2px solid rgba(73,252,168,.55);padding-left:30px}
.sp-program .hero-aside p{font-size:14px;color:#dce7f0;margin-top:12px}
.sp-program .hero-aside strong{font-family:'Rubik',sans-serif;font-size:25px;line-height:1.3;display:block}
.sp-program .tool-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}
.sp-program .tool-list li{display:flex;align-items:center;gap:12px;font-size:15px}
.sp-program .tool-list span{font-size:23px}
.sp-program .section,.sp-program.section{padding:70px 0}
.sp-program .section.soft,.sp-program.section.soft{background:#f8f9fb}
.sp-program .section[id],.sp-program.section[id],#program-hub{scroll-margin-top:120px}
.sp-program .section-heading{max-width:740px;margin-bottom:32px}
.sp-program h2{font-size:clamp(27px,3vw,38px);line-height:1.2;color:#1a1a2e;font-weight:700;text-wrap:balance}
.sp-program .section-heading p{margin-top:16px;font-size:16px;color:#566573}
.sp-program .tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sp-program .tool-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;min-width:0;transition:border-color .2s,box-shadow .2s}
.sp-program .tool-card:hover{border-color:#8bbdd3;box-shadow:0 8px 24px rgba(15,52,96,.07)}
.sp-program .tool-icon{font-size:30px;line-height:1;margin-bottom:20px}
.sp-program .tool-card h3{font-size:20px;line-height:1.3;color:#1a1a2e;font-weight:700}
.sp-program .tool-card p{font-size:14px;color:#566573;line-height:1.8;margin:14px 0 24px}
.sp-program .tool-link{display:inline-flex;gap:9px;align-items:center;margin-top:auto;min-height:44px;color:#0369a1;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:700}
.sp-program .split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.sp-program .copy p{margin-top:18px;font-size:17px;color:#566573}
.sp-program .capabilities{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sp-program .capabilities li{padding:19px 0;border-bottom:1px solid #e5e7eb;display:flex;gap:14px;font-size:16px}
.sp-program .capabilities li:first-child{padding-top:0}
.sp-program .capabilities li::before{content:'✓';color:#0369a1;font-weight:700;flex-shrink:0}
.sp-program .example{border-left:3px solid #0077b6;padding:6px 0 6px 26px}
.sp-program .example p{margin-top:16px;font-size:17px;color:#566573}
.sp-program .example h3{color:#1a1a2e;font-size:22px;line-height:1.35}
.sp-program .faq{max-width:850px}
.sp-program details{border-bottom:1px solid #e5e7eb;padding:20px 0}
.sp-program summary{cursor:pointer;font-family:'Rubik',sans-serif;font-weight:700;color:#1a1a2e;padding-right:12px}
.sp-program details p{margin-top:14px;color:#566573}
.sp-program .text-link{color:#0369a1;text-underline-offset:4px}
.sp-program .cta{padding:58px 0;background:#16213e;color:#fff}
.sp-program .cta-inner{display:flex;justify-content:space-between;align-items:center;gap:36px}
.sp-program .cta h2{color:#fff;font-size:32px}
.sp-program .cta p{margin-top:12px;color:#dce7f0;max-width:680px}
.sp-program .cta .button{flex-shrink:0}
.sp-program .source-note{font-size:13px;color:#566573;margin-top:26px}
.sp-program .source-note a{color:#0369a1;text-underline-offset:3px}
@media(max-width:1000px){.sp-program .hero-grid{gap:36px}.sp-program .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-program .split{gap:36px}}
@media(max-width:767px){.sp-program .wrap{width:100%;padding:0 20px}.sp-program .hero{padding:24px 0 48px}.sp-program .breadcrumbs{margin-bottom:30px;font-size:12px}.sp-program .hero-grid,.sp-program .split{grid-template-columns:minmax(0,1fr);gap:32px}.sp-program .lead{font-size:16px}.sp-program .hero-aside{padding-left:22px}.sp-program .section,.sp-program.section{padding:48px 0}.sp-program .tool-grid{grid-template-columns:minmax(0,1fr);gap:16px}.sp-program .tool-card{padding:24px}.sp-program .cta-inner{display:block}.sp-program .cta .button{margin-top:24px}.sp-program .cta h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.sp-program .tool-card{transition:none}}

/* Detailed Program Hub pages use the established feature-page section pattern. */
.sp-program-detail .hero,.sp-program-detail .cta{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 25%,#0f3460 45%,#0077b6 70%,#00b8e6 100%)}
.sp-program-detail .cta{padding:70px 0}
.sp-program-detail .cta-inner{display:block;text-align:center}
.sp-program-detail .cta h2{max-width:820px;margin:0 auto}
.sp-program-detail .cta p{max-width:740px;margin:16px auto 0}
.sp-program-detail .cta .button{margin-top:26px}
.sp-program-detail .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}
.sp-program .hero-capability-panel{padding:30px;background:#fff;border:10px solid rgba(79,195,247,.3);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.17);background-clip:padding-box;color:#343e44}
.sp-program .hero-capability-panel .panel-label{display:flex;align-items:center;gap:10px;color:#0369a1;font-family:'Rubik',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:20px}
.sp-program .panel-label span{font-size:27px}
.sp-program .hero-capability-panel h2{font-size:26px;line-height:1.25}
.sp-program .hero-capability-panel ul{list-style:none;margin:22px 0;padding:0;display:grid;gap:18px}
.sp-program .hero-capability-panel li{display:flex;gap:12px;font-size:14px;color:#566573}
.sp-program .hero-capability-panel li::before{content:'✓';color:#0077b6;font-weight:700;flex-shrink:0}
.sp-program .hero-capability-panel p{font-size:12px;color:#566573;border-top:1px solid #e5e7eb;padding-top:18px}
.sp-program .feature-strip{padding:26px 0;background:#f8f9fb;border-bottom:1px solid #e5e7eb}
.sp-program .feature-strip ul{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 44px;list-style:none;margin:0;padding:0}
.sp-program .feature-strip li{font-family:'Rubik',sans-serif;font-weight:700;color:#1a1a2e;font-size:17px;text-align:center}
.sp-program .page-sections{border-bottom:1px solid #e5e7eb;background:#fff}
.sp-program .page-sections .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;padding-top:10px;padding-bottom:10px}
.sp-program .page-sections a{display:inline-flex;align-items:center;min-height:44px;color:#0369a1;font-size:14px;text-underline-offset:5px}
.sp-program .problem-label{color:#a33122}
.sp-program .problem-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:15px}
.sp-program .problem-list li{display:flex;gap:12px;font-size:15px;color:#566573}
.sp-program .problem-list li::before{content:'×';font-size:23px;font-weight:700;color:#a33122;line-height:1.2;flex-shrink:0}
.sp-program .workflow-panel{padding:32px;background:linear-gradient(135deg,#f8f9ff,#eef3ff);border:1px solid #dce5f5;border-radius:16px}
.sp-program .workflow-panel h3{font-size:23px;line-height:1.35;color:#1a1a2e}
.sp-program .workflow-panel ol{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:26px}
.sp-program .workflow-panel li{display:flex;align-items:flex-start;gap:14px}
.sp-program .step-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#0f3460;color:#fff;font-family:'Rubik',sans-serif;font-size:13px;font-weight:700}
.sp-program .workflow-panel h4{font-family:'Rubik',sans-serif;font-size:16px;color:#1a1a2e;margin:0 0 8px;line-height:1.35}
.sp-program .workflow-panel p{font-size:14px;color:#566573;margin:0}
.sp-program .section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}
.sp-program .detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-program .detail-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-program .detail-card{padding:28px;background:#fff;border:1px solid #e5e7eb;border-top:3px solid #49fca8;border-radius:14px;box-shadow:0 8px 24px rgba(15,52,96,.035)}
.sp-program .detail-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:18px;background:linear-gradient(135deg,#f0f8ff,#e6f7ff);font-size:26px;line-height:1;border-radius:12px}
.sp-program .detail-card h3{color:#1a1a2e;font-size:20px;line-height:1.3;margin-bottom:14px}
.sp-program .detail-card p{font-size:15px;color:#566573;line-height:1.8}
.sp-program .comparison-scroll{overflow-x:auto;border:1px solid #e5e7eb;border-radius:14px;background:#fff}
.sp-program .comparison-scroll:focus-visible{outline:3px solid #0077b6;outline-offset:4px}
.sp-program .feature-comparison{width:100%;min-width:680px;border-collapse:collapse;font-size:14px;text-align:left}
.sp-program .feature-comparison caption{text-align:left;padding:16px 20px;font-size:13px;color:#566573;background:#fff}
.sp-program .feature-comparison th,.sp-program .feature-comparison td{padding:19px 20px;vertical-align:top;line-height:1.65}
.sp-program .feature-comparison thead{background:#16213e;color:#fff;font-family:'Rubik',sans-serif}
.sp-program .feature-comparison thead th{font-weight:700;width:34%}
.sp-program .feature-comparison thead th:first-child{width:22%}
.sp-program .feature-comparison tbody th{font-family:'Rubik',sans-serif;font-weight:500;color:#1a1a2e}
.sp-program .feature-comparison tbody td{color:#566573}
.sp-program .feature-comparison tbody tr{border-top:1px solid #e5e7eb}
.sp-program .feature-comparison tbody tr:nth-child(even){background:#f8f9fb}
.sp-program-detail .faq-list details{padding:0 24px;margin-bottom:14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.sp-program-detail .faq-list summary{padding:20px 0;line-height:1.5;min-height:64px}
.sp-program-detail .faq-list details p{padding:0 0 24px;margin-top:0;font-size:15px}
@media(max-width:1000px){.sp-program-detail .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}.sp-program .hero-capability-panel{max-width:680px}.sp-program .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.sp-program .hero-capability-panel{padding:24px;border-width:6px}.sp-program .hero-capability-panel h2{font-size:24px}.sp-program .workflow-panel{padding:24px}.sp-program .detail-grid,.sp-program .detail-grid.two-column{grid-template-columns:minmax(0,1fr);gap:18px}.sp-program .detail-card{padding:24px}.sp-program .page-sections .wrap{gap:0 22px;justify-content:flex-start}.sp-program .feature-strip ul{gap:16px 24px}.sp-program .feature-strip li{font-size:15px}.sp-program-detail .faq-list details{padding:0 18px}}
