/* ─────────────────────────────────────────────────────────────
   AURELIA · COURSE DETAIL PAGE STYLES
   Scoped under `.cd-rich` so it never collides with the rest of
   the site. Uses the global tokens defined at :root in styles.css.

   All content rendered here is dynamic — the .docx import only
   stores plain values; this stylesheet provides every visual
   treatment for the detail page.

   Sections, in render order:
     1. Hero
     2. Course overview (dark)
     3. Curriculum / modules accordion
     4. Course features grid
     5. Audience / outcomes split (dark)
     6. Delivery methods grid
     7. Careers (dark)
     8. FAQ accordion
     9. Responsive
   ───────────────────────────────────────────────────────────── */

.cd-rich{background:var(--cream-50);color:var(--ink-900)}
.cd-rich .container{width:min(1400px,calc(100% - 48px));margin-inline:auto}

/* ── Shared section primitives ─────────────────────────────── */
.cd-rich .section-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold-700);font-weight:600;margin-bottom:24px;display:inline-block}
.cd-rich .section-title{font-family:var(--f-display);font-weight:400;font-size:clamp(44px,6vw,82px);line-height:.98;letter-spacing:-.02em;margin-bottom:24px}
.cd-rich .section-title .italic{font-style:italic;color:var(--gold-700)}
.cd-rich .section-lead{font-size:18px;line-height:1.55;color:var(--ink-700);max-width:680px;font-weight:300;margin-bottom:72px}

/* ── 1. Hero ───────────────────────────────────────────────── */
.cd-rich .cd-hero-rich{position:relative;padding:120px 0 96px;overflow:hidden}
.cd-rich .cd-hero-rich .crumbs{font-size:14px;color:var(--ink-700);opacity:.78;display:flex;gap:8px;align-items:center;margin-bottom:28px;letter-spacing:.01em}
.cd-rich .cd-hero-rich .crumbs span{color:var(--ink-900);font-weight:500}
.cd-rich .cd-hero-rich .crumbs .sep{opacity:.4}
.cd-rich .cd-hero-rich .crumbs a{color:inherit;border-bottom:1px solid transparent;transition:border-color .25s}
.cd-rich .cd-hero-rich .crumbs a:hover{border-color:var(--gold-700)}
.cd-rich .cd-hero-title{font-family:var(--f-display);font-weight:400;font-size:clamp(56px,9vw,132px);line-height:.92;letter-spacing:-.025em;color:var(--emerald-950);margin-bottom:32px;max-width:1280px}
.cd-rich .cd-hero-title .italic{font-style:italic;color:var(--emerald-800)}
.cd-rich .cd-hero-sub{max-width:780px;font-size:20px;line-height:1.5;color:var(--ink-700);margin-bottom:44px;font-weight:300}
.cd-rich .cd-hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.cd-rich .cd-hero-actions .btn-link{color:var(--emerald-900);padding:14px 4px;text-decoration:none;font-size:15px;font-weight:600;border-bottom:1px solid var(--emerald-900);transition:opacity .25s}
.cd-rich .cd-hero-actions .btn-link:hover{opacity:.6}
.cd-rich .cd-hero-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px;border-top:1px solid var(--ink-100);padding-top:36px;margin-top:24px}
.cd-rich .meta-grid{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:24px 48px}
.cd-rich .meta-item{min-width:120px}
.cd-rich .meta-item .label{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--ink-500);margin-bottom:10px;font-weight:600}
.cd-rich .meta-item .value{font-family:var(--f-display);font-size:22px;font-weight:400;color:var(--emerald-900);line-height:1.25}
.cd-rich .meta-item .value .small{font-size:14px;color:var(--ink-500);font-family:var(--f-body);display:block;margin-top:4px}

