/* Course layouts: split hero, course image, practical outcomes, curriculum,
   instructor, sample lesson and offer. */
.course-page { --cl-ink:#192337; --cl-muted:#475569; --cl-accent:#d94721; --cl-gold:#ffc72c; --cl-soft:#f5f7fa; color:var(--cl-ink); font-family:'DM Sans',sans-serif; background:#fff; }
.course-page *, .course-page *::before, .course-page *::after { box-sizing:border-box; }
.course-page h1,.course-page h2,.course-page h3 { font-family:Sen,'DM Sans',sans-serif; color:var(--cl-ink); }
.course-page h1 { font-size:clamp(2.25rem,4.7vw,3.9rem); line-height:1.08; letter-spacing:-.045em; margin:16px 0 22px; }
.course-page h2 { font-size:clamp(1.8rem,3.3vw,2.65rem); line-height:1.16; letter-spacing:-.025em; margin:10px 0 20px; }
.course-page h3 { font-size:1.2rem; line-height:1.35; margin:0 0 12px; }
.course-page p { line-height:1.75; }
.course-page a:focus-visible,.course-page button:focus-visible,.course-page summary:focus-visible { outline:3px solid #2465ca; outline-offset:5px; }
.cl-wrap { max-width:1180px; margin:0 auto; padding:0 28px; }
.cl-section { padding:84px 0; scroll-margin-top:90px; }
.cl-soft { background:var(--cl-soft); }
.cl-heading { max-width:760px; margin:0 auto 38px; text-align:center; }
.cl-heading p { color:var(--cl-muted); }
.cl-kicker { display:block; color:#a63217; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.cl-skip { position:fixed; top:-100px; left:16px; z-index:1000; padding:12px; background:#fff; color:#111; }
.cl-skip:focus { top:12px; }
.cl-header { position:sticky; top:0; z-index:50; border-bottom:1px solid #e2e8f0; background:rgba(255,255,255,.98); }
.cl-header-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:78px; }
.cl-brand { display:flex; align-items:center; gap:9px; text-decoration:none; color:var(--cl-ink); font-weight:800; white-space:nowrap; }
.cl-brand img { width:38px; height:38px; object-fit:contain; }
.cl-nav { display:flex; align-items:center; gap:24px; }
.cl-nav a { font-size:.9rem; color:var(--cl-ink); text-decoration:none; font-weight:600; }
.cl-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.cl-nav-toggle { display:none; padding:10px 15px; background:#fff; border:1px solid #cbd5e1; border-radius:8px; color:var(--cl-ink); font:inherit; }
.cl-btn { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:50px; border:0; border-radius:10px; padding:15px 24px; background:var(--cl-ink); color:#fff!important; text-decoration:none!important; font:700 .96rem/1.4 'DM Sans',sans-serif; cursor:pointer; transition:background .15s; }
.cl-btn:hover { background:#2c405d; }
.cl-btn--gold { background:var(--cl-gold); color:var(--cl-ink)!important; }
.cl-btn--gold:hover { background:#f0b715; }
.cl-btn--outline { background:#fff; border:1px solid #cbd5e1; color:var(--cl-ink)!important; }
.cl-btn--outline:hover { background:#edf1f6; }
.cl-btn:disabled { opacity:.65; cursor:wait; }
.cl-nav .cl-btn { min-height:42px; padding:10px 18px; }
.cl-hero { padding:76px 0 50px; background:radial-gradient(ellipse at 80% 25%,#fff3e9,transparent 55%),#fff; }
.cl-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; align-items:center; }
.cl-hero h1 span { display:block; }
.cl-hero h1 strong { font-weight:800; text-decoration:underline; text-decoration-color:var(--cl-gold); text-decoration-thickness:5px; text-underline-offset:8px; }
.cl-lead { font-size:1.13rem; color:var(--cl-muted); border-left:3px solid var(--cl-accent); padding-left:18px; margin:24px 0; }
.cl-actions { display:flex; flex-wrap:wrap; gap:12px; margin:26px 0 16px; }
.cl-note { font-size:.85rem; color:var(--cl-muted); }
.cl-hero-media { margin:0; }
.cl-hero-media img { width:100%; height:auto; display:block; border-radius:18px; border:6px solid #fff; box-shadow:10px 20px 45px #19233720; transform:perspective(1200px) rotateY(-7deg) rotateZ(2deg); }
.cl-hero-media figcaption { margin:25px 0 0; text-align:center; color:var(--cl-muted); font-size:.85rem; }
.cl-stats { display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; padding-top:26px; border-top:1px solid #e2e8f0; }
.cl-stats span { padding:9px 15px; border-radius:7px; background:#fff; border:1px solid #e2e8f0; font-size:.85rem; font-weight:600; }
.cl-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cl-card { background:#fff; padding:28px; border:1px solid #e2e8f0; border-radius:14px; }
.cl-card p { color:var(--cl-muted); margin:0; }
.cl-card-number { display:block; color:#b5371b; font-size:.8rem; font-weight:700; letter-spacing:.07em; margin-bottom:18px; }
.cl-audience { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.cl-list { padding-left:22px; margin:20px 0; list-style:disc; }
.cl-list li { margin:11px 0; line-height:1.65; }
.cl-requirements { padding:30px; border-radius:14px; background:var(--cl-soft); }
.cl-requirements p { color:var(--cl-muted); margin:0; }
.cl-curriculum { max-width:900px; margin:auto; }
.cl-module,.cl-faq-item { background:#fff; border:1px solid #dbe2eb; border-radius:12px; margin:12px 0; overflow:hidden; }
.cl-module summary,.cl-faq-item summary { padding:22px 26px; cursor:pointer; display:flex; align-items:center; gap:18px; list-style:none; font-weight:700; line-height:1.5; }
.cl-module summary::-webkit-details-marker,.cl-faq-item summary::-webkit-details-marker { display:none; }
.cl-module summary::after,.cl-faq-item summary::after { content:'+'; margin-left:auto; font-size:1.5rem; flex-shrink:0; }
.cl-module[open] summary::after,.cl-faq-item[open] summary::after { content:'−'; }
.cl-module[open] summary,.cl-faq-item[open] summary { border-bottom:1px solid #e2e8f0; }
.cl-module-number { color:#a63217; font-size:.8rem; flex-shrink:0; }
.cl-module ul { margin:20px 30px 25px 50px; padding:0; list-style:disc; }
.cl-module li { padding:5px 0; line-height:1.65; color:var(--cl-muted); }
.cl-bonuses { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.cl-bonus img { width:100%; height:230px; object-fit:contain; margin-bottom:20px; }
.cl-instructor { display:grid; grid-template-columns:280px 1fr; max-width:980px; margin:auto; gap:50px; align-items:center; }
.cl-instructor img { width:100%; border-radius:16px; max-height:350px; object-fit:cover; }
.cl-instructor p { color:var(--cl-muted); }
.cl-video { max-width:880px; margin:auto; aspect-ratio:16/9; background:#101827; border-radius:16px; overflow:hidden; position:relative; }
.cl-video iframe { width:100%; height:100%; border:0; }
.cl-video-load { width:100%; height:100%; border:0; color:#fff; background:radial-gradient(ellipse at 50% 20%,#294367,#101827); cursor:pointer; padding:24px; font:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; }
.cl-play { width:70px; height:70px; border-radius:50%; display:grid; place-items:center; background:var(--cl-gold); color:var(--cl-ink); font-size:1.7rem; }
.cl-video-load strong { font-size:clamp(1rem,3vw,1.5rem); }
.cl-video-load small { color:#d2dce8; }
.cl-video-link { text-align:center; font-size:.88rem; margin-top:18px; }
.cl-video-link a { color:#244b7b; text-decoration:underline; }
.cl-quote { max-width:850px; margin:auto; padding:36px; background:#fff; border-left:4px solid var(--cl-gold); border-radius:12px; }
.cl-quote p { font-size:1.2rem; margin:0 0 16px; }
.cl-quote footer { color:var(--cl-muted); line-height:1.65; font-size:.9rem; }
.cl-pricing { display:grid; grid-template-columns:1.1fr 1fr; gap:28px; max-width:980px; margin:auto; align-items:start; }
.cl-offer { padding:36px; border:2px solid var(--cl-ink); border-radius:16px; background:#fff; }
.cl-offer--secondary { border:1px solid #dbe2eb; background:var(--cl-soft); }
.cl-price { font:800 clamp(2.4rem,4vw,3.4rem)/1.2 Sen,sans-serif; margin:24px 0 8px; letter-spacing:-.03em; }
.cl-offer .cl-btn { width:100%; margin-top:14px; }
.cl-offer .cl-note { margin:8px 0; }
.cl-status { color:#a12614; font-weight:600; font-size:.9rem; min-height:0; }
.cl-status:empty { display:none; }
.cl-guarantee { max-width:850px; text-align:center; margin:30px auto 0; font-size:.9rem; color:var(--cl-muted); }
.cl-guarantee a { color:inherit; text-decoration:underline; }
.cl-faq { max-width:850px; margin:auto; }
.cl-faq-item p { padding:22px 26px; margin:0; color:var(--cl-muted); }
.cl-final { text-align:center; background:var(--cl-ink); color:#e2e8f0; }
.cl-final h2 { color:#fff; }
.cl-final .cl-wrap { max-width:830px; }
.cl-final .cl-actions { justify-content:center; }
.cl-footer-note { max-width:760px; text-align:center; margin:24px auto; color:var(--cl-muted); font-size:.8rem; }
/* The expanded footer markup needs its own styles: lp-rs.css is deliberately
   not loaded by this template. Scope these rules to the two course pages. */
.course-page .footer--rs { background:#192337; padding:56px 0 28px; }
.course-page .footer--rs .container { max-width:1320px; padding:0 28px; }
.course-page .footer__grid--homepage { grid-template-columns:1.3fr 1.2fr 1fr 1.25fr 1.2fr; gap:28px; margin-bottom:40px; }
.course-page .footer__grid--homepage > div { min-width:0; }
.course-page .footer--rs h4 { margin:0 0 20px; font-size:.85rem; color:#fff; }
.course-page .footer__intro p { margin:0 0 20px; color:#cbd5e1; font-size:.875rem; line-height:1.65; }
.course-page .footer__logo { margin-bottom:20px; }
.course-page .footer__links { list-style:none; padding:0; margin:0; }
.course-page .footer__links li { margin:0 0 12px; }
.course-page .footer__links a { color:#cbd5e1; font-size:.875rem; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; }
.course-page .footer__links a:hover,.course-page .footer__legal a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.course-page .footer__social { gap:10px; margin:20px 0 0; }
.course-page .footer__social a { width:40px; height:40px; flex-shrink:0; }
.course-page .footer__trust-block { display:grid; gap:20px; }
.course-page .footer__trust-item h5 { margin:0 0 8px; color:#fff; font-size:.875rem; font-weight:700; line-height:1.5; }
.course-page .footer__trust-item p { margin:0; color:#cbd5e1; font-size:.875rem; line-height:1.65; }
.course-page .footer__stat { margin-top:24px; padding-top:20px; border-top:1px solid #ffffff26; }
.course-page .footer__stat-number { display:block; color:var(--cl-gold); font-size:1.4rem; font-weight:800; line-height:1.3; margin-bottom:4px; }
.course-page .footer__stat-label { color:#cbd5e1; font-size:.875rem; }
.course-page .footer__bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-top:24px; border-top:1px solid #ffffff26; color:#cbd5e1; font-size:.8rem; line-height:1.6; }
.course-page .footer__legal { display:flex; flex-wrap:wrap; gap:12px 24px; }
.course-page .footer__legal a { color:#cbd5e1; text-decoration:none; }
.course-page .footer--rs a:focus-visible { outline-color:var(--cl-gold); }
@media(max-width:1200px) {
  .course-page .footer__grid--homepage { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .course-page .footer__intro { grid-column:1 / -1; max-width:480px; }
}
@media(max-width:640px) {
  .course-page .footer--rs { padding-top:40px; }
  .course-page .footer--rs .container { padding:0 20px; }
  .course-page .footer__grid--homepage { grid-template-columns:1fr; }
  .course-page .footer__bottom { flex-direction:column; align-items:flex-start; }
}
@media(max-width:900px) {
  .cl-hero-grid { grid-template-columns:1fr; gap:35px; }
  .cl-hero-media { max-width:480px; margin:auto; }
  .cl-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cl-hero { padding-top:48px; }
  .cl-instructor { grid-template-columns:210px 1fr; gap:28px; }
  .cl-nav { gap:16px; }
}
@media(max-width:680px) {
  .cl-wrap { padding:0 20px; }
  .cl-section { padding:55px 0; }
  .cl-header-inner { min-height:68px; flex-wrap:wrap; gap:0; }
  .cl-nav-toggle { display:block; }
  .cl-nav { display:none; flex-basis:100%; padding:18px 0; flex-direction:column; align-items:stretch; gap:8px; }
  .cl-nav a { padding:10px; }
  .cl-nav.is-open { display:flex; }
  .cl-grid,.cl-audience,.cl-pricing,.cl-bonuses,.cl-instructor { grid-template-columns:1fr; }
  .cl-audience { gap:18px; }
  .cl-hero-media { max-width:360px; padding:0 5px; }
  .cl-hero-media img { transform:none; }
  .cl-actions .cl-btn { width:100%; }
  .cl-stats { margin-top:28px; gap:8px; }
  .cl-stats span { font-size:.78rem; padding:8px 10px; }
  .cl-card,.cl-offer { padding:25px; }
  .cl-module summary,.cl-faq-item summary { padding:18px; gap:12px; font-size:.94rem; }
  .cl-module ul { margin-left:36px; margin-right:20px; }
  .cl-module-number { font-size:.72rem; }
  .cl-instructor img { width:180px; }
  .cl-quote { padding:25px; }
}
@media(prefers-reduced-motion:reduce) { .course-page * { scroll-behavior:auto!important; transition:none!important; } }
