:root {
  --sds-yellow: #f7bd16;
  --sds-black: #090b0d;
  --sds-charcoal: #171a1f;
  --sds-navy: #132237;
  --sds-white: #ffffff;
  --sds-paper: #f6f5f1;
  --sds-muted: #626a73;
  --sds-border: #d9dde1;
  --sds-radius: 22px;
  --sds-shadow: 0 22px 60px rgba(7, 10, 13, .14);
}

.sds-rtf, .sds-rtf * { box-sizing: border-box; }
.sds-rtf { background: var(--sds-white); color: var(--sds-black); font-family: inherit; line-height: 1.6; overflow: hidden; }
.sds-rtf img { display: block; max-width: 100%; height: auto; }
.sds-rtf a { text-underline-offset: 3px; }
.sds-rtf a:focus-visible, .sds-rtf button:focus-visible, .sds-rtf summary:focus-visible, .sds-rtf video:focus-visible, .sds-rtf input:focus-visible { outline: 3px solid var(--sds-yellow) !important; outline-offset: 4px !important; }
.sds-rtf-shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.sds-rtf-section { padding: clamp(64px, 8vw, 108px) 0; }
.sds-rtf h1, .sds-rtf h2, .sds-rtf h3 { color: inherit; font-weight: 850; letter-spacing: -.035em; line-height: 1.04; margin: 0 0 .55em; }
.sds-rtf h1 { font-size: clamp(2.7rem, 6.4vw, 5.8rem); }
.sds-rtf h2 { font-size: clamp(2rem, 4.2vw, 3.8rem); max-width: 850px; }
.sds-rtf h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
.sds-rtf p { margin: 0 0 1.1em; }
.sds-rtf .sds-rtf-eyebrow, .sds-rtf .sds-rtf-kicker { color: var(--sds-yellow); font-weight: 850; letter-spacing: .13em; text-transform: uppercase; font-size: .78rem; }
.sds-rtf-lead { font-size: clamp(1.08rem, 1.5vw, 1.3rem); max-width: 670px; color: #e8eaed; }
.sds-rtf-fine { color: var(--sds-muted); font-size: .86rem; }
.sds-rtf-button { align-items: center; background: var(--sds-yellow); border: 2px solid var(--sds-yellow); border-radius: 999px; color: var(--sds-black) !important; display: inline-flex; font-weight: 850; justify-content: center; min-height: 52px; padding: 12px 24px; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.sds-rtf-button:hover { background: #ffd34f; box-shadow: 0 12px 24px rgba(247, 189, 22, .22); transform: translateY(-2px); }
.sds-rtf-text-link { color: var(--sds-white) !important; font-weight: 750; }
.sds-rtf-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin: 28px 0 22px; }

.sds-rtf-hero { background: radial-gradient(circle at 82% 30%, rgba(247,189,22,.15), transparent 30%), linear-gradient(120deg, var(--sds-black), var(--sds-navy)); color: var(--sds-white); min-height: 720px; position: relative; }
.sds-rtf-hero::after { background: linear-gradient(90deg, var(--sds-yellow), #ffdc64); bottom: 0; content: ''; height: 7px; left: 0; position: absolute; width: 100%; }
.sds-rtf-hero-grid { align-items: center; display: grid; gap: clamp(32px, 6vw, 80px); grid-template-columns: 1.05fr .95fr; min-height: 720px; padding-block: 72px; }
.sds-rtf-hero-copy h1 span { color: var(--sds-yellow); display: block; }
.sds-rtf .sds-rtf-hero-copy h1,
.sds-rtf .sds-rtf-course-hero h1 { color: var(--sds-white) !important; -webkit-text-fill-color: var(--sds-white) !important; text-shadow: 0 2px 18px rgba(0,0,0,.3); }
.sds-rtf .sds-rtf-hero-copy h1 span { color: var(--sds-yellow) !important; -webkit-text-fill-color: var(--sds-yellow) !important; }
.sds-rtf-hero-copy .sds-rtf-fine { color: #bbc1c8; max-width: 650px; }
.sds-rtf-hero-media { margin: 0; position: relative; }
.sds-rtf-hero-media::before { border: 2px solid var(--sds-yellow); border-radius: var(--sds-radius); content: ''; inset: -14px 14px 14px -14px; position: absolute; }
.sds-rtf-hero-media img { aspect-ratio: 4 / 5; border-radius: var(--sds-radius); box-shadow: var(--sds-shadow); object-fit: cover; object-position: 58% center; position: relative; width: 100%; }
.sds-rtf-hero-media figcaption { background: var(--sds-white); border-left: 6px solid var(--sds-yellow); bottom: 26px; color: var(--sds-black); display: flex; flex-direction: column; left: -22px; padding: 13px 18px; position: absolute; z-index: 2; }
.sds-rtf-hero-media figcaption span { color: var(--sds-muted); font-size: .82rem; }

.sds-rtf-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(3, 1fr); margin-top: 38px; }
.sds-rtf-card { background: var(--sds-paper); border: 1px solid var(--sds-border); border-radius: var(--sds-radius); padding: 30px; }
.sds-rtf-card > span { align-items: center; background: var(--sds-yellow); border-radius: 999px; display: inline-flex; font-size: .78rem; font-weight: 900; height: 42px; justify-content: center; margin-bottom: 24px; width: 42px; }
.sds-rtf-card p { color: var(--sds-muted); margin: 0; }
.sds-rtf-dark { background: var(--sds-charcoal); color: var(--sds-white); }
.sds-rtf .sds-rtf-dark h2,
.sds-rtf .sds-rtf-dark h3 { color: var(--sds-white) !important; -webkit-text-fill-color: var(--sds-white) !important; text-shadow: 0 2px 14px rgba(0,0,0,.28); }
.sds-rtf .sds-rtf-dark .sds-rtf-kicker { color: var(--sds-yellow) !important; -webkit-text-fill-color: var(--sds-yellow) !important; }
.sds-rtf-course-list { counter-reset: sds-course; display: grid; gap: 14px; list-style: none; margin: 38px 0 0; padding: 0; }
.sds-rtf-course-list li { align-items: center; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13); border-radius: 16px; display: grid; gap: 18px; grid-template-columns: 100px 1fr; padding: 22px; }
.sds-rtf-course-list span { color: var(--sds-yellow); font-size: .78rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }

.sds-rtf-checklist-preview { align-items: center; display: grid; gap: clamp(38px, 7vw, 100px); grid-template-columns: 1fr minmax(260px, 420px); }
.sds-rtf-checks { display: grid; gap: 10px; list-style: none; margin: 22px 0 28px; padding: 0; }
.sds-rtf-checks li { padding-left: 32px; position: relative; }
.sds-rtf-checks li::before { align-items: center; background: var(--sds-yellow); border-radius: 50%; color: var(--sds-black); content: '✓'; display: flex; font-size: .76rem; font-weight: 900; height: 21px; justify-content: center; left: 0; position: absolute; top: .2em; width: 21px; }
.sds-rtf-document { background: var(--sds-charcoal); border-radius: var(--sds-radius); box-shadow: var(--sds-shadow); padding: 16px; transform: rotate(2deg); }
.sds-rtf-document img { background: white; border-radius: 8px; width: 100%; }

.sds-rtf-signup { background: linear-gradient(135deg, #f2f0ea, #fff); border-top: 1px solid var(--sds-border); }
.sds-rtf-signup-grid { align-items: start; display: grid; gap: clamp(36px, 8vw, 110px); grid-template-columns: .88fr 1.12fr; }
.sds-rtf-signup .sds-rtf-kicker { color: #856100; }
.sds-rtf-consent { color: var(--sds-muted); font-size: .88rem; }
.sds-rtf-form-card { background: var(--sds-white); border-radius: var(--sds-radius); box-shadow: var(--sds-shadow); padding: clamp(18px, 4vw, 42px); }
.sds-rtf-form-card .ml-form-embedWrapper.embedForm { max-width: none !important; width: 100% !important; }
.sds-rtf-form-card .ml-form-embedWrapper { background: transparent !important; }
.sds-rtf-form-card .ml-form-embedBody, .sds-rtf-form-card .ml-form-successBody { padding: 0 !important; }
.sds-rtf-form-card .ml-form-embedContent h4 { font-weight: 850 !important; letter-spacing: -.025em !important; line-height: 1.12 !important; }
.sds-rtf-form-card .ml-field-group label { color: var(--sds-black) !important; display: block !important; font-weight: 750 !important; }
.sds-rtf-form-card input { border: 2px solid #aab0b7 !important; border-radius: 10px !important; min-height: 50px; }
.sds-rtf-form-card input:focus { border-color: var(--sds-yellow) !important; box-shadow: 0 0 0 3px rgba(247,189,22,.24); }
.sds-rtf-form-card button.primary { background: var(--sds-yellow) !important; border-radius: 999px !important; color: var(--sds-black) !important; font-weight: 850 !important; min-height: 52px !important; }
.sds-rtf-homepage-source[hidden] { display: none !important; }

.sds-rtf-course-hero { background: linear-gradient(110deg, var(--sds-black), var(--sds-navy)); color: var(--sds-white); padding: 70px 0 78px; text-align: center; }
.sds-rtf-course-hero h1 { margin-bottom: 18px; }
.sds-rtf-course-hero p:last-child { color: #d5d9de; font-size: 1.1rem; margin: 0 auto; max-width: 760px; }
.sds-rtf-video-stack { display: grid; gap: 52px; margin-top: 42px; }
.sds-rtf-video-card { background: var(--sds-paper); border: 1px solid var(--sds-border); border-radius: var(--sds-radius); overflow: hidden; }
.sds-rtf-video-heading { align-items: start; display: grid; gap: 16px; grid-template-columns: 90px 1fr; padding: 24px 28px 12px; }
.sds-rtf-video-heading span { color: #775600; font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.sds-rtf-video-heading h3 { margin: 0; }
.sds-rtf-video-card video { aspect-ratio: 16/9; background: #000; display: block; height: auto; object-fit: contain; width: 100%; }
.sds-rtf-transcript { border-top: 1px solid var(--sds-border); }
.sds-rtf-transcript summary { cursor: pointer; font-weight: 850; padding: 18px 28px; }
.sds-rtf-transcript > div { background: white; padding: 5px 28px 24px; }
.sds-rtf-download { background: var(--sds-paper); }
.sds-rtf-prep-callout { background: var(--sds-navy); color: var(--sds-white); }
.sds-rtf-prep-callout .sds-rtf-shell { max-width: 900px; }
.sds-rtf .sds-rtf-prep-callout h2,
.sds-rtf .sds-rtf-prep-callout h3 {
  color: var(--sds-white) !important;
  -webkit-text-fill-color: var(--sds-white) !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .28);
}
.sds-rtf-prep-callout p { color: #d8dde5; }
.sds-rtf-prep-callout strong { color: var(--sds-white); }

.sds-rtf-booking-hero { background: radial-gradient(circle at 50% 10%, rgba(247,189,22,.18), transparent 34%), linear-gradient(125deg, var(--sds-black), var(--sds-navy)); min-height: 72vh; padding: 80px 0; }
.sds-rtf-booking-card { background: var(--sds-white); border-radius: var(--sds-radius); box-shadow: var(--sds-shadow); max-width: 780px; padding: clamp(28px, 6vw, 64px); }
.sds-rtf-booking-card h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); }
.sds-rtf-notice { background: #fff4cc; border-left: 5px solid var(--sds-yellow); border-radius: 10px; padding: 16px 18px; }

@media (max-width: 840px) {
  .sds-rtf-hero-grid, .sds-rtf-signup-grid, .sds-rtf-checklist-preview { grid-template-columns: 1fr; }
  .sds-rtf-hero-grid { padding-block: 58px 72px; }
  .sds-rtf-hero-media { max-width: 600px; }
  .sds-rtf-card-grid { grid-template-columns: 1fr; }
  .sds-rtf-checklist-preview .sds-rtf-document { margin-inline: auto; max-width: 420px; width: 90%; }
}

@media (max-width: 560px) {
  .sds-rtf-shell { width: min(100% - 28px, 1160px); }
  .sds-rtf-section { padding: 58px 0; }
  .sds-rtf-hero, .sds-rtf-hero-grid { min-height: auto; }
  .sds-rtf h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
  .sds-rtf-actions { align-items: stretch; flex-direction: column; }
  .sds-rtf-button { text-align: center; width: 100%; }
  .sds-rtf-hero-media figcaption { bottom: 16px; left: -6px; }
  .sds-rtf-course-list li { grid-template-columns: 1fr; }
  .sds-rtf-video-heading { grid-template-columns: 1fr; padding: 20px; }
  .sds-rtf-transcript summary { padding: 16px 20px; }
  .sds-rtf-transcript > div { padding: 4px 20px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .sds-rtf *, .sds-rtf *::before, .sds-rtf *::after { scroll-behavior: auto !important; transition: none !important; }
}