/* ── 2. Course overview (dark) ─────────────────────────────── */
.cd-rich .cd-dark{background:var(--emerald-950);color:var(--cream-100);position:relative;overflow:hidden}
.cd-rich .cd-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(31,135,114,.45) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 90% 100%,rgba(201,162,74,.1) 0%,transparent 70%);pointer-events:none}
.cd-rich .cd-dark .container{position:relative}
.cd-rich .cd-dark-inner{padding:120px 0}
.cd-rich .cd-dark .section-title{color:var(--cream-100)}
.cd-rich .cd-dark .section-title .italic{color:var(--gold-400)}
.cd-rich .cd-dark .section-lead{color:rgba(247,241,230,.72)}
.cd-rich .overview{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding-top:24px}
.cd-rich .overview-body p{font-size:17px;line-height:1.7;margin-bottom:22px;color:rgba(247,241,230,.85);font-weight:300}
.cd-rich .overview-body p:first-child::first-letter{font-family:var(--f-display);font-size:72px;float:left;line-height:.85;padding-right:14px;padding-top:8px;color:var(--gold-400);font-weight:500}
.cd-rich .ov-stat{border:1px solid rgba(247,241,230,.14);padding:36px 32px;margin-bottom:16px;position:relative;transition:border-color .3s}
.cd-rich .ov-stat:hover{border-color:var(--gold-500)}
.cd-rich .ov-stat .num{font-family:var(--f-display);font-size:64px;font-weight:400;line-height:1;color:var(--gold-400);letter-spacing:-.02em;font-style:italic}
.cd-rich .ov-stat .num sup{font-size:32px;vertical-align:top;opacity:.85}
.cd-rich .ov-stat .label{font-size:14px;text-transform:uppercase;letter-spacing:.16em;color:rgba(247,241,230,.6);margin-top:10px;font-weight:600}
.cd-rich .ov-stat .desc{font-size:15px;color:rgba(247,241,230,.7);margin-top:10px;line-height:1.5;font-weight:300}

/* ── 3. Curriculum ─────────────────────────────────────────── */
.cd-rich .cd-curriculum{background:var(--cream-50);padding:120px 0}
.cd-rich .cd-curriculum .section-title{color:var(--emerald-950)}
.cd-rich .module-grid{display:grid;grid-template-columns:1fr;border-top:1px solid var(--ink-100)}
.cd-rich .module{border-bottom:1px solid var(--ink-100);transition:background .3s}
.cd-rich .module-header{display:grid;grid-template-columns:80px 1fr 60px;gap:32px;padding:32px 0;align-items:center;transition:padding .35s var(--ease-out),background .3s;cursor:pointer;background:transparent;width:100%;text-align:left}
.cd-rich .module:hover .module-header{padding-left:16px;padding-right:16px}
.cd-rich .module:hover .mod-num,
.cd-rich .module:hover .mod-title{color:var(--gold-700)}
.cd-rich .module:hover .mod-toggle{color:var(--gold-700);border-color:var(--gold-700)}
.cd-rich .mod-num{font-family:var(--f-display);font-size:48px;font-weight:300;line-height:1;color:var(--emerald-900);font-style:italic;letter-spacing:-.02em;transition:color .3s}
.cd-rich .mod-title{font-family:var(--f-display);font-size:28px;font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--emerald-900);transition:color .3s}
.cd-rich .mod-toggle{width:44px;height:44px;border:1px solid var(--emerald-900);border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:22px;font-style:italic;color:var(--emerald-900);transition:all .35s var(--ease-out);background:transparent;justify-self:end;cursor:pointer}
.cd-rich .module.open .mod-toggle{background:var(--gold-500);border-color:var(--gold-500);color:var(--emerald-900);transform:rotate(45deg)}
.cd-rich .module.open .mod-num,
.cd-rich .module.open .mod-title{color:var(--gold-700)}
.cd-rich .mod-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-out),padding .35s var(--ease-out)}
.cd-rich .module.open .mod-body{max-height:800px;padding:0 0 40px 112px}
.cd-rich .mod-body-inner{display:grid;grid-template-columns:200px 1fr;gap:48px;padding-top:8px}
.cd-rich .mod-body-label{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-700);font-weight:600;padding-top:4px}
.cd-rich .mod-topics-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.cd-rich .mod-topics-list li{font-size:16px;color:var(--ink-900);line-height:1.5;padding-left:24px;position:relative;font-weight:400}
.cd-rich .mod-topics-list li::before{content:"→";position:absolute;left:0;color:var(--gold-700);font-weight:700}

