/* =====================================================================
   LitBooked — global consistency layer
   Loaded last in <head> (inc/head.php). Uses #main scoped selectors and
   !important so it wins over the page level <style> blocks that follow.

   1. Tokens (page width + gutter taken from index.php)
   2. Typography: Inter only, one heading scale, one paragraph size
   3. Layout: one content width and gutter for every page and section
   4. White header and white page heroes / banners
   5. Responsive safety: no horizontal overflow
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --lb-page-width:1240px;
  --lb-page-gutter:clamp(24px,5vw,64px);
  --wrap:1240px;
  --gut:var(--lb-page-gutter);
  --display:'Inter',sans-serif;
  --body:'Inter',sans-serif;
  --font-display:'Inter',sans-serif;
  --font-body:'Inter',sans-serif;
  --nav-font:'Inter',sans-serif;

  --lb-h1-size:clamp(2.25rem,1.55rem + 2.8vw,4rem);        /* 36 → 64px */
  --lb-h1-lh:1.1;
  --lb-h2-size:clamp(1.875rem,1.4rem + 1.9vw,3rem);        /* 30 → 48px */
  --lb-h2-lh:1.18;
  --lb-h3-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);      /* 20 → 26px */
  --lb-h3-lh:1.3;
  --lb-h4-size:clamp(1.125rem,1.07rem + .25vw,1.25rem);    /* 18 → 20px */
  --lb-h4-lh:1.4;
  --lb-h5-size:1rem;                                        /* 16px */
  --lb-h5-lh:1.5;
  --lb-p-size:1rem;                                         /* 16px */
  --lb-p-lh:1.7;
}
@media (max-width:760px){
  :root{ --lb-page-gutter:clamp(18px,5vw,28px); }
}

/* ---------- 2. Typography ---------- */
html body,
html body *{
  font-family:'Inter',sans-serif !important;
}
html body{ font-size:16px; line-height:var(--lb-p-lh); }

/* Headings: identical size, line height and weight on every page.
   Scoped to #main so the header menu, cart drawer and footer keep
   their small UI labels. Excluded: big stat numbers and tiny UI labels
   that only use a heading tag for structure (outcome stats, sidebar
   labels, form step labels). */
html body #main h1:not(:is(.lb-outcomes__number,.lb-outcomes__title,.aside-h,.article-h,.outcomes > *,.res-panel *,.pb-form > *)){
  font-size:var(--lb-h1-size) !important;
  line-height:var(--lb-h1-lh) !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
}
html body #main h2:not(:is(.lb-outcomes__number,.lb-outcomes__title,.aside-h,.article-h,.outcomes > *,.res-panel *,.pb-form > *)){
  font-size:var(--lb-h2-size) !important;
  line-height:var(--lb-h2-lh) !important;
  font-weight:400 !important;
  letter-spacing:-.02em !important;
}
html body #main h3:not(:is(.lb-outcomes__number,.lb-outcomes__title,.aside-h,.article-h,.outcomes > *,.res-panel *,.pb-form > *)){
  font-size:var(--lb-h3-size) !important;
  line-height:var(--lb-h3-lh) !important;
  font-weight:400 !important;
  letter-spacing:-.01em !important;
}
html body #main h4:not(:is(.lb-outcomes__number,.lb-outcomes__title,.aside-h,.article-h,.outcomes > *,.res-panel *,.pb-form > *)){
  font-size:var(--lb-h4-size) !important;
  line-height:var(--lb-h4-lh) !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}
html body #main h5:not(:is(.lb-outcomes__number,.lb-outcomes__title,.aside-h,.article-h,.outcomes > *,.res-panel *,.pb-form > *)){
  font-size:var(--lb-h5-size) !important;
  line-height:var(--lb-h5-lh) !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}
/* Paragraphs: one size and line height everywhere. Excluded: small
   uppercase eyebrow / kicker / tag labels, stat values and the miniature
   UI mockups (book cover, browser preview) that use <p> for decoration. */
html body p:not(#lb-x):not(:is([class*="eyebrow"],[class*="kicker"],[class*="label"],[class*="__tag"],[class*="__k"],.k,.v,.n,.lbc-k,.lb-outcomes__copy,.lb-outcomes__description,.lbtk-flow__step,.csf-project__kind,.csf-caption__brand,.article-band-title,.jump,.lb2-hero__card-text,.fx-meta,.lbtk-info__meta,.article-tags,.lb3-pb__lead,.lb3-pb__book *,.lb-site *,.lb3-pb__features *,.lb3-pb__assurances *,.lb3-pb__scribble *,[aria-hidden="true"] *)){
  font-size:var(--lb-p-size) !important;
  line-height:var(--lb-p-lh) !important;
}

