/* Course-only product skin. Enrollment, pricing and dialog behavior are unchanged. */
.brand-site.course-flow {
  --bg: #faf8f5;
  --bg-soft: #f0ede6;
  --text: #30291f;
  --text-muted: #706657;
  --text-dim: #776a57;
  --panel: #fffefb;
  --panel-strong: #eeefe4;
  --panel-border: #e4dccf;
  --blue: #544834;
  --blue-light: #655b42;
  --blue-sky: #655b42;
  --indigo: #655b42;
}
.course-flow main > section { padding: 84px 24px; background: #faf8f5; }
.course-flow main > .section-light { background: #f0ede6; border-block: 1px solid #e5ddd0; }
.course-flow main > .section-dark { background: #f5f2eb; border-block: 1px solid #e5ddd0; }
.course-flow main .container { width: 100%; max-width: 1120px; }
.course-flow main .orb,
.course-flow main .hero::after,
.course-flow main .glass-panel::before { display: none; }
.course-flow main > .hero { padding-block: 102px 86px; border-bottom: 1px solid #e5ddd0; }
.course-flow .hero-content { max-width: 960px; width: 100%; }
.brand-site.course-flow .hero .hero-title {
  margin: 24px auto;
  max-width: 920px;
  color: #30291f;
  font-size: clamp(48px, 6.6vw, 86px);
  font-weight: 500;
  line-height: 1.035;
  letter-spacing: -.06em;
  text-shadow: none;
}
.brand-site.course-flow .hero-title .grad {
  background: none;
  color: #76694a;
  -webkit-text-fill-color: currentColor;
  font-family: 'Crimson Pro', Georgia, serif;
  font-weight: 400;
  font-style: italic;
}
.course-flow .hero :is(.hero-title,.subtitle,.cohort-line,.cta-buttons,.trust-badges,.badge) { animation: none; }
.brand-site.course-flow .hero .subtitle { max-width: 660px; margin-block-end: 22px; color: #706657; font-size: 17px; font-weight: 400; line-height: 1.8; }
.course-flow .hero .subtitle .em { color: #40372a; }
.course-flow .hero .badge { margin-block-end: 0; padding: 7px 12px; border: 1px solid #dbdecd; border-radius: 6px; background: #edf0e3; color: #596442; font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.course-flow .hero .badge .dot { background: #7b865f; }
.course-flow .hero .badge .dot::after { display: none; }
.brand-site.course-flow .hero .cohort-line { max-width: 710px; margin: 0 auto 32px; color: #786e5c; font-family: inherit; font-size: 12px; line-height: 1.8; letter-spacing: .015em; text-transform: none; }
.course-flow .cohort-line .sep { color: #b1a793; padding-inline: 6px; }
.course-flow .cta-buttons { margin-block-end: 0; gap: 12px; }
.course-flow .trust-badges { margin-block-start: 30px; gap: 10px 24px; }
.course-flow .trust-badge { padding: 0; border: 0; background: none; color: #73664f; font-size: 11px; font-weight: 400; letter-spacing: .035em; text-transform: none; backdrop-filter: none; }
.course-flow .section-header { max-width: 760px; margin-block-end: 42px; }
.brand-site.course-flow main .section-title { color: #30291f; font-size: clamp(32px, 4vw, 50px); font-weight: 500; line-height: 1.12; letter-spacing: -.05em; }
.brand-site.course-flow main .section-label { color: #746851; font-size: 11px; font-weight: 500; line-height: 1.65; letter-spacing: .07em; }
.course-flow main .section-desc { max-width: 660px; margin-inline: auto; color: #706657; font-size: 16px; font-weight: 400; line-height: 1.8; }
.brand-site.course-flow main :is(p,li) { color: #706657; font-weight: 400; line-height: 1.8; }
.brand-site.course-flow main strong { color: #493d2b; font-weight: 600; }
html:not(.access-contrast) .course-flow main p[style*="color"] { color: #706657 !important; }
.course-flow main li::before { width: 5px; height: 5px; margin-top: .7em; background: #899572; }
.brand-site.course-flow main .glass-panel {
  padding: 30px;
  border: 1px solid #e4dccf;
  border-radius: 18px;
  background: #fffefb;
  box-shadow: 0 3px 8px #55452c04;
  backdrop-filter: none;
  transition: border-color .2s;
}
.brand-site.course-flow main .glass-panel:hover { border-color: #c9baa3; background: #fffefb; transform: none; box-shadow: 0 3px 8px #55452c04; }
.brand-site.course-flow main .glass-panel :is(h3,h4) { margin-block-end: 16px; color: #30291f; font-size: 23px; font-weight: 500; line-height: 1.25; letter-spacing: -.035em; }
.course-flow main :is(.grid-2,.grid-3,.grid-4) { gap: 22px; }
.course-flow main .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.course-flow main .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.course-flow main .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.course-flow main :is(.grid-2,.grid-3,.grid-4) > * { min-width: 0; }
.course-flow main #curriculum { background: #eeefe7; border-block: 1px solid #dfe1d3; }
.course-flow #curriculum .glass-panel { min-height: 270px; }
.course-flow .week-tag { display: inline-block; margin-block-end: 26px; padding: 5px 9px; border-radius: 6px; background: #e9eddd; color: #5c6845; font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.course-flow #curriculum .glass-panel:nth-child(3n + 2) .week-tag { background: #eee8f3; color: #796389; }
.course-flow #curriculum .glass-panel:nth-child(3n + 3) .week-tag { background: #f4e7d7; color: #8d6b3d; }
html:not(.access-contrast) .course-flow #instructor .glass-panel > p[style*="background"],
html:not(.access-contrast) .course-flow #capstone .glass-panel > div[style*="background"] { background: #f2f0e8 !important; border-color: #dfd7c8 !important; border-radius: 12px !important; }
.course-flow #capstone .glass-panel { padding: clamp(26px, 4vw, 48px); }
.course-flow main .feature-emoji { display: none; }
.course-flow main .grid-4 .glass-panel { padding: 25px; text-align: start !important; }
.brand-site.course-flow main .grid-4 h4 { font-size: 19px; }
.course-flow main .grid-4 .glass-panel::after { display: none; }
.brand-site.course-flow main :is(.price,.stat-number) { background: none; color: #5c6047; -webkit-text-fill-color: currentColor; font-weight: 500; letter-spacing: -.05em; }
.course-flow main .stat-number { margin-block-end: 16px; font-size: 42px; }
.course-flow main .quote-role { color: #3b3123; font-weight: 500; }
.course-flow main .quote-org { color: #73654f; }
.course-flow main .quote-text { color: #5b4e3b; font-size: 16px; font-style: normal; line-height: 1.85; }
.course-flow main .quote-outcome { color: #596443; font-size: 13px; font-weight: 500; }
.course-flow main #pricing { background: #ede9df; }
.brand-site.course-flow main .pricing-card { max-width: 570px; padding: clamp(30px, 4vw, 48px); border-color: #d9cfbc; background: #fffefb; box-shadow: 0 18px 45px #55432909; }
.course-flow main .price { margin: 28px 0; font-size: 64px; font-variant-numeric: tabular-nums; }
.course-flow .pricing-card li { padding-block: 13px; border-color: #e5ddcf; }

/* Native enrollment dialog: retain its active/open states and the existing form steps. */
.course-flow #checkoutModal { background: #30291f80; backdrop-filter: blur(5px); }
.course-flow #checkoutModal::backdrop { background: #30291f30; }
.course-flow #checkoutModal .modal-content { max-width: 520px; padding: 38px; border: 1px solid #e0d6c6; border-radius: 20px; background: #fffdf8; color: #30291f; box-shadow: 0 24px 85px #1f190e30; }
.course-flow #checkoutModal #enrollment-heading { padding-inline-end: 20px; color: #30291f; font-size: 28px; line-height: 1.2; letter-spacing: -.04em; font-weight: 500; }
.course-flow #checkoutModal .modal-close { left: auto; right: auto; inset-inline-end: 8px; color: #74664f; border-radius: 50%; }
.course-flow #checkoutModal .modal-close:hover { background: #eee7db; color: #30291f; }
.course-flow #checkoutModal .order-summary { padding: 18px 20px; border: 1px solid #dddccb; border-radius: 12px; background: #f0f1e7; }
.course-flow #checkoutModal .order-row { align-items: baseline; gap: 14px; color: #4e503d; font-size: 14px; font-weight: 500; }
.course-flow #checkoutModal .order-row.total { border-color: #d7d9c7; }
.course-flow #checkoutModal .price-inline { flex-shrink: 0; background: none; color: #41492e; -webkit-text-fill-color: currentColor; font-size: 20px; letter-spacing: -.03em; }
.course-flow #checkoutModal .form-label { margin-block-end: 7px; color: #5d4f3a; font-size: 13px; }
.course-flow #checkoutModal .form-input { min-height: 48px; padding: 12px 14px; border: 1px solid #cbbda7; border-radius: 8px; background: #fffefa; color: #30291f; font-size: 16px; }
.course-flow #checkoutModal .form-input:focus { outline: 2px solid #8b7a4c; outline-offset: 2px; border-color: #8b7a4c; }
.course-flow #checkoutModal select.form-input option { background: #fffefa; color: #30291f; }
.course-flow #checkoutModal :is(.payment-note,.enrollment-privacy) { color: #70614b; font-weight: 400; line-height: 1.7; }
.course-flow #checkoutModal .enrollment-privacy { font-size: 12px; }
.course-flow #checkoutModal .enrollment-privacy a { color: #554322; text-decoration: underline; text-underline-offset: 3px; }
html:not(.access-contrast) .course-flow #checkoutModal .btn-primary { min-height: 48px; padding: 13px 20px; border: 1px solid #332c22 !important; border-radius: 9px; background: linear-gradient(#41392d,#2d271f) !important; color: #fff !important; box-shadow: inset 0 1px #ffffff20 !important; font-size: 15px; font-weight: 500; }
html:not(.access-contrast) .course-flow #checkoutModal .btn-primary:hover { background: #403529 !important; transform: none; }
.course-flow :is(main,#checkoutModal) :is(a,button):focus-visible { outline: 3px solid #7d6d43; outline-offset: 4px; }
html[dir="rtl"] .course-flow .hero-title .grad { font-family: inherit; font-style: normal; }
html[dir="rtl"] .course-flow :is(.cohort-line,.week-tag,.section-label,.trust-badge,.badge) { letter-spacing: 0; }
/* Hebrew copy already contains a left arrow; do not mirror it a second time. */
html[dir="rtl"] .course-flow .btn:hover .arrow { transform: translateX(-4px); }

@media (max-width: 1000px) {
  .course-flow main .grid-3,
  .course-flow main .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-site.course-flow main .glass-panel { padding: 26px; }
}
@media (max-width: 680px) {
  .course-flow main > section { padding: 54px 18px; }
  .course-flow main > .hero { padding: 62px 18px 58px; }
  .brand-site.course-flow .hero .hero-title { font-size: clamp(40px, 11.4vw, 58px); letter-spacing: -.05em; }
  .brand-site.course-flow .hero .subtitle { font-size: 16px; }
  .course-flow .cta-buttons { max-width: 400px; margin-inline: auto; }
  .course-flow .trust-badges { gap: 10px 18px; }
  .course-flow .section-header { margin-block-end: 30px; }
  .brand-site.course-flow main .section-title { font-size: 34px; }
  .course-flow main :is(.grid-2,.grid-3,.grid-4) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .course-flow #curriculum .glass-panel { min-height: 0; }
  .course-flow .week-tag { margin-block-end: 18px; }
  .course-flow main .price { font-size: 56px; }
  .course-flow #checkoutModal .modal-content { padding: 34px 22px 24px; border-radius: 16px; }
  .course-flow #checkoutModal .order-summary { padding: 16px; }
}
html.access-motion .course-flow .glass-panel:hover { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .course-flow .glass-panel,
  .course-flow .btn,
  .course-flow .btn .arrow { transition: none; animation: none; }
  .course-flow .reveal { opacity: 1; transform: none; }
}
html.access-contrast .course-flow .glass-panel,
html.access-contrast .course-flow #checkoutModal .modal-content,
html.access-contrast .course-flow #checkoutModal .order-summary { background: #fff !important; color: #111 !important; border-color: #111 !important; box-shadow: none; }
html.access-contrast .course-flow :is(.grad,.price,.stat-number,.price-inline) { background: none !important; color: #111 !important; -webkit-text-fill-color: #111 !important; }
html.access-contrast .course-flow :is(.badge,.week-tag,.trust-badge) { background: #fff !important; color: #111 !important; border: 1px solid #111; }
html.access-contrast .course-flow .order-row { color: #111 !important; }
html.access-contrast .course-flow :is(.glass-panel,.pricing-card) li::before { background: #111 !important; }