/* ── 4. Course features ────────────────────────────────────── */
.cd-rich .cd-features{background:var(--cream-100);padding:120px 0;position:relative;overflow:hidden}
.cd-rich .cd-features::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 0%,rgba(201,162,74,.08) 0%,transparent 50%),radial-gradient(circle at 0% 100%,rgba(13,68,56,.04) 0%,transparent 50%)}
.cd-rich .cd-features .container{position:relative}
.cd-rich .cd-features .section-title{color:var(--emerald-950)}
.cd-rich .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-100);border:1px solid var(--ink-100);margin-top:16px;counter-reset:feat-counter}
.cd-rich .feat-tile{background:var(--cream-100);padding:44px 36px;transition:background .35s;display:flex;flex-direction:column;gap:16px;min-height:240px;counter-increment:feat-counter}
.cd-rich .feat-tile:hover{background:var(--cream-50)}
.cd-rich .feat-icon{width:44px;height:44px;border:1px solid var(--emerald-900);border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-style:italic;font-size:18px;color:var(--emerald-900);margin-bottom:4px}
.cd-rich .feat-icon::before{content:counter(feat-counter,lower-roman)}
.cd-rich .feat-tile h3{font-family:var(--f-display);font-weight:500;font-size:22px;line-height:1.2;letter-spacing:-.01em;color:var(--emerald-900)}
.cd-rich .feat-tile p{font-size:15px;color:var(--ink-700);line-height:1.6;font-weight:400}

/* ── 5. Audience / outcomes split (dark) ───────────────────── */
.cd-rich .cd-split{background:var(--emerald-950);color:var(--cream-100);position:relative;overflow:hidden}
.cd-rich .cd-split::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 100% 50%,rgba(31,135,114,.45) 0%,transparent 60%);pointer-events:none}
.cd-rich .cd-split .container{position:relative}
.cd-rich .cd-split-inner{padding:120px 0;display:grid;grid-template-columns:1fr 1fr;gap:96px}
.cd-rich .cd-split .section-eyebrow{color:var(--gold-400)}
.cd-rich .split-col h2{font-family:var(--f-display);font-size:48px;font-weight:400;line-height:1.05;letter-spacing:-.02em;margin-bottom:28px;color:var(--cream-100)}
.cd-rich .split-col h2 .italic{font-style:italic;color:var(--gold-400)}
.cd-rich .split-col .lead{font-size:16px;color:rgba(247,241,230,.7);margin-bottom:36px;line-height:1.6;font-weight:300}
.cd-rich .bullet-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.cd-rich .bullet-list li{display:flex;gap:16px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid rgba(247,241,230,.14);font-size:15px;color:rgba(247,241,230,.88);font-weight:400}
.cd-rich .bullet-list li::before{content:"→";color:var(--gold-500);font-weight:600;flex-shrink:0}

/* ── 6. Delivery methods ───────────────────────────────────── */
.cd-rich .cd-delivery{background:var(--cream-100);padding:120px 0}
.cd-rich .cd-delivery .section-title{color:var(--emerald-950)}
.cd-rich .deliv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;counter-reset:deliv-counter}
.cd-rich .deliv-card{background:var(--cream-50);padding:36px 28px;border:1px solid var(--ink-100);display:flex;flex-direction:column;gap:16px;min-height:280px;transition:all .35s var(--ease-out);counter-increment:deliv-counter}
.cd-rich .deliv-card:hover{background:var(--emerald-900);color:var(--cream-100);border-color:var(--emerald-900);transform:translateY(-6px)}
.cd-rich .deliv-card:hover .dc-num{color:var(--gold-400);border-color:var(--gold-400)}
.cd-rich .deliv-card:hover .dc-text{color:rgba(247,241,230,.7)}
.cd-rich .dc-num{width:36px;height:36px;border:1px solid var(--emerald-900);border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-style:italic;font-size:14px;color:var(--emerald-900);margin-bottom:8px;transition:all .35s}
.cd-rich .dc-num::before{content:counter(deliv-counter,lower-roman)}
.cd-rich .dc-title{font-family:var(--f-display);font-size:22px;font-weight:500;line-height:1.15;color:inherit}
.cd-rich .dc-text{font-size:14px;color:var(--ink-700);line-height:1.55;margin-top:auto;transition:color .35s}

