/* BodySense self-hosted fonts (Fraunces + Mulish variable woff2) */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/fraunces-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/fraunces-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/fraunces-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/mulish-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/mulish-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/mulish-vietnamese.woff2') format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/mulish-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:100 900;font-display:swap;src:url('/wp-content/uploads/bodysense/fonts/mulish-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* BodySense — Website UI kit base styles
   Builds on ../../colors_and_type.css. */
/* ============================================================
   BodySense — Colors & Type foundations
   Source: BodySense_Website_Design_Brief.md (Lightning Digital, 27 May 2026)
   Logo + IG graphic sampling.

   Loads Fraunces (display serif) + Mulish (UI sans) from Google Fonts.
   Substitution note: brief recommends Fraunces / Playfair / Canela for
   display, and Inter / Mulish / Work Sans for UI. We've picked the
   warmest pair that's free + Bricks-friendly: Fraunces + Mulish.
   Flag to client: confirm or supply licensed alternates.
   ============================================================ */

:root {
  /* ----- Brand colors (sampled from logo, 27 May 2026) ----- */
  --bs-magenta:        #E82977;  /* primary, signature, "energy" */
  --bs-magenta-deep:   #B81C5C;  /* hover / press */
  --bs-magenta-tint:   #FCE5EE;  /* surfaces, badges */

  --bs-green:          #43C323;  /* secondary, vitality */
  --bs-green-deep:     #2F9617;  /* hover / press / readable on paper */
  --bs-green-tint:     #E4F7DE;  /* recipe / "do" callouts */

  --bs-teal:           #5BA9A0;  /* coastal accent, premium undertone */
  --bs-teal-deep:      #3F8278;
  --bs-teal-tint:      #DFEEEC;

  /* ----- Ink (text, near-black from logo) ----- */
  --bs-ink:            #1E1E1E;  /* body text, headings */
  --bs-ink-2:          #3A3A3A;  /* secondary text */
  --bs-ink-3:          #6B6B6B;  /* meta, eyebrows, captions */
  --bs-ink-4:          #A6A4A0;  /* placeholders, disabled */

  /* ----- Paper (warm off-white workhorse) ----- */
  --bs-paper:          #F7F6F2;  /* default page surface */
  --bs-paper-warm:     #EFEBE2;  /* alt sections, cards-on-paper */
  --bs-paper-edge:     #E6E2D9;  /* hairlines on paper */
  --bs-white:          #FFFFFF;  /* product cards, callouts */

  /* ----- Status / semantic (derived from brand) ----- */
  --bs-success:        #2F9617;  /* = green-deep, "passed health check" */
  --bs-warning:        #D98A1A;  /* warm amber, avoids competing w/ magenta */
  --bs-danger:         #C8324F;  /* sits next to magenta but darker */
  --bs-info:           #3F8278;  /* = teal-deep */

  /* ----- Borders / shadows ----- */
  --bs-line:           rgba(30, 30, 30, 0.10);
  --bs-line-strong:    rgba(30, 30, 30, 0.18);
  --bs-shadow-card:    0 1px 2px rgba(30,30,30,.04), 0 8px 24px rgba(30,30,30,.06);
  --bs-shadow-lift:    0 4px 8px rgba(30,30,30,.06), 0 20px 48px rgba(30,30,30,.10);
  --bs-shadow-inset:   inset 0 0 0 1px rgba(30,30,30,.06);

  /* ----- Radii (small, premium, never pill-blobby) ----- */
  --bs-radius-xs: 4px;
  --bs-radius-sm: 8px;
  --bs-radius-md: 14px;     /* default cards */
  --bs-radius-lg: 22px;     /* hero blocks, images */
  --bs-radius-pill: 999px;  /* chips, tags */

  /* ----- Spacing scale (8pt-ish, generous) ----- */
  --bs-s-1:  4px;
  --bs-s-2:  8px;
  --bs-s-3: 12px;
  --bs-s-4: 16px;
  --bs-s-5: 24px;
  --bs-s-6: 32px;
  --bs-s-7: 48px;
  --bs-s-8: 64px;
  --bs-s-9: 96px;
  --bs-s-10: 128px;

  /* ----- Typography stacks ----- */
  --bs-serif: 'Fraunces', 'Playfair Display', Georgia, 'Times New Roman', serif;
  --bs-sans:  'Mulish', 'Inter', 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-mono:  ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, monospace;

  /* ----- Type scale (rem, fluid where useful) ----- */
  --bs-fs-display:   clamp(48px, 6vw, 84px);   /* hero serif */
  --bs-fs-h1:        clamp(36px, 4vw, 56px);
  --bs-fs-h2:        clamp(28px, 3vw, 40px);
  --bs-fs-h3:        24px;
  --bs-fs-h4:        20px;
  --bs-fs-lead:      20px;                      /* intro paragraph */
  --bs-fs-body:      17px;                      /* default reading */
  --bs-fs-small:     15px;
  --bs-fs-meta:      13px;                      /* eyebrows, captions */
  --bs-fs-micro:     11px;

  /* ----- Semantic role colors (light theme) ----- */
  --fg-1: var(--bs-ink);
  --fg-2: var(--bs-ink-2);
  --fg-3: var(--bs-ink-3);
  --fg-4: var(--bs-ink-4);
  --bg-1: var(--bs-paper);     /* page */
  --bg-2: var(--bs-white);     /* card on paper */
  --bg-3: var(--bs-paper-warm);/* alt section */
  --accent: var(--bs-magenta);
  --accent-2: var(--bs-green);
}

/* ============================================================
   Base + element defaults
   ============================================================ */
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--bs-sans);
  font-size: var(--bs-fs-body);
  line-height: 1.55;
  color: var(--fg-1);
  background: var(--bg-1);
  font-feature-settings: 'ss01', 'cv11';
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Display + headings — Fraunces, tight tracking, warm. */
.bs-display, h1.bs-display {
  font-family: var(--bs-serif);
  font-weight: 500;
  font-optical-sizing: auto;
  font-variation-settings: 'opsz' 100, 'SOFT' 50;
  font-size: var(--bs-fs-display);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--fg-1);
  text-wrap: balance;
}
h1, .bs-h1 {
  font-family: var(--bs-serif);
  font-weight: 500;
  font-size: var(--bs-fs-h1);
  line-height: 1.06;
  letter-spacing: -0.015em;
  color: var(--fg-1);
  text-wrap: balance;
}
h2, .bs-h2 {
  font-family: var(--bs-serif);
  font-weight: 500;
  font-size: var(--bs-fs-h2);
  line-height: 1.12;
  letter-spacing: -0.012em;
  color: var(--fg-1);
}
h3, .bs-h3 {
  font-family: var(--bs-sans);
  font-weight: 700;
  font-size: var(--bs-fs-h3);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--fg-1);
}
h4, .bs-h4 {
  font-family: var(--bs-sans);
  font-weight: 700;
  font-size: var(--bs-fs-h4);
  line-height: 1.3;
  color: var(--fg-1);
}

