:root {
  --course-navy: #101d66;
  --course-blue: #147ef0;
  --course-ink: #0f172a;
  --course-muted: #53627a;
  --course-line: #dfe7f2;
  --course-soft: #f4f7fb;
}

html { scroll-behavior: smooth; }
#course-enquiry, #curriculum { scroll-margin-top: 6rem; }
.course-v2 { background: #fff; color: var(--course-ink); }
.course-v2-stage { min-height: 100vh; padding: 7.25rem 0 5rem; background: radial-gradient(circle at 8% 3%, rgba(20,126,240,.11), transparent 25rem), radial-gradient(circle at 94% 18%, rgba(99,102,241,.08), transparent 23rem), var(--course-soft); }
.course-v2-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; }
.course-v2-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.4rem; color: #64748b; font-size: .82rem; }
.course-v2-breadcrumb a { color: #334155; font-weight: 700; text-decoration: none; }
.course-v2-breadcrumb a:hover { color: var(--course-blue); }
.course-v2-breadcrumb i { color: #94a3b8; font-size: .58rem; }
.course-v2-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; align-items: start; gap: 2rem; }
.course-v2-content { min-width: 0; }
.course-v2-hero { overflow: hidden; padding: clamp(2rem, 5vw, 4.25rem); border: 1px solid rgba(19,30,126,.1); border-radius: 2rem; background: linear-gradient(138deg, #fff 0%, #fff 55%, #edf5ff 100%); box-shadow: 0 24px 65px rgba(15,23,42,.08); }
.course-v2-eyebrow { display: inline-flex; align-items: center; gap: .55rem; color: var(--course-blue); font-size: .74rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.course-v2-eyebrow span { width: .55rem; height: .55rem; border-radius: 999px; background: var(--course-blue); box-shadow: 0 0 0 .35rem rgba(20,126,240,.12); }
.course-v2-hero h1 { max-width: 14ch; margin: 1.2rem 0 0; color: var(--course-ink); font-size: clamp(2.4rem, 6vw, 4.55rem); font-weight: 900; letter-spacing: -.025em; line-height: .99; }
.course-v2-hero h1 small { display: block; margin-bottom: 1rem; color: var(--course-navy); font-size: clamp(.94rem, 2vw, 1.15rem); font-weight: 850; letter-spacing: .02em; line-height: 1.2; }
.course-v2-intro { max-width: 47rem; margin: 1.6rem 0 0; color: #475569; font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.75; }
.course-v2-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.course-v2-actions a { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: .6rem; border-radius: .9rem; padding: .75rem 1.25rem; font-size: .9rem; font-weight: 800; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.course-v2-primary { color: #fff; background: linear-gradient(105deg, var(--course-navy), #075dc8); box-shadow: 0 13px 28px rgba(19,30,126,.22); }
.course-v2-primary:hover { transform: translateY(-2px); box-shadow: 0 17px 34px rgba(19,30,126,.28); }
.course-v2-secondary { border: 1px solid #b9c7da; color: #1e293b; background: rgba(255,255,255,.75); }
.course-v2-secondary:hover { background: #fff; transform: translateY(-2px); }
.course-v2-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 2.3rem; padding-top: 1.55rem; border-top: 1px solid #dce5f0; }
.course-v2-fact { display: flex; min-width: 0; align-items: flex-start; gap: .75rem; border-radius: 1rem; background: rgba(255,255,255,.72); padding: .95rem; }
.course-v2-fact > i { display: grid; width: 2.3rem; height: 2.3rem; flex: 0 0 auto; place-items: center; border-radius: .75rem; color: var(--course-blue); background: #e8f3ff; }
.course-v2-fact span { min-width: 0; }
.course-v2-fact small, .course-v2-fact strong { display: block; }
.course-v2-fact small { color: #64748b; font-size: .7rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.course-v2-fact strong { margin-top: .2rem; color: #172033; font-size: .84rem; line-height: 1.35; }
.course-v2-aside { position: sticky; top: 6rem; }
.course-v2-form-card { position: relative; overflow: hidden; border: 1px solid rgba(19,30,126,.1); border-radius: 1.6rem; background: rgba(255,255,255,.97); padding: 1.55rem; box-shadow: 0 25px 60px rgba(15,23,42,.13); }
.course-v2-form-accent { position: absolute; inset: 0 0 auto; height: .32rem; background: linear-gradient(90deg, var(--course-navy), var(--course-blue), #38bdf8); }
.course-v2-section { margin-top: 1.25rem; border: 1px solid var(--course-line); border-radius: 1.75rem; background: #fff; padding: clamp(1.55rem, 4vw, 2.8rem); box-shadow: 0 12px 35px rgba(15,23,42,.045); }
.course-v2-section-heading > span, .course-v2-label, .course-v2-final-cta span { color: var(--course-blue); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.course-v2-section-heading h2, .course-v2-certificate-copy h2 { margin: .65rem 0 0; color: var(--course-ink); font-size: clamp(1.8rem, 4vw, 2.65rem); font-weight: 900; letter-spacing: -.035em; line-height: 1.08; }
.course-v2-section-heading > p, .course-v2-certificate-copy > p { margin: .8rem 0 0; color: var(--course-muted); line-height: 1.7; }
.course-v2-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1.6rem; }
.course-v2-outcomes article { display: flex; gap: .8rem; border-radius: 1rem; background: #f7f9fc; padding: 1.05rem; }
.course-v2-outcomes p { margin: 0; color: #334155; font-size: .92rem; font-weight: 650; line-height: 1.55; }
.course-v2-check { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: #0d9f6e; font-size: .7rem; }
.course-v2-projects { color: #fff; border-color: transparent; background: linear-gradient(145deg, #0d173f, #131e7e 58%, #075fcf); }
.course-v2-projects .course-v2-section-heading > span { color: #7dd3fc; }
.course-v2-projects .course-v2-section-heading h2 { color: #fff; }
.course-v2-projects .course-v2-section-heading p { color: rgba(255,255,255,.66); }
.course-v2-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: 1.5rem; }
.course-v2-project-grid article { display: flex; align-items: center; gap: .85rem; min-height: 4.4rem; border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; background: rgba(255,255,255,.075); padding: .85rem 1rem; }
.course-v2-project-grid strong { color: #7dd3fc; font-size: .75rem; }
.course-v2-project-grid span { color: #fff; font-size: .9rem; font-weight: 700; }
.course-v2-certificate-section { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 2rem; }
.course-v2-certificate-copy ul { display: grid; gap: .7rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.course-v2-certificate-copy li { display: flex; align-items: flex-start; gap: .55rem; color: #334155; font-size: .88rem; line-height: 1.45; }
.course-v2-certificate-copy li i { margin-top: .18rem; color: #0d9f6e; }
.course-v2-certificate { position: relative; transform: rotate(1deg); border-radius: .75rem; background: #f7f0df; padding: .55rem; box-shadow: 0 22px 45px rgba(15,23,42,.17); }
.course-v2-certificate::before { content: ''; position: absolute; inset: -.55rem; z-index: -1; border-radius: 1rem; background: linear-gradient(135deg, rgba(20,126,240,.17), rgba(99,102,241,.06)); transform: rotate(-2deg); }
.course-v2-certificate-border { min-height: 25rem; border: 1px solid #c4a966; outline: 2px solid rgba(196,169,102,.45); outline-offset: -.4rem; background: radial-gradient(circle at 50% 45%, rgba(20,126,240,.05), transparent 9rem), #fffdf8; padding: 1.2rem; text-align: center; }
.course-v2-certificate-brand { display: flex; align-items: center; justify-content: center; gap: .55rem; color: var(--course-navy); text-align: left; }
.course-v2-certificate-brand img { width: 2.65rem; height: 2.65rem; flex: 0 0 auto; object-fit: contain; }
.course-v2-certificate-brand strong, .course-v2-certificate-brand small { display: block; }
.course-v2-certificate-brand strong { font-size: 1.05rem; letter-spacing: .08em; }
.course-v2-certificate-brand small { max-width: 15rem; font-size: .42rem; letter-spacing: .045em; line-height: 1.3; text-transform: uppercase; }
.course-lead-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.course-v2-certificate-kicker { margin: 1.35rem 0 0; color: #9a7227; font-family: Georgia, serif; font-size: 1.6rem; font-weight: 700; letter-spacing: .03em; }
.course-v2-certificate-presented { margin: 1rem 0 .35rem; color: #64748b; font-family: Georgia, serif; font-size: .65rem; font-style: italic; }
.course-v2-certificate-name { max-width: 15rem; margin: 0 auto; border-bottom: 1px solid #94a3b8; color: #1e293b; font-family: Georgia, serif; font-size: 1.25rem; font-style: italic; }
.course-v2-certificate-course { margin: .9rem 0 0; color: #64748b; font-family: Georgia, serif; font-size: .7rem; line-height: 1.6; }
.course-v2-certificate-course strong { color: var(--course-navy); font-size: .82rem; }
.course-v2-certificate-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: .5rem; margin-top: 2rem; color: #334155; }
.course-v2-certificate-footer span:not(.course-v2-seal) { border-top: 1px solid #94a3b8; padding-top: .35rem; }
.course-v2-certificate-footer b, .course-v2-certificate-footer small { display: block; font-size: .48rem; }
.course-v2-certificate-footer small { margin-top: .12rem; color: #64748b; }
.course-v2-seal { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 2px solid #c4a966; border-radius: 50%; color: #9a7227; font-size: 1.55rem; }
.course-v2-tabs { margin-top: 1.55rem; }
.course-v2-tab-list { display: flex; gap: .4rem; overflow-x: auto; border-bottom: 1px solid var(--course-line); }
.course-v2-tab-list button { position: relative; flex: 0 0 auto; border: 0; color: #64748b; background: transparent; padding: .8rem 1rem 1rem; font-size: .85rem; font-weight: 800; cursor: pointer; }
.course-v2-tab-list button::after { content: ''; position: absolute; right: .9rem; bottom: -1px; left: .9rem; height: 3px; border-radius: 99px 99px 0 0; background: transparent; }
.course-v2-tab-list button[aria-selected="true"] { color: var(--course-navy); }
.course-v2-tab-list button[aria-selected="true"]::after { background: var(--course-blue); }
.course-v2-tab-list button:focus-visible { border-radius: .5rem; outline: 3px solid rgba(20,126,240,.25); outline-offset: -3px; }
.course-v2-tab-panel { padding-top: .8rem; }
.course-v2-module { border-bottom: 1px solid var(--course-line); }
.course-v2-module summary { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .75rem; padding: 1rem .2rem; cursor: pointer; list-style: none; }
.course-v2-module summary::-webkit-details-marker { display: none; }
.course-v2-module summary > span { color: var(--course-blue); font-size: .75rem; font-weight: 900; }
.course-v2-module summary > .course-v2-module-title { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: .45rem; color: #1e293b; }
.course-v2-module-title strong { font-size: .94rem; }
.course-v2-module-title em { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid #b8d9ff; border-radius: 999px; color: #075fcf; background: #eaf4ff; padding: .22rem .5rem; font-size: .62rem; font-style: normal; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.course-v2-module summary > i { color: #64748b; font-size: .75rem; transition: transform .2s; }
.course-v2-module[open] summary > i { transform: rotate(45deg); }
.course-v2-module-body { padding: 0 1rem 1.1rem 2.95rem; }
.course-v2-module-body p { margin: 0; color: #64748b; font-size: .88rem; line-height: 1.65; }
.course-v2-module-body > div { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.course-v2-module-body span { border-radius: 999px; color: #334155; background: #eef3f9; padding: .3rem .62rem; font-size: .7rem; font-weight: 700; }
.course-v2-module--ai { margin: .45rem 0; border: 1px solid #bfdbfe; border-left: 4px solid var(--course-blue); border-radius: .9rem; background: linear-gradient(100deg, #f0f7ff, #fff); }
.course-v2-module--ai summary { padding-right: .8rem; padding-left: .8rem; }
.course-v2-module--ai .course-v2-module-body { padding-right: .8rem; }
.course-v2-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.5rem; }
.course-v2-method-grid article { border: 1px solid #e3eaf4; border-radius: 1rem; background: #f9fbfd; padding: 1.05rem; }
.course-v2-method-grid i { color: var(--course-blue); font-size: 1.2rem; }
.course-v2-method-grid h3 { margin: .75rem 0 0; color: #1e293b; font-size: .93rem; }
.course-v2-method-grid p { margin: .4rem 0 0; color: #64748b; font-size: .8rem; line-height: 1.55; }
.course-v2-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1.25rem; border-radius: 1.75rem; color: #fff; background: linear-gradient(135deg, #0b122c, #131e7e 60%, #075fcf); padding: clamp(1.6rem, 4vw, 2.8rem); }
.course-v2-final-cta span { color: #7dd3fc; }
.course-v2-final-cta h2 { max-width: 31rem; margin: .55rem 0 0; font-size: clamp(1.55rem, 3.5vw, 2.25rem); font-weight: 900; letter-spacing: -.03em; line-height: 1.12; }
.course-v2-final-cta p { max-width: 35rem; margin: .65rem 0 0; color: rgba(255,255,255,.65); font-size: .88rem; line-height: 1.6; }
.course-v2-final-cta > a { display: inline-flex; min-height: 3.2rem; flex: 0 0 auto; align-items: center; justify-content: center; gap: .55rem; border-radius: .85rem; color: var(--course-navy); background: #fff; padding: .75rem 1.1rem; font-size: .84rem; font-weight: 850; text-decoration: none; }
.course-v2-mobile-cta { display: none; }

@media (max-width: 1023px) {
  .course-v2-layout { grid-template-columns: 1fr; }
  .course-v2-aside { position: static; grid-row: 2; }
  .course-v2-form-card { max-width: 42rem; margin: 0 auto; }
  .course-v2-certificate-section { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .course-v2-stage { padding: 6.2rem 0 4.5rem; }
  .course-v2-shell { width: min(100% - 1rem, 1180px); }
  .course-v2-breadcrumb { padding-inline: .5rem; }
  .course-v2-hero, .course-v2-section, .course-v2-final-cta { border-radius: 1.25rem; }
  .course-v2-hero { padding: 1.55rem; }
  .course-v2-hero h1 { font-size: clamp(2.2rem, 12vw, 3.3rem); }
  .course-v2-actions { display: grid; }
  .course-v2-facts, .course-v2-outcomes, .course-v2-project-grid, .course-v2-method-grid { grid-template-columns: 1fr; }
  .course-v2-certificate-section { grid-template-columns: 1fr; }
  .course-v2-certificate { margin-top: .4rem; transform: none; }
  .course-v2-final-cta { display: block; }
  .course-v2-final-cta > a { width: 100%; margin-top: 1.15rem; }
  .course-v2-mobile-cta { position: fixed; z-index: 60; right: .7rem; bottom: .7rem; left: .7rem; display: flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .5rem; border: 1px solid rgba(255,255,255,.25); border-radius: .9rem; color: #fff; background: linear-gradient(105deg, var(--course-navy), #075fcf); box-shadow: 0 16px 38px rgba(15,23,42,.32); font-size: .86rem; font-weight: 850; text-decoration: none; transition: transform .2s, opacity .2s, visibility .2s; }
  .course-v2-mobile-cta.is-hidden { visibility: hidden; opacity: 0; transform: translateY(5rem); }
  .course-v2 + footer { padding-bottom: 5rem; }
}

@media (max-width: 420px) {
  .course-v2-fact { padding: .8rem; }
  .course-v2-certificate-border { min-height: 23rem; padding: 1rem; }
  .course-v2-certificate-kicker { font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .course-v2 *, .course-v2-mobile-cta { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
