/* ============================================================
   Functional Medicine CE — Course Landing System
   Scoped design layer for the `fxmedce` block-pattern library.
   Colors come from theme.json (--wp--preset--color--*); fonts are
   self-hosted here via @font-face so nothing depends on theme.json font
   presets. Everything is namespaced under `.fxmedce` so it never touches the
   rest of the site. Ported from the handoff `fxmedce.css` + `glp1.css`.
   ============================================================ */

/* ---------- self-hosted fonts (paths relative to this file) ---------- */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/fxmedce/bricolage-grotesque-latin.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/fxmedce/hanken-grotesk-latin.woff2) format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fxmedce/dm-mono-400-latin.woff2) format("woff2")}
@font-face{font-family:"DM Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/fxmedce/dm-mono-500-latin.woff2) format("woff2")}

/* ---------- token scope (maps preset vars → local aliases) ---------- */
.fxmedce{
  --coral:var(--wp--preset--color--coral);
  --coral-deep:var(--wp--preset--color--coral-deep);
  --coral-700:color-mix(in oklch, var(--coral), #111 26%);
  --coral-tint:color-mix(in oklch, var(--coral), #fff 84%);
  --coral-wash:color-mix(in oklch, var(--coral), #fff 88%);
  --ink:var(--wp--preset--color--ink);
  --ink-2:var(--wp--preset--color--ink-2);
  --ink-soft:var(--wp--preset--color--ink-soft);
  --cream:var(--wp--preset--color--cream);
  --cream-2:var(--wp--preset--color--cream-2);
  --paper:var(--wp--preset--color--paper);
  --line:rgba(22,34,59,.12);
  --line-2:rgba(22,34,59,.08);
  --shadow-sm:0 1px 2px rgba(22,34,59,.06), 0 2px 8px rgba(22,34,59,.05);
  --shadow:0 10px 30px -12px rgba(22,34,59,.22);
  --shadow-lg:0 30px 70px -28px rgba(22,34,59,.42);
  --shadow-coral:0 18px 40px -16px rgba(215,56,74,.5);

  --display:var(--wp--preset--font-family--display, "Bricolage Grotesque", system-ui, sans-serif);
  --body:var(--wp--preset--font-family--body, "Hanken Grotesk", system-ui, sans-serif);
  --mono:var(--wp--preset--font-family--mono, "DM Mono", ui-monospace, monospace);

  --r:16px;
  --r-lg:26px;
  --maxw:1200px;

  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* ---------- course-type accent variations (one system, four looks) ---------- */
.fxmedce.is-gold{   --coral:var(--wp--preset--color--gold);   --coral-deep:color-mix(in oklch, var(--wp--preset--color--gold), #111 14%); }
.fxmedce.is-indigo{ --coral:var(--wp--preset--color--indigo); --coral-deep:color-mix(in oklch, var(--wp--preset--color--indigo), #111 14%); }
.fxmedce.is-teal{   --coral:var(--wp--preset--color--teal);   --coral-deep:color-mix(in oklch, var(--wp--preset--color--teal), #111 14%); }

.fxmedce *{box-sizing:border-box}
.fxmedce img{max-width:100%;height:auto}

/* ---------- layout ---------- */
/* Sections are full-width Groups with a constrained (1200px) inner; the inline
   padding supplies the gutter that the prototype's .wrap used to. */
.fxmedce .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.fxmedce.section,.fxmedce .section{padding:108px 28px}
.fxmedce.section-sm,.fxmedce .section-sm{padding:72px 28px}
/* Lighter vertical rhythm + gutters on phones/tablets */
@media(max-width:782px){
  .fxmedce.section,.fxmedce .section{padding:60px 22px}
  .fxmedce.section-sm,.fxmedce .section-sm{padding:44px 22px}
  .fxmedce .section-head{margin-bottom:36px;gap:14px}
  .fxmedce-footer{padding:52px 22px 32px}
}

/* ---------- type ---------- */
.fxmedce h1,.fxmedce h2,.fxmedce h3{font-family:var(--display);font-weight:700;line-height:1.02;letter-spacing:-.022em;margin:0;color:var(--ink)}
.fxmedce h2{font-size:clamp(34px,4.6vw,58px)}
.fxmedce h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.015em}
.fxmedce p{margin:0}
.fxmedce a{color:inherit;text-decoration:none}

.fxmedce .kicker{
  font-family:var(--mono);font-size:13px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--coral-deep);font-weight:500;display:inline-flex;align-items:center;gap:9px;
}
.fxmedce .kicker::before{content:"";width:18px;height:2px;background:var(--coral);border-radius:2px;display:inline-block}
.fxmedce .kicker--plain::before{display:none}
.fxmedce .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);line-height:1.55;max-width:58ch}

.fxmedce .section-head{max-width:760px;margin:0 auto 56px;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}
.fxmedce .section-head p:not(.kicker){color:var(--ink-2)}

/* ---------- buttons ---------- */
.fxmedce .btn{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-weight:700;font-size:16px;
  padding:15px 26px;border-radius:100px;border:1px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
  white-space:nowrap;text-decoration:none;
}
.fxmedce .btn:active{transform:translateY(1px)}
.fxmedce .btn-coral{background:var(--coral);color:#fff;box-shadow:var(--shadow-coral)}
.fxmedce .btn-coral:hover{background:var(--coral-deep);transform:translateY(-2px);color:#fff}
.fxmedce .btn-ink{background:var(--ink);color:#fff}
.fxmedce .btn-ink:hover{background:#0e1729;transform:translateY(-2px);color:#fff}
.fxmedce .btn-white{background:#fff;color:var(--ink)}
.fxmedce .btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.fxmedce .btn-lg{padding:18px 32px;font-size:17px}

/* Make core Button blocks inside .fxmedce read as pill/coral when tagged */
.fxmedce .is-style-fxmedce-coral .wp-element-button,
.fxmedce .is-style-fxmedce-coral .wp-block-button__link{background:var(--coral);color:#fff;border-radius:100px;box-shadow:var(--shadow-coral);font-family:var(--body);font-weight:700;padding:15px 30px}
.fxmedce .is-style-fxmedce-coral .wp-element-button:hover{background:var(--coral-deep)}

/* ---------- announcement topbar ---------- */
.fxmedce-topbar{background:var(--ink);color:#fff;font-size:14px;text-align:center;padding:9px 16px;font-weight:500}
.fxmedce-topbar a{color:#fff;font-weight:700;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px}
.fxmedce-topbar .spark{color:var(--coral)}

/* ---------- Facebook landing: sticky in-page scroll nav ---------- */
/* Smooth scroll only on pages that contain the nav; offset anchors for it. */
html:has(.fxmedce-fbnav){scroll-behavior:smooth}
.fxmedce[id]{scroll-margin-top:76px}
.fxmedce-fbnav{position:sticky;top:0;z-index:50;padding:0 28px;border-bottom:1px solid var(--line-2);background:color-mix(in oklch,var(--cream),transparent 12%);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.fxmedce-fbnav .fbnav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:60px;max-width:var(--maxw);margin:0 auto}
.fxmedce-fbnav .fbnav-links{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.fxmedce-fbnav .fbnav-links p{margin:0}
.fxmedce-fbnav .fbnav-links a{font-weight:600;font-size:15px;color:var(--ink-2);text-decoration:none}
.fxmedce-fbnav .fbnav-links a:hover{color:var(--coral-deep)}
.fxmedce-fbnav .btn-coral-wrap .wp-block-button__link{padding:10px 22px;font-size:15px}
@media(max-width:780px){.fxmedce-fbnav{padding:0 20px}.fxmedce-fbnav .fbnav-links{display:none}}

/* ============================================================
   HERO  (glp1 .g1-hero)
   ============================================================ */
.fxmedce-course-hero{position:relative;overflow:hidden;padding:60px 28px 76px;background:
  radial-gradient(70% 80% at 88% -10%, var(--coral-wash), transparent 60%),
  var(--cream)}
.fxmedce-course-hero .g1-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.fxmedce-course-hero .g1-hero-copy{display:flex;flex-direction:column;gap:22px;max-width:560px}
.fxmedce-course-hero .g1-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--coral-deep);background:var(--coral-wash);border:1px solid color-mix(in oklch,var(--coral),transparent 80%);padding:8px 15px;border-radius:100px}
.fxmedce-course-hero h1{font-size:clamp(34px,4.4vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.04;font-family:var(--display);color:var(--ink)}
.fxmedce-course-hero h1 .sub2{display:block;color:var(--coral);font-weight:700;font-size:.78em;margin-top:6px;letter-spacing:-.02em}
.fxmedce-course-hero .g1-hero-lead{font-size:clamp(17px,1.4vw,20px);color:var(--ink-2);line-height:1.5;max-width:50ch}
.fxmedce-course-hero .g1-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:560px){.fxmedce-course-hero .g1-chips{grid-template-columns:1fr 1fr}.fxmedce-course-hero .g1-chips .g1-chip:nth-child(3){display:none}.fxmedce-course-hero .g1-pill .pill-live{display:none}}
.fxmedce-course-hero .g1-chip{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 13px;box-shadow:var(--shadow-sm);min-width:0}
.fxmedce-course-hero .g1-chip .gc-text{min-width:0}
.fxmedce-course-hero .g1-chip .gc-n{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em;line-height:1;display:block;white-space:nowrap}
.fxmedce-course-hero .g1-chip .gc-l{font-size:12.5px;color:var(--ink-soft);font-weight:500;display:block;white-space:nowrap}
.fxmedce-course-hero .g1-chip .gc-ic{color:var(--coral);flex:none;display:inline-flex}
.fxmedce-course-hero .g1-buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.fxmedce-course-hero .g1-price{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.03em;line-height:1}
.fxmedce-course-hero .g1-price small{display:block;font-family:var(--body);font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:0}
.fxmedce-course-hero .g1-reassure{display:flex;align-items:center;gap:9px;color:var(--ink-soft);font-size:14px;font-weight:500}
.fxmedce-course-hero .g1-reassure .rk{color:var(--coral)}

/* hero lesson-playlist card */
.fxmedce-course-hero .g1-card{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.fxmedce-course-hero .g1-card-head{background:var(--ink);color:#fff;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.fxmedce-course-hero .g1-card-head .ch-t{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.fxmedce-course-hero .g1-card-head .ch-run{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:#fff}
.fxmedce-course-hero .g1-card-head .ch-run .crk{color:var(--coral)}
.fxmedce-course-hero .g1-lesson{display:flex;align-items:center;gap:15px;padding:16px 26px;border-bottom:1px solid var(--line-2)}
.fxmedce-course-hero .g1-lesson:last-child{border-bottom:none}
.fxmedce-course-hero .g1-lesson .ls-n{width:30px;height:30px;border-radius:50%;background:var(--coral-wash);color:var(--coral-deep);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px;flex:none}
.fxmedce-course-hero .g1-lesson .ls-t{font-weight:600;font-size:15.5px;line-height:1.3;color:var(--ink)}
.fxmedce-course-hero .g1-lesson .ls-play{margin-left:0;color:var(--line);flex:none;display:inline-flex}
.fxmedce-course-hero .g1-card-foot{padding:16px 26px;background:var(--cream);display:flex;align-items:center;gap:11px;font-size:14px;color:var(--ink-2);font-weight:500}
.fxmedce-course-hero .g1-card-foot img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.fxmedce-course-hero .g1-card-foot b{color:var(--ink)}
@media(max-width:960px){.fxmedce-course-hero{padding:40px 20px 48px}.fxmedce-course-hero .g1-hero-grid{grid-template-columns:1fr;gap:30px}.fxmedce-course-hero .g1-hero-copy{gap:20px}}

/* ============================================================
   SCENARIO CONTRAST  (.scn-*)
   ============================================================ */
.fxmedce .scn-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fxmedce .scn-col{border-radius:var(--r-lg);padding:38px 36px;border:1px solid var(--line-2)}
.fxmedce .scn-col.bad{background:var(--paper)}
.fxmedce .scn-col.good{background:var(--ink);color:#fff;border-color:transparent;box-shadow:var(--shadow-lg)}
.fxmedce .scn-head{display:flex;align-items:center;gap:13px;margin-bottom:8px}
.fxmedce .scn-head .si{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}
.fxmedce .scn-col.bad .si{background:var(--coral-wash);color:var(--coral-deep)}
.fxmedce .scn-col.good .si{background:color-mix(in oklch,var(--coral),transparent 18%);color:#fff}
.fxmedce .scn-head .sk{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.fxmedce .scn-col.good .sk{color:rgba(255,255,255,.6)}
.fxmedce .scn-head h3{font-size:22px}
.fxmedce .scn-col.good .scn-head h3{color:#fff}
.fxmedce .scn-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:15px}
.fxmedce .scn-list li{display:flex;align-items:flex-start;gap:13px;font-size:16.5px;line-height:1.4}
.fxmedce .scn-col.bad .scn-list li{color:var(--ink-2)}
.fxmedce .scn-col.good .scn-list li{color:rgba(255,255,255,.9)}
.fxmedce .scn-list li .mk{flex:none;margin-top:1px;color:var(--coral);display:inline-flex}
@media(max-width:780px){.fxmedce .scn-grid{grid-template-columns:1fr}}

/* ============================================================
   FOUNDATIONS 2x2  (.fnd-*)
   ============================================================ */
.fxmedce .fnd-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fxmedce .fnd{display:flex;gap:20px;align-items:flex-start;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:32px 30px;box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease}
.fxmedce .fnd:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.fxmedce .fnd .fnd-ic{width:54px;height:54px;border-radius:14px;background:var(--coral-wash);color:var(--coral-deep);display:grid;place-items:center;flex:none}
.fxmedce .fnd .fnd-n{font-family:var(--mono);font-size:12px;color:var(--coral-deep);font-weight:500}
.fxmedce .fnd h3{font-size:20px;margin:6px 0 8px;letter-spacing:-.01em}
.fxmedce .fnd p{color:var(--ink-2);font-size:15.5px;line-height:1.45}
@media(max-width:780px){.fxmedce .fnd-grid{grid-template-columns:1fr}}

/* ============================================================
   AUDIENCE 3-up  (.aud3-*)
   ============================================================ */
.fxmedce .aud3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fxmedce .aud3-card{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r);padding:26px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
.fxmedce .aud3-card .a3-k{color:var(--coral);margin-bottom:4px;display:inline-flex}
.fxmedce .aud3-card h4{font-family:var(--display);font-weight:700;font-size:17.5px;letter-spacing:-.01em;margin:0;line-height:1.2}
.fxmedce .aud3-card p{color:var(--ink-2);font-size:14.5px;line-height:1.4}
@media(max-width:820px){.fxmedce .aud3{grid-template-columns:1fr}}

/* ============================================================
   WHY (quote panel)  (.g1-why)
   ============================================================ */
.fxmedce .g1-why{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:54px 56px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.fxmedce .g1-why::after{content:"";position:absolute;top:-90px;right:-70px;width:240px;height:240px;border-radius:50%;background:color-mix(in oklch,var(--coral),transparent 78%);filter:blur(6px)}
.fxmedce .g1-why .wk{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);font-weight:500;position:relative}
.fxmedce .g1-why blockquote{margin:18px 0 0;position:relative;font-family:var(--display);font-weight:500;font-size:clamp(20px,2.3vw,28px);line-height:1.32;letter-spacing:-.01em;max-width:30ch;color:#fff;border:0;padding:0}
.fxmedce .g1-why .wbody{position:relative;margin-top:18px;color:rgba(255,255,255,.8);font-size:16.5px;line-height:1.55;max-width:62ch}
.fxmedce .g1-why .wbody b{color:#fff}
.fxmedce .g1-why .wsign{position:relative;margin-top:22px;display:flex;align-items:center;gap:13px}
.fxmedce .g1-why .wsign img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.fxmedce .g1-why .wsign .wn{font-weight:700;font-size:15.5px;color:#fff}
.fxmedce .g1-why .wsign .wr{font-size:13.5px;color:rgba(255,255,255,.6)}
@media(max-width:640px){.fxmedce .g1-why{padding:36px 28px}}

/* ============================================================
   SYLLABUS timeline  (.syl-*)
   ============================================================ */
.fxmedce .syl{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:0;position:relative}
.fxmedce .syl-item{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
.fxmedce .syl-item:last-child{border-bottom:none}
.fxmedce .syl-n{font-family:var(--display);font-weight:800;font-size:30px;color:var(--coral);letter-spacing:-.03em;line-height:1;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
.fxmedce .syl-item h3{font-size:clamp(18px,2vw,21px);letter-spacing:-.01em}
.fxmedce .syl-item h3 .syl-min{display:inline-block;margin-left:10px;transform:translateY(-2px);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--coral-deep);background:var(--coral-wash);padding:3px 9px;border-radius:100px;vertical-align:middle}
.fxmedce .syl-item p{color:var(--ink-2);font-size:16px;line-height:1.5;margin-top:7px}

/* ============================================================
   WALK AWAY (takeaways)  (.walk-*)
   ============================================================ */
.fxmedce .walk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fxmedce .walk{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r);padding:28px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}
.fxmedce .walk .wic{width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center}
.fxmedce .walk p{font-size:15.5px;line-height:1.35;color:var(--ink);font-weight:600}
@media(max-width:880px){.fxmedce .walk-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fxmedce .walk-grid{grid-template-columns:1fr}}

/* ============================================================
   INSTRUCTOR  (.g1-instr-*)
   ============================================================ */
.fxmedce .g1-instr{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center;background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:44px 48px;box-shadow:var(--shadow-sm)}
.fxmedce .g1-instr-photo{position:relative}
.fxmedce .g1-instr-photo img{width:100%;max-width:280px;aspect-ratio:1;object-fit:cover;object-position:top;border-radius:var(--r-lg);background:var(--coral-tint);box-shadow:var(--shadow)}
.fxmedce .g1-instr-photo .ip-badge{position:absolute;bottom:-14px;left:18px;background:var(--coral);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:8px 14px;border-radius:100px;box-shadow:var(--shadow-coral)}
.fxmedce .g1-instr .ik{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral-deep);font-weight:500}
.fxmedce .g1-instr h3{font-size:clamp(26px,3vw,34px);margin:8px 0 4px}
.fxmedce .g1-instr .i-role{font-weight:600;color:var(--ink-soft);font-size:15.5px}
.fxmedce .g1-instr p{margin-top:16px;color:var(--ink-2);font-size:16.5px;line-height:1.55}
.fxmedce .g1-instr .i-link{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--coral-deep)}
@media(max-width:780px){.fxmedce .g1-instr{grid-template-columns:1fr;padding:32px 28px;text-align:center}.fxmedce .g1-instr-photo img{margin:0 auto}.fxmedce .g1-instr-photo .ip-badge{left:50%;transform:translateX(-50%)}}

/* ============================================================
   FAQ (native core/details)  (.fxmedce-faq)
   ============================================================ */
/* The `.fxmedce.fxmedce-faq` compound (0,2,x) intentionally out-specifies a legacy
   `.faq`/`.wp-block-details` accordion style that also lives in the Site Editor
   global styles (used by the "Lovable Landing Page" template) and would
   otherwise inject a grey chevron + 2rem padding/indent into this accordion. */
.fxmedce.fxmedce-faq .faq{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:0;background:none;box-shadow:none;border:0;border-radius:0;padding:0}
.fxmedce.fxmedce-faq details{border-bottom:1px solid var(--line);margin:0;padding:0;background:none}
.fxmedce.fxmedce-faq details:first-of-type{border-top:1px solid var(--line)}
.fxmedce.fxmedce-faq details[open]{padding-bottom:0}
.fxmedce.fxmedce-faq details > :where(:not(summary)){margin-left:0;margin-right:0}
.fxmedce.fxmedce-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 8px;font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,22px);color:var(--ink);letter-spacing:-.01em;background:none}
.fxmedce.fxmedce-faq summary::-webkit-details-marker{display:none}
.fxmedce.fxmedce-faq summary::marker{content:"";display:none}
/* position:static overrides annual-pass.css, which absolutely-positions this
   marker (top:50% + translateY(-50%)); our transform reset dropped the
   translate and left it low. As a static flex item it centres via the row's
   align-items:center instead. */
.fxmedce.fxmedce-faq summary::after{content:"+";flex:none;position:static;box-sizing:border-box;width:30px;height:30px;padding-bottom:4px;transform:none;border-radius:50%;border:1px solid var(--line);background:none;background-image:none;display:grid;place-items:center;font-family:var(--body);font-weight:400;font-size:20px;line-height:1;color:var(--coral-deep);transition:.25s}
.fxmedce.fxmedce-faq details[open] summary::after{content:"+";background:var(--coral);color:#fff;border-color:var(--coral);transform:rotate(45deg)}
.fxmedce.fxmedce-faq .faq-a-inner{padding:0 8px 26px;color:var(--ink-2);font-size:16.5px;line-height:1.6;max-width:68ch}
/* annual-pass.css hides every `.wp-block-details .wp-block-paragraph` (opacity:0,
   revealed by a script that isn't enqueued here) — force our answers visible. */
.fxmedce.fxmedce-faq details .wp-block-paragraph{opacity:1 !important;height:auto !important;max-height:none !important;overflow:visible !important;transform:none !important;animation:none !important;filter:none !important}

/* ============================================================
   FINAL CTA + upsell  (.g1-final)
   ============================================================ */
.fxmedce .g1-final{position:relative;background:var(--coral);color:#fff;border-radius:var(--r-lg);padding:68px 56px;overflow:hidden;text-align:center}
.fxmedce .g1-final .glow{position:absolute;border-radius:50%;background:rgba(255,255,255,.14);filter:blur(10px)}
.fxmedce .g1-final .g1g1{width:340px;height:340px;top:-150px;right:-80px}
.fxmedce .g1-final .g1g2{width:260px;height:260px;bottom:-140px;left:-60px}
.fxmedce .g1-final h2{color:#fff;font-size:clamp(30px,4vw,50px);max-width:20ch;margin:0 auto;position:relative}
.fxmedce .g1-final p{color:rgba(255,255,255,.9);max-width:50ch;margin:16px auto 0;font-size:18px;position:relative}
.fxmedce .g1-final-actions{position:relative;margin-top:30px;display:flex;gap:16px;justify-content:center;align-items:stretch;flex-wrap:wrap}
.fxmedce .g1-final .primary-card{background:#fff;border-radius:var(--r);padding:22px 26px;display:flex;flex-direction:column;gap:12px;text-align:left;min-width:280px}
.fxmedce .g1-final .primary-card .pc-h{font-family:var(--display);font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-.02em;display:block}
.fxmedce .g1-final .primary-card .pc-s{font-size:13.5px;color:var(--ink-soft);font-weight:500;display:block}
.fxmedce .g1-final .upsell{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.34);border-radius:var(--r);padding:22px 26px;display:flex;flex-direction:column;gap:8px;text-align:left;min-width:240px;justify-content:center}
.fxmedce .g1-final .upsell .up-tag{display:flex;align-items:center;gap:8px;color:#fff}
.fxmedce .g1-final .upsell .up-tag p{margin:0;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.fxmedce .g1-final .upsell .up-h{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.02em}
.fxmedce .g1-final .upsell a{font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);align-self:flex-start;padding-bottom:1px;color:#fff}
/* Keep card paragraphs left-aligned; the `.g1-final p` rule above is only for the
   centered CTA subtitle, but its `margin:… auto …` was centering the card text. */
.fxmedce .g1-final .upsell p,.fxmedce .g1-final .primary-card p{margin:0;max-width:none}
.fxmedce .g1-final .fineprint{position:relative;margin-top:22px;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;color:rgba(255,255,255,.82)}
@media(max-width:560px){.fxmedce .g1-final{padding:46px 26px}.fxmedce .g1-final-actions{flex-direction:column}}

/* ============================================================
   FOOTER  (.fxmedce-footer, from handoff fxmedce.css)
   ============================================================ */
.fxmedce-footer{background:var(--ink);color:rgba(255,255,255,.74);padding:70px 28px 36px}
.fxmedce-footer .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12)}
.fxmedce-footer .footer-logo{height:30px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:18px}
.fxmedce-footer .footer-about{font-size:15px;line-height:1.6;max-width:34ch;color:rgba(255,255,255,.74)}
.fxmedce-footer h4{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:0 0 16px;font-weight:500}
.fxmedce-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.fxmedce-footer ul a{font-size:15px;color:rgba(255,255,255,.74);transition:.15s}
.fxmedce-footer ul a:hover{color:#fff}
.fxmedce-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:26px;gap:16px;flex-wrap:wrap;font-size:13.5px;color:rgba(255,255,255,.5)}
@media(max-width:820px){.fxmedce-footer .footer-top{grid-template-columns:1fr 1fr;gap:30px}}

/* ============================================================
   COURSE HEADER banner (pattern 12 — B watermark)  (.fxmedce-course-header)
   ============================================================ */
.fxmedce-course-header{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:var(--r-lg);aspect-ratio:1280/560;display:flex;flex-direction:column;justify-content:space-between;padding:52px 60px}
.fxmedce-course-header::before{content:"";position:absolute;top:0;left:0;bottom:0;width:10px;background:var(--coral)}
.fxmedce-course-header .ch-watermark{position:absolute;right:-40px;top:50%;transform:translateY(-50%);width:46%;color:var(--coral);opacity:.14;pointer-events:none}
.fxmedce-course-header .ch-watermark svg{width:100%;height:auto}
.fxmedce-course-header .ch-kicker{position:relative;font-family:var(--mono);font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);font-weight:500;display:inline-flex;align-items:center;gap:11px}
.fxmedce-course-header .ch-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}
.fxmedce-course-header .ch-title{position:relative;font-family:var(--display);font-weight:800;font-size:clamp(30px,5vw,58px);letter-spacing:-.03em;line-height:1.02;max-width:20ch;color:#fff}
.fxmedce-course-header .ch-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px}
.fxmedce-course-header .ch-speaker{display:flex;align-items:center;gap:14px;font-weight:600}
.fxmedce-course-header .ch-speaker img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--coral)}
.fxmedce-course-header .ch-hours{font-family:var(--mono);font-size:14px;letter-spacing:.08em;text-transform:uppercase;background:var(--coral);color:#fff;padding:10px 18px;border-radius:100px;font-weight:500}

/* ============================================================
   PRODUCT TILE (pattern 13 — O2 corner ribbon)  (.fxmedce-product-tile)
   ============================================================ */
.fxmedce-product-tile{position:relative;overflow:hidden;background:var(--cream);color:var(--ink);border-radius:var(--r-lg);aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line-2)}
.fxmedce-product-tile .pt-icon{color:var(--ink);width:34%}
.fxmedce-product-tile .pt-icon svg{width:100%;height:auto}
.fxmedce-product-tile .pt-ribbon{position:absolute;top:38px;right:-58px;transform:rotate(45deg);background:var(--coral);color:#fff;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;padding:10px 70px}
.fxmedce-product-tile .pt-bar{position:absolute;left:0;right:0;bottom:0;background:var(--ink);color:#fff;padding:26px 30px;font-family:var(--display);font-weight:800;font-size:clamp(20px,3vw,30px);letter-spacing:-.02em;border-top:8px solid var(--coral)}

/* ============================================================
   Core-block adjustments
   The patterns are built from individual core blocks (Group, Columns,
   Heading, Paragraph, Image, List, Buttons, Details) that carry the class
   names above. These rules bridge the few places where the core-block DOM
   differs from the original prototype markup.
   ============================================================ */

/* Core Image blocks used as icons: kill the default block margin */
.fxmedce figure.wp-block-image{margin:0}
.fxmedce figure.wp-block-image img{display:block}

/* Neutralise the parent theme's heading element margins inside .fxmedce */
.fxmedce h1,.fxmedce h2,.fxmedce h3,.fxmedce h4,.fxmedce h5,.fxmedce h6{margin:0}
.fxmedce h4{font-family:var(--display);font-weight:700}

/* Lesson number badge wraps a plain paragraph — inherit the badge styling */
.fxmedce .ls-n p{font:inherit;color:inherit;margin:0}

/* Hero: standalone coral sub-line (its own paragraph block) */
.fxmedce-course-hero .sub2{display:block;font-family:var(--display);color:var(--coral);font-weight:700;font-size:clamp(20px,2.6vw,30px);margin-top:-10px;letter-spacing:-.02em;line-height:1.1}

/* Hero chip inner text stack */
.fxmedce-course-hero .g1-chip .gc-text{display:flex;flex-direction:column}

/* Hero price stack */
.fxmedce-course-hero .g1-price .g1-price-sub{display:block;font-family:var(--body);font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:0;margin-top:2px}

/* Number badge / icon-chip groups center their inner text/image */
.fxmedce .ls-n,.fxmedce .walk .wic,.fxmedce .fnd .fnd-ic,.fxmedce .scn-head .si,
.fxmedce .aud3-card .a3-k{display:flex;align-items:center;justify-content:center}
.fxmedce .ls-n{width:30px;height:30px}

/* Contrast / audience list rows are Groups (image + paragraph), not <li> */
.fxmedce .scn-list{display:flex;flex-direction:column;gap:15px}
.fxmedce .scn-row{display:flex;align-items:flex-start;gap:13px;font-size:16.5px;line-height:1.4}
.fxmedce .scn-col.bad .scn-row{color:var(--ink-2)}
.fxmedce .scn-col.good .scn-row{color:rgba(255,255,255,.9)}
.fxmedce .scn-row .wp-block-image{margin-top:2px}

/* Foundations card: image + text stack sit side by side */
.fxmedce .fnd{align-items:flex-start}
.fxmedce .fnd .fnd-text{display:flex;flex-direction:column}

/* Syllabus row: numeral column + text column */
.fxmedce .syl-item{align-items:start}
.fxmedce .syl-item .syl-body{display:flex;flex-direction:column}
.fxmedce .syl-min{display:inline-block;margin-left:10px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--coral-deep);background:var(--coral-wash);padding:3px 9px;border-radius:100px;vertical-align:middle}

/* Quote panel: core/quote renders .wp-block-quote */
.fxmedce .g1-why .wp-block-quote{margin:18px 0 0;border:0;padding:0}
.fxmedce .g1-why .wp-block-quote p{font-family:var(--display);font-weight:500;font-size:clamp(20px,2.3vw,28px);line-height:1.32;letter-spacing:-.01em;max-width:30ch;color:#fff}

/* Buttons rendered as core/button inside .fxmedce */
.fxmedce .wp-block-button__link{border-radius:100px;font-family:var(--body);font-weight:700;padding:15px 30px}
.fxmedce .btn-coral-wrap .wp-block-button__link{background:var(--coral);color:#fff;box-shadow:var(--shadow-coral)}
.fxmedce .btn-coral-wrap .wp-block-button__link:hover{background:var(--coral-deep)}
.fxmedce .btn-ink-wrap .wp-block-button__link{background:var(--ink);color:#fff}
.fxmedce .btn-ink-wrap .wp-block-button__link:hover{background:#0e1729}

/* Final CTA cards */
.fxmedce .g1-final .primary-card,.fxmedce .g1-final .upsell{display:flex;flex-direction:column}
.fxmedce .g1-final .pc-sub{display:block;font-size:13.5px;color:var(--ink-soft);font-weight:500;margin-top:2px}

/* Footer columns */
.fxmedce-footer .footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fxmedce-footer .footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
@media(max-width:820px){.fxmedce-footer .footer-top{grid-template-columns:1fr 1fr;gap:30px}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .fxmedce *{transition:none !important}
}
