/* ============================================================
   FIRE — design system v2.0
   Dark, cool, disciplined. Large light headings, generous
   section rhythm, one accent. Class names unchanged.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500&display=swap');

:root{
  /* Base — Boostly index-4 */
  --bg:#05111A;
  --bg-2:#08161F;
  --surface:#0B1A24;
  --surface-2:#102431;
  --dark:#05111A;
  --dark-2:#000000;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.18);
  --dark-line:rgba(255,255,255,.09);
  --dark-line-2:rgba(255,255,255,.18);

  /* Text */
  --head:#FFFFFF;
  --text:#9BA0A3;
  --text-2:#C9CDCF;
  --muted:#7A8084;

  /* Green accent */
  --acc:#A0EA71;
  --acc-2:#B6F28E;
  --acc-3:#7FD24C;
  --acc-ink:#05111A;
  --acc-soft:rgba(160,234,113,.12);
  --acc-glow:rgba(160,234,113,.28);
  --grad:linear-gradient(135deg,#B6F28E 0%,#A0EA71 50%,#7FD24C 100%);
  --grad-soft:linear-gradient(135deg,rgba(160,234,113,.14),rgba(127,210,76,.06));

  --r-sm:6px;
  --r:10px;
  --r-lg:20px;
  --r-pill:100px;
  --shell:1290px;

  --font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:"DM Sans","Manrope",-apple-system,sans-serif;

  --s1:clamp(2.6rem,1.6rem + 3.6vw,3.75rem);
  --s2:clamp(1.9rem,1.3rem + 2.2vw,2.8125rem);
  --s3:clamp(1.25rem,1.1rem + .5vw,1.5rem);
  --sb:1.0625rem;
}

.fire-body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:var(--sb);line-height:1.72;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.fire-body *,.fire-body *::before,.fire-body *::after{box-sizing:border-box}
.fire-body img{max-width:100%;height:auto;display:block}
.fire-body a{color:var(--head);text-decoration:none}
.fire-body a:hover{color:var(--acc-2)}
h1,h2,h3,h4{font-family:var(--font);color:var(--head);margin:0 0 .55em;letter-spacing:-.02em}
h1{font-size:var(--s1);font-weight:400;line-height:1.17}
h2{font-size:var(--s2);font-weight:400;line-height:1.28}
h3{font-size:var(--s3);font-weight:600;line-height:1.34}
h4{font-size:1.15rem;font-weight:600}
p{margin:0 0 1.2em}
.fire-main p,.fire-main li{max-width:70ch}
:focus-visible{outline:2px solid var(--acc-2);outline-offset:3px;border-radius:4px}
.fire-skip{position:absolute;left:-9999px;background:var(--acc);color:#fff;padding:.8rem 1.2rem;z-index:200}
.fire-skip:focus{left:1rem;top:1rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

.fire-shell{max-width:var(--shell);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem)}
.fire-shell--narrow{max-width:820px;margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem)}

