.program-module{--program-ease:cubic-bezier(0.32,0.72,0,1);background:var(--surface);border:1px solid var(--border);border-radius:24px;margin:32px 0;padding:24px}.program-module-header{display:grid;grid-gap:8px;gap:8px}.program-module-kicker{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;line-height:16px;text-transform:uppercase}.article-content .program-module h2,.program-module h2{font-size:30px;line-height:36px;margin:0;text-wrap:balance}.article-content .program-module p,.program-module p{margin:0;text-wrap:pretty}.program-module-header p{color:var(--muted-strong);font-size:16px;line-height:24px}.program-facts{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:24px 0 0}.program-facts>div{background:var(--surface-warm);border-radius:12px;padding:12px 16px}.program-facts dt{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;line-height:16px;text-transform:uppercase}.program-facts dd{color:var(--ink);font-size:14px;font-weight:600;line-height:20px;margin:4px 0 0}.program-fit{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.program-fit>div{border:1px solid var(--border);border-radius:12px;padding:12px 16px}.program-fit strong{color:var(--primary-dark);display:block;font-size:14px;line-height:20px}.article-content .program-fit p,.program-fit p{color:var(--muted-strong);font-size:14px;line-height:20px;margin-top:4px}.program-controls{background:var(--primary-dark);border-radius:16px;color:#f5fbf9;display:grid;grid-gap:16px;gap:16px;margin:24px 0 16px;padding:16px}.program-variant-picker{display:flex;flex-wrap:wrap;gap:16px}.program-segmented{border:0;margin:0;min-width:0;padding:0}.program-segmented legend{color:#b9cfcc;font-size:12px;font-weight:700;letter-spacing:.08em;line-height:16px;margin-bottom:8px;padding:0;text-transform:uppercase}.program-segmented>div{background:rgb(255 255 255/8%);border-radius:999px;display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px}.program-segmented label{cursor:pointer;position:relative}.program-segmented input{cursor:pointer;inset:0;margin:0;opacity:0;position:absolute}.program-segmented span{border-radius:999px;color:#d6e5e3;display:block;font-size:14px;font-weight:600;line-height:20px;padding:8px 16px;transition:background-color .3s var(--program-ease),color .3s var(--program-ease),transform .3s var(--program-ease)}.program-segmented label:hover input:not(:checked,:disabled)+span{background:rgb(255 255 255/12%)}.program-segmented label:active input:not(:disabled)+span{transform:scale(.98)}.program-segmented input:checked+span{background:var(--accent);color:var(--primary-dark)}.program-segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.program-segmented input:disabled,.program-segmented label[aria-disabled=true]{cursor:not-allowed}.program-segmented input:disabled+span{opacity:.4}.program-calculator{border-top:1px solid rgb(233 244 242/16%);display:grid;grid-gap:12px;gap:12px;padding-top:16px}.program-variant-picker+.program-calculator{margin-top:0}.program-controls>.program-calculator:first-child{border-top:0;padding-top:0}.program-goal{display:grid;grid-gap:8px;gap:8px}.article-content .program-goal-note,.program-goal-note{color:#f5fbf9;font-size:14px;line-height:20px;margin:0;text-wrap:pretty}.program-calculator-heading{display:grid;grid-gap:4px;gap:4px}.program-calculator-heading strong{color:#ffffff;font-size:16px;line-height:24px}.program-calculator-heading span{color:#c9dcda;font-size:14px;line-height:20px;text-wrap:pretty}.program-max-inputs{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.program-max-field{display:grid;grid-gap:4px;gap:4px;min-width:0}.program-max-field label{color:#f5fbf9;font-size:14px;font-weight:600;line-height:20px}.program-max-field label span{color:#b9cfcc;display:block;font-size:12px;font-weight:500;line-height:16px}.program-max-field input{background:#f4f8f6;border:0;border-radius:8px;color:var(--primary-dark);font:inherit;font-size:16px;font-weight:600;line-height:24px;min-height:40px;padding:8px 12px;width:100%}.program-max-field input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.program-max-field input[aria-invalid=true]{outline:2px solid #ff9b8c;outline-offset:2px}.program-max-field small{color:#c9dcda;font-size:12px;line-height:16px;text-wrap:pretty}.program-max-field .program-max-error{color:#ffb4a8}.article-content .program-pdf-link,.program-pdf-link{align-items:center;background:var(--accent);border-radius:999px;color:var(--primary-dark);display:inline-flex;font-size:16px;font-weight:600;justify-self:start;line-height:24px;padding:8px 16px;text-decoration:none;transition:background-color .3s var(--program-ease),transform .3s var(--program-ease)}.article-content .program-pdf-link:hover,.program-pdf-link:hover{background:#ffb233;color:var(--primary-dark)}.program-pdf-link:active{transform:scale(.98)}.program-pdf-link:focus-visible{outline:3px solid #ffffff;outline-offset:2px}.program-variant-caption{color:var(--muted-strong);font-size:14px;line-height:20px}.article-content .program-module .program-variant-caption{margin-bottom:12px}.program-week-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.program-week-tabs button{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--primary-dark);cursor:pointer;flex:0 0 auto;font:inherit;font-size:14px;font-weight:600;line-height:20px;min-width:48px;padding:8px 12px;transition:background-color .3s var(--program-ease),border-color .3s var(--program-ease),color .3s var(--program-ease),transform .3s var(--program-ease)}.program-week-tabs button:hover{background:var(--surface-teal)}.program-week-tabs button:active{transform:scale(.98)}.program-week-tabs button[aria-selected=true]{background:var(--primary);border-color:var(--primary);color:#ffffff}.program-week-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.article-content .program-week-panel h3,.program-week-panel h3{font-size:20px;line-height:28px;margin:16px 0 0}.article-content .program-session h4,.program-session h4{font-size:16px;letter-spacing:-.02em;line-height:24px;margin:16px 0 8px}.program-session-table{border:1px solid var(--border);border-radius:16px;max-width:100%;overflow-x:auto}.article-content .program-session-table table,.program-session-table table{border-collapse:separate;border-spacing:0;font-size:14px;line-height:20px;margin:0;min-width:600px;width:100%}.article-content .program-session-table td,.article-content .program-session-table th,.program-session-table td,.program-session-table th{border-bottom:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.program-session-table thead th{white-space:nowrap}.program-session-table thead th:first-child{left:0;position:-webkit-sticky;position:sticky;z-index:2}.article-content .program-session-table tbody tr:nth-child(n),.program-session-table tbody tr{background:transparent}.program-session-table tbody:nth-of-type(2n){background:#fbf7ef}.program-session-table tbody th{background:var(--surface);color:var(--ink);font-weight:600;left:0;min-width:180px;position:-webkit-sticky;position:sticky;z-index:1}.program-session-table tbody:nth-of-type(2n) th{background:#fbf7ef}.program-session-table tbody th small{color:var(--muted);display:block;font-size:12px;font-weight:400;line-height:16px;margin-top:2px}.program-session-table td{white-space:nowrap}.article-content .program-session-table tbody tr:not(:last-child) td,.program-session-table tbody tr:not(:last-child) td{border-bottom:0}.program-session-table .program-load-cell{color:var(--primary);font-weight:600}.article-content .program-session-table tbody:last-child td,.article-content .program-session-table tbody:last-child th,.program-session-table tbody:last-child td,.program-session-table tbody:last-child th{border-bottom:0}.program-weeks-skeleton{display:grid;grid-gap:12px;gap:12px}.program-weeks-skeleton span{animation:program-skeleton 1.2s var(--program-ease) infinite alternate;background:var(--surface-warm);border-radius:12px;display:block;height:48px}.program-weeks-skeleton span:first-child{height:40px;width:60%}@keyframes program-skeleton{0%{opacity:1}to{opacity:.45}}.program-weeks-error{border:1px solid var(--border);border-radius:16px;display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:16px}.program-weeks-error button{background:var(--primary);border:0;border-radius:999px;color:#ffffff;cursor:pointer;font:inherit;font-size:14px;font-weight:600;line-height:20px;padding:8px 12px}.program-weeks-error button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.program-handoff{background:var(--surface-teal);border-radius:16px;display:grid;grid-gap:12px;gap:12px;margin-top:24px;padding:24px}.article-content .program-handoff h3,.program-handoff h3{font-size:20px;line-height:28px;margin:0}.article-content .program-handoff p,.program-handoff p{color:var(--ink);font-size:16px;line-height:24px}.article-content .program-handoff .program-handoff-coach,.article-content .program-handoff .program-handoff-path,.program-handoff .program-handoff-coach,.program-handoff .program-handoff-path{color:var(--muted-strong);font-size:14px;line-height:20px}.program-handoff .article-app-links a{align-items:center;background:var(--primary);border-radius:999px;color:#ffffff;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;line-height:24px;padding:8px 16px;text-decoration:none;transition:background-color .3s var(--program-ease),transform .3s var(--program-ease);white-space:nowrap}.program-handoff .article-app-links a:hover{background:var(--primary-dark);color:#ffffff}.program-handoff .article-app-links a:active{transform:scale(.98)}.program-handoff .article-app-links a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.program-handoff .article-app-links a svg{fill:currentColor;flex:0 0 16px;height:16px;width:16px}@media (max-width:700px){.programs-hub-explorer .program-grid{grid-template-columns:minmax(0,1fr)}.program-module{border-radius:16px;padding:16px}.article-content .program-module h2,.program-module h2{font-size:24px;line-height:32px}.program-facts{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.program-facts>div{padding:8px 12px}.program-fit{grid-template-columns:minmax(0,1fr)}.program-controls{padding:12px}.program-segmented span{padding:8px 12px}.program-handoff{padding:16px}.program-session-table{overflow:visible}.article-content .program-session-table table,.program-session-table table{min-width:0}.program-session-table table,.program-session-table tbody,.program-session-table tr{display:block}.program-session-table thead{-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.program-session-table tbody{border-bottom:1px solid var(--border);padding:8px 12px}.program-session-table tbody:last-child{border-bottom:0}.program-session-table tr{display:flex;flex-wrap:wrap;gap:0 4px;line-height:20px}.article-content .program-session-table tbody th,.program-session-table tbody th{background:transparent;border:0;flex-basis:100%;min-width:0;padding:0 0 4px;position:static}.article-content .program-session-table td,.program-session-table td{border:0;padding:0}.program-session-table td+td:before{color:var(--muted);content:"· "}.program-session-table td[data-label=Repos]:before{content:"· repos "}.program-session-table td[data-empty]{display:none}}@media (prefers-reduced-motion:reduce){.program-module *,.program-module :after,.program-module :before{animation:none!important;transition:none!important}}.programs-hub-explorer{--program-ease:cubic-bezier(0.32,0.72,0,1);margin:16px 0 32px}.programs-hub-filters{margin-top:0}.article-content .programs-hub-count,.programs-hub-count{color:#c9dcda;font-size:14px;line-height:20px;margin:0}.programs-hub-explorer .program-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0}.programs-compare-table th{white-space:nowrap}.programs-compare-table td:first-child{min-width:180px}.programs-hub-card-links{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.programs-hub-empty{border:1px solid var(--border);border-radius:16px;display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:24px}.article-content .programs-hub-empty p,.programs-hub-empty p{margin:0}.programs-hub-empty button{background:var(--primary);border:0;border-radius:999px;color:#ffffff;cursor:pointer;font:inherit;font-size:14px;font-weight:600;line-height:20px;padding:8px 12px}.programs-hub-empty button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}