.home-programs{background:#111;color:#fff;padding:88px 0 96px;scroll-margin-top:80px}
.home-programs .site-shell{max-width:1280px;padding-left:48px;padding-right:48px}
.program-section-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:48px;margin-bottom:48px}
.program-section-kicker{font-size:12px;letter-spacing:.13em;font-weight:600;color:#aaa;margin:0 0 20px}
.home-programs h2{font-size:clamp(36px,3.6vw,50px);line-height:1.26;font-weight:600;letter-spacing:-.05em;margin:0}
.program-section-intro{font-size:18px;line-height:1.85;color:#ccc;justify-self:end}
.program-section-intro p{margin:0}.program-section-intro p+p{margin-top:15px;color:#aaa}
.program-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.program-card{min-width:0;display:flex;flex-direction:column;position:relative;background:#191919;border:1px solid #424242;padding:24px;min-height:380px;transition:border-color .18s ease,background .18s ease}
.program-card:hover{border-color:#999;background:#1d1d1d}
.program-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.program-card-symbol{display:flex;align-items:center;gap:12px}.program-card-number{font-size:13px;color:#999;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.program-card-schedule{font-size:15px;font-weight:550;line-height:1.7;color:#eee;text-align:right}
.program-mark{width:58px;height:40px;fill:none;stroke:#aaa;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.program-mark .program-mark-dot{fill:#fff;stroke:#fff}
.program-card h3{margin:0 0 18px;line-height:1.3;letter-spacing:-.04em;font-weight:600}
.program-card-brand{display:block;font-size:15px;letter-spacing:-.01em;color:#bbb;font-weight:450;margin-bottom:6px}
.program-card-name{display:block;font-size:31px;color:#fff}
.program-card-lead{font-size:19px;font-weight:550;line-height:1.5;letter-spacing:-.035em;color:#f2f2f2;margin:0 0 12px}
.program-card-description{font-size:17px;line-height:1.75;letter-spacing:-.025em;color:#bdbdbd;margin:0}


#programs-title{scroll-margin-top:36px}
@media(min-width:700px) and (max-width:1050px){.home-programs .site-shell{padding-left:32px;padding-right:32px}.program-cards{gap:12px}.program-card{padding:22px 18px}.program-card-name{font-size:27px}.program-card-schedule{font-size:13px}.program-card-symbol{gap:6px}.program-mark{width:44px;height:34px}.program-card-top{gap:8px}.program-card-lead{font-size:18px}.program-card-description{font-size:16px}.program-section-heading{gap:28px}.program-section-intro{font-size:16px}}
@media(max-width:699px){.home-programs{padding:60px 0 64px;scroll-margin-top:66px}.home-programs .site-shell{padding-left:24px;padding-right:24px}.program-section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.program-section-kicker{font-size:11px;margin-bottom:18px}.home-programs h2{font-size:34px;line-height:1.3}.program-section-intro{justify-self:start;font-size:17px;line-height:1.85}.program-section-intro p+p{margin-top:12px}.program-cards{grid-template-columns:minmax(0,1fr);gap:16px}.program-card{padding:22px;min-height:360px}.program-card-top{margin-bottom:18px}.program-card-schedule{font-size:16px}.program-card-name{font-size:30px}#programs-title{scroll-margin-top:26px}}
@media(max-width:359px){.program-card{padding:20px}.program-card-top{gap:8px}.program-card-symbol{gap:6px}.program-mark{width:44px;height:34px}.program-card-schedule{font-size:14px}.program-card-name{font-size:29px}}
@media(prefers-reduced-motion:reduce){.program-card{transition:none}}