/* ── 7. Careers (dark) ─────────────────────────────────────── */
.cd-rich .cd-careers{background:var(--emerald-900);color:var(--cream-100);position:relative;overflow:hidden}
.cd-rich .cd-careers::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(201,162,74,.1),transparent 60%)}
.cd-rich .cd-careers .container{position:relative}
.cd-rich .cd-careers-inner{padding:120px 0}
.cd-rich .cd-careers .section-title{color:var(--cream-100)}
.cd-rich .cd-careers .section-title .italic{color:var(--gold-400)}
.cd-rich .cd-careers .section-eyebrow{color:var(--gold-400)}
.cd-rich .cd-careers .section-lead{color:rgba(247,241,230,.72)}
.cd-rich .career-block{margin-bottom:56px}
.cd-rich .career-block:last-child{margin-bottom:0}
.cd-rich .career-block-label{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-400);margin-bottom:24px;font-weight:600}
.cd-rich .career-roles{display:flex;flex-wrap:wrap;gap:12px}
.cd-rich .role-pill{padding:10px 22px;border:1px solid rgba(247,241,230,.25);border-radius:999px;font-size:14px;color:var(--cream-100);font-weight:400;background:rgba(247,241,230,.03);transition:all .3s}
.cd-rich .role-pill:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--emerald-900)}
.cd-rich .role-pill.featured{background:var(--gold-500);border-color:var(--gold-500);color:var(--emerald-900);font-weight:600}
.cd-rich .career-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:16px;border-top:1px solid rgba(247,241,230,.14);margin-top:16px}

/* ── 8. FAQ ────────────────────────────────────────────────── */
.cd-rich .cd-faq{background:var(--cream-50);padding:120px 0}
.cd-rich .cd-faq .container{width:min(1100px,calc(100% - 48px))}
.cd-rich .cd-faq .section-title{color:var(--emerald-950);text-align:center}
.cd-rich .cd-faq .section-lead{color:var(--ink-700);text-align:center;margin:0 auto 72px}
.cd-rich .cd-faq .eyebrow-wrap{text-align:center;margin-bottom:24px}
.cd-rich .faq-list{display:flex;flex-direction:column}
.cd-rich .faq-item{border-top:1px solid var(--ink-100);padding:28px 0;cursor:pointer}
.cd-rich .faq-item:last-child{border-bottom:1px solid var(--ink-100)}
.cd-rich .faq-q{display:flex;justify-content:space-between;gap:24px;align-items:center}
.cd-rich .faq-q-text{font-family:var(--f-display);font-size:22px;font-weight:400;line-height:1.3;color:var(--emerald-950);letter-spacing:-.005em}
.cd-rich .faq-toggle{width:32px;height:32px;flex-shrink:0;border-radius:999px;border:1px solid var(--emerald-900);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:18px;font-style:italic;color:var(--emerald-900);transition:all .35s var(--ease-out);background:transparent}
.cd-rich .faq-item.open .faq-toggle{background:var(--gold-500);border-color:var(--gold-500);transform:rotate(45deg)}
.cd-rich .faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-out),padding .35s var(--ease-out);font-size:16px;line-height:1.65;color:var(--ink-700);font-weight:400;padding-right:56px}
.cd-rich .faq-item.open .faq-a{max-height:400px;padding-top:16px}

/* ── 9. Responsive ─────────────────────────────────────────── */
@media (max-width:1000px){
  .cd-rich .meta-grid{gap:24px 40px}
  .cd-rich .overview,
  .cd-rich .cd-split-inner,
  .cd-rich .career-grid{grid-template-columns:1fr;gap:48px}
  .cd-rich .feature-grid{grid-template-columns:1fr}
  .cd-rich .deliv-grid{grid-template-columns:repeat(2,1fr)}
  .cd-rich .module-header{grid-template-columns:60px 1fr 44px;gap:16px}
  .cd-rich .mod-num{font-size:32px}
  .cd-rich .mod-title{font-size:22px}
  .cd-rich .mod-toggle{width:36px;height:36px;font-size:18px}
  .cd-rich .module.open .mod-body{padding:0 0 32px 76px}
  .cd-rich .mod-body-inner{grid-template-columns:1fr;gap:16px}
}

@media (max-width:640px){
  .cd-rich .container{width:calc(100% - 32px)}
  .cd-rich .cd-hero-rich{padding:80px 0 64px}
  .cd-rich .cd-dark-inner,
  .cd-rich .cd-split-inner,
  .cd-rich .cd-careers-inner,
  .cd-rich .cd-curriculum,
  .cd-rich .cd-features,
  .cd-rich .cd-delivery,
  .cd-rich .cd-faq{padding-top:80px;padding-bottom:80px}
  .cd-rich .cd-hero-bottom{flex-direction:column;align-items:flex-start;gap:24px;padding-top:24px}
  .cd-rich .meta-grid{justify-content:flex-start;gap:20px}
  .cd-rich .deliv-grid{grid-template-columns:1fr}
  .cd-rich .section-lead{margin-bottom:48px}
  .cd-rich .split-col h2{font-size:36px}
}