/* Body styles */
p { margin: 0 0 1em; max-width: 68ch; text-wrap: pretty; }
.bs-lead { font-size: var(--bs-fs-lead); line-height: 1.5; color: var(--fg-2); }
.bs-body { font-size: var(--bs-fs-body); line-height: 1.6; color: var(--fg-1); }
.bs-small { font-size: var(--bs-fs-small); color: var(--fg-2); }
.bs-meta {
  font-size: var(--bs-fs-meta);
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* Pull quote — the BodySense signature */
.bs-quote {
  font-family: var(--bs-serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(22px, 2.4vw, 32px);
  line-height: 1.3;
  letter-spacing: -0.005em;
  color: var(--fg-1);
  text-wrap: balance;
}
.bs-quote-attrib {
  font-family: var(--bs-sans);
  font-size: var(--bs-fs-meta);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* Links */
a {
  color: var(--bs-magenta-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover { color: var(--bs-magenta); }

/* Selection */
::selection { background: var(--bs-magenta); color: white; }

/* Utility: dark surfaces invert ink */
.bs-on-dark {
  --fg-1: #ffffff;
  --fg-2: rgba(255,255,255,.82);
  --fg-3: rgba(255,255,255,.65);
  --fg-4: rgba(255,255,255,.40);
  color: var(--fg-1);
}


* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--bs-paper);
  color: var(--bs-ink);
  font-family: var(--bs-sans);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }

.bs-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 32px;
}

.bs-section {
  padding: 96px 0;
}
.bs-section.tight { padding: 64px 0; }
.bs-section.dark { background: var(--bs-ink); color: white; }
.bs-section.warm { background: var(--bs-paper-warm); }

/* Buttons */
.bs-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--bs-sans);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.005em;
  padding: 14px 24px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  transition: background 200ms cubic-bezier(.4,0,.2,1),
              color 200ms cubic-bezier(.4,0,.2,1),
              transform 160ms cubic-bezier(.4,0,.2,1);
  text-decoration: none;
  white-space: nowrap;
}
.bs-btn-primary { background: var(--bs-magenta); color: #fff; }
.bs-btn-primary:hover { background: var(--bs-magenta-deep); }
.bs-btn-primary:active { transform: translateY(1px); }

.bs-btn-secondary {
  background: transparent; color: var(--bs-ink);
  border: 1.5px solid var(--bs-ink); padding: 12.5px 22px;
}
.bs-btn-secondary:hover { background: var(--bs-ink); color: #fff; }
.bs-btn-secondary.on-dark { color: #fff; border-color: rgba(255,255,255,.5); }
.bs-btn-secondary.on-dark:hover { background: #fff; color: var(--bs-ink); }

.bs-btn-text {
  background: transparent;
  color: var(--bs-magenta-deep);
  padding: 14px 4px;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}
.bs-btn-text:hover { color: var(--bs-magenta); text-decoration-thickness: 2px; }

.bs-btn-whatsapp { background: #25D366; color: white; }
.bs-btn-whatsapp:hover { background: #1ea854; }

/* Chip */
.bs-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700; font-size: 12px;
  letter-spacing: 0.04em;
  background: white; color: var(--bs-ink-2);
  border: 1px solid var(--bs-line);
}
.bs-chip.green   { background: var(--bs-green-tint);   color: var(--bs-green-deep);   border-color: transparent; }
.bs-chip.magenta { background: var(--bs-magenta-tint); color: var(--bs-magenta-deep); border-color: transparent; }
.bs-chip.teal    { background: var(--bs-teal-tint);    color: var(--bs-teal-deep);    border-color: transparent; }
.bs-chip.ink     { background: var(--bs-ink);          color: #fff;                   border-color: transparent; }

/* Eyebrow */
.bs-eyebrow {
  font-family: var(--bs-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bs-ink-3);
}
.bs-eyebrow.magenta { color: var(--bs-magenta-deep); }
.bs-eyebrow.on-dark { color: rgba(255,255,255,.7); }

/* Card */
.bs-card {
  background: var(--bs-white);
  border: 1px solid var(--bs-line);
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow 240ms cubic-bezier(.4,0,.2,1),
              transform 240ms cubic-bezier(.4,0,.2,1);
}
.bs-card:hover {
  box-shadow: var(--bs-shadow-card);
  transform: translateY(-2px);
}

/* Sticky nav scrim */
.bs-nav-wrap {
  position: sticky; top: 0; z-index: 50;
  background: rgba(247, 246, 242, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--bs-line);
}

/* WhatsApp FAB */
.bs-fab {
  position: fixed;
  right: 24px; bottom: 24px;
  width: 56px; height: 56px;
  background: #25D366; color: white;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(37,211,102,.35);
  cursor: pointer;
  z-index: 60;
}

/* Image utilities */
.bs-img-wrap { background: var(--bs-paper-warm); overflow: hidden; }

/* Logo block (recreates the lockup motif inline; useful where the white PNG won't do) */
.bs-logo-mark {
  display: inline-flex; align-items: stretch; position: relative;
  font-family: var(--bs-sans); font-weight: 900; letter-spacing: -0.02em;
  line-height: 1;
}
.bs-logo-mark::before {
  content: ""; position: absolute;
  top: -6px; left: -6px;
  width: 16px; height: 16px;
  background: var(--bs-magenta);
  z-index: 0;
}
.bs-logo-mark .bs-logo-body {
  background: var(--bs-green);
  padding: 4px 8px 4px 8px;
  z-index: 1; position: relative;
  color: var(--bs-ink);
}
.bs-logo-mark .bs-logo-sense {
  padding: 4px 0 4px 6px;
  color: var(--bs-ink);
}
.bs-logo-mark.on-dark .bs-logo-sense { color: white; }
.bs-logo-mark.on-dark .bs-logo-body { color: var(--bs-ink); }
.bs-logo-mark.on-dark::before { background: var(--bs-magenta); }

/* Headings micro overrides for tight layouts */
.bs-hero h1 {
  font-size: clamp(48px, 5.5vw, 84px);
  line-height: 1.0;
  letter-spacing: -0.02em;
  margin: 0;
}


/* ===== BodySense layout classes (ported from Claude Design JSX) ===== */
.bs-header__inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 0;}
.bs-header .bs-logo-mark{font-size:22px;}
.bs-header__nav{display:flex;gap:24px;flex:1;justify-content:center;}
.bs-header__nav a{font-family:var(--bs-sans);font-weight:600;font-size:14px;color:var(--bs-ink-2);white-space:nowrap;text-decoration:none;}
.bs-header__nav a:hover{color:var(--bs-magenta-deep);}
.bs-btn--sm{padding:10px 18px;font-size:13px;}

.bs-hero{position:relative;overflow:hidden;padding:72px 0 96px;}
.bs-hero__grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
.bs-hero__eyebrow{margin-bottom:20px;}
.bs-hero h1{margin-bottom:24px;}
.bs-em-magenta{font-style:italic;color:var(--bs-magenta);}
.bs-hero__lead{font-size:20px;line-height:1.5;color:var(--bs-ink-2);max-width:44ch;margin-bottom:32px;}
.bs-hero__cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.bs-hero__proof{margin-top:36px;display:flex;gap:16px;align-items:center;color:var(--bs-ink-3);font-size:13px;}
.bs-hero__proof strong{color:var(--bs-ink);font-weight:700;}
.bs-avatars{display:flex;}
.bs-avatars span{width:32px;height:32px;border-radius:50%;border:2px solid var(--bs-paper);margin-left:-10px;display:block;}
.bs-avatars span:first-child{margin-left:0;}
.bs-avatars span:nth-child(1){background:#EFE8DA;}
.bs-avatars span:nth-child(2){background:#DDE5DC;}
.bs-avatars span:nth-child(3){background:#E4D8E0;}
.bs-hero__media{position:relative;}
.bs-hero__accent-tr{position:absolute;top:-16px;right:-16px;width:96px;height:96px;background:var(--bs-magenta);z-index:0;}
.bs-hero__accent-bl{position:absolute;bottom:-16px;left:-16px;width:140px;height:140px;background:var(--bs-green);z-index:0;}
.bs-hero__img{position:relative;z-index:1;background:url('/wp-content/uploads/bodysense/lee-cropped.png') center/cover;height:540px;border-radius:22px;border:1px solid var(--bs-line);}

.bs-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:24px 0;}
.bs-trust__col{padding:8px 24px;}
.bs-trust__col + .bs-trust__col{border-left:1px solid rgba(255,255,255,.12);}
.bs-trust__big{font-family:var(--bs-serif);font-weight:500;font-size:40px;line-height:1;color:var(--bs-green);letter-spacing:-0.02em;}
.bs-trust__sub{margin-top:8px;font-size:13px;color:rgba(255,255,255,.78);font-weight:500;}

/* ===== Bricks element compatibility overrides (beat .brxe-* defaults via specificity) ===== */
.brxe-button.bs-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:0;font-family:var(--bs-sans);font-weight:700;font-size:15px;line-height:1;cursor:pointer;text-decoration:none;}
.brxe-button.bs-btn--sm{padding:10px 18px;font-size:13px;}
.brxe-button.bs-btn-primary{background:var(--bs-magenta);color:#fff;}
.brxe-button.bs-btn-primary:hover{background:var(--bs-magenta-deep);color:#fff;}
.brxe-button.bs-btn-text{background:transparent;color:var(--bs-magenta-deep);padding:14px 4px;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;}
.brxe-button.bs-btn-text:hover{color:var(--bs-magenta);}
.brxe-button.bs-btn-secondary{background:transparent;color:var(--bs-ink);border:1.5px solid var(--bs-ink);padding:12.5px 22px;}
/* neutralise Bricks default flex gaps on our wrappers where needed */
.brxe-div.bs-hero__grid{display:grid;}
.brxe-div.bs-trust__grid{display:grid;}

/* ===== Decisive button overrides (higher specificity than Bricks theme style) ===== */
.brxe-button.bs-btn.bs-btn-primary{background:var(--bs-magenta)!important;color:#fff!important;border:0!important;}
.brxe-button.bs-btn.bs-btn-primary:hover{background:var(--bs-magenta-deep)!important;color:#fff!important;}
.brxe-button.bs-btn.bs-btn-text{background:transparent!important;color:var(--bs-magenta-deep)!important;border:0!important;padding:14px 4px!important;}
.brxe-button.bs-btn.bs-btn-text:hover{color:var(--bs-magenta)!important;}
.brxe-button.bs-btn.bs-btn-secondary{background:transparent!important;color:var(--bs-ink)!important;border:1.5px solid var(--bs-ink)!important;}
.brxe-button.bs-btn.bs-btn-whatsapp{background:#25D366!important;color:#fff!important;border:0!important;}

/* ===== Section heads / shared grids ===== */
.bs-sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:24px;flex-wrap:wrap;}
.bs-sec-head h2{margin-top:12px;max-width:18ch;}
.bs-sec-head__link{font-family:var(--bs-sans);font-weight:700;font-size:14px;color:var(--bs-ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;white-space:nowrap;}
.bs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.bs-grid-articles{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;}
.bs-em-italic{font-style:italic;}
.bs-em-green{font-style:italic;color:var(--bs-green);}

/* ===== Problem / Promise ===== */
.bs-pp__grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.bs-pp__eyebrow{margin-bottom:16px;}
.bs-pp__left h2{margin-bottom:20px;}
.bs-pp__text{font-size:17px;line-height:1.65;color:var(--bs-ink-2);max-width:44ch;}
.bs-pp__list{margin-top:24px;padding:0;display:flex;flex-direction:column;gap:12px;font-size:16px;}
.bs-pp__li{display:flex;gap:12px;align-items:flex-start;}
.bs-pp__bullet{width:20px;height:20px;border-radius:50%;border:2px solid var(--bs-green-deep);display:inline-flex;align-items:center;justify-content:center;margin-top:3px;flex:none;}
.bs-pp__bullet span{width:8px;height:8px;background:var(--bs-green);border-radius:50%;display:block;}
.bs-pp__media{position:relative;}
.bs-pp__img{background:url('/wp-content/uploads/bodysense/lee-cropped.png') 25% 30%/cover;aspect-ratio:4/5;border-radius:22px;}
.bs-pp__card{position:absolute;left:-24px;bottom:32px;background:#fff;padding:20px 24px;border-radius:14px;max-width:280px;box-shadow:var(--bs-shadow-card);border:1px solid var(--bs-line);}
.bs-pp__card-title{margin:0;font-family:var(--bs-serif);font-weight:500;font-size:18px;line-height:1.3;letter-spacing:-0.005em;}
.bs-pp__card-sub{margin:8px 0 0;font-size:13px;color:var(--bs-ink-3);}
.bs-pp__card .bs-eyebrow{margin-bottom:8px;}

/* ===== Story cards ===== */
.bs-story{overflow:hidden;display:flex;flex-direction:column;}
.bs-story__top{padding:32px 28px 28px;position:relative;aspect-ratio:5/4;display:flex;flex-direction:column;justify-content:space-between;}
.bs-story__top.magenta{background:var(--bs-magenta);color:#fff;}
.bs-story__top.green{background:var(--bs-green-tint);color:var(--bs-green-deep);}
.bs-story__top.ink{background:var(--bs-ink);color:#fff;}
.bs-story__top .bs-eyebrow{color:inherit;opacity:.75;}
.bs-story__result{font-family:var(--bs-serif);font-weight:500;font-size:72px;line-height:.92;letter-spacing:-0.025em;}
.bs-story__name{font-size:13px;font-weight:600;letter-spacing:.04em;opacity:.85;}
.bs-story__body{padding:22px 24px 24px;}
.bs-story__headline{font-family:var(--bs-serif);font-weight:500;font-size:22px;line-height:1.15;letter-spacing:-0.01em;margin:0;}
.bs-story__blurb{margin-top:10px;font-size:14px;color:var(--bs-ink-2);line-height:1.55;}
.bs-story__link{margin-top:14px;display:inline-block;font-weight:700;font-size:13px;color:var(--bs-magenta-deep);text-decoration:underline;text-underline-offset:4px;}

/* ===== Program ===== */
.bs-prog__head{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:end;margin-bottom:48px;}
.bs-prog__title{margin-top:12px;max-width:18ch;}
.bs-prog__intro{font-size:17px;line-height:1.65;color:var(--bs-ink-2);margin:0;}
.bs-prog__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.bs-prog__card{padding:24px;}
.bs-prog__num{font-family:var(--bs-serif);font-weight:500;font-size:30px;color:var(--bs-magenta);letter-spacing:-0.02em;}
.bs-prog__card h4{margin:8px 0;}
.bs-prog__card p{margin:0;font-size:14px;color:var(--bs-ink-2);line-height:1.55;}
.bs-prog__cta{margin-top:40px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.bs-prog__cta-note{font-size:14px;color:var(--bs-ink-3);}
.bs-prog__cta-note strong{color:var(--bs-ink);}

/* ===== Pull quote ===== */
.bs-pq{background:var(--bs-paper);padding:112px 0;}
.bs-pq__inner{max-width:880px;}
.bs-pq__top{border-top:1.5px solid var(--bs-ink);padding-top:32px;position:relative;}
.bs-pq__mark{position:absolute;top:-28px;left:0;background:var(--bs-paper);padding-right:16px;font-family:var(--bs-serif);font-size:90px;line-height:.6;color:var(--bs-magenta);}
.bs-pq__quote{font-family:var(--bs-serif);font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.25;letter-spacing:-0.005em;margin:0;color:var(--bs-ink);}
.bs-pq__foot{border-top:1px solid var(--bs-ink);margin-top:40px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}

/* ===== Recipes ===== */
.bs-recipe__top{position:relative;aspect-ratio:4/3;padding:24px;display:flex;flex-direction:column;justify-content:space-between;}
.bs-recipe__top.green{background:var(--bs-green-tint);}
.bs-recipe__top.magenta{background:var(--bs-magenta-tint);}
.bs-recipe__tags{display:flex;gap:6px;flex-wrap:wrap;}
.bs-recipe__title{font-family:var(--bs-serif);font-weight:500;font-size:30px;line-height:.95;letter-spacing:-0.018em;max-width:12ch;}
.bs-recipe__title.green{color:var(--bs-green-deep);}
.bs-recipe__title.magenta{color:var(--bs-magenta-deep);}
.bs-recipe__body{padding:18px 22px 22px;}
.bs-recipe__meta{font-size:13px;color:var(--bs-ink-3);}
.bs-recipe__macros{display:flex;gap:8px;margin-top:12px;}
.bs-macro{background:var(--bs-paper-warm);border-radius:10px;padding:8px 12px;flex:1;text-align:center;}
.bs-macro__label{font-size:10px;letter-spacing:.18em;}
.bs-macro__val{font-family:var(--bs-serif);font-weight:600;font-size:20px;line-height:1;margin-top:2px;}
.bs-macro__val small{font-size:12px;font-family:var(--bs-sans);font-weight:700;color:var(--bs-ink-3);margin-left:2px;}

/* ===== Articles ===== */
.bs-article{padding:26px 28px;}
.bs-article__head{display:flex;justify-content:space-between;gap:16px;}
.bs-article__title{font-family:var(--bs-serif);font-weight:500;font-size:26px;line-height:1.12;letter-spacing:-0.01em;margin:12px 0;max-width:22ch;}
.bs-article__blurb{margin:0;font-size:15px;color:var(--bs-ink-2);line-height:1.55;max-width:44ch;}
.bs-article__meta{display:flex;align-items:center;gap:10px;margin-top:20px;}
.bs-article__avatar{width:28px;height:28px;border-radius:50%;background:url('/wp-content/uploads/bodysense/lee-cropped.png') center top/cover;border:1px solid var(--bs-line);flex:none;}
.bs-article__byline{font-size:12px;color:var(--bs-ink-3);}

/* ===== About Lee ===== */
.bs-about__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
.bs-about__media{position:relative;}
.bs-about__accent{position:absolute;top:20px;left:-20px;width:80px;height:80px;background:var(--bs-green);z-index:0;}
.bs-about__img{position:relative;z-index:1;background:url('/wp-content/uploads/bodysense/lee-cropped.png') center top/cover;aspect-ratio:4/5;border-radius:22px;}
.bs-about__right h2{margin:12px 0 20px;}
.bs-about__text{font-size:17px;line-height:1.65;color:var(--bs-ink-2);max-width:48ch;}
.bs-about__cta{margin-top:28px;display:flex;gap:16px;flex-wrap:wrap;}

/* ===== Shop teaser ===== */
.bs-shop__feat{display:flex;flex-direction:column;}
.bs-shop__feat-img{background:url('/wp-content/uploads/bodysense/raw-7.jpg') center/cover,var(--bs-paper-warm);aspect-ratio:16/9;}
.bs-shop__feat-body{padding:26px 28px 28px;}
.bs-shop__feat-title{font-family:var(--bs-serif);font-weight:500;font-size:28px;line-height:1.1;letter-spacing:-0.01em;margin:14px 0 8px;}
.bs-shop__feat-row{display:flex;align-items:center;gap:14px;margin-top:18px;justify-content:space-between;}
.bs-shop__price{font-family:var(--bs-serif);font-size:22px;font-weight:600;}
.bs-prod__glyph{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-family:var(--bs-serif);font-weight:500;font-size:120px;letter-spacing:-0.04em;line-height:1;}
.bs-prod__glyph.teal{background:var(--bs-teal-tint);color:var(--bs-teal-deep);}
.bs-prod__glyph.green{background:var(--bs-green-tint);color:var(--bs-green-deep);}
.bs-prod__body{padding:20px 22px 22px;}
.bs-prod__name{font-family:var(--bs-serif);font-weight:500;font-size:20px;margin:10px 0 6px;}
.bs-prod__row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.bs-prod__price{font-weight:700;font-size:16px;}
.bs-prod__link{font-weight:700;font-size:13px;color:var(--bs-magenta-deep);text-decoration:underline;text-underline-offset:4px;}

/* ===== Final CTA ===== */
.bs-finalcta{position:relative;overflow:hidden;background:var(--bs-ink);color:#fff;padding:120px 0;}
.bs-finalcta__inner{text-align:center;position:relative;z-index:1;}
.bs-finalcta h2{font-family:var(--bs-serif);font-weight:500;font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-0.018em;margin:16px auto 24px;color:#fff;max-width:22ch;}
.bs-finalcta__lead{max-width:540px;margin:0 auto 36px;font-size:18px;color:rgba(255,255,255,.8);line-height:1.55;}
.bs-finalcta__lead strong{color:#fff;}
.bs-finalcta__cta{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center;}
.bs-finalcta__blk1{position:absolute;left:-40px;top:40px;width:120px;height:120px;background:var(--bs-magenta);opacity:.9;}
.bs-finalcta__blk2{position:absolute;right:-40px;bottom:60px;width:160px;height:160px;background:var(--bs-green);opacity:.9;}

/* ===== Footer ===== */
.bs-footer{background:var(--bs-ink);color:rgba(255,255,255,.85);padding:72px 0 32px;}
.bs-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:48px;}
.bs-footer .bs-logo-mark{font-size:26px;}
.bs-footer__about{margin-top:24px;max-width:32ch;color:rgba(255,255,255,.7);font-size:14px;}
.bs-footer__social{display:flex;gap:12px;margin-top:20px;}
.bs-footer__wa{background:#25D366;color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;}
.bs-footer__ig{border:1px solid rgba(255,255,255,.25);color:#fff;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;}
.bs-footer__col-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:10px;}
.bs-footer__col-list a{color:rgba(255,255,255,.85);font-size:14px;text-decoration:none;}
.bs-footer__col-list a:hover{color:#fff;}
.bs-footer__bottom{margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

/* ===== Responsive ===== */
@media (max-width:991px){
  .bs-hero__grid{grid-template-columns:1fr;gap:40px;}
  .bs-hero__img{height:420px;}
  .bs-pp__grid{grid-template-columns:1fr;gap:48px;}
  .bs-prog__head{grid-template-columns:1fr;gap:16px;}
  .bs-prog__grid{grid-template-columns:repeat(2,1fr);}
  .bs-grid-3{grid-template-columns:1fr;}
  .bs-grid-articles{grid-template-columns:1fr;}
  .bs-about__grid{grid-template-columns:1fr;gap:40px;}
  .bs-trust__grid{grid-template-columns:repeat(2,1fr);}
  .bs-trust__col:nth-child(3),.bs-trust__col:nth-child(4){border-top:1px solid rgba(255,255,255,.12);}
  .bs-footer__grid{grid-template-columns:1fr 1fr;gap:32px;}
  .bs-header__nav{display:none;}
}
@media (max-width:600px){
  .bs-container{padding:0 20px;}
  .bs-section{padding:64px 0;}
  .bs-hero{padding:48px 0 64px;}
  .bs-prog__grid{grid-template-columns:1fr;}
  .bs-trust__grid{grid-template-columns:1fr;}
  .bs-trust__col + .bs-trust__col{border-left:0;border-top:1px solid rgba(255,255,255,.12);}
  .bs-footer__grid{grid-template-columns:1fr;}
  .bs-footer__bottom{flex-direction:column;}
  .bs-finalcta{padding:80px 0;}
  .bs-pp__card{position:static;margin-top:-32px;margin-left:16px;max-width:none;}
  .bs-sec-head{flex-direction:column;align-items:flex-start;}
}

/* ===== Sticky header (match Claude Design .bs-nav-wrap behaviour across the page) ===== */
#brx-header{position:sticky;top:0;z-index:100;}
body.admin-bar #brx-header{top:32px;}
@media (max-width:782px){ body.admin-bar #brx-header{top:46px;} }

/* ===== Mobile menu (hamburger) ===== */
.bs-header__right{display:flex;align-items:center;gap:12px;}
.bs-burger{display:none;background:transparent;border:0;font-size:24px;line-height:1;color:var(--bs-ink);cursor:pointer;padding:4px 8px;}
.bs-header__inner{position:relative;}
@media (max-width:991px){
  .bs-header__nav{position:absolute;top:100%;left:0;right:0;display:none;flex:none;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;background:rgba(247,246,242,0.98);backdrop-filter:blur(8px);border-bottom:1px solid var(--bs-line);padding:20px 32px;box-shadow:var(--bs-shadow-card);}
  .bs-header__inner.bs-nav-open .bs-header__nav{display:flex;}
  .bs-burger{display:inline-flex;}
  .bs-header__nav a{font-size:16px;}
}

/* ===== About page additions ===== */
.bs-astat__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--bs-line);border-bottom:1px solid var(--bs-line);padding:28px 0;}
.bs-astat__col{padding:4px 24px;}
.bs-astat__col + .bs-astat__col{border-left:1px solid var(--bs-line);}
.bs-astat__big{font-family:var(--bs-serif);font-weight:500;font-size:34px;line-height:1;letter-spacing:-0.02em;color:var(--bs-magenta);}
.bs-astat__big.teal{color:var(--bs-teal-deep);}
.bs-astat__big.green{color:var(--bs-green-deep);}
.bs-astat__big.magenta{color:var(--bs-magenta);}
.bs-astat__sub{margin-top:8px;font-size:13px;color:var(--bs-ink-3);font-weight:500;}
.bs-prog__num.green{color:var(--bs-green-deep);}
.bs-prog__num.teal{color:var(--bs-teal-deep);}
.bs-pp__accent{position:absolute;left:-20px;top:40px;width:84px;height:84px;background:var(--bs-green);z-index:0;}
.bs-pp__img{position:relative;z-index:1;}
/* on-dark secondary button (dark CTA sections) */
.brxe-button.bs-btn.bs-btn-secondary.on-dark{color:#fff!important;border-color:rgba(255,255,255,.5)!important;background:transparent!important;}
.brxe-button.bs-btn.bs-btn-secondary.on-dark:hover{background:#fff!important;color:var(--bs-ink)!important;}
@media (max-width:991px){
  .bs-astat__grid{grid-template-columns:1fr;}
  .bs-astat__col + .bs-astat__col{border-left:0;border-top:1px solid var(--bs-line);}
}

/* ===== Program: timeline ===== */
.bs-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.bs-timeline__step{position:relative;padding-top:30px;padding-right:16px;}
.bs-timeline__step::before{content:"";position:absolute;top:6px;left:0;right:0;height:2px;background:var(--bs-line);}
.bs-timeline__dot{position:absolute;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--bs-magenta);z-index:1;}
.bs-timeline__dot.green{background:var(--bs-green);}
.bs-timeline__dot.teal{background:var(--bs-teal);}
.bs-timeline__title{font-family:var(--bs-sans);font-weight:700;font-size:20px;margin:8px 0 8px;}
.bs-timeline__text{font-size:14px;color:var(--bs-ink-2);line-height:1.55;margin:0;}

/* ===== Program: what's included grid ===== */
.bs-incl__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.bs-incl__card{padding:28px;}
.bs-incl__title{font-family:var(--bs-sans);font-weight:700;font-size:20px;line-height:1.25;margin:14px 0 10px;}
.bs-incl__text{font-size:14px;color:var(--bs-ink-2);line-height:1.55;margin:0;}
.bs-incl__feature{background:var(--bs-ink);color:#fff;border-radius:14px;padding:28px;display:flex;flex-direction:column;justify-content:center;}
.bs-incl__feature h3{font-family:var(--bs-serif);font-weight:500;font-size:30px;line-height:1.1;letter-spacing:-0.01em;color:#fff;margin:0 0 10px;}
.bs-incl__feature-text{font-size:14px;color:rgba(255,255,255,.8);line-height:1.55;margin:0;}

/* ===== Program: results stat strip ===== */
.bs-rstat__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:28px 0;}
.bs-rstat__col{padding:6px 24px;}
.bs-rstat__col + .bs-rstat__col{border-left:1px solid rgba(255,255,255,.12);}
.bs-rstat__big{font-family:var(--bs-serif);font-weight:500;font-size:36px;line-height:1;letter-spacing:-0.02em;color:var(--bs-magenta);}
.bs-rstat__big.green{color:var(--bs-green);}
.bs-rstat__big.teal{color:var(--bs-teal);}
.bs-rstat__sub{margin-top:10px;font-size:13px;color:rgba(255,255,255,.78);font-weight:500;}

/* ===== Program: pricing card ===== */
.bs-pricing{display:grid;grid-template-columns:1.5fr 1fr;background:var(--bs-white);border:1px solid var(--bs-line);border-radius:22px;overflow:hidden;box-shadow:var(--bs-shadow-card);}
.bs-pricing__main{padding:48px;}
.bs-pricing__title{font-family:var(--bs-serif);font-weight:500;font-size:32px;letter-spacing:-0.01em;margin:12px 0 14px;}
.bs-pricing__lead{font-size:16px;color:var(--bs-ink-2);line-height:1.6;max-width:46ch;}
.bs-pricing__main .bs-pp__list{margin:24px 0 28px;}
.bs-pricing__aside{background:var(--bs-ink);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;}
.bs-pricing__date{font-family:var(--bs-serif);font-weight:500;font-size:34px;line-height:1.05;color:var(--bs-green);letter-spacing:-0.02em;}
.bs-pricing__date-sub{margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.bs-pricing__spots{margin-top:24px;font-size:14px;color:rgba(255,255,255,.8);}

/* ===== Program: FAQ accordion ===== */
.bs-faq{display:grid;grid-template-columns:0.9fr 1.4fr;gap:48px;align-items:start;}
.bs-faq__sub{font-size:16px;color:var(--bs-ink-2);line-height:1.6;max-width:36ch;margin-top:16px;}
.bs-faq__item{border-top:1px solid var(--bs-line);}
.bs-faq__item:last-child{border-bottom:1px solid var(--bs-line);}
.bs-faq__q{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;}
.bs-faq__qtext{font-family:var(--bs-serif);font-weight:500;font-size:20px;letter-spacing:-0.005em;color:var(--bs-ink);}
.bs-faq__icon{position:relative;width:22px;height:22px;flex:none;}
.bs-faq__icon::before,.bs-faq__icon::after{content:"";position:absolute;background:var(--bs-magenta);transition:opacity .2s,transform .2s;}
.bs-faq__icon::before{top:10px;left:0;width:22px;height:2px;}
.bs-faq__icon::after{top:0;left:10px;width:2px;height:22px;}
.bs-faq__item.open .bs-faq__icon::after{opacity:0;}
.bs-faq__a{font-size:16px;color:var(--bs-ink-2);line-height:1.65;margin:0;padding:0 0 24px;max-width:60ch;display:none;}
.bs-faq__item.open .bs-faq__a{display:block;}

@media (max-width:991px){
  .bs-timeline{grid-template-columns:1fr 1fr;gap:32px 24px;}
  .bs-incl__grid{grid-template-columns:1fr;}
  .bs-rstat__grid{grid-template-columns:1fr 1fr;}
  .bs-rstat__col:nth-child(3),.bs-rstat__col:nth-child(4){border-top:1px solid rgba(255,255,255,.12);}
  .bs-pricing{grid-template-columns:1fr;}
  .bs-faq{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:600px){
  .bs-timeline{grid-template-columns:1fr;}
  .bs-rstat__grid{grid-template-columns:1fr;}
  .bs-rstat__col + .bs-rstat__col{border-left:0;border-top:1px solid rgba(255,255,255,.12);}
  .bs-pricing__main,.bs-pricing__aside{padding:32px;}
}

/* ===== Success Stories listing ===== */
.bs-stories-hero{padding-bottom:24px;}
.bs-stories-hero__inner{max-width:760px;}
.bs-stories-hero__lead{font-size:19px;line-height:1.55;color:var(--bs-ink-2);max-width:54ch;margin-top:20px;}
.bs-story__top[data-accent="magenta"]{background:var(--bs-magenta);color:#fff;}
.bs-story__top[data-accent="green"]{background:var(--bs-green-tint);color:var(--bs-green-deep);}
.bs-story__top[data-accent="ink"]{background:var(--bs-ink);color:#fff;}
.bs-story__top[data-accent] .bs-eyebrow{color:inherit;opacity:.75;}
.brxe-button.bs-btn.bs-story__readbtn{padding-left:0;padding-right:0;}

/* ===== Success Story — single ===== */
.bs-single-hero{padding-bottom:24px;}
.bs-single-hero__inner{max-width:820px;}
.bs-single__result{font-family:var(--bs-serif);font-weight:500;font-size:clamp(56px,8vw,104px);line-height:.95;letter-spacing:-0.03em;color:var(--bs-magenta);margin:8px 0 8px;}
.bs-single__result[data-accent="green"]{color:var(--bs-green-deep);}
.bs-single__result[data-accent="ink"]{color:var(--bs-ink);}
.bs-single__headline{margin:0 0 12px;}
.bs-single__meta{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bs-ink-3);margin-bottom:28px;}
.bs-single-body__inner{max-width:760px;}
.bs-single__body{font-size:19px;line-height:1.75;color:var(--bs-ink-2);}
.bs-single__body p{margin:0 0 1.2em;max-width:68ch;}

/* ===== Story card with participant photo (scoped to listing loop cards) ===== */
.bs-story--photo .bs-story__top{position:relative;overflow:hidden;}
.bs-story--photo .bs-story__top[data-accent="magenta"]{background-color:var(--bs-magenta);}
.bs-story--photo .bs-story__top[data-accent="green"]{background-color:var(--bs-green-deep);}
.bs-story--photo .bs-story__top[data-accent="ink"]{background-color:var(--bs-ink);}
.bs-story--photo .bs-story__photo{position:absolute;inset:0;z-index:0;}
.bs-story--photo .bs-story__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.bs-story--photo .bs-story__top::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,15,15,.62),rgba(15,15,15,.08) 56%,rgba(15,15,15,.18));z-index:1;}
.bs-story--photo .bs-story__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;color:#fff;}
.bs-story--photo .bs-story__content .bs-eyebrow{color:#fff;opacity:.9;}
.bs-story--photo .bs-story__result{color:#fff;}
.bs-story--photo .bs-story__name{color:#fff;opacity:.95;}

/* ===== Single hero with participant portrait ===== */
.bs-single-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;max-width:none;}
.bs-single-hero__text{max-width:560px;}
.bs-single__media{position:relative;}
.bs-single__accent-tr{position:absolute;top:-16px;right:-16px;width:96px;height:96px;background:var(--bs-magenta);z-index:0;}
.bs-single__accent-bl{position:absolute;bottom:-16px;left:-16px;width:120px;height:120px;background:var(--bs-green);z-index:0;}
.bs-single__photo{position:relative;z-index:1;border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:var(--bs-paper-warm);border:1px solid var(--bs-line);}
.bs-single__photo img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:991px){.bs-single-hero__grid{grid-template-columns:1fr;gap:40px;} .bs-single__media{max-width:420px;}}

/* demo helper: chip on the tag inside photo cards */
.bs-story--photo .bs-story__tag{display:inline-block;}

/* ===== Recipes: photo-led list cards ===== */
.bs-recipe--card{overflow:hidden;display:flex;flex-direction:column;}
.bs-recipe__media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.bs-recipe__media[data-accent="green"]{background:var(--bs-green-tint);}
.bs-recipe__media[data-accent="magenta"]{background:var(--bs-magenta-tint);}
.bs-recipe__media[data-accent="teal"]{background:var(--bs-teal-tint);}
.bs-recipe__media[data-accent="ink"]{background:var(--bs-paper-warm);}
.bs-recipe__photo{position:absolute;inset:0;z-index:0;}
.bs-recipe__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.bs-recipe__taglabel{position:absolute;left:14px;top:14px;z-index:2;background:rgba(255,255,255,.92);color:var(--bs-ink-2);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}
.bs-recipe__taglabel:empty{display:none;}
.bs-recipe__body{padding:20px 22px 22px;display:flex;flex-direction:column;}
.bs-recipe__title2{font-family:var(--bs-serif);font-weight:500;font-size:23px;line-height:1.12;letter-spacing:-0.01em;margin:0 0 6px;}
.bs-recipe__meta{font-size:13px;color:var(--bs-ink-3);margin-bottom:12px;}
.brxe-button.bs-btn.bs-recipe__readbtn{padding:8px 0 0;align-self:flex-start;}

/* Recipe filter chips */
.bs-recipe-filter-sec{padding-top:0;padding-bottom:24px;}
.bs-recipe-filter{display:flex;gap:10px;flex-wrap:wrap;}
.bs-rfilter{font-family:var(--bs-sans);font-weight:700;font-size:14px;padding:9px 18px;border-radius:999px;border:1px solid var(--bs-line);background:#fff;color:var(--bs-ink-2);cursor:pointer;}
.bs-rfilter.is-active{background:var(--bs-ink);color:#fff;border-color:var(--bs-ink);}
.bs-recipe--card.is-hidden{display:none;}

/* Recipe detail */
.bs-recipe-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;max-width:none;}
.bs-recipe-hero__text{max-width:560px;}
.bs-recipe__h1{margin:8px 0 14px;}
.bs-recipe__metabig{font-size:15px;color:var(--bs-ink-3);font-weight:600;}
.bs-recipe__macros--hero{margin:20px 0 28px;max-width:440px;}
.bs-recipe-body{display:grid;grid-template-columns:.9fr 1.3fr;gap:56px;align-items:start;}
.bs-recipe-ing{position:sticky;top:110px;}
.bs-recipe__intro{font-size:16px;color:var(--bs-ink-2);line-height:1.6;margin:14px 0 18px;}
.bs-recipe__ingredients ul{list-style:none;padding:0;margin:0;}
.bs-recipe__ingredients li{padding:11px 0;border-bottom:1px solid var(--bs-line);font-size:16px;color:var(--bs-ink);}
.bs-recipe__steps{font-size:17px;line-height:1.7;color:var(--bs-ink);}
.bs-recipe__steps ol{padding-left:0;list-style:none;counter-reset:step;margin:14px 0 0;}
.bs-recipe__steps li{position:relative;padding:0 0 22px 54px;counter-increment:step;}
.bs-recipe__steps li::before{content:counter(step);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--bs-magenta);color:#fff;font-family:var(--bs-serif);font-weight:600;font-size:17px;display:flex;align-items:center;justify-content:center;}
.bs-recipe__tip{margin-top:28px;background:var(--bs-green-tint);border-radius:14px;padding:24px 26px;}
.bs-recipe__tip .bs-eyebrow{color:var(--bs-green-deep);}
.bs-recipe__tiptext{margin:8px 0 0;font-size:16px;line-height:1.6;color:var(--bs-ink-2);}
.bs-recipe-hero .bs-single__photo{aspect-ratio:4/3;}
@media (max-width:991px){
  .bs-recipe-hero__grid{grid-template-columns:1fr;gap:36px;}
  .bs-recipe-body{grid-template-columns:1fr;gap:36px;}
  .bs-recipe-ing{position:static;}
}

/* ===== Learn / Articles ===== */
.bs-article--card{display:flex;flex-direction:column;}
.bs-article--card .bs-article__title{margin:12px 0 10px;}
.bs-article--card .bs-article__blurb{flex:1;}
.brxe-button.bs-btn.bs-article__readbtn{padding:14px 0 0;align-self:flex-start;}
.bs-article-hero__inner{max-width:780px;}
.bs-article__h1{font-size:clamp(34px,4.4vw,56px);line-height:1.06;margin:10px 0 0;}
.bs-article__metaline{display:flex;align-items:center;gap:12px;margin-top:24px;color:var(--bs-ink-3);font-size:14px;}
.bs-article__metaline .bs-article__avatar{width:36px;height:36px;}
.bs-article-body__inner{max-width:720px;}
.bs-article__body{font-size:19px;line-height:1.8;color:var(--bs-ink-2);}
.bs-article__body p{margin:0 0 1.3em;}
.bs-article__body h2{font-family:var(--bs-serif);font-weight:500;font-size:30px;line-height:1.15;color:var(--bs-ink);margin:1.6em 0 .5em;letter-spacing:-0.01em;}
.bs-article__body h3{font-family:var(--bs-sans);font-weight:700;font-size:21px;color:var(--bs-ink);margin:1.5em 0 .4em;}
.bs-article__body ul,.bs-article__body ol{margin:0 0 1.3em;padding-left:1.3em;}
.bs-article__body li{margin:0 0 .5em;}
.bs-article__body strong{color:var(--bs-ink);}
.bs-article__body blockquote{border-left:3px solid var(--bs-magenta);margin:1.5em 0;padding:4px 0 4px 24px;font-family:var(--bs-serif);font-style:italic;font-size:24px;color:var(--bs-ink);}
.bs-author{display:flex;gap:28px;align-items:center;max-width:760px;}
.bs-author__avatar{width:96px;height:96px;border-radius:50%;background:url('/wp-content/uploads/bodysense/lee-cropped.png') center top/cover;border:1px solid var(--bs-line);flex:none;}
.bs-author__name{margin:6px 0 10px;font-family:var(--bs-serif);font-weight:500;}
.bs-author__text p{font-size:16px;color:var(--bs-ink-2);line-height:1.6;margin:0 0 16px;max-width:60ch;}
@media(max-width:600px){.bs-author{flex-direction:column;align-items:flex-start;}}

/* ===== WooCommerce — BodySense theming ===== */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.add_to_cart_button, .woocommerce button.single_add_to_cart_button,
.woocommerce #respond input#submit, .woocommerce .wc-proceed-to-checkout a.button,
.woocommerce-cart .button, .woocommerce-checkout #place_order, .woocommerce .button.alt{
  background:var(--bs-magenta)!important; color:#fff!important; border:0!important;
  border-radius:999px!important; font-family:var(--bs-sans)!important; font-weight:700!important;
  font-size:14px!important; letter-spacing:.01em; padding:13px 26px!important; cursor:pointer;
  text-transform:none!important; box-shadow:none!important; transition:background .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce button.single_add_to_cart_button:hover, .woocommerce-checkout #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.button:hover, .woocommerce .button.alt:hover{ background:var(--bs-magenta-deep)!important; }

.woocommerce .price, .woocommerce .woocommerce-Price-amount{ color:var(--bs-ink)!important; font-weight:700; }
.woocommerce .price del{ color:var(--bs-ink-4)!important; font-weight:400; }
.woocommerce .price ins{ text-decoration:none; }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2, .woocommerce ul.products li.product h3,
.woocommerce div.product .product_title{ font-family:var(--bs-serif)!important; font-weight:500; letter-spacing:-0.01em; color:var(--bs-ink); }

.woocommerce .quantity input.qty{ border:1px solid var(--bs-line); border-radius:8px; font-family:var(--bs-sans); background:#fff; }
.woocommerce span.onsale{ background:var(--bs-green)!important; color:#fff!important; border-radius:999px!important; font-weight:700; min-height:auto; line-height:1.6; padding:2px 12px; }

.woocommerce-message, .woocommerce-info{ border-top-color:var(--bs-magenta)!important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--bs-magenta)!important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text, .woocommerce-checkout select,
.select2-container--default .select2-selection--single{
  border:1px solid var(--bs-line)!important; border-radius:8px!important; font-family:var(--bs-sans);
}
/* product loop link titles keep ink (not magenta) */
.woocommerce ul.products li.product a.woocommerce-loop-product__link, .woocommerce ul.products li.product a{ color:inherit; }
/* result count / ordering */
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering select{ font-family:var(--bs-sans); color:var(--bs-ink-3); }

/* ===== WooCommerce Blocks (cart/checkout) — BodySense ===== */
.wc-block-components-button.contained, a.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout button.wc-block-components-button.contained,
.wc-block-components-button.wp-element-button.contained{
  background:var(--bs-magenta)!important; color:#fff!important; border:0!important;
  border-radius:999px!important; font-family:var(--bs-sans)!important; font-weight:700!important;
  font-size:15px!important; padding:16px 30px!important; box-shadow:none!important; cursor:pointer;
}
.wc-block-components-button.contained:hover, a.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-components-checkout-place-order-button:hover{ background:var(--bs-magenta-deep)!important; }
.wc-block-components-button.contained .wc-block-components-button__text,
a.wc-block-cart__submit-button .wc-block-components-button__text{ color:#fff!important; }
.wc-block-components-text-input input, .wc-block-components-select .wc-block-components-select__container, 
.wc-block-checkout input.wc-block-components-text-input__input{ border-radius:8px!important; }
.wc-block-components-totals-item__value, .wc-block-formatted-money-amount{ color:var(--bs-ink)!important; font-weight:700; }
.wc-block-cart-items__row a, .wc-block-components-product-name{ color:var(--bs-ink)!important; font-family:var(--bs-serif); }

/* ===== Fix: constrain Woo cart/checkout (alignwide) to brand width ===== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout,
.woocommerce-cart .entry-content > .woocommerce, .woocommerce-checkout .entry-content > .woocommerce{
  max-width:1240px!important; width:auto!important; margin-left:auto!important; margin-right:auto!important;
  padding-left:32px!important; padding-right:32px!important; box-sizing:border-box!important;
}
.wp-block-woocommerce-cart.alignwide, .wp-block-woocommerce-checkout.alignwide{ max-width:1240px!important; }
@media(max-width:600px){
  .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{ padding-left:20px!important; padding-right:20px!important; }
  .wc-block-cart, .wc-block-checkout{ display:block!important; }
  .wc-block-cart__sidebar, .wc-block-checkout__sidebar{ width:100%!important; max-width:none!important; }
}

/* ===== Final mobile hardening pass ===== */
img, video { max-width:100%; height:auto; }
@media (max-width:600px){
  /* header CTA would overflow next to logo+burger on phones — burger holds the nav */
  .bs-header__right .bs-btn{ display:none; }
  /* decorative accent blocks that protrude past the container on phones */
  .bs-single__accent-tr, .bs-single__accent-bl, .bs-pp__accent, .bs-about__accent{ display:none; }
  /* scale very large display type for narrow screens */
  .bs-single__result{ font-size:clamp(44px,15vw,72px); }
  .bs-astat__big, .bs-rstat__big{ font-size:30px; }
  .bs-recipe__macros, .bs-recipe__macros--hero{ gap:6px; }
  .bs-pricing__main, .bs-pricing__aside{ padding:28px 22px; }
  .bs-faq__qtext{ font-size:18px; }
  .bs-recipe-filter, .bs-recipe-filter-sec{ overflow-x:auto; }
  .bs-section{ padding:56px 0; }
}

/* Dynamic accent (home query loops) — recipe top + title via data-accent */
.bs-recipe__top[data-accent="green"]{background:var(--bs-green-tint);}
.bs-recipe__top[data-accent="magenta"]{background:var(--bs-magenta-tint);}
.bs-recipe__top[data-accent="ink"]{background:var(--bs-warm);}
.bs-recipe__title[data-accent="green"]{color:var(--bs-green-deep);}
.bs-recipe__title[data-accent="magenta"]{color:var(--bs-magenta-deep);}
.bs-recipe__title[data-accent="ink"]{color:var(--bs-ink);}
