.prog-filter{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-top:2px;padding-bottom:12px}.prog-filter::-webkit-scrollbar{display:none}.prog-filter-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:9px 18px;border:1px solid var(--line);border-radius:100px;background:var(--surface);color:var(--ink-2);font-family:var(--ff-ui);font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast)}.prog-filter-btn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}.prog-filter-btn--active{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.prog-filter-btn--active:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-on);transform:none}.prog-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:color-mix(in oklab,currentColor 15%,transparent);font-family:var(--ff-mono);font-size:11px;font-weight:600;line-height:1}.prog-filter-btn--active .prog-filter-count{background:color-mix(in oklab,var(--accent-on) 20%,transparent);color:var(--accent-on)}.prog-type-filter{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.prog-type-label{font-family:var(--ff-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex-shrink:0}.prog-type-segment{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;padding:3px;gap:2px;background:transparent}.prog-type-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:100px;background:transparent;color:var(--ink-3);font-family:var(--ff-mono);font-size:12px;font-weight:500;letter-spacing:.04em;white-space:nowrap;text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.prog-type-btn:hover{color:var(--ink)}.prog-type-btn--active{background:var(--surface-2);color:var(--ink)}.prog-type-btn--retraining.prog-type-btn--active{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.prog-type-btn--retraining.prog-type-btn--active .prog-filter-count{background:color-mix(in oklab,var(--accent) 20%,transparent);color:var(--accent)}.prog-type-btn--qualification.prog-type-btn--active,.prog-type-btn--qualification.prog-type-btn--active .prog-filter-count{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#60a5fa}[data-theme=light] .prog-type-btn--qualification.prog-type-btn--active{color:#1d4ed8}.prog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.prog-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:transform var(--t-base) var(--ease-out),border-color var(--t-base),box-shadow var(--t-base)}.prog-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 32px color-mix(in oklab,var(--accent) 14%,transparent),0 2px 8px color-mix(in oklab,var(--accent) 8%,transparent)}.prog-card__img{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;flex-shrink:0}.prog-card__body{display:flex;flex-direction:column;flex:1;padding:24px;gap:12px}.prog-card__cat{font-family:var(--ff-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);line-height:1}.prog-card__title{font-family:var(--ff-display);font-size:clamp(18px,1.6vw,22px);font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0}.prog-card__desc{font-size:14px;color:var(--ink-2);line-height:1.55;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prog-card__desc p{margin:0}.prog-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding-top:14px;border-top:1px solid var(--line)}.prog-card__meta-item{display:inline-flex;align-items:center;gap:5px;font-family:var(--ff-mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap}.prog-card__meta-item svg{width:13px;height:13px;stroke:var(--ink-3);stroke-width:1.8;fill:none;flex-shrink:0}.prog-card__price{font-family:var(--ff-mono);font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.prog-card__price svg{stroke:var(--accent)}.prog-card__footer{padding:0 24px 24px}.prog-card__link{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 20px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink-2);font-family:var(--ff-ui);font-size:13.5px;font-weight:500;text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.prog-card__link:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.prog-empty{text-align:center;padding:clamp(48px,6vw,80px) 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.prog-empty__icon{width:56px;height:56px;margin:0 auto 20px;border-radius:50%;background:color-mix(in oklab,var(--accent) 12%,transparent);border:1px solid color-mix(in oklab,var(--accent) 24%,transparent);display:flex;align-items:center;justify-content:center}.prog-empty__icon svg{width:26px;height:26px;stroke:var(--accent);stroke-width:1.6;fill:none}.prog-empty__title{font-family:var(--ff-display);font-size:24px;font-weight:600;color:var(--ink);margin-bottom:10px}.prog-empty__text{font-size:15px;color:var(--ink-3);max-width:360px;margin:0 auto 24px;line-height:1.6}.prog-empty__link{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;background:var(--accent);border-radius:var(--r-sm);color:var(--accent-on);font-size:13.5px;font-weight:600;text-decoration:none;transition:opacity var(--t-fast)}.prog-empty__link:hover{opacity:.88}@media(max-width:1024px){.prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.prog-grid{grid-template-columns:1fr;gap:16px}.prog-filter-btn{padding:8px 14px;font-size:13px}.prog-card__body{padding:18px}.prog-card__footer{padding:0 18px 18px}.prog-card__title{font-size:18px}}.prog-show-meta{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 32px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:40px}.prog-show-cat{display:inline-flex;align-items:center;padding:6px 14px;border-radius:100px;background:color-mix(in oklab,var(--accent) 12%,transparent);border:1px solid color-mix(in oklab,var(--accent) 28%,transparent);color:var(--accent);font-family:var(--ff-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast);white-space:nowrap}.prog-show-cat:hover{background:color-mix(in oklab,var(--accent) 20%,transparent);border-color:var(--accent)}.prog-show-params{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 32px}.prog-show-param{display:flex;flex-direction:column;gap:4px}.prog-show-param__label{font-family:var(--ff-mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);line-height:1}.prog-show-param__val{font-size:15px;font-weight:500;color:var(--ink);line-height:1.2}.prog-show-param__val--accent{color:var(--accent);font-weight:600}.prog-show-pdf{display:inline-flex;align-items:center;gap:7px;margin-top:4px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2);font-family:var(--ff-ui);font-size:13px;font-weight:500;text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.prog-show-pdf:hover{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink)}.prog-show-pdf svg{width:15px;height:15px;flex-shrink:0}.prog-show-layout{display:grid;grid-template-columns:1fr 380px;gap:clamp(32px,4vw,56px);align-items:start}@media(max-width:960px){.prog-show-layout{grid-template-columns:1fr}}.prog-show-img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:32px}.prog-show-body{font-size:16px;line-height:1.7;color:var(--ink-2)}.prog-show-body h2{font-family:var(--ff-display);font-size:clamp(20px,2vw,26px);font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.015em;margin:2em 0 .6em}.prog-show-body h2:first-child{margin-top:0}.prog-show-body h3{font-family:var(--ff-display);font-size:clamp(17px,1.6vw,21px);font-weight:600;color:var(--ink);line-height:1.25;margin:1.6em 0 .5em}.prog-show-body p{margin:0 0 1em}.prog-show-body p:last-child{margin-bottom:0}.prog-show-body ul,.prog-show-body ol{margin:0 0 1em;padding-left:1.4em}.prog-show-body li{margin-bottom:.35em}.prog-show-body ul li::marker{color:var(--accent)}.prog-show-body ol li::marker{font-family:var(--ff-mono);font-size:13px;color:var(--ink-3)}.prog-show-body strong,.prog-show-body b{font-weight:600;color:var(--ink)}.prog-show-body em{color:inherit}.prog-show-body a{color:var(--accent);text-underline-offset:3px}.prog-show-body a:hover{opacity:.8}.prog-show-body table{width:100%;border-collapse:collapse;font-size:14px;margin:1.2em 0}.prog-show-body th,.prog-show-body td{padding:10px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.prog-show-body th{background:var(--surface-2);font-weight:600;color:var(--ink);font-family:var(--ff-ui)}.prog-show-body blockquote{border-left:3px solid var(--accent);margin:1.5em 0;padding:.75em 1.25em;background:color-mix(in oklab,var(--accent) 5%,transparent);border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--ink-2);font-style:italic}.prog-show-cta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px;position:sticky;top:100px}.prog-show-cta__head{margin-bottom:24px}.prog-show-cta__head .section-label{margin-bottom:8px}.prog-show-cta__head h3{font-family:var(--ff-display);font-size:clamp(20px,1.8vw,24px);font-weight:700;color:var(--ink);line-height:1.2;margin:0 0 8px}.prog-show-cta__head p{font-size:14px;color:var(--ink-3);line-height:1.55;margin:0}.prog-cta-form .field{margin-bottom:16px}.prog-cta-form .field:last-of-type{margin-bottom:20px}.prog-cta-success{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 24px;text-align:center;background:color-mix(in oklab,#22c55e 8%,transparent);border:1px solid color-mix(in oklab,#22c55e 24%,transparent);border-radius:var(--r-md)}.prog-cta-success svg{width:40px;height:40px;stroke:#16a34a;flex-shrink:0}.prog-cta-success p{font-size:15px;font-weight:500;color:#15803d;margin:0;line-height:1.4}.prog-cta-policy{font-size:12px;color:var(--ink-3);line-height:1.5;margin-top:12px;margin-bottom:0}.prog-cta-policy a{color:var(--ink-2);text-underline-offset:2px}.prog-cta-policy a:hover{color:var(--ink)}.prog-show-section-head{margin-bottom:32px}@media(max-width:960px){.prog-show-cta{position:static}}@media(max-width:640px){.prog-show-meta{gap:12px 20px;padding:16px 0}.prog-show-params{gap:12px 20px}.prog-show-cta{padding:24px}.prog-show-body h2{font-size:20px}.prog-show-body h3{font-size:17px}.prog-show-img{margin-bottom:24px}}.prog-type-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;font-family:var(--ff-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent}.prog-type-badge--retraining{background:color-mix(in oklab,var(--accent) 12%,transparent);border-color:color-mix(in oklab,var(--accent) 28%,transparent);color:var(--accent)}.prog-type-badge--qualification{background:color-mix(in oklab,#3b82f6 10%,transparent);border-color:color-mix(in oklab,#3b82f6 25%,transparent);color:#2563eb}[data-theme=light] .prog-type-badge--qualification{color:#1d4ed8}.prog-show-param__old-price{font-family:var(--ff-mono);font-size:12px;color:var(--ink-3);text-decoration:line-through;margin-left:6px}.prog-show-section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.prog-show-extra .prog-show-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.prog-show-section__title{font-family:var(--ff-display);font-size:clamp(20px,2vw,26px);font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-.015em;margin:0 0 24px}.prog-show-section__text{font-size:15px;color:var(--ink-2);line-height:1.65}.prog-show-prereq{margin-top:20px;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}.prog-show-prereq__title{font-family:var(--ff-ui);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px}.prog-skills-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;list-style:none;margin:0;padding:0}.prog-skills-list__item{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--ink-2);line-height:1.45;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm)}.prog-skills-list__item:before{content:"";display:block;flex-shrink:0;width:18px;height:18px;margin-top:1px;background:color-mix(in oklab,var(--accent) 15%,transparent);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 8l3.5 3.5L13 5' stroke='%23C9972B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100%}.prog-curriculum{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.prog-curriculum__item{border-bottom:1px solid var(--line)}.prog-curriculum__item:last-of-type{border-bottom:none}.prog-curriculum__head{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;background:none;border:none;cursor:pointer;text-align:left;transition:background var(--t-fast);color:var(--ink)}.prog-curriculum__head:hover{background:var(--surface-2)}.prog-curriculum__num{font-family:var(--ff-mono);font-size:11px;font-weight:600;color:var(--accent);flex-shrink:0;width:24px}.prog-curriculum__title{flex:1;font-size:15px;font-weight:500;line-height:1.4}.prog-curriculum__hours{font-family:var(--ff-mono);font-size:12px;color:var(--ink-3);white-space:nowrap;flex-shrink:0}.prog-curriculum__chevron{width:18px;height:18px;flex-shrink:0;color:var(--ink-3);transition:transform var(--t-fast)}.prog-curriculum__item--open .prog-curriculum__chevron{transform:rotate(180deg)}.prog-curriculum__total{padding:14px 20px;background:var(--surface);font-family:var(--ff-mono);font-size:12.5px;color:var(--ink-3);text-align:right;border-top:1px solid var(--line)}.prog-curriculum__total strong{color:var(--accent);font-weight:700}.prog-show-cta__doc{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:color-mix(in oklab,var(--accent) 6%,transparent);border:1px solid color-mix(in oklab,var(--accent) 20%,transparent);border-radius:var(--r-sm);margin-bottom:24px}.prog-show-cta__doc>svg{width:20px;height:20px;flex-shrink:0;stroke:var(--accent);margin-top:2px}.prog-show-cta__doc>div{display:flex;flex-direction:column;gap:3px}.prog-show-cta__doc-label{font-family:var(--ff-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);line-height:1}.prog-show-cta__doc-value{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.35}@media(max-width:640px){.prog-skills-list{grid-template-columns:1fr}.prog-show-section{padding-bottom:28px;margin-bottom:28px}.prog-curriculum__head{padding:14px 16px}.prog-show-cta__doc{margin-bottom:20px}}