/* ---------- Announce ---------- */
.fire-announce{background:var(--surface);border-bottom:1px solid var(--line);font-size:.86rem}
.fire-announce[hidden]{display:none}
.fire-announce__inner{max-width:var(--shell);margin-inline:auto;padding:.65rem clamp(1.15rem,4vw,2rem);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.fire-announce p{margin:0;color:var(--text)}
.fire-announce a{color:var(--acc-2);font-weight:600}
.fire-announce__x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:1.25rem;cursor:pointer}
.fire-announce__x:hover{color:#fff}

/* ---------- Header ---------- */
.fire-header{position:sticky;top:0;z-index:100;background:rgba(5,17,26,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
.fire-header.is-scrolled{border-bottom-color:var(--line);background:rgba(5,17,26,.94)}
.fire-header__inner{max-width:var(--shell);margin-inline:auto;padding:1.1rem clamp(1.15rem,4vw,2rem);display:flex;align-items:center;gap:2rem}
.fire-logo{display:flex;align-items:center;gap:.65rem;flex:none;color:var(--head)}
.fire-logo__mark{color:var(--acc-2);display:flex}
.fire-logo__text strong{display:block;font-family:var(--font);font-size:1.1rem;font-weight:700;letter-spacing:.10em;line-height:1}
.fire-logo__text small{display:block;font-size:.63rem;color:var(--muted);margin-top:.25rem;letter-spacing:.03em}
@media(max-width:560px){.fire-logo__text small{display:none}}

.fire-nav{margin-left:auto;display:flex;align-items:center;gap:2rem}
.fire-nav__list{list-style:none;display:flex;align-items:center;gap:1.9rem;margin:0;padding:0}
.fire-nav__list a{color:var(--text-2);font-family:var(--font);font-size:.93rem;font-weight:500;white-space:nowrap}
.fire-nav__list a:hover{color:#fff}
.fire-nav__list>li{position:relative}
.fire-nav__list .sub-menu{list-style:none;margin:0;padding:.5rem;position:absolute;top:calc(100% + 1.1rem);left:-.9rem;min-width:270px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.fire-nav__list li:hover>.sub-menu,.fire-nav__list li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.fire-nav__list .sub-menu a{display:block;padding:.6rem .8rem;border-radius:var(--r-sm)}
.fire-nav__list .sub-menu a:hover{background:var(--surface-2)}

.fire-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:transparent;position:relative;cursor:pointer}
.fire-burger__bar,.fire-burger__bar::before,.fire-burger__bar::after{position:absolute;left:12px;width:20px;height:2px;background:#fff;content:"";transition:.2s}
.fire-burger__bar{top:21px}
.fire-burger__bar::before{top:-6px;left:0}
.fire-burger__bar::after{top:6px;left:0}
[aria-expanded="true"] .fire-burger__bar{background:transparent}
[aria-expanded="true"] .fire-burger__bar::before{transform:translateY(6px) rotate(45deg)}
[aria-expanded="true"] .fire-burger__bar::after{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:1100px){
  .fire-burger{display:block}
  .fire-nav{position:fixed;inset:70px 0 0;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;padding:1.5rem clamp(1.15rem,4vw,2rem) 3rem;overflow-y:auto;transform:translateX(100%);transition:transform .25s;margin:0}
  .fire-nav-open .fire-nav{transform:none}
  .fire-nav-open{overflow:hidden}
  .fire-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .fire-nav__list>li{border-bottom:1px solid var(--line)}
  .fire-nav__list a{display:block;padding:1rem 0;font-size:1.05rem}
  .fire-nav__list .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;padding:0 0 .6rem .9rem;min-width:0}
  .fire-nav__cta{margin-top:1.6rem;text-align:center}
}

/* ---------- Buttons ---------- */
.fire-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font);font-weight:600;font-size:.94rem;padding:.95rem 1.7rem;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:.18s;line-height:1.2}
.fire-btn--lg{padding:1.1rem 2.1rem;font-size:1rem}
.fire-btn--primary{background-color:var(--acc);background-image:var(--grad);color:#fff!important;-webkit-text-fill-color:#fff;box-shadow:0 8px 30px var(--acc-glow)}
.fire-btn--primary:hover{background:var(--acc-2);color:#fff;transform:translateY(-1px)}
.fire-btn--outline,.fire-btn--ghost{background:transparent;color:var(--head);-webkit-text-fill-color:currentColor;border-color:var(--line-2)}
.fire-btn--outline:hover,.fire-btn--ghost:hover{border-color:var(--acc-2);color:#fff;background:var(--acc-soft)}
.fire-btn--block{display:flex;width:100%;margin-top:.7rem}

/* ---------- Eyebrow + section rhythm ---------- */
.fire-eyebrow,.fire-eyebrow--dark{
  font-family:var(--font);font-size:.8rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acc-2);margin:0 0 1rem;
}
.fire-section--pad{padding-block:clamp(3.5rem,7vw,7rem)}
.fire-section--dark{background:#140F0C;padding-block:clamp(3.5rem,7vw,7rem);border-block:1px solid rgba(255,255,255,.10)}
.fire-h2{font-size:var(--s2);font-weight:400;margin:0 0 1rem}
.fire-lead{font-size:1.1rem;color:var(--text);max-width:62ch;margin:0 0 2.5rem}
.fire-lead--tight{margin:.25rem 0 1.5rem;font-size:1rem}
.fire-subhead{font-family:var(--font);font-size:1.1rem;color:#fff;margin:3rem 0 .5rem;font-weight:600}
.fire-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.fire-section__head .fire-h2{margin:0}
.fire-textlink{color:var(--acc-2);font-family:var(--font);font-weight:600;font-size:.94rem}
.fire-inline-cta{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:3rem}
.fire-note{color:var(--muted);font-style:italic}

/* ---------- Jumbo ---------- */
.fire-jumbo{position:relative;overflow:hidden;padding-block:clamp(4rem,10vw,8.5rem) clamp(3rem,6vw,5rem);background:#140F0C}
.fire-jumbo__glow{position:absolute;inset:-20% -10% auto -20%;height:130%;pointer-events:none;
  background:radial-gradient(46% 46% at 18% 30%,rgba(107,65,255,.26),transparent 66%),
             radial-gradient(40% 40% at 88% 8%,rgba(107,65,255,.12),transparent 62%)}
.fire-jumbo__art{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:52%;max-width:760px;opacity:.5;pointer-events:none;
  -webkit-mask-image:radial-gradient(70% 70% at 60% 50%,#000 34%,transparent 76%);
          mask-image:radial-gradient(70% 70% at 60% 50%,#000 34%,transparent 76%)}
@media(max-width:1100px){.fire-jumbo__art{opacity:.22;right:-20%;width:88%}}
@media(max-width:700px){.fire-jumbo__art{display:none}}
.fire-jumbo__inner{position:relative}
.fire-jumbo__title{font-size:var(--s1);font-weight:400;line-height:1.14;max-width:19ch;margin:0 0 1.5rem;letter-spacing:-.028em}
.fire-jumbo__lede{font-size:1.15rem;color:var(--text);max-width:56ch;margin:0 0 2.5rem;line-height:1.72}
.fire-jumbo__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:4rem}
.fire-trust{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:2.5rem 0 0;margin:0;border-top:1px solid var(--line)}
.fire-trust li{color:var(--muted);font-size:.88rem;line-height:1.55}
.fire-trust strong{display:block;font-family:var(--font);color:#fff;font-size:1rem;font-weight:600;margin-bottom:.35rem}
@media(max-width:760px){.fire-trust{grid-template-columns:repeat(2,1fr)}}

/* ---------- Page hero ---------- */
.fire-pagehero{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line)}
.fire-pagehero__title{font-size:var(--s2);font-weight:400;max-width:20ch;margin:0 0 1.1rem}
.fire-pagehero__lede{font-size:1.12rem;color:var(--text);max-width:60ch;margin:0 0 1.75rem}
.fire-pagehero--art{position:relative;overflow:hidden;background:#140F0C;border-bottom:0;padding-block:clamp(3rem,7vw,5.5rem)}
.fire-pagehero--art::before{content:"";position:absolute;inset:0;background-image:var(--art);background-size:cover;background-position:right center;opacity:.5}
.fire-pagehero--art::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--bg) 26%,rgba(5,17,26,.78) 62%,rgba(5,17,26,.25))}
.fire-pagehero--art>*{position:relative;z-index:1}

/* ---------- Router / cards ---------- */
.fire-grid{display:grid;gap:1.5rem}
.fire-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fire-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fire-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.fire-grid--3,.fire-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fire-grid--2,.fire-grid--3,.fire-grid--4{grid-template-columns:1fr}}

.fire-router{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
@media(max-width:1000px){.fire-router{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fire-router{grid-template-columns:1fr}}
.fire-route{display:block;padding:2rem 1.75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:.2s}
.fire-route:hover{border-color:var(--acc);background:var(--surface-2);transform:translateY(-4px)}
.fire-route h3{font-size:1.1rem;margin-bottom:.7rem}
.fire-route p{color:var(--text);font-size:.94rem;margin-bottom:1.25rem}
.fire-route__go{color:var(--acc-2);font-family:var(--font);font-weight:600;font-size:.9rem}

.fire-numbered{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3.5rem;padding:0;margin:0}
@media(max-width:860px){.fire-numbered{grid-template-columns:1fr;gap:2rem}}
.fire-numbered li{padding-top:1.5rem;border-top:1px solid var(--line)}
.fire-numbered__n{font-family:var(--font);font-size:.78rem;color:var(--acc-2);letter-spacing:.14em;display:block;margin-bottom:.8rem;font-weight:600}
.fire-numbered h3{font-size:1.2rem;margin-bottom:.6rem}
.fire-numbered p{color:var(--text);font-size:.96rem;margin:0;max-width:46ch}

.fire-pillar{padding:1.75rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.fire-pillar h3{font-size:1.05rem;margin-bottom:.6rem}
.fire-pillar p{font-size:.93rem;color:var(--text);margin:0}
.fire-proof h3{font-size:1.15rem;margin:0 0 .7rem;padding-top:1.1rem;border-top:2px solid var(--acc)}
.fire-proof p{color:var(--text);font-size:.96rem}

.fire-track{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface);transition:.2s}
.fire-track:hover{border-color:var(--acc);transform:translateY(-4px)}
.fire-track img{width:100%;aspect-ratio:4/3;object-fit:cover}
.fire-track__body{padding:1.5rem}
.fire-track h3{font-size:1.05rem;margin-bottom:.5rem}
.fire-track p{font-size:.92rem;color:var(--text);margin:0}

.fire-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.fire-card:hover{border-color:var(--acc);transform:translateY(-4px)}
.fire-card__img{display:block;background:var(--bg)}
.fire-card__img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}
.fire-card:hover .fire-card__img img{transform:scale(1.04)}
.fire-card__body{padding:1.6rem;display:flex;flex-direction:column;height:100%}
.fire-card__meta{font-family:var(--font);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-2);margin:0 0 .75rem;font-weight:600}
.fire-card__title{font-size:1.1rem;margin:0 0 .6rem;line-height:1.35}
.fire-card__desc{font-size:.94rem;color:var(--text);margin:0 0 1.25rem}
.fire-card__link{margin-top:auto;color:var(--acc-2);font-family:var(--font);font-weight:600;font-size:.9rem}

.fire-forming{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.fire-forming li{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 1.75rem;border-bottom:1px solid var(--line)}
.fire-forming li:last-child{border-bottom:0}
.fire-forming li:hover{background:var(--surface-2)}
.fire-forming h3{font-size:1rem;margin:0}
.fire-forming p{font-family:var(--font);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:.35rem 0 0}
@media(max-width:680px){.fire-forming li{flex-direction:column;align-items:flex-start;gap:1rem}}

/* ---------- Article / course ---------- */
.fire-crumbs{max-width:var(--shell);margin:1.5rem auto 0;padding-inline:clamp(1.15rem,4vw,2rem);font-size:.84rem;color:var(--muted)}
.fire-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}
.fire-crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--line-2)}
.fire-crumbs a{color:var(--muted)}
.fire-crumbs a:hover{color:#fff}

.fire-shell--split{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(2rem,5vw,4.5rem);align-items:start;max-width:var(--shell);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem)}
@media(max-width:1050px){.fire-shell--split{grid-template-columns:1fr}}

.fire-hero{padding-block:clamp(2.5rem,6vw,4rem) 2rem}
.fire-hero__title{font-size:var(--s2);font-weight:400;margin:0 0 1.1rem;max-width:22ch}
.fire-hero__lede{font-size:1.12rem;color:var(--text);margin:0 0 1.75rem}
.answer-block{font-size:1.12rem}
.fire-hero--art{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.10);border-radius:var(--r-lg);padding:clamp(2rem,4vw,3rem);margin-top:1.75rem;background:#140F0C}
.fire-hero--art::before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--art);background-size:cover;background-position:right center;opacity:.5}
.fire-hero--art::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--bg) 28%,rgba(5,17,26,.76) 62%,rgba(5,17,26,.28))}
.fire-hero__art{display:none!important}