/* ---------- 3. Layout: one content width everywhere ---------- */
html body :is(.wrap,.csf-wrap,.lb2-c,.lbtk-c,.article-c):not(#lb-x){
  width:100% !important;
  max-width:var(--lb-page-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--lb-page-gutter) !important;
  padding-right:var(--lb-page-gutter) !important;
  box-sizing:border-box !important;
}
/* A container nested in another container must not add a second gutter. */
html body :is(.wrap,.csf-wrap,.lb2-c,.lbtk-c,.article-c) :is(.wrap,.csf-wrap,.lb2-c,.lbtk-c,.article-c):not(#lb-x){
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* ---------- 4. White header ---------- */
html body header.nav,
html body header.nav.is-scrolled,
html body header.nav .nav-in,
html body header.nav.is-scrolled .nav-in{
  background:#fff !important;
}
html body header.nav{
  padding:0 !important;
  border-bottom:1px solid rgba(18,21,26,.09) !important;
}
html body header.nav .nav-in{
  max-width:var(--lb-page-width) !important;
  padding-left:var(--lb-page-gutter) !important;
  padding-right:var(--lb-page-gutter) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ---------- 5. Responsive safety ---------- */
html,body{ max-width:100%; overflow-x:hidden; }
@supports (overflow:clip){ html,body{ overflow-x:clip; } }
html body #main img,
html body #main video,
html body #main iframe{ max-width:100%; }
html body #main :is(h1,h2,h3,h4,h5,p,li,a){ overflow-wrap:break-word; }
html body #main table{ max-width:100%; }

/* ---------- 6. Sections that were narrower than the page width ---------- */
html body #main :is(.lb3-svc__list,.svcp-svc__rows,.cmp-engine-rows,.lb3-ba,.cmp-outcomes-card,.wwh-select,.lbtk-stage,.lbtk-rail,.lb2-offices){
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
html body #main figure.quote{ margin-left:0 !important; margin-right:0 !important; }
html body #main .phero-in:not(#lb-x),
html body #main .phero--solo .phero-in:not(#lb-x){ max-width:var(--lb-page-width) !important; }

/* ---------- 7. White page surfaces, heroes and banners ---------- */
:root{ --paper:#fff; }
html body{ background:#fff !important; }

/* Short inner page hero (.phero): was dark charcoal with an amber glow. */
html body #main .phero{
  background:#fff !important;
  color:var(--on-paper,#101418) !important;
  border-bottom:1px solid var(--line,#E7E3DB);
}
html body #main .phero::before,
html body #main .phero.band--glow::before,
html body #main .phero::after{ background:none !important; opacity:0 !important; }
html body #main .phero :is(h1,h2,h3,h4):not(.outcomes *):not(.audit *){ color:var(--on-paper,#101418) !important; }
html body #main .phero .lede,
html body #main .phero > .wrap > div > p:not(.eyebrow){ color:var(--on-paper-mute,#5B6470) !important; }
html body #main .phero .eyebrow{ color:var(--amber-deep,#A4630F) !important; }
html body #main .phero .crumbs,
html body #main .phero .crumbs a{ color:var(--on-paper-faint,#6B7079) !important; }
html body #main .phero .btn--line{ border-color:rgba(16,20,24,.22) !important; color:var(--on-paper,#101418) !important; background:transparent !important; }
html body #main .phero .btn--line:hover{ background:var(--on-paper,#101418) !important; color:#fff !important; }
html body #main .phero .tlink{ color:var(--amber-deep,#A4630F) !important; }
html body #main .phero .h-1 em,
html body #main .phero .h-1 .glow{ color:var(--amber-deep,#A4630F) !important; }

/* Warm cream / amber tinted heroes and banners. */
html body #main :is(.res-hero,.svcp-intro,.band--paper,.article-band,.wwh-adjacent-panel){
  background:#fff !important;
  background-image:none !important;
}
html body #main .article-band{ border-bottom:1px solid var(--line,#E7E3DB); }
html body #main .wwh-adjacent-panel{ border:1px solid var(--line,#E7E3DB); }

/* Resources search field could not shrink below its default width on phones. */
html body #main .res-search{ flex:1 1 260px; min-width:0; }
html body #main .res-search input{ flex:1 1 auto; min-width:0; width:100%; }
html body #main .res-search button{ flex:0 0 auto; }

/* Justified running text opens wide gaps on narrow screens: left align it there. */
@media (max-width:760px){
  html body #main :is(.lb2-body p,.lb2-hero__sub,.lb2-svc__main p,.lb2-case__body p,.lb2-step p,.lb2-cta p,.lb2-manifesto__row p,.lb2-statement,.lb2-note,.lbtk-hero__sub){
    text-align:left !important;
    text-align-last:auto !important;
  }
}

/* Service page numbered prose: stack the number above the text on phones
   (the original mobile rule was written before the base rule and never applied). */
@media (max-width:640px){
  html body #main .cmp-prose-item{ grid-template-columns:minmax(0,1fr) !important; gap:14px !important; padding:36px 0 !important; }
  html body #main .cmp-prose-item:first-child{ padding-top:0 !important; }
}

/* Free audit light demo: let the shared h2 size wrap in fewer lines. */
html body #main .fx-banner .fa2-light-copy h2{ max-width:14ch !important; }

/* Legal pages: reading column starts on the page edge instead of floating in the middle. */
html body #main :is(.privacy-content-in,.terms-content-in){ justify-content:start !important; }

/* Case study hero subtitle: keep its fixed line breaks inside the phone screen. */
@media (max-width:640px){
  html body #main .csx .csx-title .glow:not(#lb-x){ font-size:clamp(1.3rem,6.4vw,2rem) !important; }
}

/* Case study appended sections: give the heading room above the cards. */
html body #main :is(.csx-toolkits-head,.csx-services-head){ margin-bottom:clamp(24px,3vw,40px) !important; }

/* =====================================================================
   8. White edition — every remaining dark band becomes a light surface.
   Sections are listed explicitly so nothing unexpected flips. Text in
   them is reset to the paper palette; amber accents move to amber-deep
   so they keep AA contrast on white. Buttons keep their own styling.
   ===================================================================== */
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.cmp-marq,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band,.wwh-gallery):not(#lb-x){
  --ink:#F6F4EF; --ink-raised:#fff; --ink-raised-2:#F1EEE8;
  --ink-line:rgba(16,20,24,.10); --ink-line-2:rgba(16,20,24,.18);
  --on-ink:#101418; --on-ink-mute:#5B6470; --on-ink-faint:#6B7079;
  background:#F6F4EF !important;
  background-image:none !important;
  color:#101418 !important;
  border-top:1px solid #ECE8E0;
  border-bottom:1px solid #ECE8E0;
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.cmp-marq,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band,.wwh-gallery):not(#lb-x)::before{
  opacity:0 !important;
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.cmp-marq,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band,.wwh-gallery) :is(h1,h2,h3,h4,h5,strong,b,blockquote,dt,figcaption,[class*="title"],[class*="num"],[class*="value"],[class*="stat"]):not(.btn *,.btn,button *){
  color:#101418 !important;
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.cmp-marq,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band,.wwh-gallery) :is(p,li,span,dd,cite,small,a:not(.btn),div):not(.btn *,.btn,button *,[class*="eyebrow"],[class*="kicker"],em,.glow){
  color:#4A525D !important;
  border-color:rgba(16,20,24,.10);
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.cmp-marq,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band,.wwh-gallery) :is([class*="eyebrow"],[class*="kicker"],em,.glow,.tlink,svg){
  color:#A4630F !important;
}
/* Cards that sat on the dark band as translucent glass become white cards. */
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) :is([class*="card"],[class*="cell"],[class*="item"]:not(span),.outcomes):not(.btn){
  background:#fff !important;
  border-color:#E7E3DB !important;
}

/* Header drop-down menus and the mobile menu: white. */
html body .menu{ background:#fff !important; border:1px solid #E7E3DB !important; box-shadow:0 24px 60px -20px rgba(16,20,24,.25) !important; }
html body .menu a:hover{ background:#F6F4EF !important; }
html body .menu a b{ color:#101418 !important; }
html body .menu a span{ color:#6B7079 !important; }
html body .mnav{ background:#fff !important; }
html body .mnav :is(.mnav-grp > a,.mnav-tog,.mnav-close){ color:#101418 !important; }
html body .mnav-grp{ border-color:#ECE8E0 !important; }
html body .mnav-sub a{ color:#5B6470 !important; }
html body .mnav-sub a:hover{ color:#A4630F !important; }

/* Toast notice: light chip with dark text. */
html body .toast{ background:#101418; color:#fff; }
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) .btn--line,
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) .btn--line *{
  color:#101418 !important; border-color:rgba(16,20,24,.28) !important;
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) .btn--line:hover{
  background:#101418 !important;
}
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) .btn--line:hover *,
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) .btn--line:hover{ color:#fff !important; }

/* Amber labels on white: the light amber (#F1A23B) reads at ~2:1 on white.
   Small labels and step numbers use the deep amber so they pass AA. */
html body #main :is(section,.band):not(.lb-final-hero,.csx-source-film,.article-cta-img,[class*="hero"] [class*="media"]) :not(.fx-banner *,.fx-banner,.fa2-light-demo *,.lb2-final *,[class*="final"] [class*="panel"] *):is(.eyebrow,.lb2-eyebrow,.lb2-step__n,.fa2-step__n,.tk-authority-no,.privacy-num,.terms-num){
  color:#A4630F !important;
}

/* Black marquee strips (services, about, service pages): light strip with
   dark type so the page stays white end to end. */
html body #main :is(.e3-marquee-wrap,.lb2-marq,.cmp-marq):not(#lb-x){
  background:#F6F4EF !important;
  border-top:1px solid #ECE8E0 !important;
  border-bottom:1px solid #ECE8E0 !important;
}
html body #main :is(.e3-marquee-wrap,.lb2-marq,.cmp-marq) :is(.e3-word,[class*="marq__item"],[class*="marq-item"]):not(#lb-x){
  color:#101418 !important;
}
html body #main :is(.e3-marquee-wrap,.lb2-marq,.cmp-marq) :is(.e3-word.dim,[class*="marq__item"]:nth-child(4n+3),[class*="marq-item"]:nth-child(4n+3)):not(#lb-x){
  color:#A4630F !important;
}
/* Services: empty decorative row above the marquee left a stray line and gap. */
html body #main .cta-e3 .e3-top{ display:none !important; }

/* Services hero: the dark jump rail becomes a white rail. */
html body #main .svx-hero__rail{ background:rgba(255,255,255,.96) !important; border-top:1px solid #E7E3DB !important; box-shadow:0 -12px 32px -24px rgba(16,20,24,.35); }
html body #main .svx-hero__rail a{ color:#101418 !important; border-left-color:#ECE8E0 !important; }
html body #main .svx-hero__rail a:hover{ background:#F6F4EF !important; }
html body #main .svx-hero__rail strong{ color:#101418 !important; }
html body #main .svx-hero__rail small{ color:#A4630F !important; }
html body #main .svx-hero__rail i{ color:#8B9199 !important; }

/* Headline accents inside converted bands keep their amber. */
html body #main :is(.band--ink,.lb3-results,.cmp-proof,.aud-answer,.aud-proof,.svcp-proof,.csf-quotes,.csx-metrics,.csx-quote-band) :is(h1,h2,h3) :is(.accent,em,span.glow){
  color:#C9831F !important;
}

/* Testimonial cards: one light treatment on every page. */
html body #main .quote:not(#lb-x){ background:#fff !important; border:1px solid #E7E3DB !important; }
html body #main .quote :is(blockquote,blockquote p,figcaption b):not(#lb-x){ color:#101418 !important; }
html body #main .quote figcaption > span:not(#lb-x){ color:#6B7079 !important; }
html body #main .quote :is(.tlink,.mark):not(#lb-x){ color:#A4630F !important; }

/* Checklists that were written for dark panels. */
html body #main .outcomes li:not(#lb-x),
html body #main .outcomes li span:not(#lb-x){ color:#2B3139 !important; }
html body #main .outcomes li svg{ color:#C9831F !important; }

/* Remaining amber-on-white labels and links. */
html body #main :is(.refund-number,.refund-num):not(#lb-x){ color:#A4630F !important; }
html body #main :is(section,.band) a.tlink:not(.tk--bundle *,.fx-banner *,[class*="final"] [class*="panel"] *,#lb-x){ color:#A4630F !important; }

/* =====================================================================
   9. Design system — one button, one label, one link style everywhere.
   Every template grew its own button (square, pill, uppercase, black,
   amber). These rules give them all the same shape, type and colours.
   ===================================================================== */
html body :is(.btn,.lbtk-btn,.e3-btn-primary,.e3-btn-ghost,.cmp-calc-cta,.article-cta-img__btn,.c3-cta):not(#lb-x){
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  min-height:48px; padding:12px 26px !important;
  border-radius:999px !important;
  font-family:'Inter',sans-serif !important; font-size:15px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important; line-height:1.2 !important;
  box-shadow:none;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease !important;
}
html body :is(.btn,.lbtk-btn,.e3-btn-primary,.e3-btn-ghost,.cmp-calc-cta,.article-cta-img__btn,.c3-cta):not(#lb-x)::before{ display:none !important; }
html body :is(.btn,.lbtk-btn,.e3-btn-primary,.e3-btn-ghost,.cmp-calc-cta,.article-cta-img__btn,.c3-cta):not(#lb-x):hover{ transform:translateY(-2px); }
html body .btn--sm:not(#lb-x){ min-height:40px; padding:9px 18px !important; font-size:14px !important; }
html body .btn--full:not(#lb-x){ width:100%; }

/* Primary: amber with dark text. */
html body :is(.btn--amber,.btn--primary,.lbtk-btn--primary,.e3-btn-primary,.cmp-calc-cta,.article-cta-img__btn,.c3-cta):not(#lb-x){
  background:#F1A23B !important; border:1px solid #F1A23B !important; color:#12151A !important;
}
html body :is(.btn--amber,.btn--primary,.lbtk-btn--primary,.e3-btn-primary,.cmp-calc-cta,.article-cta-img__btn,.c3-cta):not(#lb-x):hover{
  background:#DC8C22 !important; border-color:#DC8C22 !important; color:#12151A !important;
  box-shadow:0 12px 26px -12px rgba(220,140,34,.6);
}
/* Secondary: outline that fills dark on hover. */
html body :is(.btn--line,.btn--ghost,.lbtk-btn--ghost,.e3-btn-ghost):not(#lb-x){
  background:#fff !important; border:1px solid rgba(16,20,24,.2) !important; color:#101418 !important;
}
html body :is(.btn--line,.btn--ghost,.lbtk-btn--ghost,.e3-btn-ghost):not(#lb-x):hover{
  background:#101418 !important; border-color:#101418 !important; color:#fff !important;
}
html body :is(.btn--line,.btn--ghost,.lbtk-btn--ghost,.e3-btn-ghost):not(#lb-x):hover *{ color:#fff !important; }
/* Buttons that sit on a photo or a dark card keep a light outline. */
html body :is(.lb2-final,.article-cta-img,.fx-banner) :is(.btn--line,.btn--ghost):not(#lb-x){
  background:transparent !important; border-color:rgba(255,255,255,.45) !important; color:#fff !important;
}
html body :is(.lb2-final,.article-cta-img,.fx-banner) :is(.btn--line,.btn--ghost):not(#lb-x):hover{
  background:#fff !important; border-color:#fff !important; color:#101418 !important;
}
/* Small in-card "Add to cart" buttons that are not .btn. */
html body #main button.add:not(.btn):not(#lb-x){
  min-height:36px; padding:7px 16px !important; border-radius:999px !important;
  background:#F1A23B !important; border:1px solid #F1A23B !important; color:#12151A !important;
  font-size:13px !important; font-weight:600 !important; text-transform:none !important; letter-spacing:0 !important;
}
html body #main button.add:not(.btn):not(#lb-x):hover{ background:#DC8C22 !important; border-color:#DC8C22 !important; }

/* Header CTA matches. */
html body header.nav .btn:not(#lb-x){ min-height:42px; padding:9px 20px !important; font-size:14px !important; }

/* One label style: small, uppercase, tracked, deep amber. */
html body #main :is(.eyebrow,.lb2-eyebrow,.csx-eyebrow,.cmp-eyebrow,.res-eyebrow):not(.fx-banner *,.fa2-light-demo *,.article-cta-img *):not(#lb-x){
  font-size:12px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important;
}
@media (max-width:640px){
  html body header.nav .nav-act .btn:not(#lb-x){ display:none !important; }
}

/* Case study subtitle: the two-tone gradient split words in half and the
   blurred glow behind it read as a smudge. Solid ink, no glow. */
html body #main .csx .csx-title .glow:not(#lb-x){
  background:none !important; -webkit-text-fill-color:#111418 !important; color:#111418 !important;
}
html body #main .csx .csx-title .glow::after{ display:none !important; }
/* Case study pull quote: large, but not poster-sized. */
html body #main .csx-quote blockquote:not(#lb-x){ font-size:clamp(1.6rem,1.1rem + 1.9vw,2.7rem) !important; line-height:1.22 !important; letter-spacing:-.025em !important; }

/* Bundle card: the light amber treatment used on the homepage, on every page. */
html body #main .tk--bundle:not(#lb-x){
  background:linear-gradient(100deg,#FFF4E3,#fff 70%) !important; color:#101418 !important;
  border:1px solid #F1A23B !important; box-shadow:none !important;
}
html body #main .tk--bundle:not(#lb-x)::before,
html body #main .tk--bundle:not(#lb-x)::after{ display:none !important; }
html body #main .tk--bundle :is(h3,h3 a,.tk-price):not(#lb-x){ color:#101418 !important; }
html body #main .tk--bundle p:not(#lb-x){ color:#5B6470 !important; }
html body #main .tk--bundle .tk-price s:not(#lb-x){ color:#8B9199 !important; }
html body #main .tk--bundle .k:not(#lb-x){ background:#F1A23B !important; border-color:#F1A23B !important; color:#12151A !important; }

/* Outcome checklist panels (service pages, contact): light panel to match
   the dark text set above. Inside the service-page card it sits flush. */
html body #main .outcomes:not(#lb-x){ background:#fff !important; border:1px solid #E7E3DB !important; color:#101418 !important; }
html body #main .cmp-outcomes-card .outcomes:not(#lb-x){ background:transparent !important; border:0 !important; padding:0 !important; }
html body #main .outcomes :is(h2,h3):not(#lb-x){ color:#A4630F !important; }
html body #main .outcomes a:not(#lb-x){ color:#101418 !important; }
html body #main .outcomes a:not(#lb-x):hover{ color:#A4630F !important; }

/* Accent words in headings: the blurred glow behind them smudged on white,
   and the light amber sat near 2:1 contrast. Deeper amber, no glow. */
html body #main .glow::after{ display:none !important; }
html body #main :is(section,.band,.phero):not(.fx-banner,.article-cta-img,.lb2-final,[class*="final"]) :is(h1,h2) :is(em,.glow,.accent,.cmp-highlight,[class*="highlight"]):not(.csx-title .glow):not(#lb-x){
  color:#C47A14 !important; -webkit-text-fill-color:#C47A14 !important; background:none !important; text-shadow:none !important;
}
/* Labels that were faded with opacity. */
html body #main :is(.eyebrow,.cmp-story-head .eyebrow):not(#lb-x){ opacity:1 !important; }
html body #main .outcomes :is(small,dt,.k,[class*="label"]):not(#lb-x){ color:#6B7079 !important; opacity:1 !important; }

/* Who we help: index strip lines up with the page content column; the
   caption on the hero photo keeps a light accent. */
html body #main .wwh-hero__index:not(#lb-x){ padding-left:max(var(--lb-page-gutter), calc((100% - var(--lb-page-width)) / 2 + var(--lb-page-gutter))); padding-right:max(var(--lb-page-gutter), calc((100% - var(--lb-page-width)) / 2 + var(--lb-page-gutter))); }
html body #main .wwh-hero__index span:first-child{ padding-left:0; }
html body #main .wwh-hero__media-cap small:not(#lb-x){ color:#FFCF82 !important; }


/* =====================================================================
   10. Conversion helpers
   ===================================================================== */
/* The header cart only appears once a toolkit is in the cart. */
html:not(.has-cart) header.nav .cart-btn{ display:none !important; }

/* "Prefer to talk?" line under call-to-action buttons. */
.talk-links{ margin-top:16px; color:#6B7079; font-size:14px !important; line-height:1.5 !important; }
.talk-links a{ color:#A4630F; font-weight:600; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.talk-links a:hover{ color:#101418; }
.talk-links span{ margin:0 6px; color:#B8B2A7; }
#audit .audit-card .talk-links{ margin-top:14px; font-size:13.5px !important; }

/* Article in-text call-to-action links share the sitewide pill button. */
html body #main p.article-cta a:not(#lb-x){
  display:inline-flex !important; align-items:center; justify-content:center; min-height:48px;
  padding:12px 26px !important; border-radius:999px !important; border:1px solid #F1A23B !important;
  background:#F1A23B !important; color:#12151A !important; box-shadow:none !important;
  font-size:15px !important; font-weight:600 !important; text-decoration:none !important; letter-spacing:0 !important;
  transition:background-color .2s ease,transform .2s ease !important;
}
html body #main p.article-cta a:not(#lb-x):hover{ background:#DC8C22 !important; border-color:#DC8C22 !important; transform:translateY(-2px); }

/* Article tables: light header to match the white theme. */
html body #main .article-body .article-table th:not(#lb-x){ background:#F6F4EF !important; color:#101418 !important; border-color:#E7E3DB !important; }
