.solo-crumb { margin: 0 0 18px; font-size: 13px; color: #657e73; }
.solo-crumb a { color: #19755c; }
.solo-main { max-width: 1240px; }
.solo-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(24px, 5vw, 60px);
  border: 1px solid #d5e6dc;
  border-radius: 24px;
  background: radial-gradient(ellipse at 90% 15%, #d9ece5, transparent 65%), linear-gradient(125deg, #f3f7ed, #e9f4ef);
}
.solo-banner h1 { margin: 0; color: #162f2a; font-size: clamp(28px, 4.7vw, 66px); line-height: 1.15; letter-spacing: -.05em; }
.solo-banner h1 span { display: block; margin-top: 10px; color: #147a65; font-size: .64em; line-height: 1.3; letter-spacing: -.02em; }
.solo-brands { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; gap: 20px 0; margin: 0; padding: 0; list-style: none; }
.solo-brands li { display: grid; justify-items: center; gap: 6px; width: calc(100% / 3); padding-inline: 4px; color: #46665c; font-size: 12px; line-height: 1.4; text-align: center; }
.solo-brands img, .solo-brand-crop { display: block; width: 37px; height: 37px; object-fit: contain; }
.solo-brands img { opacity: .62; }
.solo-brand-crop { overflow: hidden; }
.solo-brand-crop img { width: auto; max-width: none; }
.solo-hero {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  margin-top: 20px;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #dce9e0;
  border-radius: 24px;
  background: linear-gradient(135deg, #f6f8ef, #e6f2ec);
  color: #162f2a;
}
.solo-kicker { margin: 0 0 16px; color: #386858; font-size: 13px; font-weight: 650; letter-spacing: .05em; }
.solo-hero h2 { margin: 0 0 18px; font-size: clamp(28px, 3.7vw, 50px); line-height: 1.18; letter-spacing: -.05em; }
.solo-hero h2 span { color: #147a65; }
.solo-hero-copy > p, .solo-community-intro > p:not(.solo-kicker) {
  max-width: 36em;
  margin: 0;
  color: #4f675e;
  font-size: 15px;
  line-height: 1.9;
}
.solo-cta { display: inline-flex; align-items: center; gap: 14px; min-height: 46px; margin-top: 24px; padding: 8px 16px; border-radius: 8px; background: #17483d; color: #fff; font-size: 14px; }
.solo-cta:hover { background: #216354; }
.solo-run { padding: clamp(16px, 2.5vw, 30px); border: 1px solid #d5e5da; border-radius: 16px; background: #ffffffd9; }
.solo-run blockquote { margin: 0; padding: 13px 14px; border-radius: 10px; background: #eef4ef; color: #25473d; font-size: 15px; line-height: 1.65; }
.solo-run ol { counter-reset: run-step; display: grid; gap: 13px; margin: 18px 0 0; padding: 0; list-style: none; }
.solo-run li { counter-increment: run-step; display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; font-size: 14px; }
.solo-run li::before { content: counter(run-step, decimal-leading-zero); grid-row: span 2; align-self: start; padding: 4px 0; border-radius: 6px; background: #e3f0e8; color: #226751; text-align: center; font-size: 12px; }
.solo-run li span { margin-top: 2px; color: #546e63; font-size: 13px; }
.solo-body { max-width: none; }
.solo-community { display: grid; grid-template-columns: 1fr 1.18fr; gap: clamp(24px, 6vw, 80px); padding: clamp(36px, 6vw, 76px) clamp(4px, 3vw, 34px); scroll-margin-top: 110px; }
.solo-community h2, .solo-syllabus h2 { margin: 0 0 15px; color: #19382f; font-size: clamp(25px, 3vw, 42px); line-height: 1.28; letter-spacing: -.04em; }
.solo-community-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.solo-community-list li { padding: 16px 20px; border: 1px solid #dbe7df; border-radius: 12px; background: #fff; }
.solo-community-list h3 { margin: 0 0 5px; color: #245346; font-size: 16px; }
.solo-community-list p { margin: 0; color: #53695f; font-size: 14px; line-height: 1.7; }
.solo-syllabus { padding: clamp(20px, 4vw, 38px); border: 1px solid #dce8e0; border-radius: 16px; background: #edf4ef; }
.solo-syllabus-heading { margin-bottom: 20px; }
.solo-syllabus-heading h2 { margin-bottom: 6px; }
.solo-syllabus-heading p { margin: 0; color: #53695f; font-size: 14px; }
.solo-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.solo-module { padding: 18px 22px; border: 1px solid #dce8e0; border-radius: 14px; background: #fff; }
.solo-module h3 { margin: 0 0 12px; font-size: 17px; }
.solo-module ol { margin: 0; padding-left: 24px; color: #45655a; }
.solo-module li { padding: 5px 0; line-height: 1.6; }
.solo-enrollment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr); align-items: center; gap: 24px; margin: 28px 0; padding: clamp(20px, 4vw, 38px); border: 1px solid #dce8e0; border-radius: 16px; background: #fff; }
.solo-enrollment .solo-kicker { color: #386858; font-size: 13px; }
.solo-enrollment h2 { color: #19382f; font-size: clamp(23px, 3vw, 34px); }
.solo-enrollment-action { display: grid; justify-items: start; gap: 8px; padding: 20px; border-radius: 12px; background: #edf4ef; color: #365f51; }
.solo-enrollment-action strong { color: #17483d; font-size: 38px; line-height: 1.15; }
.solo-enrollment-action .solo-cta { margin-top: 6px; color: #fff; text-decoration: none; }
.solo-enrollment-action p { margin: 4px 0 0; font-size: 13px; }
@media (max-width: 760px) {
  .solo-banner, .solo-hero, .solo-community { grid-template-columns: 1fr; }
  .solo-brands { padding-top: 18px; border-top: 1px solid #d5e6dc; }
}
@media (max-width: 640px) {
  .solo-main { padding-inline: 16px; }
  .solo-modules, .solo-enrollment { grid-template-columns: 1fr; }
}