.fire-meta{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 2rem}
.fire-meta li{font-family:var(--font);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:var(--r-pill);padding:.4rem .95rem}
.fire-meta-inline{color:var(--muted);font-size:.95rem}
.fire-links{display:flex;gap:1.25rem;font-family:var(--font);font-weight:600}
.fire-links a{color:var(--acc-2)}

.fire-article .fire-section{padding-block:3rem;border-bottom:1px solid var(--line)}
.fire-article .fire-section:last-of-type{border-bottom:0}
.fire-article .fire-section h2{font-size:var(--s3);font-weight:600}
.fire-article .fire-section h3{font-size:1.05rem;margin:1.5rem 0 .5rem}
.fire-section--accent{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2.25rem!important;border-bottom:1px solid var(--line)!important}
.fire-two{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
@media(max-width:760px){.fire-two{grid-template-columns:1fr}}
.fire-two>div>h3{font-family:var(--font);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700;margin:0 0 .9rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}

.fire-list{padding-left:1.2rem;margin:.6rem 0}
.fire-list li{margin:.55rem 0;color:var(--text)}
.fire-list--check{list-style:none;padding-left:0}
.fire-list--check li{position:relative;padding-left:1.8rem;color:var(--text-2)}
.fire-list--check li::before{content:"";position:absolute;left:0;top:.66em;width:7px;height:7px;border-radius:2px;background:var(--acc-2)}
.fire-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;padding:0;margin:.6rem 0}
.fire-tags li{font-family:var(--font);font-size:.8rem;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--text-2);border-radius:var(--r-sm);padding:.4rem .85rem}
.fire-tags li a{color:var(--text-2)}
.fire-prose p{margin:0 0 1.2rem;color:var(--text)}
.fire-prose--wide{max-width:none}
.fire-prose--wide>*{max-width:72ch}
.fire-prose--wide h2{font-size:var(--s3);font-weight:600;margin:3.25rem 0 .9rem;padding-top:1.75rem;border-top:1px solid var(--line);position:relative}
.fire-prose--wide h2::before{content:"";position:absolute;top:-1px;left:0;width:52px;height:2px;background:var(--acc)}
.fire-prose--wide>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.fire-prose--wide>h2:first-child::before{display:none}
.fire-prose--wide h3{font-size:1.1rem;margin:2rem 0 .5rem}
.fire-prose--wide h2+p{font-size:1.08rem;color:var(--text-2)}
.fire-prose--wide ul{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.65rem}
.fire-prose--wide ul li{position:relative;padding:.95rem 1.15rem .95rem 2.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin:0;max-width:72ch;color:var(--text)}
.fire-prose--wide ul li::before{content:"";position:absolute;left:1.15rem;top:1.5em;width:7px;height:7px;border-radius:2px;background:var(--acc-2)}
.fire-prose--wide ol{counter-reset:s;list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.65rem}
.fire-prose--wide ol li{counter-increment:s;position:relative;padding:.95rem 1.15rem .95rem 3.1rem;border:1px solid var(--line);border-radius:var(--r);margin:0;max-width:72ch;background:var(--surface);color:var(--text)}
.fire-prose--wide ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:1.15rem;top:1.05em;font-family:var(--font);font-size:.78rem;color:var(--acc-2);letter-spacing:.06em;font-weight:600}
.fire-prose--wide strong{color:#fff}
.fire-prose--wide p>strong:only-child{display:block;background:var(--acc-soft);border:1px solid var(--acc);border-left-width:3px;border-radius:var(--r-sm);padding:1rem 1.2rem;color:var(--text-2)}

/* Accordion */
.fire-accordion{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.fire-acc{border-bottom:1px solid var(--line)}
.fire-acc:last-child{border-bottom:0}
.fire-acc summary{cursor:pointer;padding:1.25rem 1.6rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.fire-acc summary::-webkit-details-marker{display:none}
.fire-acc summary h3{margin:0;font-size:1rem;font-weight:600}
.fire-acc summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--acc-2);border-bottom:2px solid var(--acc-2);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.fire-acc[open] summary::after{transform:rotate(-135deg);margin-top:2px}
.fire-acc summary:hover{background:var(--surface-2)}
.fire-acc>ul,.fire-acc>p{padding:0 1.6rem 1.6rem;margin:0}
.fire-acc>ul{padding-left:2.8rem}

.fire-definition{border-left:2px solid var(--acc);background:var(--acc-soft);padding:1.25rem 1.5rem;border-radius:0 var(--r) var(--r) 0;font-size:1.1rem;color:var(--text-2);margin:0 0 2rem}
.fire-price{font-size:var(--s3);font-weight:600;color:#fff;margin:0 0 .6rem;font-family:var(--font)}
.fire-price--request{color:var(--text);font-size:1.2rem}

/* Enrol card */
.fire-aside{position:sticky;top:110px;padding-top:1.75rem}
@media(max-width:1050px){.fire-aside{position:static;padding-top:0;margin-top:2.5rem}}
.fire-enrol{border:1px solid var(--line);border-radius:var(--r-lg);padding:1.85rem;background:var(--surface)}
.fire-enrol__course{font-family:var(--font);font-weight:600;color:#fff;margin:0 0 .5rem;font-size:1rem}
.fire-enrol__price{font-family:var(--font);font-size:1.6rem;font-weight:600;color:#fff;margin:0 0 1.25rem}
.fire-enrol__price--request{font-size:1.15rem;color:var(--text)}
.fire-enrol__meta{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;margin:0 0 1.5rem;font-size:.9rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.fire-enrol__meta dt{color:var(--muted)}
.fire-enrol__meta dd{margin:0;color:#fff;text-align:right}
.fire-steps{margin:0 0 1.2rem;padding-left:1.2rem;font-size:.93rem;color:var(--text)}
.fire-steps li{margin:.6rem 0}

.fire-person h2,.fire-person h3{margin:.9rem 0 .25rem;font-size:1.05rem}
.fire-person p{color:var(--muted);font-size:.92rem;margin:0}
.fire-person img{border-radius:var(--r);aspect-ratio:1;object-fit:cover}
.fire-person__photo img{max-width:190px;border-radius:var(--r-lg)}

.fire-table{width:100%;border-collapse:collapse;font-size:.95rem}
.fire-table th,.fire-table td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.fire-table th{width:8rem;color:var(--muted);font-family:var(--font);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}

.fire-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 3rem}
@media(max-width:740px){.fire-glossary{grid-template-columns:1fr}}
.fire-term{padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.fire-term h2{font-size:1.1rem;margin:0 0 .4rem;font-weight:600}
.fire-term p{font-size:.93rem;color:var(--muted);margin:0}

/* ---------- CTA band + footer ---------- */
.fire-cta-band{position:relative;overflow:hidden;background:#140F0C;border-top:0;padding-block:clamp(3.5rem,7vw,6rem)}
.fire-cta-band::before{content:"";position:absolute;inset:auto -10% -70% 25%;height:170%;background:radial-gradient(50% 50% at 50% 50%,rgba(107,65,255,.22),transparent 66%);pointer-events:none}
.fire-cta-band h2{position:relative;font-size:var(--s2);font-weight:400;margin:0 0 .8rem;max-width:22ch}
.fire-cta-band p{position:relative;color:var(--text);margin:0 0 2rem}
.fire-cta-band .fire-btn{position:relative}

.fire-footer{background:#140F0C;border-top:0;padding:clamp(3.5rem,6vw,5rem) 0 1.75rem;font-size:.94rem}
.fire-footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:3rem}
@media(max-width:900px){.fire-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fire-footer__grid{grid-template-columns:1fr}}
.fire-footer__logo{font-family:var(--font);font-size:1.15rem;font-weight:700;letter-spacing:.1em;color:#fff;margin:0 0 .8rem}
.fire-footer__tag{color:var(--muted);max-width:36ch;font-size:.92rem}
.fire-footer__h{font-family:var(--font);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.15rem;font-weight:600}
.fire-footer ul{list-style:none;margin:0;padding:0}
.fire-footer li{margin:0 0 .7rem}
.fire-footer a{color:var(--text-2)}
.fire-footer a:hover{color:var(--acc-2)}
.fire-footer__bar{margin-top:3.5rem;padding-top:1.75rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}
.fire-footer__bar p{margin:0}
.fire-footer__legal{display:flex;gap:1.5rem}
.fire-footer__legal li{margin:0}

/* ---------- Forms ---------- */
.fire-form{max-width:660px}
.fire-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
@media(max-width:640px){.fire-form__row{grid-template-columns:1fr}}
.fire-field{margin-bottom:1.25rem}
.fire-field label{display:block;font-family:var(--font);font-weight:600;font-size:.9rem;color:#fff;margin-bottom:.5rem}
.fire-field__hint{font-weight:400;color:var(--muted);font-size:.84rem}
.fire-field input[type=text],.fire-field input[type=email],.fire-field input[type=tel],.fire-field select,.fire-field textarea{
  width:100%;padding:.9rem 1.05rem;border:1px solid var(--line-2);border-radius:var(--r-sm);
  font:inherit;font-size:1rem;color:#fff;background:var(--surface);transition:.15s}
.fire-field textarea{resize:vertical;min-height:120px}
.fire-field input::placeholder,.fire-field textarea::placeholder{color:var(--muted)}
.fire-field input:focus,.fire-field select:focus,.fire-field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.fire-field--check label{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;font-size:.92rem;color:var(--text)}
.fire-field--check input{margin-top:.28rem;accent-color:var(--acc);width:18px;height:18px;flex:none}
.fire-form__errors{background:rgba(255,90,90,.08);border:1px solid rgba(255,120,120,.5);border-left-width:3px;border-radius:var(--r-sm);padding:1.1rem 1.25rem;margin-bottom:1.75rem}
.fire-form__errors p{margin:0 0 .4rem;color:#FF9B9B}
.fire-form__errors ul{margin:0;padding-left:1.2rem;color:var(--text-2);font-size:.93rem}
.fire-form__note{font-size:.86rem;color:var(--muted);margin-top:1rem}
.fire-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Blog ---------- */
.fire-post__head{padding-block:clamp(2.5rem,6vw,4.5rem) 1.5rem}
.fire-post__title{font-size:var(--s2);font-weight:400;max-width:24ch;margin:0 0 1.1rem}
.fire-post__lede{font-size:1.12rem;color:var(--text);margin:0 0 1.75rem}
.fire-byline{display:flex;flex-wrap:wrap;gap:1.5rem;font-family:var(--font);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:1.25rem;border-top:1px solid var(--line)}
.fire-post__hero{margin:2.5rem auto 3rem}
.fire-post__hero img{border-radius:var(--r-lg);width:100%}
.fire-prose--post{font-size:1.09rem;line-height:1.8;color:var(--text)}
.fire-prose--post h2{font-size:var(--s3);font-weight:600;margin:2.75rem 0 .8rem;color:#fff}
.fire-prose--post h3{font-size:1.15rem;margin:2rem 0 .5rem;color:#fff}
.fire-prose--post ul,.fire-prose--post ol{margin:0 0 1.3rem;padding-left:1.4rem}
.fire-prose--post li{margin:.5rem 0}
.fire-prose--post blockquote{margin:2rem 0;padding:.5rem 0 .5rem 1.6rem;border-left:2px solid var(--acc);color:var(--text-2);font-size:1.14rem}
.fire-prose--post img{border-radius:var(--r);margin:2rem 0}
.fire-prose--post code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--surface-2);padding:.15em .45em;border-radius:4px;color:var(--acc-2)}
.fire-prose--post pre{background:var(--surface);border:1px solid var(--line);padding:1.4rem;border-radius:var(--r);overflow-x:auto;font-size:.9rem;line-height:1.6}
.fire-prose--post pre code{background:none;padding:0;color:var(--text-2)}
.fire-authorbox{display:flex;gap:1.25rem;align-items:flex-start;margin:3.5rem 0 1rem;padding:1.6rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.fire-authorbox img{border-radius:50%;flex:none}
.fire-authorbox__name{font-family:var(--font);font-weight:600;color:#fff;margin:0 0 .35rem}
.fire-authorbox p{font-size:.93rem;color:var(--text);margin:0}
.fire-pagination{margin-top:3rem}
.fire-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0}
.fire-pagination a,.fire-pagination span{display:inline-block;padding:.6rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);font-size:.9rem;color:var(--text)}
.fire-pagination a:hover{border-color:var(--acc);color:#fff}
.fire-pagination .current{background:var(--acc);color:#fff;border-color:var(--acc)}
.fire-search{display:flex;gap:.7rem;max-width:540px;margin-top:1.25rem}
.fire-search input{flex:1;padding:.9rem 1.05rem;border:1px solid var(--line-2);border-radius:var(--r-sm);font:inherit;font-size:1rem;background:var(--surface);color:#fff}
.fire-search input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}

/* ---------- Mobile CTA ---------- */
.fire-mobilebar{display:none}
@media(max-width:768px){
  .fire-mobilebar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:98;background:rgba(5,17,26,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.75rem 1rem}
  .fire-mobilebar .fire-btn{margin:0}
  .fire-main{padding-bottom:5.5rem}
}

/* ---------- Motion ---------- */
.fire-reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}
.fire-reveal.is-in{opacity:1;transform:none}
.fire-section.fire-reveal{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.fire-reveal{opacity:1;transform:none;transition:none}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* ---------- Print ---------- */
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .fire-header,.fire-announce,.fire-mobilebar{position:static!important}
  .fire-jumbo__art,.fire-jumbo__glow{display:none!important}
}

/* ============================================================
   v3.0 — green on dark, Boostly index-4 language
   ============================================================ */

.fire-body{background:var(--bg);color:var(--text)}
.fire-body a{color:#fff}
.fire-body a:hover{color:var(--acc)}

/* Header */
.fire-header{background:rgba(5,17,26,.72);border-bottom:1px solid transparent}
.fire-header.is-scrolled{background:rgba(5,17,26,.96);border-bottom-color:var(--line)}
.fire-logo{color:#fff}
.fire-logo__mark{color:var(--acc)}
.fire-nav__list a{color:var(--text-2)}
.fire-nav__list a:hover{color:var(--acc)}
.fire-nav__list .sub-menu{background:var(--surface);border-color:var(--line);box-shadow:0 24px 60px rgba(0,0,0,.55)}
.fire-nav__list .sub-menu a:hover{background:var(--surface-2);color:var(--acc)}
.fire-burger{border-color:var(--line-2)}
.fire-burger__bar,.fire-burger__bar::before,.fire-burger__bar::after{background:#fff}
@media(max-width:1100px){.fire-nav{background:var(--bg)}}

/* Announce */
.fire-announce{background:var(--surface);border-bottom:1px solid var(--line)}
.fire-announce p{color:var(--text)}
.fire-announce a{color:var(--acc)}
.fire-announce__x{color:var(--muted)}

/* Buttons — green fill, dark ink */
.fire-btn--primary{background-color:var(--acc);background-image:var(--grad);color:var(--acc-ink)!important;-webkit-text-fill-color:var(--acc-ink);border:0;box-shadow:0 8px 28px var(--acc-glow);font-weight:700}
.fire-btn--primary:hover{background-color:var(--acc-2);color:var(--acc-ink)!important;transform:translateY(-2px);box-shadow:0 12px 36px var(--acc-glow)}
.fire-btn--outline,.fire-btn--ghost{background:transparent;color:#fff;-webkit-text-fill-color:#fff;border-color:var(--line-2)}
.fire-btn--outline:hover,.fire-btn--ghost:hover{border-color:var(--acc);color:var(--acc);-webkit-text-fill-color:var(--acc);background:var(--acc-soft)}

/* Eyebrow — solid green, not gradient text */
.fire-eyebrow,.fire-eyebrow--dark{color:var(--acc);background:none;-webkit-text-fill-color:currentColor}

/* Hero */
.fire-jumbo{background:var(--bg)}
.fire-jumbo__glow{background:
  radial-gradient(44% 44% at 14% 78%,rgba(160,234,113,.20),transparent 66%),
  radial-gradient(38% 38% at 86% 8%,rgba(160,234,113,.10),transparent 62%)}
.fire-jumbo__title{color:#fff}
.fire-jumbo__lede{color:var(--text)}
.fire-trust{border-top-color:var(--line)}
.fire-trust li{color:var(--muted)}
.fire-trust strong{color:#fff}

/* Bands */
.fire-section--dark{background:#000;border-block:1px solid var(--line)}
.fire-section--dark h2,.fire-section--dark h3{color:#fff}
.fire-section--dark .fire-lead,.fire-section--dark p{color:var(--text)}
.fire-section--dark .fire-pillar{background:rgba(255,255,255,.03);border-color:var(--line)}
.fire-cta-band{background:var(--surface);border-top:1px solid var(--line)}
.fire-cta-band::before{background:radial-gradient(50% 50% at 50% 50%,rgba(160,234,113,.20),transparent 68%)}
.fire-cta-band h2{color:#fff}
.fire-footer{background:#000;border-top:1px solid var(--line)}
.fire-footer::before{display:none}
.fire-footer__logo{color:#fff}
.fire-footer a{color:var(--text-2)}
.fire-footer a:hover{color:var(--acc)}
.fire-pagehero--art,.fire-hero--art{background:var(--bg)}
.fire-pagehero--art::after{background:linear-gradient(100deg,var(--bg) 26%,rgba(5,17,26,.80) 62%,rgba(5,17,26,.30))}
.fire-hero--art::after{background:linear-gradient(100deg,var(--bg) 28%,rgba(5,17,26,.78) 62%,rgba(5,17,26,.30))}
.fire-pagehero{border-bottom-color:var(--line)}

/* Surfaces */
.fire-route,.fire-track,.fire-card,.fire-forming,.fire-accordion,.fire-enrol,.fire-authorbox{background:var(--surface);border-color:var(--line);box-shadow:none}
.fire-route:hover,.fire-track:hover,.fire-card:hover{border-color:var(--acc);background:var(--surface-2);box-shadow:0 18px 44px rgba(0,0,0,.4)}
.fire-route h3,.fire-track h3,.fire-card__title a,.fire-forming h3{color:#fff}
.fire-route__go,.fire-card__link,.fire-textlink,.fire-card__meta{color:var(--acc)}
.fire-numbered__n{color:var(--acc);background:none;-webkit-text-fill-color:currentColor}
.fire-numbered li{border-top-color:var(--line)}
.fire-proof h3{border-top:2px solid var(--acc);border-image:none;color:#fff}
.fire-acc summary::after{border-color:var(--acc)}
.fire-acc summary h3{color:#fff}
.fire-acc summary:hover{background:var(--surface-2)}
.fire-tags li,.fire-meta li{background:rgba(255,255,255,.05);border-color:var(--line);color:var(--text-2)}
.fire-list--check li::before,.fire-prose--wide ul li::before{background:var(--acc)}
.fire-definition{border-left:2px solid var(--acc);border-image:none;background:var(--acc-soft);color:var(--text-2)}
.fire-section--accent{background:var(--surface);border-color:var(--line)}
.fire-prose--wide ul li,.fire-prose--wide ol li{background:var(--surface);border-color:var(--line);color:var(--text)}
.fire-prose--wide ol li::before{color:var(--acc)}
.fire-prose--wide h2::before{background:var(--acc)}
.fire-prose--wide strong,.fire-price,.fire-enrol__course,.fire-enrol__price,.fire-enrol__meta dd{color:#fff}
.fire-prose--wide p>strong:only-child{background:var(--acc-soft);border-color:var(--acc);color:var(--text-2)}
.fire-field label{color:#fff}
.fire-field input,.fire-field select,.fire-field textarea{background:var(--surface);color:#fff;border-color:var(--line-2)}
.fire-field input:focus,.fire-field select:focus,.fire-field textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.fire-pagination .current{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.fire-mobilebar{background:rgba(5,17,26,.96);border-top-color:var(--line)}
.fire-prose--post pre{background:#000;border-color:var(--line)}
.fire-prose--post code{background:var(--surface-2);color:var(--acc)}
.fire-prose--post blockquote{border-left-color:var(--acc)}
.fire-table th,.fire-table td{border-bottom-color:var(--line)}
.fire-term{border-bottom-color:var(--line)}
.fire-term h2 a,.fire-person h2 a,.fire-person h3 a{color:#fff}

/* ---------- Animation: WOW-equivalent, no jQuery ---------- */
.fx{opacity:0;will-change:transform,opacity}
.fx-up{transform:translateY(28px)}
.fx-right{transform:translateX(36px)}
.fx-left{transform:translateX(-36px)}
.fx-in{opacity:1!important;transform:none!important;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
.fx[data-fx-delay="1"].fx-in{transition-delay:.10s}
.fx[data-fx-delay="2"].fx-in{transition-delay:.20s}
.fx[data-fx-delay="3"].fx-in{transition-delay:.30s}
.fx[data-fx-delay="4"].fx-in{transition-delay:.40s}
.fx[data-fx-delay="5"].fx-in{transition-delay:.50s}
.fx[data-fx-delay="6"].fx-in{transition-delay:.60s}

.fx-char{display:inline-block;opacity:0;transform:translateY(.5em) rotate(2deg)}
.fx-char.fx-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.22,.61,.36,1)}

@media(prefers-reduced-motion:reduce){
  .fx,.fx-char{opacity:1!important;transform:none!important;transition:none!important}
}

/* ============================================================
   v3.1 — imagery removed. Typography and space carry the design.
   ============================================================ */

/* Bigger, quieter hero */
.fire-jumbo{padding-block:clamp(5rem,13vw,10rem) clamp(3.5rem,7vw,6rem)}
.fire-jumbo__title{font-size:clamp(2.9rem,1.4rem + 5.4vw,5rem);max-width:16ch;line-height:1.05;letter-spacing:-.035em}
.fire-jumbo__lede{font-size:1.22rem;max-width:52ch;line-height:1.7}
.fire-jumbo__glow{background:radial-gradient(38% 34% at 12% 74%,rgba(160,234,113,.16),transparent 68%)}

/* Accent rule under the eyebrow, replaces decorative art */
.fire-eyebrow{display:flex;align-items:center;gap:.85rem}
.fire-eyebrow::before{content:"";width:32px;height:2px;background:var(--acc);flex:none}

/* Section headings get room */
.fire-section--pad{padding-block:clamp(4rem,9vw,8rem)}
.fire-section--dark{padding-block:clamp(4rem,9vw,8rem)}
.fire-h2{max-width:18ch}
.fire-lead{margin-bottom:3rem}

/* Cards without images need internal structure */
.fire-card__body{padding:2rem 1.85rem}
.fire-card__title{font-size:1.22rem;margin-bottom:.7rem}
.fire-card__meta{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.fire-card__desc{margin-bottom:1.5rem}
.fire-track__body{padding:2rem 1.85rem}
.fire-track h3{font-size:1.22rem;padding-bottom:1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}
.fire-route{padding:2.4rem 2rem}
.fire-route h3{font-size:1.22rem}

/* Track cards get a number instead of a picture */
.fire-track{counter-increment:trk;position:relative}
.fire-grid--4{counter-reset:trk}
.fire-track::before{
  content:counter(trk,decimal-leading-zero);
  display:block;padding:1.85rem 1.85rem 0;
  font-family:var(--font);font-size:.8rem;letter-spacing:.16em;color:var(--acc);font-weight:700;
}

/* Numbered block: large numerals */
.fire-numbered{gap:3.5rem 4rem}
.fire-numbered__n{font-size:2.6rem;font-weight:200;letter-spacing:-.02em;line-height:1;margin-bottom:1.1rem;opacity:.9}
.fire-numbered h3{font-size:1.3rem}

/* Trust row reads as data */
.fire-trust{gap:2rem;padding-top:3rem}
.fire-trust strong{font-size:1.1rem;font-weight:700}

/* Forming list */
.fire-forming li{padding:1.6rem 2rem}
.fire-forming h3{font-size:1.1rem}

/* Quieter accordion */
.fire-acc summary{padding:1.45rem 1.85rem}
.fire-acc>ul,.fire-acc>p{padding:0 1.85rem 1.85rem}

/* Course page rhythm */
.fire-hero{padding-block:clamp(2.5rem,6vw,4rem) 2.5rem;border-bottom:1px solid var(--line)}
.fire-hero__title{font-size:clamp(2.1rem,1.3rem + 3vw,3.2rem);line-height:1.1}
.fire-article .fire-section{padding-block:3.5rem}

/* CTA band */
.fire-cta-band{padding-block:clamp(4rem,9vw,7rem)}
.fire-cta-band h2{font-size:clamp(2.1rem,1.3rem + 3vw,3.2rem);max-width:18ch}
