/* FIX103 - Courses page and home-page courses band. Everything is scoped .cx- ; style.css is never touched.
   Uses the site tokens with fallbacks. */
.cx{--cx-navy:var(--navy,#002868);--cx-navy-dk:var(--navy-dk,#001A4A);--cx-red:var(--red,#B22234);--cx-gold:var(--gold,#C8A84B);--cx-gold-lt:var(--gold-lt,#E2C96A);--cx-paper:var(--paper,#F7F9FC);--cx-line:var(--line,#DDE3ED);--cx-ink:var(--ink,#0F1724);--cx-body:var(--body,#2B3444);--cx-muted:var(--muted,#6B7689);--cx-d:var(--font-d,'Bebas Neue','Arial Narrow',Impact,sans-serif);color:var(--cx-body)}
.cx *{box-sizing:border-box}
.cx-w{max-width:1180px;margin:0 auto;padding:0 20px}
.cx h1,.cx h2,.cx h3{margin:0}
.cx-d{font-family:var(--cx-d);font-weight:400;letter-spacing:.01em}

/* buttons (own, so nothing depends on style.css button rules) */
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:8px;font-weight:800;font-size:16px;line-height:1.2;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s,background .15s}
.cx-btn:focus-visible{outline:3px solid var(--cx-gold-lt);outline-offset:2px}
.cx-btn-gold{background:var(--cx-gold);color:#0F1724}
.cx-btn-gold:hover{background:var(--cx-gold-lt)}
.cx-btn-red{background:var(--cx-red);color:#fff}
.cx-btn-red:hover{background:#CC2A3F}
.cx-btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cx-btn-line:hover{background:rgba(255,255,255,.1)}
.cx-btn-navy{background:var(--cx-navy);color:#fff}
.cx-btn-navy:hover{background:var(--cx-navy-dk)}
.cx-btn-out{background:#fff;color:var(--cx-navy);border-color:var(--cx-navy)}
.cx-btn-out:hover{background:var(--cx-paper)}
.cx-btn-sm{min-height:42px;padding:9px 16px;font-size:14.5px}
.cx-row-btns{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.cx-hero{background:var(--cx-navy-dk);color:#fff;padding:64px 0 56px;position:relative;overflow:hidden}
.cx-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(178,34,52,.22),transparent 45%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 88px)}
.cx-hero .cx-w{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.cx-crumb{font-size:13px;color:rgba(255,255,255,.6);margin:0 0 18px}
.cx-crumb a{color:inherit}
.cx-hero h1{font-family:var(--cx-d);font-weight:400;font-size:clamp(46px,7vw,88px);line-height:.96;letter-spacing:.005em}
.cx-sub{margin:20px 0 0;font-size:19px;line-height:1.55;color:rgba(255,255,255,.84);max-width:34em}
.cx-hero .cx-row-btns{margin-top:28px}
.cx-onestep{margin:18px 0 0;font-size:15px;color:var(--cx-gold-lt);font-weight:700}
.cx-hq{border-left:4px solid var(--cx-gold);padding:6px 0 6px 24px}
.cx-hq p{margin:0;font-family:var(--cx-d);font-size:clamp(30px,3.6vw,44px);line-height:1.08;color:#fff}
.cx-hq span{display:block;margin-top:14px;font-size:14px;color:rgba(255,255,255,.62)}

/* sections */
.cx-sec{padding:68px 0}
.cx-sec-paper{background:var(--cx-paper)}
.cx-sec-navy{background:var(--cx-navy);color:#fff}
.cx-h2{font-family:var(--cx-d);font-weight:400;font-size:clamp(34px,4.4vw,54px);line-height:1.02;color:var(--cx-ink);max-width:16em}
.cx-sec-navy .cx-h2{color:#fff}
.cx-lead{margin:14px 0 0;font-size:18px;line-height:1.6;max-width:40em}

/* pain: three open columns, not cards */
.cx-pain{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:36px}
.cx-pain>div{border-top:3px solid var(--cx-red);padding-top:18px}
.cx-pain h3{font-size:21px;line-height:1.25;color:var(--cx-ink);margin-bottom:10px}
.cx-pain p{margin:0 0 10px;font-size:16px;line-height:1.65}
.cx-pain .cx-help{font-weight:700;color:var(--cx-navy)}

/* quote wall */
.cx-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid rgba(255,255,255,.2)}
.cx-quotes blockquote{margin:0;padding:26px 26px 26px 0;border-bottom:1px solid rgba(255,255,255,.2);font-family:var(--cx-d);font-size:30px;line-height:1.1;color:#fff}
.cx-quotes blockquote:nth-child(3n+2),.cx-quotes blockquote:nth-child(3n){padding-left:26px;border-left:1px solid rgba(255,255,255,.2)}
.cx-quotes blockquote em{font-style:normal;color:var(--cx-gold-lt)}

/* catalog: ruled list */
.cx-list{margin:34px 0 0;padding:0;list-style:none;border-top:2px solid var(--cx-ink)}
.cx-item{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--cx-line)}
.cx-item h3{font-size:22px;line-height:1.2;color:var(--cx-ink)}
.cx-item .cx-tag{margin:6px 0 0;font-weight:700;color:var(--cx-navy);font-size:15px}
.cx-item .cx-blurb{margin:8px 0 0;font-size:15.5px;line-height:1.6}
.cx-out{margin:0;padding:0;list-style:none;font-size:14.5px;line-height:1.5}
.cx-out li{position:relative;padding:0 0 8px 22px}
.cx-out li::before{content:'';position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:3px solid var(--cx-red);border-bottom:3px solid var(--cx-red);transform:rotate(-45deg) scale(.85)}
.cx-meta{margin:10px 0 0;font-size:13.5px;color:var(--cx-muted)}
.cx-buy{text-align:right;min-width:190px}
.cx-price{font-family:var(--cx-d);font-size:40px;line-height:1;color:var(--cx-ink)}
.cx-price s{font-family:var(--font-b,Inter,Arial,sans-serif);font-size:15px;color:var(--cx-muted);margin-right:6px}
.cx-pricenote{margin:4px 0 12px;font-size:12.5px;color:var(--cx-muted)}
.cx-pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.02em}
.cx-pill-live{background:#E3F6EB;color:#14733E}
.cx-pill-soon{background:#FFF3D1;color:#7A5B00}
.cx-item-live{background:var(--cx-navy-dk);color:#fff;padding:28px 26px;margin:0 -26px;border-radius:14px;border-bottom:0}
.cx-item-live h3,.cx-item-live .cx-price{color:#fff}
.cx-item-live .cx-tag{color:var(--cx-gold-lt)}
.cx-item-live .cx-blurb,.cx-item-live .cx-out,.cx-item-live .cx-meta,.cx-item-live .cx-pricenote,.cx-item-live .cx-price s{color:rgba(255,255,255,.78)}
.cx-item-live .cx-out li::before{border-color:var(--cx-gold-lt)}
.cx-item-live .cx-pill-live{background:var(--cx-gold);color:#0F1724}

/* bundle + ebook band */
.cx-bundle{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.cx-box{border:2px solid var(--cx-ink);border-radius:14px;padding:26px 26px 24px;background:#fff}
.cx-box h3{font-size:24px;line-height:1.2;color:var(--cx-ink)}
.cx-box p{margin:10px 0 0;font-size:15.5px;line-height:1.6}
.cx-box .cx-price{margin-top:16px}

/* steps (a real sequence) */
.cx-steps{list-style:none;counter-reset:cxs;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px}
.cx-steps li{counter-increment:cxs;position:relative;padding-top:54px}
.cx-steps li::before{content:counter(cxs);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--cx-navy);color:#fff;font-weight:800;font-size:17px;line-height:40px;text-align:center}
.cx-steps li::after{content:'';position:absolute;top:19px;left:48px;right:-28px;height:2px;background:var(--cx-line)}
.cx-steps li:last-child::after{display:none}
.cx-steps h3{font-size:18px;line-height:1.3;color:var(--cx-ink);margin-bottom:6px}
.cx-steps p{margin:0;font-size:15px;line-height:1.6}

/* straight talk */
.cx-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}
.cx-two h3{font-size:21px;color:var(--cx-ink);margin-bottom:12px}
.cx-two ul{margin:0;padding:0;list-style:none}
.cx-two li{padding:0 0 10px 26px;position:relative;font-size:16px;line-height:1.55}
.cx-no li::before,.cx-yes li::before{position:absolute;left:0;top:0;font-weight:900}
.cx-no li::before{content:'\00d7';color:var(--cx-red);font-size:20px;line-height:1.15}
.cx-yes li::before{content:'\2713';color:#14733E;font-size:16px}

/* what's new */
.cx-new{margin:26px 0 0;padding:0;list-style:none;border-left:3px solid var(--cx-gold)}
.cx-new li{padding:0 0 16px 20px}
.cx-new b{display:block;color:var(--cx-ink)}

/* waitlist */
.cx-wl{margin-top:26px;max-width:640px}
.cx-wl fieldset{border:0;margin:0 0 16px;padding:0}
.cx-wl legend{font-weight:800;color:var(--cx-ink);margin-bottom:10px;padding:0}
.cx-wl label.cx-chk{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:15.5px;line-height:1.4;cursor:pointer}
.cx-wl input[type=checkbox]{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--cx-navy)}
.cx-wl input[type=email]{width:100%;min-height:50px;padding:12px 14px;font-size:16px;border:2px solid var(--cx-line);border-radius:8px;background:#fff;color:var(--cx-ink)}
.cx-wl input[type=email]:focus{outline:3px solid var(--cx-gold-lt);border-color:var(--cx-navy)}
.cx-wl .cx-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cx-msg{margin:12px 0 0;font-size:15px;font-weight:700;color:#14733E;min-height:1.4em}
.cx-msg.err{color:var(--cx-red)}
.cx-fine{margin:12px 0 0;font-size:13px;color:var(--cx-muted)}
.cx-fine a{color:var(--cx-navy)}

/* faq */
.cx-faq{margin-top:28px;max-width:860px;border-top:1px solid var(--cx-line)}
.cx-faq details{border-bottom:1px solid var(--cx-line);padding:0}
.cx-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:800;font-size:17px;line-height:1.4;color:var(--cx-ink);position:relative}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:'+';position:absolute;right:4px;top:14px;font-size:26px;font-weight:400;color:var(--cx-red)}
.cx-faq details[open] summary::after{content:'\2212'}
.cx-faq summary:focus-visible{outline:3px solid var(--cx-gold);outline-offset:2px}
.cx-faq p{margin:0 0 18px;font-size:16px;line-height:1.65;max-width:46em}

/* closing */
.cx-end{background:var(--cx-navy-dk);color:#fff;text-align:center;padding:72px 0}
.cx-end h2{font-family:var(--cx-d);font-weight:400;font-size:clamp(40px,6vw,72px);line-height:1}
.cx-end p{margin:16px auto 0;max-width:36em;font-size:18px;line-height:1.6;color:rgba(255,255,255,.82)}
.cx-end .cx-row-btns{justify-content:center;margin-top:26px}

/* home band */
.cxh{background:var(--cx-navy-dk,#001A4A);color:#fff;padding:60px 0}
.cxh .cx-w{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.cxh h2{font-family:var(--cx-d,'Bebas Neue','Arial Narrow',Impact,sans-serif);font-weight:400;font-size:clamp(38px,5vw,62px);line-height:1;color:#fff}
.cxh .cxh-p{margin:16px 0 0;font-size:18px;line-height:1.6;color:rgba(255,255,255,.84)}
.cxh .cxh-q{margin:20px 0 0;border-left:4px solid var(--cx-gold,#C8A84B);padding-left:16px;font-family:var(--cx-d,'Bebas Neue','Arial Narrow',Impact,sans-serif);font-size:28px;line-height:1.1;color:#fff}
.cxh .cx-row-btns{margin-top:24px}
.cxh-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.25)}
.cxh-list li{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:16px}
.cxh-list a{color:#fff;font-weight:700;text-decoration:none}
.cxh-list a:hover{text-decoration:underline}
.cxh-list small{color:rgba(255,255,255,.65);font-size:13px;white-space:nowrap}
.cxh-list .cxh-live a{color:var(--cx-gold-lt,#E2C96A)}

@media (max-width:900px){
  .cx-hero .cx-w,.cxh .cx-w{grid-template-columns:1fr;gap:30px}
  .cx-pain,.cx-two,.cx-bundle{grid-template-columns:1fr;gap:26px}
  .cx-quotes{grid-template-columns:1fr}
  .cx-quotes blockquote,.cx-quotes blockquote:nth-child(3n+2),.cx-quotes blockquote:nth-child(3n){padding:22px 0;border-left:0}
  .cx-item{grid-template-columns:1fr;gap:16px}
  .cx-buy{text-align:left;min-width:0}
  .cx-item-live{margin:0 -12px;padding:24px 18px}
  .cx-steps{grid-template-columns:1fr 1fr;gap:30px 24px}
  .cx-steps li::after{display:none}
  .cx-sec{padding:52px 0}
}
@media (max-width:520px){
  .cx-hero{padding:44px 0 40px}
  .cx-steps{grid-template-columns:1fr}
  .cx-btn{width:100%}
  .cx-row-btns{flex-direction:column}
  .cxh{padding:44px 0}
}
@media (prefers-reduced-motion:reduce){.cx-btn{transition:none}}
/* heading colours on dark bands (site h1/h2 rules otherwise win) */
.cx .cx-hero h1,.cx .cx-end h2,.cx.cxh h2,.cx .cx-hq p{color:#fff}
.cx .cx-sec-navy .cx-h2{color:#fff}
/* FIX104 additions */
.cx .cx-hero h1{color:#fff}
.cx-end h2{color:#fff}
