
:root{--ink:#123c33;--muted:#586f68;--green:#17694f;--lime:#a1ce49;--line:#dbe7e1;--paper:#fff;--wash:#f1f7f4}*{box-sizing:border-box}body{margin:0;background:#f3f8f5;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:var(--green)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #538dd0;outline-offset:3px}.skip{position:absolute;left:14px;top:-60px;background:white;padding:8px;z-index:20}.skip:focus{top:8px}.partner-bar{background:white;border-bottom:1px solid var(--line);text-align:center}.partner-bar img{display:block;width:min(700px,94%);height:auto;margin:auto}.shell{max-width:1192px;padding:0 28px;margin:auto}.masthead{padding-top:32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.call-logo{width:310px;max-width:58%;height:auto;mix-blend-mode:multiply}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 21px;border-radius:9px;background:var(--green);color:white;font-weight:700;text-decoration:none;border:1px solid var(--green);cursor:pointer;white-space:nowrap}.button:hover{background:#0e503b}.hero{padding:34px 0 30px;max-width:800px}.eyebrow{color:var(--green);font-size:12px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;margin:0 0 8px}h1{font-size:clamp(33px,4.5vw,51px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 16px}h1 span{color:var(--green)}.intro{font-size:18px;color:var(--muted);margin:0;max-width:660px}.filter-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 8px 28px #173e3305}.filter-grid{display:grid;grid-template-columns:1.15fr 1.05fr .8fr;gap:18px}.field label{display:block;font-weight:700;font-size:14px;margin-bottom:7px}.control{width:100%;height:50px;border:1px solid #c7d9d0;border-radius:8px;color:var(--ink);background:white;padding:0 13px;min-width:0}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:14px;top:15px;color:var(--muted);pointer-events:none}.search-wrap input{padding-left:42px}.control::placeholder{color:#6c7b75}.filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding-top:17px;border-top:1px solid #e8eeea}.cert-filter{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.cert-filter input{accent-color:var(--green);width:18px;height:18px;margin:0}.reset{border:0;background:none;color:var(--green);text-decoration:underline;font-size:14px;cursor:pointer;padding:5px 0}.results-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0 12px}.count{font-weight:700;margin:0}.legend{font-size:12px;color:var(--muted);margin:0}.list{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.list-header,.course-row{display:grid;grid-template-columns:minmax(0,1fr) 225px 98px 165px;gap:20px;align-items:center}.list-header{padding:14px 22px;background:#e6f0ea;font-size:12px;font-weight:700;color:#365e50}.course-row{padding:21px 22px;border-top:1px solid #e3ece6}.course-row:nth-child(odd){background:#fcfdfc}.course-title{font-size:16px;line-height:1.4;font-weight:700;margin:0;overflow-wrap:anywhere}.category{color:var(--muted);font-size:13px;line-height:1.45}.intensity{display:inline-flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#2a8a55;box-shadow:0 0 0 4px #2a8a550c}.medium .dot{background:#b58912;box-shadow:0 0 0 4px #b589120c}.intense .dot{background:#c86b2f;box-shadow:0 0 0 4px #c86b2f0c}.cert{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--green);font-weight:700}.cert svg{flex:none}.cert-no{color:#6e7e77;font-weight:400}.state{padding:48px 20px;text-align:center;color:var(--muted)}.state h2{font-size:20px;color:var(--ink);margin:0 0 8px}.state p{margin:0 0 15px}.loading-dot{display:inline-block;width:9px;height:9px;background:var(--green);border-radius:50%;margin-right:9px;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.3}}.more-wrap{text-align:center;margin:24px 0}.secondary{background:white;color:var(--green);border-color:#bed4c8}.secondary:hover{background:#e7f1eb}.help{margin:36px 0 30px;padding:24px 26px;border-radius:12px;background:#e3efe6;display:flex;justify-content:space-between;align-items:center;gap:28px}.help h2{font-size:21px;letter-spacing:-.4px;margin:0 0 5px}.help p{font-size:14px;color:var(--muted);margin:0;max-width:660px}.help a{font-weight:700;white-space:nowrap}.footer{border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;padding:20px 0 28px}.footer p{margin:0}.footer a{text-underline-offset:3px}.notice{font-size:12px;color:var(--muted);margin:0 0 22px} [hidden]{display:none!important}
@media(max-width:1000px){.list-header,.course-row{grid-template-columns:minmax(0,1fr) 180px 90px 135px;gap:14px}.shell{padding:0 22px}}@media(max-width:760px){.masthead{padding-top:24px}.call-logo{width:255px}.masthead .button{font-size:13px;padding:9px 13px;min-height:44px}.hero{padding:26px 0}.intro{font-size:16px}.filter-grid{grid-template-columns:1fr 1fr;gap:14px}.field:first-child{grid-column:1/-1}.filter-panel{padding:18px}.list-header{display:none}.course-row{grid-template-columns:1fr 1fr;gap:10px 14px;padding:20px}.course-title{grid-column:1/-1;font-size:16px}.category{grid-column:1/-1;font-size:12px}.cert{justify-content:flex-end}.results-meta{align-items:flex-start;flex-direction:column;gap:6px}.help{align-items:flex-start;flex-direction:column;gap:15px}.legend{font-size:11px}.partner-bar img{width:96%}}
@media(max-width:440px){.shell{padding:0 16px}.call-logo{width:280px;max-width:100%}.masthead{flex-direction:column;align-items:flex-start;gap:14px}.hero h1{font-size:36px}.filter-grid{grid-template-columns:1fr}.field:first-child{grid-column:auto}.control{font-size:15px}.filter-bottom{align-items:flex-start}.cert-filter{font-size:13px;max-width:215px}.footer{gap:10px}.help{padding:22px}}
.course-main{min-width:0}.platform{font-size:13px;line-height:1.5;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}.description{margin-top:10px}.description summary{cursor:pointer;font-size:13px;color:var(--green);font-weight:700}.description summary:focus-visible{outline:3px solid #538dd0;outline-offset:3px}.description p{font-size:14px;line-height:1.6;color:#405d53;margin:10px 0 0;overflow-wrap:anywhere}@media(max-width:760px){.course-main{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.source-notice{font-size:13px;padding:12px 16px;border-radius:8px;background:#fff5d9;color:#64521a;margin:18px 0 0}

.description .examination-note{background:#fff5d9;color:#64521a;border-left:3px solid #d4a72c;border-radius:4px;padding:10px 12px;font-weight:600}
.loading-dot{width:18px;height:18px;background:transparent;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:catalogue-spin .8s linear infinite;flex:none}.button[aria-busy="true"]{cursor:wait}.button>.loading-dot{margin-right:0}@keyframes catalogue-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-dot{animation:none;border-style:dotted}}
