.course-finder{padding-block:36px 64px;color:#192740}.course-finder [hidden]{display:none!important}.cf-hero{max-width:780px;margin:0 auto 34px;text-align:center}.cf-hero>div:first-child{margin-bottom:24px;font-size:14px;color:#6c7890}.cf-hero a{color:#c32032}.cf-eyebrow{display:inline-block;color:#b91930;font-size:14px;font-weight:750;letter-spacing:-.2px}.cf-hero h1{margin:14px 0;font-size:clamp(26px,3.5vw,40px);line-height:1.6}.cf-hero p{margin:0;color:#637087;font-size:16px;line-height:2}.cf-hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.cf-hero-tags span{padding:6px 12px;background:#f1f5f9;border-radius:20px;font-size:14px;color:#52617b}.cf-shell{display:grid;grid-template-columns:260px minmax(0,1fr);border:1px solid #e2e8f0;border-radius:24px;background:#fff;box-shadow:0 18px 60px #17213f09;overflow:hidden}.cf-steps{padding:24px 18px;background:#f7f9fc;border-left:1px solid #e2e8f0}.course-finder button{font:inherit;cursor:pointer;box-shadow:none;transform:none}.cf-steps button{display:flex;align-items:center;gap:12px;width:100%;padding:15px 12px;margin-bottom:10px;border:1px solid transparent;border-radius:14px;background:transparent;text-align:right;color:#59677f}.cf-steps button[aria-current]{background:#fff;border-color:#f1c5ce;box-shadow:0 6px 20px #19274006}.cf-steps b{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:#e8edf4;font-size:16px}.cf-steps [aria-current] b{background:#bd1c31;color:#fff}.cf-steps span{min-width:0;display:grid;gap:6px}.cf-steps strong{font-size:15px;color:#243450}.cf-steps small{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.cf-steps p{margin:25px 12px;color:#8390a4;font-size:14px;line-height:2}.cf-main{min-width:0;padding:30px}.cf-progress-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.cf-progress-head button,.cf-result-actions>button:not(.cf-primary){border:0;background:transparent;color:#7b879a;padding:8px}.cf-progress{height:5px;margin:14px 0 28px;border-radius:10px;background:#eef1f6;overflow:hidden}.cf-progress>span{display:block;width:25%;height:100%;background:linear-gradient(90deg,#ef9c5d,#c21e34);transition:width .2s}.cf-question{outline:0}.cf-question h2,.cf-results h2{margin:0 0 8px;font-size:24px;line-height:1.7}.cf-question>p,.cf-results>p{margin:0 0 24px;color:#738098;font-size:15px;line-height:2}.cf-search{display:grid;gap:8px;margin-bottom:18px;color:#617087;font-size:14px}.cf-search input{box-sizing:border-box;width:100%;height:46px;padding:10px 14px;font:inherit;border:1px solid #dce3ed;border-radius:10px;background:#fafbfd}.cf-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:440px;overflow-y:auto;padding:2px;scrollbar-width:thin}.cf-options button{position:relative;display:flex;flex-direction:column;gap:8px;min-height:108px;padding:20px 18px 18px 36px;border:1px solid #e1e7ef;border-radius:13px;background:#fff;color:#233451;text-align:right;transition:background .15s,border-color .15s}.cf-options button:hover{border-color:#d78a98;background:#fffafb}.cf-options button[aria-pressed="true"]{border-color:#bf1d34;background:#fff4f6}.cf-options strong{font-size:16px;line-height:1.8}.cf-options small{font-size:14px;color:#7b879b;line-height:1.8}.cf-options i{position:absolute;left:12px;top:18px;width:19px;height:19px;border:1px solid #d6deea;border-radius:50%;font-size:13px;color:transparent;text-align:center;font-style:normal}.cf-options [aria-pressed="true"] i{background:#bf1d34;border-color:#bf1d34;color:#fff}.cf-certificate{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:15px;border-radius:12px;background:#f5f7fb;color:#4e5f7a;font-size:14px;line-height:2}.cf-certificate input{flex:0 0 18px;width:18px;height:18px;margin-top:5px;accent-color:#bf1d34}.cf-navigation,.cf-result-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:28px}.cf-navigation button{min-height:46px;padding:11px 18px;border:1px solid #dfe5ee;border-radius:11px;background:#fff;color:#54647d;font-size:15px}.cf-primary,.cf-navigation .cf-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border:0;border-radius:11px;background:#bf1d34;color:#fff;text-decoration:none;font:inherit;font-size:15px;font-weight:750;white-space:normal;text-align:center;line-height:1.8}.cf-primary:hover,.cf-navigation .cf-primary:hover{background:#a6192e;color:#fff}.cf-navigation button:disabled{opacity:.4;cursor:not-allowed}.cf-loading{display:grid;justify-items:center;padding:65px 20px;text-align:center}.cf-loading>span{width:46px;height:46px;border:4px solid #f4d8df;border-top-color:#bf1d34;border-radius:50%;animation:cf-spin .9s linear infinite}.cf-loading h2{margin-top:25px;font-size:23px}.cf-loading p{color:#738098;line-height:2}.cf-error,.cf-notice{margin-top:22px;padding:16px 20px;background:#fff4f4;border:1px solid #efc8ce;border-radius:12px;color:#a81930;font-size:15px;line-height:2}.cf-error button{padding:6px 12px;border:1px solid #eab5be;border-radius:8px;background:#fff;color:#a81930}.cf-result-grid{display:grid;gap:18px}.cf-course{display:grid;grid-template-columns:180px minmax(0,1fr);border:1px solid #e2e7ef;border-radius:16px;overflow:hidden}.cf-course-media{display:block;min-height:170px;background:#f1f5f9;overflow:hidden}.cf-course-media img{display:block;width:100%;height:100%;object-fit:cover}.cf-course-placeholder{display:grid;place-items:center;height:100%;color:#99a5b8;font-size:18px}.cf-course-content{min-width:0;padding:18px}.cf-course h3{font-size:18px;line-height:1.9;margin:0}.cf-course h3 a{color:#253652}.cf-course-instructor{font-size:14px;color:#7c8799;margin:7px 0}.cf-course-reasons{list-style:none;margin:12px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cf-course-reasons li{padding:4px 9px;background:#f0f8f3;border-radius:7px;color:#398252;font-size:13px;line-height:1.8}.cf-course-rating{color:#bb8529;font-size:14px}.cf-course-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #edf0f5;font-size:15px}.cf-course-open{color:#ba1e33;font-weight:750}.cf-empty{padding:32px 20px;background:#f8fafc;border:1px dashed #d7e0ec;border-radius:16px;text-align:center;line-height:2}.cf-empty p{font-size:15px;color:#718097}.cf-empty a{color:#bc1d34}.cf-footnote{margin:25px auto 0;text-align:center;color:#8993a4;font-size:14px;line-height:2}.academy-finder-banner{box-sizing:border-box;display:flex;align-items:center;gap:24px;margin-block:32px 40px;padding:28px 32px;border:1px solid #f0d8dc;border-radius:21px;background:linear-gradient(110deg,#fff4ed,#fff8fa 52%,#f5f7ff)}.cf-banner-icon{flex:0 0 76px;height:76px;padding:9px;border-radius:21px;color:#bd1c32;background:#fff;box-shadow:0 7px 25px #9a203511}.cf-banner-icon svg{width:100%;height:100%}.academy-finder-banner>div:nth-child(2){flex:1;min-width:0}.academy-finder-banner span{font-size:14px;color:#bc1c32}.academy-finder-banner h2{margin:6px 0;font-size:24px;line-height:1.8;color:#23314d}.academy-finder-banner p{margin:0;font-size:15px;line-height:2;color:#7b8496}.academy-finder-banner .cf-primary{flex-shrink:0}.cf-admin{display:grid;gap:22px}.cf-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.cf-admin-toolbar label{display:flex;gap:12px;align-items:center}.cf-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cf-admin-stats article{display:grid;gap:12px;padding:22px}.cf-admin-stats span{font-size:14px;color:#718097}.cf-admin-stats strong{font-size:30px;color:#293954}.cf-admin-settings,.cf-admin-history{padding:24px}.cf-admin h2{margin:0 0 20px;font-size:20px}.cf-admin-settings fieldset{padding:0;margin:0;border:0;min-width:0}.cf-admin-settings label{display:grid;gap:8px;font-size:15px;color:#52617c}.cf-admin-settings input,.cf-admin-settings select,.cf-admin-settings textarea{box-sizing:border-box;width:100%;font:inherit}.cf-admin-settings textarea{margin-bottom:18px}.cf-admin-settings p{color:#8290a6;line-height:2;font-size:14px}.cf-admin-tag{display:inline-block;padding:4px 8px;margin:3px;border-radius:7px;background:#f1f5f9;font-size:13px}.cf-admin-empty{padding:35px;color:#8390a6;text-align:center}.cf-admin .table-wrap{overflow-x:auto}@keyframes cf-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.cf-shell{grid-template-columns:1fr}.cf-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:14px;border-left:0;border-bottom:1px solid #e2e8f0}.cf-steps button{flex-direction:column;padding:10px 5px;text-align:center;margin:0}.cf-steps strong{font-size:14px}.cf-steps small,.cf-steps>p{display:none}.cf-main{padding:24px}.academy-finder-banner{flex-wrap:wrap;gap:16px}.academy-finder-banner .cf-primary{margin-right:auto}.cf-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.course-finder{padding-block:24px 40px}.cf-hero{margin-bottom:24px}.cf-hero-tags{gap:6px}.cf-hero-tags span{font-size:13px;padding:5px 8px}.cf-shell{border-radius:16px}.cf-main{padding:20px 15px}.cf-options{grid-template-columns:1fr;max-height:400px}.cf-question h2,.cf-results h2{font-size:21px}.cf-options button{min-height:88px;padding:15px 15px 15px 35px}.cf-navigation{gap:8px}.cf-navigation button{font-size:14px;padding:10px 12px}.cf-course{grid-template-columns:1fr}.cf-course-media{min-height:0;aspect-ratio:16/9}.cf-course h3{font-size:17px}.cf-course-content{padding:16px}.academy-finder-banner{padding:22px 18px;margin-block:25px}.cf-banner-icon{flex-basis:54px;height:54px;padding:6px}.academy-finder-banner h2{font-size:20px}.academy-finder-banner .cf-primary{width:100%}.academy-finder-banner p{font-size:14px}.cf-admin-toolbar{align-items:stretch;flex-direction:column}.cf-admin-stats{gap:10px}.cf-admin-stats article{padding:16px}.cf-admin-settings,.cf-admin-history{padding:17px}.cf-admin-settings .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cf-progress>span{transition:none}.cf-loading>span{animation:none}}

/* A learning journey, shared by the homepage and the dedicated guide. */
.course-finder { --cf-accent:#bc263e; --cf-ink:#233453; --cf-muted:#69778d; }
.course-finder.cf-home { margin-block:44px; padding-block:0; }
.course-finder .cf-hero {
    position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    align-items:center; gap:12px 34px; max-width:none; margin:0; padding:38px 40px 24px;
    border:1px solid #eadfe0; border-bottom:0; border-radius:28px 28px 0 0;
    background:radial-gradient(ellipse at 0 0,#ffeadb88,transparent 65%),linear-gradient(120deg,#fffcf9,#fff8f7 65%,#fff);
    text-align:right; overflow:hidden;
}
.course-finder .cf-hero-copy { min-width:0; margin:0; }
.course-finder .cf-eyebrow { color:var(--cf-accent); font-size:14px; }
.cf-hero .cf-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 12px; border:1px solid #eddbdb; border-radius:30px; background:#fffc; }
.course-finder .cf-hero h1,.course-finder .cf-hero h2 { margin:20px 0 14px; color:var(--cf-ink); font-size:clamp(25px,3vw,36px); line-height:1.65; font-weight:850; }
.course-finder .cf-hero p { color:var(--cf-muted); font-size:16px; line-height:2.1; }
.cf-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:25px; }
.cf-start { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:13px 18px; border:1px solid #a21e34; border-radius:13px; background:linear-gradient(125deg,#d54251,#b9233b); color:#fff!important; font-size:15px; font-weight:750; box-shadow:0 4px 0 #8b1b30,0 10px 22px #b9233b24; transition:transform .2s,box-shadow .2s; }
.cf-start>span { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#ffffff26; }
.cf-start:hover { transform:translateY(-2px); box-shadow:0 6px 0 #8b1b30,0 15px 24px #b9233b2c; }
.cf-time { color:var(--cf-muted); font-size:14px; }
.course-finder .cf-hero-tags { justify-content:flex-start; gap:8px; margin-top:22px; }
.course-finder .cf-hero-tags span { padding:0 0 0 10px; border-radius:0; background:none; color:#6f7b8d; font-size:14px; line-height:1.9; }
.cf-benefits { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:8px; }
.cf-benefits>span { display:flex; align-items:center; gap:9px; padding:13px 15px; border:1px solid #efe6e1; border-radius:12px; background:#ffffffa6; color:#56657d; font-size:14px; }
.cf-benefits b { display:grid; flex:0 0 23px; height:23px; place-items:center; background:#e8f3ec; color:#42805b; border-radius:50%; }
.cf-visual { position:relative; isolation:isolate; width:100%; max-width:470px; aspect-ratio:480/380; justify-self:center; }
.cf-visual-glow { position:absolute; inset:14% 8%; border-radius:50%; background:radial-gradient(ellipse,#f9c5aa70,#fce7db55 55%,transparent 75%); }
.cf-learning-map { position:relative; display:block; width:100%; height:100%; }
.cf-map-grid { stroke:#e9d9d3; stroke-dasharray:2 9; opacity:.6; }
.cf-map-route { stroke:#d9997f; stroke-width:2.5; stroke-linecap:round; stroke-dasharray:6 9; animation:cf-route-flow 25s linear infinite; }
.cf-map-start { fill:#fbe9df; stroke:#d96e50; stroke-width:3; }
.cf-map-stop { fill:#fff; stroke:#dca388; stroke-width:3; }
.cf-map-finish { fill:#4c8064; }
.cf-map-book { animation:cf-book-float 6s ease-in-out infinite; }
.cf-map-cap { animation:cf-book-float 6s ease-in-out -3s infinite; }
.cf-map-spark { animation:cf-spark 4s ease-in-out infinite; }
.cf-visual-chip { position:absolute; display:flex; align-items:center; gap:11px; padding:12px 15px; border:1px solid #fff; border-radius:15px; background:#fffffff0; box-shadow:0 12px 30px #68433212; text-align:right; }
.cf-chip-top { top:6%; right:6%; transform:rotate(3deg); }
.cf-chip-bottom { bottom:5%; left:5%; transform:rotate(-3deg); }
.cf-visual-chip>span,.cf-visual-chip>b { display:grid; width:37px; height:37px; place-items:center; background:#fff1e8; color:#c96240; border-radius:12px; font-size:20px; }
.cf-visual-chip>b { background:#edf1f8; color:#344b77; }
.cf-visual-chip strong { display:block; color:var(--cf-ink); font-size:14px; line-height:1.8; }
.cf-visual-chip small { display:block; color:#7c8596; font-size:14px; line-height:1.8; }
.course-finder .cf-shell { display:block; border-radius:0 0 24px 24px; scroll-margin-top:110px; }
.course-finder .cf-main { padding:30px; background:linear-gradient(180deg,#fff,#fffcfa); }
.cf-stepper { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.cf-stepper button { display:flex; align-items:center; gap:9px; min-width:0; min-height:44px; padding:8px 4px; border:0; background:transparent; color:#7b8799; text-align:right; }
.cf-stepper b { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:10px; background:#f0eeec; font-size:15px; }
.cf-stepper strong { font-size:14px; line-height:1.8; }
.cf-stepper [aria-current] { color:#b5263e; }
.cf-stepper [aria-current] b { background:#b5263e; color:#fff; }
.cf-stepper .is-complete:not([aria-current]) b { background:#eaf2ec; color:#3b7654; }
.course-finder .cf-progress-segments { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; height:6px; background:transparent; overflow:visible; margin:10px 0 26px; }
.course-finder .cf-progress-segments>span { width:auto; height:6px; border-radius:5px; background:#ece7e3; transition:background .2s; }
.course-finder .cf-progress-segments>.is-current { background:linear-gradient(90deg,#e79662,#bf243e); }
.course-finder .cf-progress-segments>.is-complete { background:#a5c3b0; }
.course-finder .cf-question h2 { font-size:23px; }
.course-finder .cf-options { gap:10px; padding:4px 3px 8px; max-height:none; overflow:visible; }
.course-finder .cf-options button { display:grid; grid-template-columns:34px minmax(0,1fr); align-content:center; align-items:center; column-gap:10px; row-gap:3px; min-height:90px; padding:12px 13px 12px 32px; border-color:#e9e2df; border-radius:12px; background:linear-gradient(145deg,#fff,#fffbf9); box-shadow:0 3px 0 #ede6e2,0 6px 15px #45332306; transition:transform .2s,box-shadow .2s,border-color .2s; }
.course-finder .cf-options button:hover { transform:translateY(-2px); border-color:#d8a19b; box-shadow:0 5px 0 #e9d9d4,0 9px 18px #4533230b; }
.course-finder .cf-options button[aria-pressed="true"] { background:#fff5f5; border-color:#c4394d; box-shadow:0 3px 0 #e7b9bf,0 6px 15px #b9233b0a; }
.course-finder .cf-option-icon { display:grid; grid-row:1/3; place-items:center; width:34px; height:34px; margin:0; border:1px solid #efded5; border-radius:10px; background:#fff2e9; color:#be694b; }
.cf-option-icon svg { width:21px; height:21px; }
.course-finder .cf-options [aria-pressed="true"] .cf-option-icon { background:#fbe7eb; border-color:#ecc3cb; color:#b5263f; }
.course-finder .cf-options strong { grid-column:2; min-width:0; font-size:16px; line-height:1.7; }
.course-finder .cf-options small { grid-column:2; min-width:0; font-size:14px; line-height:1.7; }
.course-finder .cf-course-reasons li { font-size:14px; }
.course-finder .cf-options i { top:14px; left:10px; width:17px; height:17px; }
.course-finder .cf-navigation { margin-top:23px; }
.course-finder .cf-navigation .cf-primary { background:linear-gradient(130deg,#ce3b4e,#b8243d); box-shadow:0 3px 0 #921c31; }
.course-finder :is(button,a,input):focus-visible { outline:3px solid #c66375; outline-offset:4px; }
.course-finder .cf-results { outline:0; }
.course-finder .cf-course { background:#fff; box-shadow:0 5px 16px #26334a06; }
.course-finder .cf-footnote { font-size:14px; }
@keyframes cf-route-flow { to { stroke-dashoffset:-150; } }
@keyframes cf-book-float { 50% { transform:translateY(-7px); } }
@keyframes cf-spark { 50% { opacity:.4; } }
@media(max-width:1000px) {
    .course-finder .cf-hero { padding:28px; gap:15px; }
    .cf-hero-actions { gap:13px; }
}
@media(max-width:700px) {
    .course-finder .cf-hero { grid-template-columns:1fr; padding:25px 20px 20px; border-radius:20px 20px 0 0; }
    .course-finder .cf-hero h1,.course-finder .cf-hero h2 { font-size:26px; }
    .cf-visual { width:min(100%,370px); }
    .cf-benefits { grid-template-columns:1fr; gap:8px; margin:0; }
    .cf-benefits>span { padding:10px 12px; }
    .cf-hero-actions { align-items:flex-start; flex-direction:column; }
    .cf-start { box-sizing:border-box; width:100%; }
    .course-finder .cf-main { padding:22px 16px; }
    .course-finder .cf-options { grid-template-columns:1fr; }
    .course-finder .cf-options button { min-height:82px; padding:11px 12px 11px 32px; }
    .course-finder .cf-option-icon { grid-row:1/3; margin:0; }
    .course-finder .cf-options strong { grid-column:2; }
    .course-finder .cf-options small { grid-column:2; }
    .course-finder .cf-hero-tags span { font-size:14px; }
    .cf-stepper { gap:8px; }
    .cf-stepper button { flex-direction:column; gap:5px; text-align:center; padding-inline:0; }
    .course-finder .cf-progress-segments { gap:8px; }
    .course-finder.cf-home { margin-block:30px; }
    .cf-visual-chip { padding:9px 11px; gap:8px; }
    .cf-visual-chip small { font-size:14px; }
    .cf-chip-top { top:2%; right:0; }.cf-chip-bottom { bottom:2%; left:0; }
}
@media(prefers-reduced-motion:reduce) {
    .course-finder *,.course-finder *::before,.course-finder *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .course-finder .cf-options button:hover,.cf-start:hover { transform:none; }
}
