/* Category page (courses-in/[place]/[category]): editorial hero, depth line, numbered course list. Brand palette only. */
.cx{ font-family:'Inter',sans-serif; color:#003F9E; background:#fff; }
.cx__w{ max-width:1160px; margin:0 auto; padding:0 24px; }
.cx h1,.cx h2,.cx h3{ margin:0; }
.cx__hero{ background:#E6F0FF; position:relative; overflow:hidden; padding:98px 0 0; }
@media (min-width:901px){ .cx__hero{ padding-top:30px; } }
.cx__hero::before,.cx__hero::after{ content:""; position:absolute; border-radius:50%; border:1.5px solid #fff; pointer-events:none; }
.cx__hero::before{ width:560px; height:560px; right:-120px; top:-200px; } .cx__hero::after{ width:360px; height:360px; right:-20px; top:-100px; }
.cx__bc{ font:500 13px 'Inter',sans-serif; margin:0 0 46px; position:relative; }
.cx__bc a{ color:#0052CC; text-decoration:none; } .cx__bc a:hover{ text-decoration:underline; } .cx__bc span{ opacity:.5; margin:0 8px; }
.cx__hg{ display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:56px; align-items:end; position:relative; }
.cx__eyb{ display:flex; align-items:center; gap:12px; font:700 12px 'Inter',sans-serif; letter-spacing:.2em; color:#0052CC; }
.cx__eyb::before{ content:""; width:34px; height:4px; border-radius:4px; background:#FEDA25; }
.cx h1{ font:800 clamp(34px,5vw,60px)/1.06 'Poppins',sans-serif; color:#0052CC; margin:18px 0 18px; letter-spacing:-.02em; overflow-wrap:anywhere; }
.cx h1 em{ font-style:normal; color:#003F9E; }
.cx__lead{ font:400 17px/1.65 'Inter',sans-serif; max-width:620px; margin:0; }
.cx__stats{ display:flex; margin-top:34px; border-top:1.5px solid #fff; }
.cx__stats div{ padding:18px 34px 24px 0; margin-right:34px; border-right:1.5px solid #fff; } .cx__stats div:last-child{ border:0; }
.cx__stats b{ display:block; font:800 34px/1 'Poppins',sans-serif; color:#0052CC; } .cx__stats small{ display:block; margin-top:6px; font:600 12.5px 'Inter',sans-serif; letter-spacing:.04em; }
.cx__side{ position:relative; z-index:1; background:#003F9E; color:#fff; border-radius:24px 24px 0 0; padding:28px 28px 30px; }
.cx__side small{ font:700 11px 'Inter',sans-serif; letter-spacing:.14em; color:#FEDA25; }
.cx__side h2{ font:700 22px/1.25 'Poppins',sans-serif; margin:10px 0 10px; color:#fff; } .cx__side p{ font-size:14px; line-height:1.6; opacity:.9; margin:0 0 20px; }
.cx__btn{ display:flex; align-items:center; justify-content:center; gap:8px; background:#FEDA25; color:#003F9E; font:800 15px 'Inter',sans-serif; padding:15px; border-radius:14px; text-decoration:none; box-shadow:0 4px 0 #FEB92D; }
.cx__btn:hover{ background:#FEB92D; }
.cx__sh{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; margin-bottom:34px; }
.cx__sh h2{ font:700 26px 'Poppins',sans-serif; letter-spacing:-.01em; } .cx__sh p{ font-size:14px; margin:0; }
/* depth line */
.cx__path{ padding:64px 0 10px; }
.cx__pt{ position:relative; height:100px; margin:0 14px; }
.cx__pt::before{ content:""; position:absolute; left:0; right:0; top:21px; height:3px; background:#0052CC; border-radius:3px; }
.cx__nd{ position:absolute; top:0; transform:translateX(-50%); text-align:center; width:130px; text-decoration:none; color:#003F9E; }
.cx__nd i{ display:grid; place-items:center; margin:0 auto 10px; width:44px; height:44px; line-height:1; border-radius:50%; background:#0052CC; color:#FEDA25; font:800 13px 'Inter',sans-serif; font-style:normal; border:4px solid #fff; box-shadow:0 0 0 1.5px #0052CC; position:relative; z-index:1; transition:transform .2s, background .2s, color .2s; }
.cx__nd:hover i{ background:#FEDA25; color:#003F9E; transform:scale(1.12); }
.cx__nd b{ display:block; font:700 13.5px 'Inter',sans-serif; } .cx__nd small{ font:500 12px 'Inter',sans-serif; opacity:.8; }
/* list */
.cx__lst{ padding:40px 0 20px; } .cx__lst .cx__sh{ margin-bottom:14px; }
.cx__tools{ display:flex; align-items:center; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
.cx__pill{ border:0; background:transparent; color:#003F9E; font:700 14px 'Inter',sans-serif; padding:9px 16px; border-radius:99px; cursor:pointer; }
.cx__pill.on{ background:#0052CC; color:#fff; } .cx__pill:hover:not(.on){ background:#E6F0FF; }
.cx__sorted{ margin-left:auto; font:600 13px 'Inter',sans-serif; }
.cx__row{ display:grid; grid-template-columns:56px minmax(0,1fr) auto 150px 44px; align-items:center; gap:22px; padding:24px 22px; border-top:1.5px solid #E6F0FF; text-decoration:none; color:#003F9E; position:relative; transition:background .2s; }
.cx__rows .cx__row:last-child{ border-bottom:1.5px solid #E6F0FF; }
.cx__row::before{ content:""; position:absolute; left:0; top:14px; bottom:14px; width:4px; border-radius:4px; background:#FEDA25; transform:scaleY(0); transition:transform .22s; }
.cx__row:hover{ background:#E6F0FF; } .cx__row:hover::before{ transform:scaleY(1); }
.cx__no{ font:800 30px 'Poppins',sans-serif; color:#E6F0FF; -webkit-text-stroke:1.5px #0052CC; letter-spacing:-.02em; }
.cx__row h3{ font:700 20px/1.3 'Poppins',sans-serif; display:flex; align-items:center; gap:12px; flex-wrap:wrap; letter-spacing:-.01em; }
.cx__tier{ font:800 10.5px 'Inter',sans-serif; letter-spacing:.1em; text-transform:uppercase; border-radius:99px; padding:4px 10px; background:#E6F0FF; color:#0052CC; }
.cx__row:hover .cx__tier{ background:#fff; } .cx__tier--advance{ background:#FEDA25 !important; color:#003F9E; } .cx__tier--professional{ background:#07BD80 !important; color:#fff; }
.cx__row p{ font-size:14px; line-height:1.55; margin:6px 0 0; max-width:560px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cx__ch{ display:flex; gap:7px; }
.cx__ch em{ width:30px; height:30px; border-radius:9px; border:1.5px solid #E6F0FF; background:#fff; color:#0052CC; display:grid; place-items:center; font-size:12px; font-style:normal; }
.cx__du b{ display:block; font:800 30px/1 'Poppins',sans-serif; color:#0052CC; } .cx__du small{ font:700 11px 'Inter',sans-serif; letter-spacing:.14em; }
.cx__ar{ width:44px; height:44px; border-radius:50%; border:1.5px solid #0052CC; color:#0052CC; display:grid; place-items:center; transition:transform .2s, background .2s, border-color .2s, color .2s; }
.cx__row:hover .cx__ar{ background:#FEDA25; border-color:#FEDA25; color:#003F9E; transform:translateX(4px); }
/* others, closing strip, seo */
.cx__oth{ padding:56px 0 10px; } .cx__oth .cx__sh{ margin-bottom:14px; }
.cx__oc{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cx__oc a{ display:flex; justify-content:space-between; align-items:center; gap:10px; border:1.5px solid #E6F0FF; border-radius:16px; padding:18px 20px; text-decoration:none; color:#003F9E; font:700 15px 'Inter',sans-serif; transition:border-color .2s, background .2s; }
.cx__oc a:hover{ border-color:#0052CC; background:#E6F0FF; } .cx__oc small{ flex:none; font:600 12px 'Inter',sans-serif; color:#0052CC; background:#E6F0FF; border-radius:99px; padding:3px 10px; }
.cx__oc a:hover small{ background:#fff; }
.cx__end{ margin:56px 0 28px; background:#0052CC; color:#fff; border-radius:28px; padding:40px 44px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; position:relative; overflow:hidden; }
.cx__end::before{ content:""; position:absolute; width:320px; height:320px; border:1.5px solid rgba(255,255,255,.35); border-radius:50%; right:-60px; top:-120px; pointer-events:none; }
.cx__end h2{ font:800 28px/1.2 'Poppins',sans-serif; position:relative; } .cx__end h2 em{ font-style:normal; color:#FEDA25; } .cx__end p{ margin:8px 0 0; font-size:15px; position:relative; }
.cx__end .cx__btn{ padding:16px 30px; position:relative; }
.cx__seo{ padding-bottom:50px; } .cx__seo p{ line-height:1.6; margin:0 0 14px; max-width:760px; }
.cx__seo h2{ font:700 18px 'Poppins',sans-serif; margin:0 0 12px; }
.cx__links{ display:flex; flex-wrap:wrap; gap:10px; }
.cx__links a{ background:#E6F0FF; color:#0052CC; font-weight:700; font-size:13px; padding:9px 18px; border-radius:999px; text-decoration:none; } .cx__links a:hover{ background:#0052CC; color:#fff; }
@media (max-width:900px){
  .cx__hg{ grid-template-columns:1fr; gap:30px; } .cx__side{ border-radius:24px; } .cx__stats{ flex-wrap:wrap; } .cx__stats div{ padding-right:20px; margin-right:20px; }
  .cx__row{ grid-template-columns:40px minmax(0,1fr) 44px; gap:14px; padding:20px 8px; } .cx__ch,.cx__du{ display:none; } .cx__row h3{ font-size:17px; } .cx__no{ font-size:24px; }
  .cx__pt{ height:auto; display:grid; gap:14px; margin:0; } .cx__pt::before{ display:none; }
  .cx__nd{ position:static; transform:none !important; width:auto; display:flex; gap:14px; align-items:center; text-align:left; left:auto !important; } .cx__nd i{ margin:0; flex:none; }
  .cx__oc{ grid-template-columns:1fr; } .cx__end{ padding:30px 24px; } .cx__hero::before,.cx__hero::after{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .cx__row,.cx__row::before,.cx__ar,.cx__nd i{ transition:none; } .cx__row:hover .cx__ar,.cx__nd:hover i{ transform:none; } }

